Advertisement
Guest User

Untitled

a guest
Aug 1st, 2016
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.43 KB | None | 0 0
  1. #region using directives
  2.  
  3. using System;
  4. using System.Collections.Generic;
  5. using System.IO;
  6. using Newtonsoft.Json;
  7. using Newtonsoft.Json.Converters;
  8. using PoGo.PokeMobBot.Logic.Logging;
  9. using PokemonGo.RocketAPI;
  10. using PokemonGo.RocketAPI.Enums;
  11. using POGOProtos.Enums;
  12. using POGOProtos.Inventory.Item;
  13.  
  14. #endregion
  15.  
  16. namespace PoGo.PokeMobBot.Logic
  17. {
  18. internal class AuthSettings
  19. {
  20. [JsonIgnore]
  21. private string _filePath;
  22. public AuthType AuthType;
  23. public string GoogleRefreshToken;
  24. public string GoogleUsername;
  25. public string GooglePassword;
  26. public string PtcUsername;
  27. public string PtcPassword;
  28.  
  29. public void Load(string path)
  30. {
  31. try
  32. {
  33. _filePath = path;
  34.  
  35. if (File.Exists(_filePath))
  36. {
  37. //if the file exists, load the settings
  38. var input = File.ReadAllText(_filePath);
  39.  
  40. var settings = new JsonSerializerSettings();
  41. settings.Converters.Add(new StringEnumConverter { CamelCaseText = true });
  42.  
  43. JsonConvert.PopulateObject(input, this, settings);
  44. }
  45. else
  46. {
  47. Save(_filePath);
  48. }
  49. }
  50. catch (JsonReaderException exception)
  51. {
  52. if (exception.Message.Contains("Unexpected character") && exception.Message.Contains("PtcUsername"))
  53. Logger.Write("JSON Exception: You need to properly configure your PtcUsername using quotations.",
  54. LogLevel.Error);
  55. else if (exception.Message.Contains("Unexpected character") && exception.Message.Contains("PtcPassword"))
  56. Logger.Write(
  57. "JSON Exception: You need to properly configure your PtcPassword using quotations.",
  58. LogLevel.Error);
  59. else if (exception.Message.Contains("Unexpected character") &&
  60. exception.Message.Contains("GoogleUsername"))
  61. Logger.Write(
  62. "JSON Exception: You need to properly configure your GoogleUsername using quotations.",
  63. LogLevel.Error);
  64. else if (exception.Message.Contains("Unexpected character") &&
  65. exception.Message.Contains("GooglePassword"))
  66. Logger.Write(
  67. "JSON Exception: You need to properly configure your GooglePassword using quotations.",
  68. LogLevel.Error);
  69. else
  70. Logger.Write("JSON Exception: " + exception.Message, LogLevel.Error);
  71. }
  72. }
  73.  
  74. public void Save(string path)
  75. {
  76. var output = JsonConvert.SerializeObject(this, Formatting.Indented,
  77. new StringEnumConverter { CamelCaseText = true });
  78.  
  79. var folder = Path.GetDirectoryName(path);
  80. if (folder != null && !Directory.Exists(folder))
  81. {
  82. Directory.CreateDirectory(folder);
  83. }
  84.  
  85. File.WriteAllText(path, output);
  86. }
  87.  
  88. public void Save()
  89. {
  90. if (!string.IsNullOrEmpty(_filePath))
  91. {
  92. Save(_filePath);
  93. }
  94. }
  95. }
  96.  
  97. public class GlobalSettings
  98. {
  99. "AmountOfPokemonToDisplayOnStart": 10,
  100. "AutomaticallyLevelUpPokemon": false,
  101. "AutoUpdate": false,
  102. "DefaultAltitude": 10.0,
  103. "DefaultLatitude": 37.79216,
  104. "DefaultLongitude": -122.411987,
  105. "Teleport": true,
  106. "DelayBetweenPlayerActions": 0,
  107. "DelayBetweenPokemonCatch": 10,
  108. "DelayCatchNearbyPokemon": 10,
  109. "DelayPositionCheckState": 0,
  110. "DelayCatchIncensePokemon": 10,
  111. "DelayCatchLurePokemon": 10,
  112. "DelayCatchPokemon": 10,
  113. "DelayDisplayPokemon": 0,
  114. "DelayUseLuckyEgg": 10,
  115. "DelaySoftbanRetry": 10,
  116. "DelayPokestop": 10,
  117. "DelayRecyleItem": 10,
  118. "DelaySnipePokemon": 10,
  119. "DelayTransferPokemon": 10,
  120. "DumpPokemonStats": false,
  121. "EvolveAboveIvValue": 95.0,
  122. "EvolveAllPokemonAboveIv": false,
  123. "EvolveAllPokemonWithEnoughCandy": true,
  124. "GpxFile": "GPXPath.GPX",
  125. "ItemRecycleFilter": [
  126. {
  127. "Key": "itemUnknown",
  128. "Value": 0
  129. },
  130. {
  131. "Key": "itemPokeBall",
  132. "Value": 100
  133. },
  134. {
  135. "Key": "itemGreatBall",
  136. "Value": 70
  137. },
  138. {
  139. "Key": "itemUltraBall",
  140. "Value": 60
  141. },
  142. {
  143. "Key": "itemLuckyEgg",
  144. "Value": 200
  145. },
  146. {
  147. "Key": "itemIncenseOrdinary",
  148. "Value": 100
  149. },
  150. {
  151. "Key": "itemIncenseSpicy",
  152. "Value": 100
  153. },
  154. {
  155. "Key": "itemIncenseCool",
  156. "Value": 100
  157. },
  158. {
  159. "Key": "itemIncenseFloral",
  160. "Value": 100
  161. },
  162. {
  163. "Key": "itemTroyDisk",
  164. "Value": 100
  165. },
  166. {
  167. "Key": "itemXAttack",
  168. "Value": 100
  169. },
  170. {
  171. "Key": "itemXDefense",
  172. "Value": 100
  173. },
  174. {
  175. "Key": "itemXMiracle",
  176. "Value": 100
  177. },
  178. {
  179. "Key": "itemRazzBerry",
  180. "Value": 50
  181. },
  182. {
  183. "Key": "itemBlukBerry",
  184. "Value": 10
  185. },
  186. {
  187. "Key": "itemNanabBerry",
  188. "Value": 10
  189. },
  190. {
  191. "Key": "itemWeparBerry",
  192. "Value": 30
  193. },
  194. {
  195. "Key": "itemPinapBerry",
  196. "Value": 30
  197. },
  198. {
  199. "Key": "itemSpecialCamera",
  200. "Value": 100
  201. },
  202. {
  203. "Key": "itemIncubatorBasicUnlimited",
  204. "Value": 100
  205. },
  206. {
  207. "Key": "itemIncubatorBasic",
  208. "Value": 100
  209. },
  210. {
  211. "Key": "itemPokemonStorageUpgrade",
  212. "Value": 100
  213. },
  214. {
  215. "Key": "itemItemStorageUpgrade",
  216. "Value": 100
  217. }
  218. ],
  219. "KeepMinCp": 2000,
  220. "KeepMinDuplicatePokemon": 0,
  221. "KeepMinIvPercentage": 100.0,
  222. "KeepPokemonsThatCanEvolve": false,
  223. "LevelUpByCPorIv": "iv",
  224. "MaxPokeballsPerPokemon": 6,
  225. "MaxSpawnLocationOffset": 10,
  226. "MaxTravelDistanceInMeters": 10000,
  227. "MinDelayBetweenSnipes": 5000,
  228. "MinPokeballsToSnipe": 10,
  229. "MinPokeballsWhileSnipe": 0,
  230. "PokemonsNotToTransfer": [
  231. "ditto",
  232. "dragonite",
  233. "articuno",
  234. "zapdos",
  235. "moltres",
  236. "mewtwo",
  237. "mew"
  238. ],
  239. "PokemonsToEvolve": [
  240. "caterpie",
  241. "weedle",
  242. "pidgey",
  243. "rattata",
  244. "spearow",
  245. "zubat",
  246. "doduo",
  247. "goldeen",
  248. "paras",
  249. "ekans",
  250. "staryu",
  251. "psyduck",
  252. "krabby",
  253. "venonat"
  254. ],
  255. "PokemonsToIgnore": [
  256. "caterpie",
  257. "weedle",
  258. "pidgey",
  259. "rattata",
  260. "spearow",
  261. "zubat",
  262. "doduo"
  263. ],
  264. "PokemonsTransferFilter": {
  265. "Golduck": {
  266. "KeepMinCp": 1800,
  267. "KeepMinIvPercentage": 95.0,
  268. "KeepMinDuplicatePokemon": 1
  269. },
  270. "Dratini": {
  271. "KeepMinCp": 900,
  272. "KeepMinIvPercentage": 95.0,
  273. "KeepMinDuplicatePokemon": 1
  274. },
  275. "Eevee": {
  276. "KeepMinCp": 1250,
  277. "KeepMinIvPercentage": 95.0,
  278. "KeepMinDuplicatePokemon": 1
  279. },
  280. "Chansey": {
  281. "KeepMinCp": 500,
  282. "KeepMinIvPercentage": 85.0,
  283. "KeepMinDuplicatePokemon": 1
  284. },
  285. "Farfetchd": {
  286. "KeepMinCp": 1250,
  287. "KeepMinIvPercentage": 80.0,
  288. "KeepMinDuplicatePokemon": 1
  289. },
  290. "Krabby": {
  291. "KeepMinCp": 1250,
  292. "KeepMinIvPercentage": 95.0,
  293. "KeepMinDuplicatePokemon": 1
  294. },
  295. "Kangaskhan": {
  296. "KeepMinCp": 1800,
  297. "KeepMinIvPercentage": 60.0,
  298. "KeepMinDuplicatePokemon": 1
  299. },
  300. "Horsea": {
  301. "KeepMinCp": 1250,
  302. "KeepMinIvPercentage": 95.0,
  303. "KeepMinDuplicatePokemon": 1
  304. },
  305. "Staryu": {
  306. "KeepMinCp": 1250,
  307. "KeepMinIvPercentage": 95.0,
  308. "KeepMinDuplicatePokemon": 1
  309. },
  310. "MrMime": {
  311. "KeepMinCp": 1250,
  312. "KeepMinIvPercentage": 40.0,
  313. "KeepMinDuplicatePokemon": 1
  314. },
  315. "Scyther": {
  316. "KeepMinCp": 1800,
  317. "KeepMinIvPercentage": 80.0,
  318. "KeepMinDuplicatePokemon": 1
  319. },
  320. "Jynx": {
  321. "KeepMinCp": 1800,
  322. "KeepMinIvPercentage": 95.0,
  323. "KeepMinDuplicatePokemon": 1
  324. },
  325. "Electabuzz": {
  326. "KeepMinCp": 1800,
  327. "KeepMinIvPercentage": 90.0,
  328. "KeepMinDuplicatePokemon": 1
  329. },
  330. "Magmar": {
  331. "KeepMinCp": 1800,
  332. "KeepMinIvPercentage": 90.0,
  333. "KeepMinDuplicatePokemon": 1
  334. },
  335. "Pinsir": {
  336. "KeepMinCp": 1800,
  337. "KeepMinIvPercentage": 95.0,
  338. "KeepMinDuplicatePokemon": 1
  339. },
  340. "Tauros": {
  341. "KeepMinCp": 1800,
  342. "KeepMinIvPercentage": 90.0,
  343. "KeepMinDuplicatePokemon": 1
  344. },
  345. "Magikarp": {
  346. "KeepMinCp": 1250,
  347. "KeepMinIvPercentage": 95.0,
  348. "KeepMinDuplicatePokemon": 1
  349. },
  350. "Gyarados": {
  351. "KeepMinCp": 1800,
  352. "KeepMinIvPercentage": 90.0,
  353. "KeepMinDuplicatePokemon": 1
  354. },
  355. "Lapras": {
  356. "KeepMinCp": 2000,
  357. "KeepMinIvPercentage": 80.0,
  358. "KeepMinDuplicatePokemon": 1
  359. },
  360. "Vaporeon": {
  361. "KeepMinCp": 2000,
  362. "KeepMinIvPercentage": 95.0,
  363. "KeepMinDuplicatePokemon": 1
  364. },
  365. "Jolteon": {
  366. "KeepMinCp": 1800,
  367. "KeepMinIvPercentage": 95.0,
  368. "KeepMinDuplicatePokemon": 1
  369. },
  370. "Flareon": {
  371. "KeepMinCp": 1800,
  372. "KeepMinIvPercentage": 95.0,
  373. "KeepMinDuplicatePokemon": 1
  374. },
  375. "Porygon": {
  376. "KeepMinCp": 1800,
  377. "KeepMinIvPercentage": 95.0,
  378. "KeepMinDuplicatePokemon": 1
  379. },
  380. "Snorlax": {
  381. "KeepMinCp": 2500,
  382. "KeepMinIvPercentage": 90.0,
  383. "KeepMinDuplicatePokemon": 1
  384. },
  385. "Dragonite": {
  386. "KeepMinCp": 1800,
  387. "KeepMinIvPercentage": 90.0,
  388. "KeepMinDuplicatePokemon": 1
  389. }
  390. },
  391. "PokemonToSnipe": {
  392. "Locations": [
  393. {
  394. "Latitude": 38.556807486461118,
  395. "Longitude": -121.2383794784546
  396. },
  397. {
  398. "Latitude": -33.859019,
  399. "Longitude": 151.213098
  400. },
  401. {
  402. "Latitude": 47.5014969,
  403. "Longitude": -122.0959568
  404. },
  405. {
  406. "Latitude": 51.5025343,
  407. "Longitude": -0.2055027
  408. }
  409. ],
  410. "Pokemon": [
  411. "venusaur",
  412. "charizard",
  413. "blastoise",
  414. "beedrill",
  415. "raichu",
  416. "sandslash",
  417. "nidoking",
  418. "nidoqueen",
  419. "clefable",
  420. "ninetales",
  421. "golbat",
  422. "vileplume",
  423. "golduck",
  424. "primeape",
  425. "arcanine",
  426. "poliwrath",
  427. "alakazam",
  428. "machamp",
  429. "golem",
  430. "rapidash",
  431. "slowbro",
  432. "farfetchd",
  433. "muk",
  434. "cloyster",
  435. "gengar",
  436. "exeggutor",
  437. "marowak",
  438. "hitmonchan",
  439. "lickitung",
  440. "rhydon",
  441. "chansey",
  442. "kangaskhan",
  443. "starmie",
  444. "mrMime",
  445. "scyther",
  446. "magmar",
  447. "electabuzz",
  448. "magmar",
  449. "jynx",
  450. "gyarados",
  451. "lapras",
  452. "ditto",
  453. "vaporeon",
  454. "jolteon",
  455. "flareon",
  456. "porygon",
  457. "kabutops",
  458. "aerodactyl",
  459. "snorlax",
  460. "articuno",
  461. "zapdos",
  462. "moltres",
  463. "dragonite",
  464. "mewtwo",
  465. "mew"
  466. ]
  467. },
  468. "PokemonToUseMasterball": [
  469. "articuno",
  470. "zapdos",
  471. "moltres",
  472. "mew",
  473. "mewtwo"
  474. ],
  475. "PrioritizeIvOverCp": true,
  476. "RenameOnlyAboveIv": true,
  477. "RenamePokemon": false,
  478. "RenameTemplate": "{1}_{0}",
  479. "SnipeAtPokestops": true,
  480. "SnipeIgnoreUnknownIv": true,
  481. "SnipeLocationServer": "localhost",
  482. "SnipeLocationServerPort": 16969,
  483. "StartupWelcomeDelay": false,
  484. "TotalAmountOfPokebalsToKeep": 230,
  485. "TotalAmountOfPotionsToKeep": 10,
  486. "TotalAmountOfRevivesToKeep": 10,
  487. "TransferConfigAndAuthOnUpdate": true,
  488. "TransferDuplicatePokemon": true,
  489. "TranslationLanguageCode": "en",
  490. "UpgradePokemonCpMinimum": 1000.0,
  491. "UpgradePokemonIvMinimum": 95.0,
  492. "UseEggIncubators": true,
  493. "UseGpxPathing": false,
  494. "UseGreatBallAboveCp": 750,
  495. "UseLuckyEggsMinPokemonAmount": 30,
  496. "UseLuckyEggsWhileEvolving": true,
  497. "UseMasterBallAboveCp": 1500,
  498. "UsePokemonToNotCatchFilter": false,
  499. "UseSnipeLocationServer": true,
  500. "UseTransferIvForSnipe": true,
  501. "UseUltraBallAboveCp": 1000,
  502. "WalkingSpeedInKilometerPerHour": 60.0,
  503. "WebSocketPort": 14251
  504. }
  505.  
  506.  
  507. public static GlobalSettings Default => new GlobalSettings();
  508.  
  509. public static GlobalSettings Load(string path)
  510. {
  511. GlobalSettings settings;
  512. var profilePath = Path.Combine(Directory.GetCurrentDirectory(), path);
  513. var profileConfigPath = Path.Combine(profilePath, "config");
  514. var configFile = Path.Combine(profileConfigPath, "config.json");
  515.  
  516. if (File.Exists(configFile))
  517. {
  518. try
  519. {
  520. //if the file exists, load the settings
  521. var input = File.ReadAllText(configFile);
  522.  
  523. var jsonSettings = new JsonSerializerSettings();
  524. jsonSettings.Converters.Add(new StringEnumConverter { CamelCaseText = true });
  525. jsonSettings.ObjectCreationHandling = ObjectCreationHandling.Replace;
  526. jsonSettings.DefaultValueHandling = DefaultValueHandling.Populate;
  527.  
  528. settings = JsonConvert.DeserializeObject<GlobalSettings>(input, jsonSettings);
  529. }
  530. catch (JsonReaderException exception)
  531. {
  532. Logger.Write("JSON Exception: " + exception.Message, LogLevel.Error);
  533. return null;
  534. }
  535. }
  536. else
  537. {
  538. settings = new GlobalSettings();
  539. }
  540.  
  541. if (settings.WebSocketPort == 0)
  542. {
  543. settings.WebSocketPort = 14251;
  544. }
  545.  
  546. if (settings.PokemonToSnipe == null)
  547. {
  548. settings.PokemonToSnipe = Default.PokemonToSnipe;
  549. }
  550.  
  551. if (settings.RenameTemplate == null)
  552. {
  553. settings.RenameTemplate = Default.RenameTemplate;
  554. }
  555.  
  556. if (settings.SnipeLocationServer == null)
  557. {
  558. settings.SnipeLocationServer = Default.SnipeLocationServer;
  559. }
  560.  
  561. settings.ProfilePath = profilePath;
  562. settings.ProfileConfigPath = profileConfigPath;
  563. settings.GeneralConfigPath = Path.Combine(Directory.GetCurrentDirectory(), "config");
  564.  
  565. var firstRun = !File.Exists(configFile);
  566.  
  567. settings.Save(configFile);
  568. settings.Auth.Load(Path.Combine(profileConfigPath, "auth.json"));
  569.  
  570. if (firstRun)
  571. {
  572. return null;
  573. }
  574.  
  575. return settings;
  576. }
  577.  
  578. public void Save(string fullPath)
  579. {
  580. var output = JsonConvert.SerializeObject(this, Formatting.Indented,
  581. new StringEnumConverter { CamelCaseText = true });
  582.  
  583. var folder = Path.GetDirectoryName(fullPath);
  584. if (folder != null && !Directory.Exists(folder))
  585. {
  586. Directory.CreateDirectory(folder);
  587. }
  588.  
  589. File.WriteAllText(fullPath, output);
  590. }
  591. }
  592.  
  593. public class ClientSettings : ISettings
  594. {
  595. // Never spawn at the same position.
  596. private readonly Random _rand = new Random();
  597. private readonly GlobalSettings _settings;
  598.  
  599. public ClientSettings(GlobalSettings settings)
  600. {
  601. _settings = settings;
  602. }
  603.  
  604.  
  605. public string GoogleUsername => _settings.Auth.GoogleUsername;
  606. public string GooglePassword => _settings.Auth.GooglePassword;
  607.  
  608. public string GoogleRefreshToken
  609. {
  610. get { return null; }
  611. set { GoogleRefreshToken = null; }
  612. }
  613.  
  614. AuthType ISettings.AuthType
  615. {
  616. get { return _settings.Auth.AuthType; }
  617.  
  618. set { _settings.Auth.AuthType = value; }
  619. }
  620.  
  621. double ISettings.DefaultLatitude
  622. {
  623. get
  624. {
  625. return _settings.DefaultLatitude + _rand.NextDouble() * ((double)_settings.MaxSpawnLocationOffset / 111111);
  626. }
  627.  
  628. set { _settings.DefaultLatitude = value; }
  629. }
  630.  
  631. double ISettings.DefaultLongitude
  632. {
  633. get
  634. {
  635. return _settings.DefaultLongitude +
  636. _rand.NextDouble() *
  637. ((double)_settings.MaxSpawnLocationOffset / 111111 / Math.Cos(_settings.DefaultLatitude));
  638. }
  639.  
  640. set { _settings.DefaultLongitude = value; }
  641. }
  642.  
  643. double ISettings.DefaultAltitude
  644. {
  645. get { return _settings.DefaultAltitude; }
  646.  
  647. set { _settings.DefaultAltitude = value; }
  648. }
  649.  
  650. string ISettings.PtcPassword
  651. {
  652. get { return _settings.Auth.PtcPassword; }
  653.  
  654. set { _settings.Auth.PtcPassword = value; }
  655. }
  656.  
  657. string ISettings.PtcUsername
  658. {
  659. get { return _settings.Auth.PtcUsername; }
  660.  
  661. set { _settings.Auth.PtcUsername = value; }
  662. }
  663.  
  664. string ISettings.GoogleUsername
  665. {
  666. get { return _settings.Auth.GoogleUsername; }
  667.  
  668. set { _settings.Auth.GoogleUsername = value; }
  669. }
  670.  
  671. string ISettings.GooglePassword
  672. {
  673. get { return _settings.Auth.GooglePassword; }
  674.  
  675. set { _settings.Auth.GooglePassword = value; }
  676. }
  677. }
  678.  
  679. public class LogicSettings : ILogicSettings
  680. {
  681. private readonly GlobalSettings _settings;
  682.  
  683. public LogicSettings(GlobalSettings settings)
  684. {
  685. _settings = settings;
  686. }
  687.  
  688. public string ProfilePath => _settings.ProfilePath;
  689. public string ProfileConfigPath => _settings.ProfileConfigPath;
  690. public string GeneralConfigPath => _settings.GeneralConfigPath;
  691. public bool AutoUpdate => _settings.AutoUpdate;
  692. public bool TransferConfigAndAuthOnUpdate => _settings.TransferConfigAndAuthOnUpdate;
  693. public float KeepMinIvPercentage => _settings.KeepMinIvPercentage;
  694. public int KeepMinCp => _settings.KeepMinCp;
  695. public bool AutomaticallyLevelUpPokemon => _settings.AutomaticallyLevelUpPokemon;
  696. public string LevelUpByCPorIv => _settings.LevelUpByCPorIv;
  697. public float UpgradePokemonIvMinimum => _settings.UpgradePokemonIvMinimum;
  698. public float UpgradePokemonCpMinimum => _settings.UpgradePokemonCpMinimum;
  699. public double WalkingSpeedInKilometerPerHour => _settings.WalkingSpeedInKilometerPerHour;
  700. public bool EvolveAllPokemonWithEnoughCandy => _settings.EvolveAllPokemonWithEnoughCandy;
  701. public bool KeepPokemonsThatCanEvolve => _settings.KeepPokemonsThatCanEvolve;
  702. public bool TransferDuplicatePokemon => _settings.TransferDuplicatePokemon;
  703. public bool UseEggIncubators => _settings.UseEggIncubators;
  704. public int UseGreatBallAboveCp => _settings.UseGreatBallAboveCp;
  705. public int UseUltraBallAboveCp => _settings.UseUltraBallAboveCp;
  706. public int UseGreatBallAboveIv => _settings.UseGreatBallAboveIv;
  707. public int UseUltraBallAboveIv => _settings.UseUltraBallAboveIv;
  708. public double UseMasterBallBelowCatchProbability => _settings.UseMasterBallBelowCatchProbability;
  709. public double UseUltraBallBelowCatchProbability => _settings.UseUltraBallBelowCatchProbability;
  710. public double UseGreatBallBelowCatchProbability => _settings.UseGreatBallBelowCatchProbability;
  711. public int UseMasterBallAboveCp => _settings.UseMasterBallAboveCp;
  712. public int DelayBetweenPokemonCatch => _settings.DelayBetweenPokemonCatch;
  713. public int DelayBetweenPlayerActions => _settings.DelayBetweenPlayerActions;
  714. public bool UsePokemonToNotCatchFilter => _settings.UsePokemonToNotCatchFilter;
  715. public int KeepMinDuplicatePokemon => _settings.KeepMinDuplicatePokemon;
  716. public bool PrioritizeIvOverCp => _settings.PrioritizeIvOverCp;
  717. public int MaxTravelDistanceInMeters => _settings.MaxTravelDistanceInMeters;
  718. public string GpxFile => _settings.GpxFile;
  719. public bool UseGpxPathing => _settings.UseGpxPathing;
  720. public bool UseLuckyEggsWhileEvolving => _settings.UseLuckyEggsWhileEvolving;
  721. public int UseLuckyEggsMinPokemonAmount => _settings.UseLuckyEggsMinPokemonAmount;
  722. public bool EvolveAllPokemonAboveIv => _settings.EvolveAllPokemonAboveIv;
  723. public float EvolveAboveIvValue => _settings.EvolveAboveIvValue;
  724. public bool RenamePokemon => _settings.RenamePokemon;
  725. public bool RenameOnlyAboveIv => _settings.RenameOnlyAboveIv;
  726. public float FavoriteMinIvPercentage => _settings.FavoriteMinIvPercentage;
  727. public bool AutoFavoritePokemon => _settings.AutoFavoritePokemon;
  728. public string RenameTemplate => _settings.RenameTemplate;
  729. public int AmountOfPokemonToDisplayOnStart => _settings.AmountOfPokemonToDisplayOnStart;
  730. public bool DumpPokemonStats => _settings.DumpPokemonStats;
  731. public string TranslationLanguageCode => _settings.TranslationLanguageCode;
  732. public ICollection<KeyValuePair<ItemId, int>> ItemRecycleFilter => _settings.ItemRecycleFilter;
  733. public ICollection<PokemonId> PokemonsToEvolve => _settings.PokemonsToEvolve;
  734. public ICollection<PokemonId> PokemonsNotToTransfer => _settings.PokemonsNotToTransfer;
  735. public ICollection<PokemonId> PokemonsNotToCatch => _settings.PokemonsToIgnore;
  736. public ICollection<PokemonId> PokemonToUseMasterball => _settings.PokemonToUseMasterball;
  737. public Dictionary<PokemonId, TransferFilter> PokemonsTransferFilter => _settings.PokemonsTransferFilter;
  738. public bool StartupWelcomeDelay => _settings.StartupWelcomeDelay;
  739. public bool SnipeAtPokestops => _settings.SnipeAtPokestops;
  740. public int MinPokeballsToSnipe => _settings.MinPokeballsToSnipe;
  741. public int MinPokeballsWhileSnipe => _settings.MinPokeballsWhileSnipe;
  742. public int MaxPokeballsPerPokemon => _settings.MaxPokeballsPerPokemon;
  743.  
  744. public SnipeSettings PokemonToSnipe => _settings.PokemonToSnipe;
  745. public string SnipeLocationServer => _settings.SnipeLocationServer;
  746. public int SnipeLocationServerPort => _settings.SnipeLocationServerPort;
  747. public bool UseSnipeLocationServer => _settings.UseSnipeLocationServer;
  748. public bool UseTransferIvForSnipe => _settings.UseTransferIvForSnipe;
  749. public bool SnipeIgnoreUnknownIv => _settings.SnipeIgnoreUnknownIv;
  750. public int MinDelayBetweenSnipes => _settings.MinDelayBetweenSnipes;
  751. public int TotalAmountOfPokeballsToKeep => _settings.TotalAmountOfPokeballsToKeep;
  752. public int TotalAmountOfPotionsToKeep => _settings.TotalAmountOfPotionsToKeep;
  753. public int TotalAmountOfRevivesToKeep => _settings.TotalAmountOfRevivesToKeep;
  754.  
  755. public bool Teleport => _settings.Teleport;
  756. public int DelayCatchIncensePokemon => _settings.DelayCatchIncensePokemon;
  757. public int DelayCatchNearbyPokemon => _settings.DelayCatchNearbyPokemon;
  758. public int DelayPositionCheckState => _settings.DelayPositionCheckState;
  759. public int DelayCatchLurePokemon => _settings.DelayCatchLurePokemon;
  760. public int DelayCatchPokemon => _settings.DelayCatchPokemon;
  761. public int DelayDisplayPokemon => _settings.DelayDisplayPokemon;
  762. public int DelayUseLuckyEgg => _settings.DelayUseLuckyEgg;
  763. public int DelaySoftbanRetry => _settings.DelaySoftbanRetry;
  764. public int DelayPokestop => _settings.DelayPokestop;
  765. public int DelayRecyleItem => _settings.DelayRecyleItem;
  766. public int DelaySnipePokemon => _settings.DelaySnipePokemon;
  767. public int DelayTransferPokemon => _settings.DelayTransferPokemon;
  768. public double RecycleInventoryAtUsagePercentage => _settings.RecycleInventoryAtUsagePercentage;
  769. public bool HumanizeThrows => _settings.HumanizeThrows;
  770. public double ThrowAccuracyMin => _settings.ThrowAccuracyMin;
  771. public double ThrowAccuracyMax => _settings.ThrowAccuracyMax;
  772. public double ThrowSpinFrequency => _settings.ThrowSpinFrequency;
  773. public int UseBerryMinCp => _settings.UseBerryMinCp;
  774. public float UseBerryMinIv => _settings.UseBerryMinIv;
  775. public double UseBerryBelowCatchProbability => _settings.UseBerryBelowCatchProbability;
  776. }
  777. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement