├── .gitattributes
├── .gitignore
├── CONTRIBUTING.md
├── LICENSE
├── POGOProtos
├── Data
│ ├── AssetDigestEntry.cs
│ ├── Battle
│ │ ├── BattleAction.cs
│ │ ├── BattleActionType.cs
│ │ ├── BattleLog.cs
│ │ ├── BattleParticipant.cs
│ │ ├── BattlePokemonInfo.cs
│ │ ├── BattleResults.cs
│ │ ├── BattleState.cs
│ │ ├── BattleType.cs
│ │ └── POGOProtosDataBattle.cs
│ ├── Capture
│ │ ├── CaptureAward.cs
│ │ ├── CaptureProbability.cs
│ │ └── POGOProtosDataCapture.cs
│ ├── DownloadUrlEntry.cs
│ ├── Gym
│ │ ├── GymMembership.cs
│ │ ├── GymState.cs
│ │ └── POGOProtosDataGym.cs
│ ├── Logs
│ │ ├── ActionLogEntry.cs
│ │ ├── CatchPokemonLogEntry.cs
│ │ ├── FortSearchLogEntry.cs
│ │ └── POGOProtosDataLogs.cs
│ ├── POGOProtosData.cs
│ ├── Player
│ │ ├── ContactSettings.cs
│ │ ├── Currency.cs
│ │ ├── DailyBonus.cs
│ │ ├── EquippedBadge.cs
│ │ ├── POGOProtosDataPlayer.cs
│ │ ├── PlayerAvatar.cs
│ │ ├── PlayerCamera.cs
│ │ ├── PlayerCurrency.cs
│ │ ├── PlayerPublicProfile.cs
│ │ └── PlayerStats.cs
│ ├── PlayerBadge.cs
│ ├── PlayerData.cs
│ ├── PokedexEntry.cs
│ └── PokemonData.cs
├── Enums
│ ├── ActivityType.cs
│ ├── BadgeType.cs
│ ├── CameraInterpolation.cs
│ ├── CameraTarget.cs
│ ├── Gender.cs
│ ├── IapItemCategory.cs
│ ├── ItemCategory.cs
│ ├── ItemEffect.cs
│ ├── POGOProtosEnums.cs
│ ├── Platform.cs
│ ├── PokemonFamilyId.cs
│ ├── PokemonId.cs
│ ├── PokemonMove.cs
│ ├── PokemonMovementType.cs
│ ├── PokemonRarity.cs
│ ├── PokemonType.cs
│ ├── TeamColor.cs
│ └── TutorialState.cs
├── Inventory
│ ├── AppliedItem.cs
│ ├── AppliedItems.cs
│ ├── Candy.cs
│ ├── EggIncubator.cs
│ ├── EggIncubatorType.cs
│ ├── EggIncubators.cs
│ ├── InventoryDelta.cs
│ ├── InventoryItem.cs
│ ├── InventoryItemData.cs
│ ├── InventoryUpgrade.cs
│ ├── InventoryUpgradeType.cs
│ ├── InventoryUpgrades.cs
│ ├── Item
│ │ ├── ItemAward.cs
│ │ ├── ItemData.cs
│ │ ├── ItemId.cs
│ │ ├── ItemType.cs
│ │ └── POGOProtosInventoryItem.cs
│ └── POGOProtosInventory.cs
├── Map
│ ├── Fort
│ │ ├── FortData.cs
│ │ ├── FortLureInfo.cs
│ │ ├── FortModifier.cs
│ │ ├── FortRenderingType.cs
│ │ ├── FortSponsor.cs
│ │ ├── FortSummary.cs
│ │ ├── FortType.cs
│ │ └── POGOProtosMapFort.cs
│ ├── MapCell.cs
│ ├── MapObjectsStatus.cs
│ ├── POGOProtosMap.cs
│ ├── Pokemon
│ │ ├── MapPokemon.cs
│ │ ├── NearbyPokemon.cs
│ │ ├── POGOProtosMapPokemon.cs
│ │ └── WildPokemon.cs
│ └── SpawnPoint.cs
├── Networking
│ ├── Envelopes
│ │ ├── AuthTicket.cs
│ │ ├── POGOProtosNetworkingEnvelopes.cs
│ │ ├── RequestEnvelope.cs
│ │ ├── ResponseEnvelope.cs
│ │ ├── Unknown6.cs
│ │ └── Unknown6Response.cs
│ ├── Requests
│ │ ├── Messages
│ │ │ ├── AddFortModifierMessage.cs
│ │ │ ├── AttackGymMessage.cs
│ │ │ ├── CatchPokemonMessage.cs
│ │ │ ├── CheckAwardedBadgesMessage.cs
│ │ │ ├── CheckCodenameAvailableMessage.cs
│ │ │ ├── ClaimCodenameMessage.cs
│ │ │ ├── CollectDailyBonusMessage.cs
│ │ │ ├── CollectDailyDefenderBonusMessage.cs
│ │ │ ├── DiskEncounterMessage.cs
│ │ │ ├── DownloadItemTemplatesMessage.cs
│ │ │ ├── DownloadRemoteConfigVersionMessage.cs
│ │ │ ├── DownloadSettingsMessage.cs
│ │ │ ├── EchoMessage.cs
│ │ │ ├── EncounterMessage.cs
│ │ │ ├── EncounterTutorialCompleteMessage.cs
│ │ │ ├── EquipBadgeMessage.cs
│ │ │ ├── EvolvePokemonMessage.cs
│ │ │ ├── FortDeployPokemonMessage.cs
│ │ │ ├── FortDetailsMessage.cs
│ │ │ ├── FortRecallPokemonMessage.cs
│ │ │ ├── FortSearchMessage.cs
│ │ │ ├── GetAssetDigestMessage.cs
│ │ │ ├── GetDownloadUrlsMessage.cs
│ │ │ ├── GetGymDetailsMessage.cs
│ │ │ ├── GetHatchedEggsMessage.cs
│ │ │ ├── GetIncensePokemonMessage.cs
│ │ │ ├── GetInventoryMessage.cs
│ │ │ ├── GetMapObjectsMessage.cs
│ │ │ ├── GetPlayerMessage.cs
│ │ │ ├── GetPlayerProfileMessage.cs
│ │ │ ├── GetSuggestedCodenamesMessage.cs
│ │ │ ├── IncenseEncounterMessage.cs
│ │ │ ├── LevelUpRewardsMessage.cs
│ │ │ ├── MarkTutorialCompleteMessage.cs
│ │ │ ├── NicknamePokemonMessage.cs
│ │ │ ├── POGOProtosNetworkingRequestsMessages.cs
│ │ │ ├── PlayerUpdateMessage.cs
│ │ │ ├── RecycleInventoryItemMessage.cs
│ │ │ ├── ReleasePokemonMessage.cs
│ │ │ ├── SetAvatarMessage.cs
│ │ │ ├── SetContactSettingsMessage.cs
│ │ │ ├── SetFavoritePokemonMessage.cs
│ │ │ ├── SetPlayerTeamMessage.cs
│ │ │ ├── SfidaActionLogMessage.cs
│ │ │ ├── StartGymBattleMessage.cs
│ │ │ ├── UpgradePokemonMessage.cs
│ │ │ ├── UseIncenseMessage.cs
│ │ │ ├── UseItemCaptureMessage.cs
│ │ │ ├── UseItemEggIncubatorMessage.cs
│ │ │ ├── UseItemGymMessage.cs
│ │ │ ├── UseItemPotionMessage.cs
│ │ │ ├── UseItemReviveMessage.cs
│ │ │ └── UseItemXpBoostMessage.cs
│ │ ├── POGOProtosNetworkingRequests.cs
│ │ ├── Request.cs
│ │ └── RequestType.cs
│ ├── Responses
│ │ ├── AddFortModifierResponse.cs
│ │ ├── AttackGymResponse.cs
│ │ ├── CatchPokemonResponse.cs
│ │ ├── CheckAwardedBadgesResponse.cs
│ │ ├── CheckCodenameAvailableResponse.cs
│ │ ├── ClaimCodenameResponse.cs
│ │ ├── CollectDailyBonusResponse.cs
│ │ ├── CollectDailyDefenderBonusResponse.cs
│ │ ├── DiskEncounterResponse.cs
│ │ ├── DownloadItemTemplatesResponse.cs
│ │ ├── DownloadRemoteConfigVersionResponse.cs
│ │ ├── DownloadSettingsResponse.cs
│ │ ├── EchoResponse.cs
│ │ ├── EncounterResponse.cs
│ │ ├── EncounterTutorialCompleteResponse.cs
│ │ ├── EquipBadgeResponse.cs
│ │ ├── EvolvePokemonResponse.cs
│ │ ├── FortDeployPokemonResponse.cs
│ │ ├── FortDetailsResponse.cs
│ │ ├── FortRecallPokemonResponse.cs
│ │ ├── FortSearchResponse.cs
│ │ ├── GetAssetDigestResponse.cs
│ │ ├── GetDownloadUrlsResponse.cs
│ │ ├── GetGymDetailsResponse.cs
│ │ ├── GetHatchedEggsResponse.cs
│ │ ├── GetIncensePokemonResponse.cs
│ │ ├── GetInventoryResponse.cs
│ │ ├── GetMapObjectsResponse.cs
│ │ ├── GetPlayerProfileResponse.cs
│ │ ├── GetPlayerResponse.cs
│ │ ├── GetSuggestedCodenamesResponse.cs
│ │ ├── IncenseEncounterResponse.cs
│ │ ├── LevelUpRewardsResponse.cs
│ │ ├── MarkTutorialCompleteResponse.cs
│ │ ├── NicknamePokemonResponse.cs
│ │ ├── POGOProtosNetworkingResponses.cs
│ │ ├── PlayerUpdateResponse.cs
│ │ ├── RecycleInventoryItemResponse.cs
│ │ ├── ReleasePokemonResponse.cs
│ │ ├── SetAvatarResponse.cs
│ │ ├── SetContactSettingsResponse.cs
│ │ ├── SetFavoritePokemonResponse.cs
│ │ ├── SetPlayerTeamResponse.cs
│ │ ├── SfidaActionLogResponse.cs
│ │ ├── StartGymBattleResponse.cs
│ │ ├── UpgradePokemonResponse.cs
│ │ ├── UseIncenseResponse.cs
│ │ ├── UseItemCaptureResponse.cs
│ │ ├── UseItemEggIncubatorResponse.cs
│ │ ├── UseItemGymResponse.cs
│ │ ├── UseItemPotionResponse.cs
│ │ ├── UseItemReviveResponse.cs
│ │ └── UseItemXpBoostResponse.cs
│ ├── Signature.cs
│ └── Signature
│ │ └── POGOProtosNetworkingSignature.cs
├── POGOProtos.csproj
├── POGOProtos.sln
├── Properties
│ └── AssemblyInfo.cs
└── Settings
│ ├── DownloadSettingsAction.cs
│ ├── FortSettings.cs
│ ├── GlobalSettings.cs
│ ├── InventorySettings.cs
│ ├── LevelSettings.cs
│ ├── MapSettings.cs
│ ├── Master
│ ├── BadgeSettings.cs
│ ├── CameraSettings.cs
│ ├── EncounterSettings.cs
│ ├── EquippedBadgeSettings.cs
│ ├── GymBattleSettings.cs
│ ├── GymLevelSettings.cs
│ ├── IapItemDisplay.cs
│ ├── IapSettings.cs
│ ├── Item
│ │ ├── BattleAttributes.cs
│ │ ├── EggIncubatorAttributes.cs
│ │ ├── ExperienceBoostAttributes.cs
│ │ ├── FoodAttributes.cs
│ │ ├── FortModifierAttributes.cs
│ │ ├── IncenseAttributes.cs
│ │ ├── InventoryUpgradeAttributes.cs
│ │ ├── POGOProtosSettingsMasterItem.cs
│ │ ├── PokeballAttributes.cs
│ │ ├── PotionAttributes.cs
│ │ └── ReviveAttributes.cs
│ ├── ItemSettings.cs
│ ├── MoveSequenceSettings.cs
│ ├── MoveSettings.cs
│ ├── POGOProtosSettingsMaster.cs
│ ├── PlayerLevelSettings.cs
│ ├── Pokemon
│ │ ├── CameraAttributes.cs
│ │ ├── EncounterAttributes.cs
│ │ ├── POGOProtosSettingsMasterPokemon.cs
│ │ └── StatsAttributes.cs
│ ├── PokemonSettings.cs
│ ├── PokemonUpgradeSettings.cs
│ └── TypeEffectiveSettings.cs
│ └── POGOProtosSettings.cs
├── PoGo.PokeMobBot.CLI
├── App.config
├── Config
│ ├── Translations
│ │ ├── translation.da.json
│ │ ├── translation.de.json
│ │ ├── translation.es.json
│ │ ├── translation.et.json
│ │ ├── translation.fr.json
│ │ ├── translation.gr.json
│ │ ├── translation.hu.json
│ │ ├── translation.id.json
│ │ ├── translation.it.json
│ │ ├── translation.nl.json
│ │ ├── translation.no.json
│ │ ├── translation.pl.json
│ │ ├── translation.pt-br.json
│ │ ├── translation.pt-pt.json
│ │ ├── translation.ru_RU.json
│ │ ├── translation.sv.json
│ │ ├── translation.th.json
│ │ ├── translation.tr.json
│ │ ├── translation.uk_UA.json
│ │ ├── translation.zh_CN.json
│ │ └── translation.zh_TW.json
│ ├── log4net.config
│ └── log4net.unix.config
├── ConsoleEventListener.cs
├── ConsoleLogger.cs
├── FodyWeavers.xml
├── Models
│ ├── LoggingStrings.cs
│ └── SocketMessage.cs
├── PoGo.PokeMobBot.CLI.csproj
├── Program.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── Resources
│ └── Icon.ico
├── SimpleSession.cs
├── WebSocketInterface.cs
├── cert.pfx
├── packages.config
├── supersocket.cmd
└── supersocket.sh
├── PoGo.PokeMobBot.Logic
├── API
│ └── MapzenAPI.cs
├── Common
│ ├── ApiFailureStrategy.cs
│ └── Translations.cs
├── DataDumper
│ ├── Dumper.cs
│ └── IDumper.cs
├── Event
│ ├── DebugEvent.cs
│ ├── DisplayHighestsPokemonEvent.cs
│ ├── EggHatchedEvent.cs
│ ├── EggIncubatorStatusEvent.cs
│ ├── EggsListEvent.cs
│ ├── ErrorEvent.cs
│ ├── EventDispatcher.cs
│ ├── FortFailedEvent.cs
│ ├── FortTargetEvent.cs
│ ├── FortUsedEvent.cs
│ ├── IEvent.cs
│ ├── InvalidKeepAmountEvent.cs
│ ├── InventoryListEvent.cs
│ ├── ItemRecycledEvent.cs
│ ├── NoPokeballEvent.cs
│ ├── NoticeEvent.cs
│ ├── PlayerLevelUpEvent.cs
│ ├── PlayerStatsEvent.cs
│ ├── PokeStopListEvent.cs
│ ├── PokemonCaptureEvent.cs
│ ├── PokemonEvolveEvent.cs
│ ├── PokemonFavoriteEvent.cs
│ ├── PokemonListEvent.cs
│ ├── PokemonSettingsEvent.cs
│ ├── PokemonUnFavoriteEvent.cs
│ ├── ProfileEvent.cs
│ ├── SnipeModeEvent.cs
│ ├── SnipeScanEvent.cs
│ ├── TransferPokemonEvent.cs
│ ├── UpdateEvent.cs
│ ├── UpdatePositionEvent.cs
│ ├── UseBerryEvent.cs
│ ├── UseLuckyEggEvent.cs
│ ├── UseLuckyEggMinPokemonEvent.cs
│ ├── WalkingSpeedRandomizedEvent.cs
│ └── WarnEvent.cs
├── Extensions
│ └── RandomExtensions.cs
├── ILogicSettings.cs
├── Inventory.cs
├── Localization
│ └── Localizer.cs
├── Logging
│ ├── ILogger.cs
│ └── Logger.cs
├── MapCache.cs
├── Navigation.cs
├── Navigation2.cs
├── PoGo.PokeMobBot.Logic.csproj
├── PoGoUtils
│ ├── PokemonInfo.cs
│ └── PokemonMoveInfo.cs
├── Properties
│ └── AssemblyInfo.cs
├── Routing.cs
├── Service
│ └── BotService.cs
├── Settings.cs
├── State
│ ├── FarmState.cs
│ ├── IState.cs
│ ├── InfoState.cs
│ ├── LoginState.cs
│ ├── PositionCheckState.cs
│ ├── Session.cs
│ ├── StateMachine.cs
│ └── VersionCheckState.cs
├── StatisticsAggregator.cs
├── Tasks
│ ├── CatchIncensePokemonsTask.cs
│ ├── CatchLurePokemonsTask.cs
│ ├── CatchNearbyPokemonsTask.cs
│ ├── CatchPokemonTask.cs
│ ├── DisplayPokemonStatsTask.cs
│ ├── EggsListTask.cs
│ ├── EvolvePokemonTask.cs
│ ├── EvolveSpecificPokemonTask.cs
│ ├── Farm.cs
│ ├── FarmPokestopsGPXTask.cs
│ ├── FarmPokestopsTask.cs
│ ├── FavoritePokemonTask.cs
│ ├── InventoryListTask.cs
│ ├── LevelUpPokemonTask.cs
│ ├── Login.cs
│ ├── MaintenanceTask.cs
│ ├── PlayerStatsTask .cs
│ ├── PokemonListTask.cs
│ ├── PokemonSettingsTask.cs
│ ├── RecycleItemsTask.cs
│ ├── RenamePokemonTask.cs
│ ├── SnipePokemonTask.cs
│ ├── TransferDuplicatePokemonTask.cs
│ ├── TransferPokemonTask.cs
│ ├── UseIncubatorsTask.cs
│ └── UseNearbyPokestopsTask.cs
├── Utils
│ ├── DelayingEvolveUtils.cs
│ ├── DelayingUtils.cs
│ ├── EggWalker.cs
│ ├── GPXReader.cs
│ ├── JitterUtils.cs
│ ├── LocationUtils.cs
│ ├── PhoneGenerator.cs
│ ├── Statistics.cs
│ └── StringUtils.cs
├── app.config
└── packages.config
├── PokeMobBot.sln
├── README.md
├── Resources
├── encrypt32.dll
└── encrypt64.dll
├── SharedAssemblyInfo.cs
├── System.Data.HashFunction.Core.dll
├── System.Data.HashFunction.Interfaces.dll
└── System.Data.HashFunction.xxHash.dll
/.gitattributes:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Set default behavior to automatically normalize line endings.
3 | ###############################################################################
4 | * text=auto
5 |
6 | ###############################################################################
7 | # Set default behavior for command prompt diff.
8 | #
9 | # This is need for earlier builds of msysgit that does not have it on by
10 | # default for csharp files.
11 | # Note: This is only used by command line
12 | ###############################################################################
13 | #*.cs diff=csharp
14 |
15 | ###############################################################################
16 | # Set the merge driver for project and solution files
17 | #
18 | # Merging from the command prompt will add diff markers to the files if there
19 | # are conflicts (Merging from VS is not affected by the settings below, in VS
20 | # the diff markers are never inserted). Diff markers may cause the following
21 | # file extensions to fail to load in VS. An alternative would be to treat
22 | # these files as binary and thus will always conflict and require user
23 | # intervention with every merge. To do so, just uncomment the entries below
24 | ###############################################################################
25 | #*.sln merge=binary
26 | #*.csproj merge=binary
27 | #*.vbproj merge=binary
28 | #*.vcxproj merge=binary
29 | #*.vcproj merge=binary
30 | #*.dbproj merge=binary
31 | #*.fsproj merge=binary
32 | #*.lsproj merge=binary
33 | #*.wixproj merge=binary
34 | #*.modelproj merge=binary
35 | #*.sqlproj merge=binary
36 | #*.wwaproj merge=binary
37 |
38 | ###############################################################################
39 | # behavior for image files
40 | #
41 | # image files are treated as binary by default.
42 | ###############################################################################
43 | #*.jpg binary
44 | #*.png binary
45 | #*.gif binary
46 |
47 | ###############################################################################
48 | # diff behavior for common document formats
49 | #
50 | # Convert binary document formats to text before diffing them. This feature
51 | # is only available from the command line. Turn it on by uncommenting the
52 | # entries below.
53 | ###############################################################################
54 | #*.doc diff=astextplain
55 | #*.DOC diff=astextplain
56 | #*.docx diff=astextplain
57 | #*.DOCX diff=astextplain
58 | #*.dot diff=astextplain
59 | #*.DOT diff=astextplain
60 | #*.pdf diff=astextplain
61 | #*.PDF diff=astextplain
62 | #*.rtf diff=astextplain
63 | #*.RTF diff=astextplain
64 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | Checkout: https://github.com/PocketMobsters/PokeMobBot/wiki/Todo
2 |
--------------------------------------------------------------------------------
/POGOProtos/Data/Battle/BattleActionType.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Data/Battle/BattleActionType.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Data.Battle {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Data/Battle/BattleActionType.proto
13 | public static partial class BattleActionTypeReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Data/Battle/BattleActionType.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static BattleActionTypeReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "Ci1QT0dPUHJvdG9zL0RhdGEvQmF0dGxlL0JhdHRsZUFjdGlvblR5cGUucHJv",
26 | "dG8SFlBPR09Qcm90b3MuRGF0YS5CYXR0bGUq/AEKEEJhdHRsZUFjdGlvblR5",
27 | "cGUSEAoMQUNUSU9OX1VOU0VUEAASEQoNQUNUSU9OX0FUVEFDSxABEhAKDEFD",
28 | "VElPTl9ET0RHRRACEhkKFUFDVElPTl9TUEVDSUFMX0FUVEFDSxADEhcKE0FD",
29 | "VElPTl9TV0FQX1BPS0VNT04QBBIQCgxBQ1RJT05fRkFJTlQQBRIWChJBQ1RJ",
30 | "T05fUExBWUVSX0pPSU4QBhIWChJBQ1RJT05fUExBWUVSX1FVSVQQBxISCg5B",
31 | "Q1RJT05fVklDVE9SWRAIEhEKDUFDVElPTl9ERUZFQVQQCRIUChBBQ1RJT05f",
32 | "VElNRURfT1VUEApiBnByb3RvMw=="));
33 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
34 | new pbr::FileDescriptor[] { },
35 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Data.Battle.BattleActionType), }, null));
36 | }
37 | #endregion
38 |
39 | }
40 | #region Enums
41 | public enum BattleActionType {
42 | [pbr::OriginalName("ACTION_UNSET")] ActionUnset = 0,
43 | [pbr::OriginalName("ACTION_ATTACK")] ActionAttack = 1,
44 | [pbr::OriginalName("ACTION_DODGE")] ActionDodge = 2,
45 | [pbr::OriginalName("ACTION_SPECIAL_ATTACK")] ActionSpecialAttack = 3,
46 | [pbr::OriginalName("ACTION_SWAP_POKEMON")] ActionSwapPokemon = 4,
47 | [pbr::OriginalName("ACTION_FAINT")] ActionFaint = 5,
48 | [pbr::OriginalName("ACTION_PLAYER_JOIN")] ActionPlayerJoin = 6,
49 | [pbr::OriginalName("ACTION_PLAYER_QUIT")] ActionPlayerQuit = 7,
50 | [pbr::OriginalName("ACTION_VICTORY")] ActionVictory = 8,
51 | [pbr::OriginalName("ACTION_DEFEAT")] ActionDefeat = 9,
52 | [pbr::OriginalName("ACTION_TIMED_OUT")] ActionTimedOut = 10,
53 | }
54 |
55 | #endregion
56 |
57 | }
58 |
59 | #endregion Designer generated code
60 |
--------------------------------------------------------------------------------
/POGOProtos/Data/Battle/BattleState.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Data/Battle/BattleState.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Data.Battle {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Data/Battle/BattleState.proto
13 | public static partial class BattleStateReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Data/Battle/BattleState.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static BattleStateReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CihQT0dPUHJvdG9zL0RhdGEvQmF0dGxlL0JhdHRsZVN0YXRlLnByb3RvEhZQ",
26 | "T0dPUHJvdG9zLkRhdGEuQmF0dGxlKlQKC0JhdHRsZVN0YXRlEg8KC1NUQVRF",
27 | "X1VOU0VUEAASCgoGQUNUSVZFEAESCwoHVklDVE9SWRACEgwKCERFRkVBVEVE",
28 | "EAMSDQoJVElNRURfT1VUEARiBnByb3RvMw=="));
29 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
30 | new pbr::FileDescriptor[] { },
31 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Data.Battle.BattleState), }, null));
32 | }
33 | #endregion
34 |
35 | }
36 | #region Enums
37 | public enum BattleState {
38 | [pbr::OriginalName("STATE_UNSET")] StateUnset = 0,
39 | [pbr::OriginalName("ACTIVE")] Active = 1,
40 | [pbr::OriginalName("VICTORY")] Victory = 2,
41 | [pbr::OriginalName("DEFEATED")] Defeated = 3,
42 | [pbr::OriginalName("TIMED_OUT")] TimedOut = 4,
43 | }
44 |
45 | #endregion
46 |
47 | }
48 |
49 | #endregion Designer generated code
50 |
--------------------------------------------------------------------------------
/POGOProtos/Data/Battle/BattleType.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Data/Battle/BattleType.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Data.Battle {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Data/Battle/BattleType.proto
13 | public static partial class BattleTypeReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Data/Battle/BattleType.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static BattleTypeReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CidQT0dPUHJvdG9zL0RhdGEvQmF0dGxlL0JhdHRsZVR5cGUucHJvdG8SFlBP",
26 | "R09Qcm90b3MuRGF0YS5CYXR0bGUqPQoKQmF0dGxlVHlwZRIVChFCQVRUTEVf",
27 | "VFlQRV9VTlNFVBAAEgoKBk5PUk1BTBABEgwKCFRSQUlOSU5HEAJiBnByb3Rv",
28 | "Mw=="));
29 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
30 | new pbr::FileDescriptor[] { },
31 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Data.Battle.BattleType), }, null));
32 | }
33 | #endregion
34 |
35 | }
36 | #region Enums
37 | public enum BattleType {
38 | [pbr::OriginalName("BATTLE_TYPE_UNSET")] Unset = 0,
39 | [pbr::OriginalName("NORMAL")] Normal = 1,
40 | [pbr::OriginalName("TRAINING")] Training = 2,
41 | }
42 |
43 | #endregion
44 |
45 | }
46 |
47 | #endregion Designer generated code
48 |
--------------------------------------------------------------------------------
/POGOProtos/Enums/ActivityType.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Enums/ActivityType.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Enums {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Enums/ActivityType.proto
13 | public static partial class ActivityTypeReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Enums/ActivityType.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static ActivityTypeReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CiNQT0dPUHJvdG9zL0VudW1zL0FjdGl2aXR5VHlwZS5wcm90bxIQUE9HT1By",
26 | "b3Rvcy5FbnVtcyrsBQoMQWN0aXZpdHlUeXBlEhQKEEFDVElWSVRZX1VOS05P",
27 | "V04QABIaChZBQ1RJVklUWV9DQVRDSF9QT0tFTU9OEAESIQodQUNUSVZJVFlf",
28 | "Q0FUQ0hfTEVHRU5EX1BPS0VNT04QAhIZChVBQ1RJVklUWV9GTEVFX1BPS0VN",
29 | "T04QAxIYChRBQ1RJVklUWV9ERUZFQVRfRk9SVBAEEhsKF0FDVElWSVRZX0VW",
30 | "T0xWRV9QT0tFTU9OEAUSFgoSQUNUSVZJVFlfSEFUQ0hfRUdHEAYSFAoQQUNU",
31 | "SVZJVFlfV0FMS19LTRAHEh4KGkFDVElWSVRZX1BPS0VERVhfRU5UUllfTkVX",
32 | "EAgSHgoaQUNUSVZJVFlfQ0FUQ0hfRklSU1RfVEhST1cQCRIdChlBQ1RJVklU",
33 | "WV9DQVRDSF9OSUNFX1RIUk9XEAoSHgoaQUNUSVZJVFlfQ0FUQ0hfR1JFQVRf",
34 | "VEhST1cQCxIiCh5BQ1RJVklUWV9DQVRDSF9FWENFTExFTlRfVEhST1cQDBIc",
35 | "ChhBQ1RJVklUWV9DQVRDSF9DVVJWRUJBTEwQDRIlCiFBQ1RJVklUWV9DQVRD",
36 | "SF9GSVJTVF9DQVRDSF9PRl9EQVkQDhIcChhBQ1RJVklUWV9DQVRDSF9NSUxF",
37 | "U1RPTkUQDxIaChZBQ1RJVklUWV9UUkFJTl9QT0tFTU9OEBASGAoUQUNUSVZJ",
38 | "VFlfU0VBUkNIX0ZPUlQQERIcChhBQ1RJVklUWV9SRUxFQVNFX1BPS0VNT04Q",
39 | "EhIiCh5BQ1RJVklUWV9IQVRDSF9FR0dfU01BTExfQk9OVVMQExIjCh9BQ1RJ",
40 | "VklUWV9IQVRDSF9FR0dfTUVESVVNX0JPTlVTEBQSIgoeQUNUSVZJVFlfSEFU",
41 | "Q0hfRUdHX0xBUkdFX0JPTlVTEBUSIAocQUNUSVZJVFlfREVGRUFUX0dZTV9E",
42 | "RUZFTkRFUhAWEh4KGkFDVElWSVRZX0RFRkVBVF9HWU1fTEVBREVSEBdiBnBy",
43 | "b3RvMw=="));
44 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
45 | new pbr::FileDescriptor[] { },
46 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Enums.ActivityType), }, null));
47 | }
48 | #endregion
49 |
50 | }
51 | #region Enums
52 | public enum ActivityType {
53 | [pbr::OriginalName("ACTIVITY_UNKNOWN")] ActivityUnknown = 0,
54 | [pbr::OriginalName("ACTIVITY_CATCH_POKEMON")] ActivityCatchPokemon = 1,
55 | [pbr::OriginalName("ACTIVITY_CATCH_LEGEND_POKEMON")] ActivityCatchLegendPokemon = 2,
56 | [pbr::OriginalName("ACTIVITY_FLEE_POKEMON")] ActivityFleePokemon = 3,
57 | [pbr::OriginalName("ACTIVITY_DEFEAT_FORT")] ActivityDefeatFort = 4,
58 | [pbr::OriginalName("ACTIVITY_EVOLVE_POKEMON")] ActivityEvolvePokemon = 5,
59 | [pbr::OriginalName("ACTIVITY_HATCH_EGG")] ActivityHatchEgg = 6,
60 | [pbr::OriginalName("ACTIVITY_WALK_KM")] ActivityWalkKm = 7,
61 | [pbr::OriginalName("ACTIVITY_POKEDEX_ENTRY_NEW")] ActivityPokedexEntryNew = 8,
62 | [pbr::OriginalName("ACTIVITY_CATCH_FIRST_THROW")] ActivityCatchFirstThrow = 9,
63 | [pbr::OriginalName("ACTIVITY_CATCH_NICE_THROW")] ActivityCatchNiceThrow = 10,
64 | [pbr::OriginalName("ACTIVITY_CATCH_GREAT_THROW")] ActivityCatchGreatThrow = 11,
65 | [pbr::OriginalName("ACTIVITY_CATCH_EXCELLENT_THROW")] ActivityCatchExcellentThrow = 12,
66 | [pbr::OriginalName("ACTIVITY_CATCH_CURVEBALL")] ActivityCatchCurveball = 13,
67 | [pbr::OriginalName("ACTIVITY_CATCH_FIRST_CATCH_OF_DAY")] ActivityCatchFirstCatchOfDay = 14,
68 | [pbr::OriginalName("ACTIVITY_CATCH_MILESTONE")] ActivityCatchMilestone = 15,
69 | [pbr::OriginalName("ACTIVITY_TRAIN_POKEMON")] ActivityTrainPokemon = 16,
70 | [pbr::OriginalName("ACTIVITY_SEARCH_FORT")] ActivitySearchFort = 17,
71 | [pbr::OriginalName("ACTIVITY_RELEASE_POKEMON")] ActivityReleasePokemon = 18,
72 | [pbr::OriginalName("ACTIVITY_HATCH_EGG_SMALL_BONUS")] ActivityHatchEggSmallBonus = 19,
73 | [pbr::OriginalName("ACTIVITY_HATCH_EGG_MEDIUM_BONUS")] ActivityHatchEggMediumBonus = 20,
74 | [pbr::OriginalName("ACTIVITY_HATCH_EGG_LARGE_BONUS")] ActivityHatchEggLargeBonus = 21,
75 | [pbr::OriginalName("ACTIVITY_DEFEAT_GYM_DEFENDER")] ActivityDefeatGymDefender = 22,
76 | [pbr::OriginalName("ACTIVITY_DEFEAT_GYM_LEADER")] ActivityDefeatGymLeader = 23,
77 | }
78 |
79 | #endregion
80 |
81 | }
82 |
83 | #endregion Designer generated code
84 |
--------------------------------------------------------------------------------
/POGOProtos/Enums/CameraInterpolation.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Enums/CameraInterpolation.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Enums {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Enums/CameraInterpolation.proto
13 | public static partial class CameraInterpolationReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Enums/CameraInterpolation.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static CameraInterpolationReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CipQT0dPUHJvdG9zL0VudW1zL0NhbWVyYUludGVycG9sYXRpb24ucHJvdG8S",
26 | "EFBPR09Qcm90b3MuRW51bXMqlgEKE0NhbWVyYUludGVycG9sYXRpb24SEgoO",
27 | "Q0FNX0lOVEVSUF9DVVQQABIVChFDQU1fSU5URVJQX0xJTkVBUhABEhUKEUNB",
28 | "TV9JTlRFUlBfU01PT1RIEAISJQohQ0FNX0lOVEVSUF9TTU9PVEhfUk9UX0xJ",
29 | "TkVBUl9NT1ZFEAMSFgoSQ0FNX0lOVEVSUF9ERVBFTkRTEARiBnByb3RvMw=="));
30 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
31 | new pbr::FileDescriptor[] { },
32 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Enums.CameraInterpolation), }, null));
33 | }
34 | #endregion
35 |
36 | }
37 | #region Enums
38 | public enum CameraInterpolation {
39 | [pbr::OriginalName("CAM_INTERP_CUT")] CamInterpCut = 0,
40 | [pbr::OriginalName("CAM_INTERP_LINEAR")] CamInterpLinear = 1,
41 | [pbr::OriginalName("CAM_INTERP_SMOOTH")] CamInterpSmooth = 2,
42 | [pbr::OriginalName("CAM_INTERP_SMOOTH_ROT_LINEAR_MOVE")] CamInterpSmoothRotLinearMove = 3,
43 | [pbr::OriginalName("CAM_INTERP_DEPENDS")] CamInterpDepends = 4,
44 | }
45 |
46 | #endregion
47 |
48 | }
49 |
50 | #endregion Designer generated code
51 |
--------------------------------------------------------------------------------
/POGOProtos/Enums/CameraTarget.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Enums/CameraTarget.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Enums {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Enums/CameraTarget.proto
13 | public static partial class CameraTargetReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Enums/CameraTarget.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static CameraTargetReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CiNQT0dPUHJvdG9zL0VudW1zL0NhbWVyYVRhcmdldC5wcm90bxIQUE9HT1By",
26 | "b3Rvcy5FbnVtcyr8AwoMQ2FtZXJhVGFyZ2V0EhcKE0NBTV9UQVJHRVRfQVRU",
27 | "QUNLRVIQABIcChhDQU1fVEFSR0VUX0FUVEFDS0VSX0VER0UQARIeChpDQU1f",
28 | "VEFSR0VUX0FUVEFDS0VSX0dST1VORBACEhcKE0NBTV9UQVJHRVRfREVGRU5E",
29 | "RVIQAxIcChhDQU1fVEFSR0VUX0RFRkVOREVSX0VER0UQBBIeChpDQU1fVEFS",
30 | "R0VUX0RFRkVOREVSX0dST1VORBAFEiAKHENBTV9UQVJHRVRfQVRUQUNLRVJf",
31 | "REVGRU5ERVIQBhIlCiFDQU1fVEFSR0VUX0FUVEFDS0VSX0RFRkVOREVSX0VE",
32 | "R0UQBxIgChxDQU1fVEFSR0VUX0RFRkVOREVSX0FUVEFDS0VSEAgSJQohQ0FN",
33 | "X1RBUkdFVF9ERUZFTkRFUl9BVFRBQ0tFUl9FREdFEAkSJwojQ0FNX1RBUkdF",
34 | "VF9BVFRBQ0tFUl9ERUZFTkRFUl9NSVJST1IQCxIpCiVDQU1fVEFSR0VUX1NI",
35 | "T1VMREVSX0FUVEFDS0VSX0RFRkVOREVSEAwSMAosQ0FNX1RBUkdFVF9TSE9V",
36 | "TERFUl9BVFRBQ0tFUl9ERUZFTkRFUl9NSVJST1IQDRImCiJDQU1fVEFSR0VU",
37 | "X0FUVEFDS0VSX0RFRkVOREVSX1dPUkxEEA5iBnByb3RvMw=="));
38 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
39 | new pbr::FileDescriptor[] { },
40 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Enums.CameraTarget), }, null));
41 | }
42 | #endregion
43 |
44 | }
45 | #region Enums
46 | public enum CameraTarget {
47 | [pbr::OriginalName("CAM_TARGET_ATTACKER")] CamTargetAttacker = 0,
48 | [pbr::OriginalName("CAM_TARGET_ATTACKER_EDGE")] CamTargetAttackerEdge = 1,
49 | [pbr::OriginalName("CAM_TARGET_ATTACKER_GROUND")] CamTargetAttackerGround = 2,
50 | [pbr::OriginalName("CAM_TARGET_DEFENDER")] CamTargetDefender = 3,
51 | [pbr::OriginalName("CAM_TARGET_DEFENDER_EDGE")] CamTargetDefenderEdge = 4,
52 | [pbr::OriginalName("CAM_TARGET_DEFENDER_GROUND")] CamTargetDefenderGround = 5,
53 | [pbr::OriginalName("CAM_TARGET_ATTACKER_DEFENDER")] CamTargetAttackerDefender = 6,
54 | [pbr::OriginalName("CAM_TARGET_ATTACKER_DEFENDER_EDGE")] CamTargetAttackerDefenderEdge = 7,
55 | [pbr::OriginalName("CAM_TARGET_DEFENDER_ATTACKER")] CamTargetDefenderAttacker = 8,
56 | [pbr::OriginalName("CAM_TARGET_DEFENDER_ATTACKER_EDGE")] CamTargetDefenderAttackerEdge = 9,
57 | [pbr::OriginalName("CAM_TARGET_ATTACKER_DEFENDER_MIRROR")] CamTargetAttackerDefenderMirror = 11,
58 | [pbr::OriginalName("CAM_TARGET_SHOULDER_ATTACKER_DEFENDER")] CamTargetShoulderAttackerDefender = 12,
59 | [pbr::OriginalName("CAM_TARGET_SHOULDER_ATTACKER_DEFENDER_MIRROR")] CamTargetShoulderAttackerDefenderMirror = 13,
60 | [pbr::OriginalName("CAM_TARGET_ATTACKER_DEFENDER_WORLD")] CamTargetAttackerDefenderWorld = 14,
61 | }
62 |
63 | #endregion
64 |
65 | }
66 |
67 | #endregion Designer generated code
68 |
--------------------------------------------------------------------------------
/POGOProtos/Enums/Gender.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Enums/Gender.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Enums {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Enums/Gender.proto
13 | public static partial class GenderReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Enums/Gender.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static GenderReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "Ch1QT0dPUHJvdG9zL0VudW1zL0dlbmRlci5wcm90bxIQUE9HT1Byb3Rvcy5F",
26 | "bnVtcyoeCgZHZW5kZXISCAoETUFMRRAAEgoKBkZFTUFMRRABYgZwcm90bzM="));
27 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
28 | new pbr::FileDescriptor[] { },
29 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Enums.Gender), }, null));
30 | }
31 | #endregion
32 |
33 | }
34 | #region Enums
35 | public enum Gender {
36 | [pbr::OriginalName("MALE")] Male = 0,
37 | [pbr::OriginalName("FEMALE")] Female = 1,
38 | }
39 |
40 | #endregion
41 |
42 | }
43 |
44 | #endregion Designer generated code
45 |
--------------------------------------------------------------------------------
/POGOProtos/Enums/IapItemCategory.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Enums/IapItemCategory.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Enums {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Enums/IapItemCategory.proto
13 | public static partial class IapItemCategoryReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Enums/IapItemCategory.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static IapItemCategoryReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CiZQT0dPUHJvdG9zL0VudW1zL0lhcEl0ZW1DYXRlZ29yeS5wcm90bxIQUE9H",
26 | "T1Byb3Rvcy5FbnVtcyqUAQoTSG9sb0lhcEl0ZW1DYXRlZ29yeRIVChFJQVBf",
27 | "Q0FURUdPUllfTk9ORRAAEhcKE0lBUF9DQVRFR09SWV9CVU5ETEUQARIWChJJ",
28 | "QVBfQ0FURUdPUllfSVRFTVMQAhIZChVJQVBfQ0FURUdPUllfVVBHUkFERVMQ",
29 | "AxIaChZJQVBfQ0FURUdPUllfUE9LRUNPSU5TEARiBnByb3RvMw=="));
30 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
31 | new pbr::FileDescriptor[] { },
32 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Enums.HoloIapItemCategory), }, null));
33 | }
34 | #endregion
35 |
36 | }
37 | #region Enums
38 | public enum HoloIapItemCategory {
39 | [pbr::OriginalName("IAP_CATEGORY_NONE")] IapCategoryNone = 0,
40 | [pbr::OriginalName("IAP_CATEGORY_BUNDLE")] IapCategoryBundle = 1,
41 | [pbr::OriginalName("IAP_CATEGORY_ITEMS")] IapCategoryItems = 2,
42 | [pbr::OriginalName("IAP_CATEGORY_UPGRADES")] IapCategoryUpgrades = 3,
43 | [pbr::OriginalName("IAP_CATEGORY_POKECOINS")] IapCategoryPokecoins = 4,
44 | }
45 |
46 | #endregion
47 |
48 | }
49 |
50 | #endregion Designer generated code
51 |
--------------------------------------------------------------------------------
/POGOProtos/Enums/ItemCategory.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Enums/ItemCategory.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Enums {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Enums/ItemCategory.proto
13 | public static partial class ItemCategoryReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Enums/ItemCategory.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static ItemCategoryReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CiNQT0dPUHJvdG9zL0VudW1zL0l0ZW1DYXRlZ29yeS5wcm90bxIQUE9HT1By",
26 | "b3Rvcy5FbnVtcyrWAgoMSXRlbUNhdGVnb3J5EhYKEklURU1fQ0FURUdPUllf",
27 | "Tk9ORRAAEhoKFklURU1fQ0FURUdPUllfUE9LRUJBTEwQARIWChJJVEVNX0NB",
28 | "VEVHT1JZX0ZPT0QQAhIaChZJVEVNX0NBVEVHT1JZX01FRElDSU5FEAMSFwoT",
29 | "SVRFTV9DQVRFR09SWV9CT09TVBAEEhoKFklURU1fQ0FURUdPUllfVVRJTElU",
30 | "RVMQBRIYChRJVEVNX0NBVEVHT1JZX0NBTUVSQRAGEhYKEklURU1fQ0FURUdP",
31 | "UllfRElTSxAHEhsKF0lURU1fQ0FURUdPUllfSU5DVUJBVE9SEAgSGQoVSVRF",
32 | "TV9DQVRFR09SWV9JTkNFTlNFEAkSGgoWSVRFTV9DQVRFR09SWV9YUF9CT09T",
33 | "VBAKEiMKH0lURU1fQ0FURUdPUllfSU5WRU5UT1JZX1VQR1JBREUQC2IGcHJv",
34 | "dG8z"));
35 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
36 | new pbr::FileDescriptor[] { },
37 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Enums.ItemCategory), }, null));
38 | }
39 | #endregion
40 |
41 | }
42 | #region Enums
43 | public enum ItemCategory {
44 | [pbr::OriginalName("ITEM_CATEGORY_NONE")] None = 0,
45 | [pbr::OriginalName("ITEM_CATEGORY_POKEBALL")] Pokeball = 1,
46 | [pbr::OriginalName("ITEM_CATEGORY_FOOD")] Food = 2,
47 | [pbr::OriginalName("ITEM_CATEGORY_MEDICINE")] Medicine = 3,
48 | [pbr::OriginalName("ITEM_CATEGORY_BOOST")] Boost = 4,
49 | [pbr::OriginalName("ITEM_CATEGORY_UTILITES")] Utilites = 5,
50 | [pbr::OriginalName("ITEM_CATEGORY_CAMERA")] Camera = 6,
51 | [pbr::OriginalName("ITEM_CATEGORY_DISK")] Disk = 7,
52 | [pbr::OriginalName("ITEM_CATEGORY_INCUBATOR")] Incubator = 8,
53 | [pbr::OriginalName("ITEM_CATEGORY_INCENSE")] Incense = 9,
54 | [pbr::OriginalName("ITEM_CATEGORY_XP_BOOST")] XpBoost = 10,
55 | [pbr::OriginalName("ITEM_CATEGORY_INVENTORY_UPGRADE")] InventoryUpgrade = 11,
56 | }
57 |
58 | #endregion
59 |
60 | }
61 |
62 | #endregion Designer generated code
63 |
--------------------------------------------------------------------------------
/POGOProtos/Enums/ItemEffect.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Enums/ItemEffect.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Enums {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Enums/ItemEffect.proto
13 | public static partial class ItemEffectReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Enums/ItemEffect.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static ItemEffectReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CiFQT0dPUHJvdG9zL0VudW1zL0l0ZW1FZmZlY3QucHJvdG8SEFBPR09Qcm90",
26 | "b3MuRW51bXMqmAQKCkl0ZW1FZmZlY3QSFAoQSVRFTV9FRkZFQ1RfTk9ORRAA",
27 | "EhwKF0lURU1fRUZGRUNUX0NBUF9OT19GTEVFEOgHEiAKG0lURU1fRUZGRUNU",
28 | "X0NBUF9OT19NT1ZFTUVOVBDqBxIeChlJVEVNX0VGRkVDVF9DQVBfTk9fVEhS",
29 | "RUFUEOsHEh8KGklURU1fRUZGRUNUX0NBUF9UQVJHRVRfTUFYEOwHEiAKG0lU",
30 | "RU1fRUZGRUNUX0NBUF9UQVJHRVRfU0xPVxDtBxIhChxJVEVNX0VGRkVDVF9D",
31 | "QVBfQ0hBTkNFX05JR0hUEO4HEiMKHklURU1fRUZGRUNUX0NBUF9DSEFOQ0Vf",
32 | "VFJBSU5FUhDvBxInCiJJVEVNX0VGRkVDVF9DQVBfQ0hBTkNFX0ZJUlNUX1RI",
33 | "Uk9XEPAHEiIKHUlURU1fRUZGRUNUX0NBUF9DSEFOQ0VfTEVHRU5EEPEHEiEK",
34 | "HElURU1fRUZGRUNUX0NBUF9DSEFOQ0VfSEVBVlkQ8gcSIgodSVRFTV9FRkZF",
35 | "Q1RfQ0FQX0NIQU5DRV9SRVBFQVQQ8wcSJwoiSVRFTV9FRkZFQ1RfQ0FQX0NI",
36 | "QU5DRV9NVUxUSV9USFJPVxD0BxIiCh1JVEVNX0VGRkVDVF9DQVBfQ0hBTkNF",
37 | "X0FMV0FZUxD1BxIoCiNJVEVNX0VGRkVDVF9DQVBfQ0hBTkNFX1NJTkdMRV9U",
38 | "SFJPVxD2B2IGcHJvdG8z"));
39 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
40 | new pbr::FileDescriptor[] { },
41 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Enums.ItemEffect), }, null));
42 | }
43 | #endregion
44 |
45 | }
46 | #region Enums
47 | public enum ItemEffect {
48 | [pbr::OriginalName("ITEM_EFFECT_NONE")] None = 0,
49 | [pbr::OriginalName("ITEM_EFFECT_CAP_NO_FLEE")] CapNoFlee = 1000,
50 | [pbr::OriginalName("ITEM_EFFECT_CAP_NO_MOVEMENT")] CapNoMovement = 1002,
51 | [pbr::OriginalName("ITEM_EFFECT_CAP_NO_THREAT")] CapNoThreat = 1003,
52 | [pbr::OriginalName("ITEM_EFFECT_CAP_TARGET_MAX")] CapTargetMax = 1004,
53 | [pbr::OriginalName("ITEM_EFFECT_CAP_TARGET_SLOW")] CapTargetSlow = 1005,
54 | [pbr::OriginalName("ITEM_EFFECT_CAP_CHANCE_NIGHT")] CapChanceNight = 1006,
55 | [pbr::OriginalName("ITEM_EFFECT_CAP_CHANCE_TRAINER")] CapChanceTrainer = 1007,
56 | [pbr::OriginalName("ITEM_EFFECT_CAP_CHANCE_FIRST_THROW")] CapChanceFirstThrow = 1008,
57 | [pbr::OriginalName("ITEM_EFFECT_CAP_CHANCE_LEGEND")] CapChanceLegend = 1009,
58 | [pbr::OriginalName("ITEM_EFFECT_CAP_CHANCE_HEAVY")] CapChanceHeavy = 1010,
59 | [pbr::OriginalName("ITEM_EFFECT_CAP_CHANCE_REPEAT")] CapChanceRepeat = 1011,
60 | [pbr::OriginalName("ITEM_EFFECT_CAP_CHANCE_MULTI_THROW")] CapChanceMultiThrow = 1012,
61 | [pbr::OriginalName("ITEM_EFFECT_CAP_CHANCE_ALWAYS")] CapChanceAlways = 1013,
62 | [pbr::OriginalName("ITEM_EFFECT_CAP_CHANCE_SINGLE_THROW")] CapChanceSingleThrow = 1014,
63 | }
64 |
65 | #endregion
66 |
67 | }
68 |
69 | #endregion Designer generated code
70 |
--------------------------------------------------------------------------------
/POGOProtos/Enums/Platform.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Enums/Platform.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Enums {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Enums/Platform.proto
13 | public static partial class PlatformReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Enums/Platform.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static PlatformReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "Ch9QT0dPUHJvdG9zL0VudW1zL1BsYXRmb3JtLnByb3RvEhBQT0dPUHJvdG9z",
26 | "LkVudW1zKkEKCFBsYXRmb3JtEgkKBVVOU0VUEAASBwoDSU9TEAESCwoHQU5E",
27 | "Uk9JRBACEgcKA09TWBADEgsKB1dJTkRPV1MQBGIGcHJvdG8z"));
28 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
29 | new pbr::FileDescriptor[] { },
30 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Enums.Platform), }, null));
31 | }
32 | #endregion
33 |
34 | }
35 | #region Enums
36 | public enum Platform {
37 | [pbr::OriginalName("UNSET")] Unset = 0,
38 | [pbr::OriginalName("IOS")] Ios = 1,
39 | [pbr::OriginalName("ANDROID")] Android = 2,
40 | [pbr::OriginalName("OSX")] Osx = 3,
41 | [pbr::OriginalName("WINDOWS")] Windows = 4,
42 | }
43 |
44 | #endregion
45 |
46 | }
47 |
48 | #endregion Designer generated code
49 |
--------------------------------------------------------------------------------
/POGOProtos/Enums/PokemonMovementType.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Enums/PokemonMovementType.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Enums {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Enums/PokemonMovementType.proto
13 | public static partial class PokemonMovementTypeReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Enums/PokemonMovementType.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static PokemonMovementTypeReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CipQT0dPUHJvdG9zL0VudW1zL1Bva2Vtb25Nb3ZlbWVudFR5cGUucHJvdG8S",
26 | "EFBPR09Qcm90b3MuRW51bXMqrQEKE1Bva2Vtb25Nb3ZlbWVudFR5cGUSEwoP",
27 | "TU9WRU1FTlRfU1RBVElDEAASEQoNTU9WRU1FTlRfSlVNUBABEhUKEU1PVkVN",
28 | "RU5UX1ZFUlRJQ0FMEAISFAoQTU9WRU1FTlRfUFNZQ0hJQxADEhUKEU1PVkVN",
29 | "RU5UX0VMRUNUUklDEAQSEwoPTU9WRU1FTlRfRkxZSU5HEAUSFQoRTU9WRU1F",
30 | "TlRfSE9WRVJJTkcQBmIGcHJvdG8z"));
31 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
32 | new pbr::FileDescriptor[] { },
33 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Enums.PokemonMovementType), }, null));
34 | }
35 | #endregion
36 |
37 | }
38 | #region Enums
39 | public enum PokemonMovementType {
40 | [pbr::OriginalName("MOVEMENT_STATIC")] MovementStatic = 0,
41 | [pbr::OriginalName("MOVEMENT_JUMP")] MovementJump = 1,
42 | [pbr::OriginalName("MOVEMENT_VERTICAL")] MovementVertical = 2,
43 | [pbr::OriginalName("MOVEMENT_PSYCHIC")] MovementPsychic = 3,
44 | [pbr::OriginalName("MOVEMENT_ELECTRIC")] MovementElectric = 4,
45 | [pbr::OriginalName("MOVEMENT_FLYING")] MovementFlying = 5,
46 | [pbr::OriginalName("MOVEMENT_HOVERING")] MovementHovering = 6,
47 | }
48 |
49 | #endregion
50 |
51 | }
52 |
53 | #endregion Designer generated code
54 |
--------------------------------------------------------------------------------
/POGOProtos/Enums/PokemonRarity.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Enums/PokemonRarity.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Enums {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Enums/PokemonRarity.proto
13 | public static partial class PokemonRarityReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Enums/PokemonRarity.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static PokemonRarityReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CiRQT0dPUHJvdG9zL0VudW1zL1Bva2Vtb25SYXJpdHkucHJvdG8SEFBPR09Q",
26 | "cm90b3MuRW51bXMqNgoNUG9rZW1vblJhcml0eRIKCgZOT1JNQUwQABINCglM",
27 | "RUdFTkRBUlkQARIKCgZNWVRISUMQAmIGcHJvdG8z"));
28 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
29 | new pbr::FileDescriptor[] { },
30 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Enums.PokemonRarity), }, null));
31 | }
32 | #endregion
33 |
34 | }
35 | #region Enums
36 | public enum PokemonRarity {
37 | [pbr::OriginalName("NORMAL")] Normal = 0,
38 | [pbr::OriginalName("LEGENDARY")] Legendary = 1,
39 | [pbr::OriginalName("MYTHIC")] Mythic = 2,
40 | }
41 |
42 | #endregion
43 |
44 | }
45 |
46 | #endregion Designer generated code
47 |
--------------------------------------------------------------------------------
/POGOProtos/Enums/PokemonType.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Enums/PokemonType.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Enums {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Enums/PokemonType.proto
13 | public static partial class PokemonTypeReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Enums/PokemonType.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static PokemonTypeReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CiJQT0dPUHJvdG9zL0VudW1zL1Bva2Vtb25UeXBlLnByb3RvEhBQT0dPUHJv",
26 | "dG9zLkVudW1zKtoDCgtQb2tlbW9uVHlwZRIVChFQT0tFTU9OX1RZUEVfTk9O",
27 | "RRAAEhcKE1BPS0VNT05fVFlQRV9OT1JNQUwQARIZChVQT0tFTU9OX1RZUEVf",
28 | "RklHSFRJTkcQAhIXChNQT0tFTU9OX1RZUEVfRkxZSU5HEAMSFwoTUE9LRU1P",
29 | "Tl9UWVBFX1BPSVNPThAEEhcKE1BPS0VNT05fVFlQRV9HUk9VTkQQBRIVChFQ",
30 | "T0tFTU9OX1RZUEVfUk9DSxAGEhQKEFBPS0VNT05fVFlQRV9CVUcQBxIWChJQ",
31 | "T0tFTU9OX1RZUEVfR0hPU1QQCBIWChJQT0tFTU9OX1RZUEVfU1RFRUwQCRIV",
32 | "ChFQT0tFTU9OX1RZUEVfRklSRRAKEhYKElBPS0VNT05fVFlQRV9XQVRFUhAL",
33 | "EhYKElBPS0VNT05fVFlQRV9HUkFTUxAMEhkKFVBPS0VNT05fVFlQRV9FTEVD",
34 | "VFJJQxANEhgKFFBPS0VNT05fVFlQRV9QU1lDSElDEA4SFAoQUE9LRU1PTl9U",
35 | "WVBFX0lDRRAPEhcKE1BPS0VNT05fVFlQRV9EUkFHT04QEBIVChFQT0tFTU9O",
36 | "X1RZUEVfREFSSxAREhYKElBPS0VNT05fVFlQRV9GQUlSWRASYgZwcm90bzM="));
37 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
38 | new pbr::FileDescriptor[] { },
39 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Enums.PokemonType), }, null));
40 | }
41 | #endregion
42 |
43 | }
44 | #region Enums
45 | public enum PokemonType {
46 | [pbr::OriginalName("POKEMON_TYPE_NONE")] None = 0,
47 | [pbr::OriginalName("POKEMON_TYPE_NORMAL")] Normal = 1,
48 | [pbr::OriginalName("POKEMON_TYPE_FIGHTING")] Fighting = 2,
49 | [pbr::OriginalName("POKEMON_TYPE_FLYING")] Flying = 3,
50 | [pbr::OriginalName("POKEMON_TYPE_POISON")] Poison = 4,
51 | [pbr::OriginalName("POKEMON_TYPE_GROUND")] Ground = 5,
52 | [pbr::OriginalName("POKEMON_TYPE_ROCK")] Rock = 6,
53 | [pbr::OriginalName("POKEMON_TYPE_BUG")] Bug = 7,
54 | [pbr::OriginalName("POKEMON_TYPE_GHOST")] Ghost = 8,
55 | [pbr::OriginalName("POKEMON_TYPE_STEEL")] Steel = 9,
56 | [pbr::OriginalName("POKEMON_TYPE_FIRE")] Fire = 10,
57 | [pbr::OriginalName("POKEMON_TYPE_WATER")] Water = 11,
58 | [pbr::OriginalName("POKEMON_TYPE_GRASS")] Grass = 12,
59 | [pbr::OriginalName("POKEMON_TYPE_ELECTRIC")] Electric = 13,
60 | [pbr::OriginalName("POKEMON_TYPE_PSYCHIC")] Psychic = 14,
61 | [pbr::OriginalName("POKEMON_TYPE_ICE")] Ice = 15,
62 | [pbr::OriginalName("POKEMON_TYPE_DRAGON")] Dragon = 16,
63 | [pbr::OriginalName("POKEMON_TYPE_DARK")] Dark = 17,
64 | [pbr::OriginalName("POKEMON_TYPE_FAIRY")] Fairy = 18,
65 | }
66 |
67 | #endregion
68 |
69 | }
70 |
71 | #endregion Designer generated code
72 |
--------------------------------------------------------------------------------
/POGOProtos/Enums/TeamColor.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Enums/TeamColor.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Enums {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Enums/TeamColor.proto
13 | public static partial class TeamColorReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Enums/TeamColor.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static TeamColorReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CiBQT0dPUHJvdG9zL0VudW1zL1RlYW1Db2xvci5wcm90bxIQUE9HT1Byb3Rv",
26 | "cy5FbnVtcyo3CglUZWFtQ29sb3ISCwoHTkVVVFJBTBAAEggKBEJMVUUQARIH",
27 | "CgNSRUQQAhIKCgZZRUxMT1cQA2IGcHJvdG8z"));
28 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
29 | new pbr::FileDescriptor[] { },
30 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Enums.TeamColor), }, null));
31 | }
32 | #endregion
33 |
34 | }
35 | #region Enums
36 | public enum TeamColor {
37 | [pbr::OriginalName("NEUTRAL")] Neutral = 0,
38 | [pbr::OriginalName("BLUE")] Blue = 1,
39 | [pbr::OriginalName("RED")] Red = 2,
40 | [pbr::OriginalName("YELLOW")] Yellow = 3,
41 | }
42 |
43 | #endregion
44 |
45 | }
46 |
47 | #endregion Designer generated code
48 |
--------------------------------------------------------------------------------
/POGOProtos/Enums/TutorialState.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Enums/TutorialState.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Enums {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Enums/TutorialState.proto
13 | public static partial class TutorialStateReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Enums/TutorialState.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static TutorialStateReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CiRQT0dPUHJvdG9zL0VudW1zL1R1dG9yaWFsU3RhdGUucHJvdG8SEFBPR09Q",
26 | "cm90b3MuRW51bXMq5AEKDVR1dG9yaWFsU3RhdGUSEAoMTEVHQUxfU0NSRUVO",
27 | "EAASFAoQQVZBVEFSX1NFTEVDVElPThABEhQKEEFDQ09VTlRfQ1JFQVRJT04Q",
28 | "AhITCg9QT0tFTU9OX0NBUFRVUkUQAxISCg5OQU1FX1NFTEVDVElPThAEEhEK",
29 | "DVBPS0VNT05fQkVSUlkQBRIMCghVU0VfSVRFTRAGEiIKHkZJUlNUX1RJTUVf",
30 | "RVhQRVJJRU5DRV9DT01QTEVURRAHEhUKEVBPS0VTVE9QX1RVVE9SSUFMEAgS",
31 | "EAoMR1lNX1RVVE9SSUFMEAliBnByb3RvMw=="));
32 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
33 | new pbr::FileDescriptor[] { },
34 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Enums.TutorialState), }, null));
35 | }
36 | #endregion
37 |
38 | }
39 | #region Enums
40 | public enum TutorialState {
41 | [pbr::OriginalName("LEGAL_SCREEN")] LegalScreen = 0,
42 | [pbr::OriginalName("AVATAR_SELECTION")] AvatarSelection = 1,
43 | [pbr::OriginalName("ACCOUNT_CREATION")] AccountCreation = 2,
44 | [pbr::OriginalName("POKEMON_CAPTURE")] PokemonCapture = 3,
45 | [pbr::OriginalName("NAME_SELECTION")] NameSelection = 4,
46 | [pbr::OriginalName("POKEMON_BERRY")] PokemonBerry = 5,
47 | [pbr::OriginalName("USE_ITEM")] UseItem = 6,
48 | [pbr::OriginalName("FIRST_TIME_EXPERIENCE_COMPLETE")] FirstTimeExperienceComplete = 7,
49 | [pbr::OriginalName("POKESTOP_TUTORIAL")] PokestopTutorial = 8,
50 | [pbr::OriginalName("GYM_TUTORIAL")] GymTutorial = 9,
51 | }
52 |
53 | #endregion
54 |
55 | }
56 |
57 | #endregion Designer generated code
58 |
--------------------------------------------------------------------------------
/POGOProtos/Inventory/EggIncubatorType.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Inventory/EggIncubatorType.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Inventory {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Inventory/EggIncubatorType.proto
13 | public static partial class EggIncubatorTypeReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Inventory/EggIncubatorType.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static EggIncubatorTypeReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CitQT0dPUHJvdG9zL0ludmVudG9yeS9FZ2dJbmN1YmF0b3JUeXBlLnByb3Rv",
26 | "EhRQT0dPUHJvdG9zLkludmVudG9yeSo/ChBFZ2dJbmN1YmF0b3JUeXBlEhMK",
27 | "D0lOQ1VCQVRPUl9VTlNFVBAAEhYKEklOQ1VCQVRPUl9ESVNUQU5DRRABYgZw",
28 | "cm90bzM="));
29 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
30 | new pbr::FileDescriptor[] { },
31 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Inventory.EggIncubatorType), }, null));
32 | }
33 | #endregion
34 |
35 | }
36 | #region Enums
37 | public enum EggIncubatorType {
38 | [pbr::OriginalName("INCUBATOR_UNSET")] IncubatorUnset = 0,
39 | [pbr::OriginalName("INCUBATOR_DISTANCE")] IncubatorDistance = 1,
40 | }
41 |
42 | #endregion
43 |
44 | }
45 |
46 | #endregion Designer generated code
47 |
--------------------------------------------------------------------------------
/POGOProtos/Inventory/InventoryUpgradeType.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Inventory/InventoryUpgradeType.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Inventory {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Inventory/InventoryUpgradeType.proto
13 | public static partial class InventoryUpgradeTypeReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Inventory/InventoryUpgradeType.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static InventoryUpgradeTypeReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "Ci9QT0dPUHJvdG9zL0ludmVudG9yeS9JbnZlbnRvcnlVcGdyYWRlVHlwZS5w",
26 | "cm90bxIUUE9HT1Byb3Rvcy5JbnZlbnRvcnkqYgoUSW52ZW50b3J5VXBncmFk",
27 | "ZVR5cGUSEQoNVVBHUkFERV9VTlNFVBAAEhkKFUlOQ1JFQVNFX0lURU1fU1RP",
28 | "UkFHRRABEhwKGElOQ1JFQVNFX1BPS0VNT05fU1RPUkFHRRACYgZwcm90bzM="));
29 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
30 | new pbr::FileDescriptor[] { },
31 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Inventory.InventoryUpgradeType), }, null));
32 | }
33 | #endregion
34 |
35 | }
36 | #region Enums
37 | public enum InventoryUpgradeType {
38 | [pbr::OriginalName("UPGRADE_UNSET")] UpgradeUnset = 0,
39 | [pbr::OriginalName("INCREASE_ITEM_STORAGE")] IncreaseItemStorage = 1,
40 | [pbr::OriginalName("INCREASE_POKEMON_STORAGE")] IncreasePokemonStorage = 2,
41 | }
42 |
43 | #endregion
44 |
45 | }
46 |
47 | #endregion Designer generated code
48 |
--------------------------------------------------------------------------------
/POGOProtos/Inventory/Item/ItemId.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Inventory/Item/ItemId.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Inventory.Item {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Inventory/Item/ItemId.proto
13 | public static partial class ItemIdReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Inventory/Item/ItemId.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static ItemIdReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CiZQT0dPUHJvdG9zL0ludmVudG9yeS9JdGVtL0l0ZW1JZC5wcm90bxIZUE9H",
26 | "T1Byb3Rvcy5JbnZlbnRvcnkuSXRlbSrHBQoGSXRlbUlkEhAKDElURU1fVU5L",
27 | "Tk9XThAAEhIKDklURU1fUE9LRV9CQUxMEAESEwoPSVRFTV9HUkVBVF9CQUxM",
28 | "EAISEwoPSVRFTV9VTFRSQV9CQUxMEAMSFAoQSVRFTV9NQVNURVJfQkFMTBAE",
29 | "Eg8KC0lURU1fUE9USU9OEGUSFQoRSVRFTV9TVVBFUl9QT1RJT04QZhIVChFJ",
30 | "VEVNX0hZUEVSX1BPVElPThBnEhMKD0lURU1fTUFYX1BPVElPThBoEhAKC0lU",
31 | "RU1fUkVWSVZFEMkBEhQKD0lURU1fTUFYX1JFVklWRRDKARITCg5JVEVNX0xV",
32 | "Q0tZX0VHRxCtAhIaChVJVEVNX0lOQ0VOU0VfT1JESU5BUlkQkQMSFwoSSVRF",
33 | "TV9JTkNFTlNFX1NQSUNZEJIDEhYKEUlURU1fSU5DRU5TRV9DT09MEJMDEhgK",
34 | "E0lURU1fSU5DRU5TRV9GTE9SQUwQlAMSEwoOSVRFTV9UUk9ZX0RJU0sQ9QMS",
35 | "EgoNSVRFTV9YX0FUVEFDSxDaBBITCg5JVEVNX1hfREVGRU5TRRDbBBITCg5J",
36 | "VEVNX1hfTUlSQUNMRRDcBBIUCg9JVEVNX1JBWlpfQkVSUlkQvQUSFAoPSVRF",
37 | "TV9CTFVLX0JFUlJZEL4FEhUKEElURU1fTkFOQUJfQkVSUlkQvwUSFQoQSVRF",
38 | "TV9XRVBBUl9CRVJSWRDABRIVChBJVEVNX1BJTkFQX0JFUlJZEMEFEhgKE0lU",
39 | "RU1fU1BFQ0lBTF9DQU1FUkEQoQYSIwoeSVRFTV9JTkNVQkFUT1JfQkFTSUNf",
40 | "VU5MSU1JVEVEEIUHEhkKFElURU1fSU5DVUJBVE9SX0JBU0lDEIYHEiEKHElU",
41 | "RU1fUE9LRU1PTl9TVE9SQUdFX1VQR1JBREUQ6QcSHgoZSVRFTV9JVEVNX1NU",
42 | "T1JBR0VfVVBHUkFERRDqB2IGcHJvdG8z"));
43 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
44 | new pbr::FileDescriptor[] { },
45 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Inventory.Item.ItemId), }, null));
46 | }
47 | #endregion
48 |
49 | }
50 | #region Enums
51 | public enum ItemId {
52 | [pbr::OriginalName("ITEM_UNKNOWN")] ItemUnknown = 0,
53 | [pbr::OriginalName("ITEM_POKE_BALL")] ItemPokeBall = 1,
54 | [pbr::OriginalName("ITEM_GREAT_BALL")] ItemGreatBall = 2,
55 | [pbr::OriginalName("ITEM_ULTRA_BALL")] ItemUltraBall = 3,
56 | [pbr::OriginalName("ITEM_MASTER_BALL")] ItemMasterBall = 4,
57 | [pbr::OriginalName("ITEM_POTION")] ItemPotion = 101,
58 | [pbr::OriginalName("ITEM_SUPER_POTION")] ItemSuperPotion = 102,
59 | [pbr::OriginalName("ITEM_HYPER_POTION")] ItemHyperPotion = 103,
60 | [pbr::OriginalName("ITEM_MAX_POTION")] ItemMaxPotion = 104,
61 | [pbr::OriginalName("ITEM_REVIVE")] ItemRevive = 201,
62 | [pbr::OriginalName("ITEM_MAX_REVIVE")] ItemMaxRevive = 202,
63 | [pbr::OriginalName("ITEM_LUCKY_EGG")] ItemLuckyEgg = 301,
64 | [pbr::OriginalName("ITEM_INCENSE_ORDINARY")] ItemIncenseOrdinary = 401,
65 | [pbr::OriginalName("ITEM_INCENSE_SPICY")] ItemIncenseSpicy = 402,
66 | [pbr::OriginalName("ITEM_INCENSE_COOL")] ItemIncenseCool = 403,
67 | [pbr::OriginalName("ITEM_INCENSE_FLORAL")] ItemIncenseFloral = 404,
68 | [pbr::OriginalName("ITEM_TROY_DISK")] ItemTroyDisk = 501,
69 | [pbr::OriginalName("ITEM_X_ATTACK")] ItemXAttack = 602,
70 | [pbr::OriginalName("ITEM_X_DEFENSE")] ItemXDefense = 603,
71 | [pbr::OriginalName("ITEM_X_MIRACLE")] ItemXMiracle = 604,
72 | [pbr::OriginalName("ITEM_RAZZ_BERRY")] ItemRazzBerry = 701,
73 | [pbr::OriginalName("ITEM_BLUK_BERRY")] ItemBlukBerry = 702,
74 | [pbr::OriginalName("ITEM_NANAB_BERRY")] ItemNanabBerry = 703,
75 | [pbr::OriginalName("ITEM_WEPAR_BERRY")] ItemWeparBerry = 704,
76 | [pbr::OriginalName("ITEM_PINAP_BERRY")] ItemPinapBerry = 705,
77 | [pbr::OriginalName("ITEM_SPECIAL_CAMERA")] ItemSpecialCamera = 801,
78 | [pbr::OriginalName("ITEM_INCUBATOR_BASIC_UNLIMITED")] ItemIncubatorBasicUnlimited = 901,
79 | [pbr::OriginalName("ITEM_INCUBATOR_BASIC")] ItemIncubatorBasic = 902,
80 | [pbr::OriginalName("ITEM_POKEMON_STORAGE_UPGRADE")] ItemPokemonStorageUpgrade = 1001,
81 | [pbr::OriginalName("ITEM_ITEM_STORAGE_UPGRADE")] ItemItemStorageUpgrade = 1002,
82 | }
83 |
84 | #endregion
85 |
86 | }
87 |
88 | #endregion Designer generated code
89 |
--------------------------------------------------------------------------------
/POGOProtos/Inventory/Item/ItemType.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Inventory/Item/ItemType.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Inventory.Item {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Inventory/Item/ItemType.proto
13 | public static partial class ItemTypeReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Inventory/Item/ItemType.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static ItemTypeReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CihQT0dPUHJvdG9zL0ludmVudG9yeS9JdGVtL0l0ZW1UeXBlLnByb3RvEhlQ",
26 | "T0dPUHJvdG9zLkludmVudG9yeS5JdGVtKrICCghJdGVtVHlwZRISCg5JVEVN",
27 | "X1RZUEVfTk9ORRAAEhYKEklURU1fVFlQRV9QT0tFQkFMTBABEhQKEElURU1f",
28 | "VFlQRV9QT1RJT04QAhIUChBJVEVNX1RZUEVfUkVWSVZFEAMSEQoNSVRFTV9U",
29 | "WVBFX01BUBAEEhQKEElURU1fVFlQRV9CQVRUTEUQBRISCg5JVEVNX1RZUEVf",
30 | "Rk9PRBAGEhQKEElURU1fVFlQRV9DQU1FUkEQBxISCg5JVEVNX1RZUEVfRElT",
31 | "SxAIEhcKE0lURU1fVFlQRV9JTkNVQkFUT1IQCRIVChFJVEVNX1RZUEVfSU5D",
32 | "RU5TRRAKEhYKEklURU1fVFlQRV9YUF9CT09TVBALEh8KG0lURU1fVFlQRV9J",
33 | "TlZFTlRPUllfVVBHUkFERRAMYgZwcm90bzM="));
34 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
35 | new pbr::FileDescriptor[] { },
36 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Inventory.Item.ItemType), }, null));
37 | }
38 | #endregion
39 |
40 | }
41 | #region Enums
42 | public enum ItemType {
43 | [pbr::OriginalName("ITEM_TYPE_NONE")] None = 0,
44 | [pbr::OriginalName("ITEM_TYPE_POKEBALL")] Pokeball = 1,
45 | [pbr::OriginalName("ITEM_TYPE_POTION")] Potion = 2,
46 | [pbr::OriginalName("ITEM_TYPE_REVIVE")] Revive = 3,
47 | [pbr::OriginalName("ITEM_TYPE_MAP")] Map = 4,
48 | [pbr::OriginalName("ITEM_TYPE_BATTLE")] Battle = 5,
49 | [pbr::OriginalName("ITEM_TYPE_FOOD")] Food = 6,
50 | [pbr::OriginalName("ITEM_TYPE_CAMERA")] Camera = 7,
51 | [pbr::OriginalName("ITEM_TYPE_DISK")] Disk = 8,
52 | [pbr::OriginalName("ITEM_TYPE_INCUBATOR")] Incubator = 9,
53 | [pbr::OriginalName("ITEM_TYPE_INCENSE")] Incense = 10,
54 | [pbr::OriginalName("ITEM_TYPE_XP_BOOST")] XpBoost = 11,
55 | [pbr::OriginalName("ITEM_TYPE_INVENTORY_UPGRADE")] InventoryUpgrade = 12,
56 | }
57 |
58 | #endregion
59 |
60 | }
61 |
62 | #endregion Designer generated code
63 |
--------------------------------------------------------------------------------
/POGOProtos/Map/Fort/FortRenderingType.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Map/Fort/FortRenderingType.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Map.Fort {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Map/Fort/FortRenderingType.proto
13 | public static partial class FortRenderingTypeReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Map/Fort/FortRenderingType.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static FortRenderingTypeReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CitQT0dPUHJvdG9zL01hcC9Gb3J0L0ZvcnRSZW5kZXJpbmdUeXBlLnByb3Rv",
26 | "EhNQT0dPUHJvdG9zLk1hcC5Gb3J0KjMKEUZvcnRSZW5kZXJpbmdUeXBlEgsK",
27 | "B0RFRkFVTFQQABIRCg1JTlRFUk5BTF9URVNUEAFiBnByb3RvMw=="));
28 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
29 | new pbr::FileDescriptor[] { },
30 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Map.Fort.FortRenderingType), }, null));
31 | }
32 | #endregion
33 |
34 | }
35 | #region Enums
36 | public enum FortRenderingType {
37 | [pbr::OriginalName("DEFAULT")] Default = 0,
38 | [pbr::OriginalName("INTERNAL_TEST")] InternalTest = 1,
39 | }
40 |
41 | #endregion
42 |
43 | }
44 |
45 | #endregion Designer generated code
46 |
--------------------------------------------------------------------------------
/POGOProtos/Map/Fort/FortSponsor.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Map/Fort/FortSponsor.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Map.Fort {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Map/Fort/FortSponsor.proto
13 | public static partial class FortSponsorReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Map/Fort/FortSponsor.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static FortSponsorReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CiVQT0dPUHJvdG9zL01hcC9Gb3J0L0ZvcnRTcG9uc29yLnByb3RvEhNQT0dP",
26 | "UHJvdG9zLk1hcC5Gb3J0KkIKC0ZvcnRTcG9uc29yEhEKDVVOU0VUX1NQT05T",
27 | "T1IQABINCglNQ0RPTkFMRFMQARIRCg1QT0tFTU9OX1NUT1JFEAJiBnByb3Rv",
28 | "Mw=="));
29 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
30 | new pbr::FileDescriptor[] { },
31 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Map.Fort.FortSponsor), }, null));
32 | }
33 | #endregion
34 |
35 | }
36 | #region Enums
37 | public enum FortSponsor {
38 | [pbr::OriginalName("UNSET_SPONSOR")] UnsetSponsor = 0,
39 | [pbr::OriginalName("MCDONALDS")] Mcdonalds = 1,
40 | [pbr::OriginalName("POKEMON_STORE")] PokemonStore = 2,
41 | }
42 |
43 | #endregion
44 |
45 | }
46 |
47 | #endregion Designer generated code
48 |
--------------------------------------------------------------------------------
/POGOProtos/Map/Fort/FortType.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Map/Fort/FortType.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Map.Fort {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Map/Fort/FortType.proto
13 | public static partial class FortTypeReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Map/Fort/FortType.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static FortTypeReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CiJQT0dPUHJvdG9zL01hcC9Gb3J0L0ZvcnRUeXBlLnByb3RvEhNQT0dPUHJv",
26 | "dG9zLk1hcC5Gb3J0KiMKCEZvcnRUeXBlEgcKA0dZTRAAEg4KCkNIRUNLUE9J",
27 | "TlQQAWIGcHJvdG8z"));
28 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
29 | new pbr::FileDescriptor[] { },
30 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Map.Fort.FortType), }, null));
31 | }
32 | #endregion
33 |
34 | }
35 | #region Enums
36 | public enum FortType {
37 | [pbr::OriginalName("GYM")] Gym = 0,
38 | [pbr::OriginalName("CHECKPOINT")] Checkpoint = 1,
39 | }
40 |
41 | #endregion
42 |
43 | }
44 |
45 | #endregion Designer generated code
46 |
--------------------------------------------------------------------------------
/POGOProtos/Map/MapObjectsStatus.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Map/MapObjectsStatus.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Map {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Map/MapObjectsStatus.proto
13 | public static partial class MapObjectsStatusReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Map/MapObjectsStatus.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static MapObjectsStatusReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CiVQT0dPUHJvdG9zL01hcC9NYXBPYmplY3RzU3RhdHVzLnByb3RvEg5QT0dP",
26 | "UHJvdG9zLk1hcCpFChBNYXBPYmplY3RzU3RhdHVzEhAKDFVOU0VUX1NUQVRV",
27 | "UxAAEgsKB1NVQ0NFU1MQARISCg5MT0NBVElPTl9VTlNFVBACYgZwcm90bzM="));
28 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
29 | new pbr::FileDescriptor[] { },
30 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Map.MapObjectsStatus), }, null));
31 | }
32 | #endregion
33 |
34 | }
35 | #region Enums
36 | public enum MapObjectsStatus {
37 | [pbr::OriginalName("UNSET_STATUS")] UnsetStatus = 0,
38 | [pbr::OriginalName("SUCCESS")] Success = 1,
39 | [pbr::OriginalName("LOCATION_UNSET")] LocationUnset = 2,
40 | }
41 |
42 | #endregion
43 |
44 | }
45 |
46 | #endregion Designer generated code
47 |
--------------------------------------------------------------------------------
/POGOProtos/Networking/Requests/Messages/EchoMessage.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Networking/Requests/Messages/EchoMessage.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Networking.Requests.Messages {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Networking/Requests/Messages/EchoMessage.proto
13 | public static partial class EchoMessageReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Networking/Requests/Messages/EchoMessage.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static EchoMessageReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CjlQT0dPUHJvdG9zL05ldHdvcmtpbmcvUmVxdWVzdHMvTWVzc2FnZXMvRWNo",
26 | "b01lc3NhZ2UucHJvdG8SJ1BPR09Qcm90b3MuTmV0d29ya2luZy5SZXF1ZXN0",
27 | "cy5NZXNzYWdlcyINCgtFY2hvTWVzc2FnZWIGcHJvdG8z"));
28 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
29 | new pbr::FileDescriptor[] { },
30 | new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
31 | new pbr::GeneratedClrTypeInfo(typeof(global::POGOProtos.Networking.Requests.Messages.EchoMessage), global::POGOProtos.Networking.Requests.Messages.EchoMessage.Parser, null, null, null, null)
32 | }));
33 | }
34 | #endregion
35 |
36 | }
37 | #region Messages
38 | ///
39 | /// No message needed.
40 | ///
41 | public sealed partial class EchoMessage : pb::IMessage {
42 | private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new EchoMessage());
43 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
44 | public static pb::MessageParser Parser { get { return _parser; } }
45 |
46 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
47 | public static pbr::MessageDescriptor Descriptor {
48 | get { return global::POGOProtos.Networking.Requests.Messages.EchoMessageReflection.Descriptor.MessageTypes[0]; }
49 | }
50 |
51 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
52 | pbr::MessageDescriptor pb::IMessage.Descriptor {
53 | get { return Descriptor; }
54 | }
55 |
56 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
57 | public EchoMessage() {
58 | OnConstruction();
59 | }
60 |
61 | partial void OnConstruction();
62 |
63 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
64 | public EchoMessage(EchoMessage other) : this() {
65 | }
66 |
67 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
68 | public EchoMessage Clone() {
69 | return new EchoMessage(this);
70 | }
71 |
72 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
73 | public override bool Equals(object other) {
74 | return Equals(other as EchoMessage);
75 | }
76 |
77 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
78 | public bool Equals(EchoMessage other) {
79 | if (ReferenceEquals(other, null)) {
80 | return false;
81 | }
82 | if (ReferenceEquals(other, this)) {
83 | return true;
84 | }
85 | return true;
86 | }
87 |
88 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
89 | public override int GetHashCode() {
90 | int hash = 1;
91 | return hash;
92 | }
93 |
94 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
95 | public override string ToString() {
96 | return pb::JsonFormatter.ToDiagnosticString(this);
97 | }
98 |
99 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
100 | public void WriteTo(pb::CodedOutputStream output) {
101 | }
102 |
103 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
104 | public int CalculateSize() {
105 | int size = 0;
106 | return size;
107 | }
108 |
109 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
110 | public void MergeFrom(EchoMessage other) {
111 | if (other == null) {
112 | return;
113 | }
114 | }
115 |
116 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
117 | public void MergeFrom(pb::CodedInputStream input) {
118 | uint tag;
119 | while ((tag = input.ReadTag()) != 0) {
120 | switch(tag) {
121 | default:
122 | input.SkipLastField();
123 | break;
124 | }
125 | }
126 | }
127 |
128 | }
129 |
130 | #endregion
131 |
132 | }
133 |
134 | #endregion Designer generated code
135 |
--------------------------------------------------------------------------------
/POGOProtos/Networking/Requests/Messages/GetHatchedEggsMessage.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Networking/Requests/Messages/GetHatchedEggsMessage.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Networking.Requests.Messages {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Networking/Requests/Messages/GetHatchedEggsMessage.proto
13 | public static partial class GetHatchedEggsMessageReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Networking/Requests/Messages/GetHatchedEggsMessage.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static GetHatchedEggsMessageReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CkNQT0dPUHJvdG9zL05ldHdvcmtpbmcvUmVxdWVzdHMvTWVzc2FnZXMvR2V0",
26 | "SGF0Y2hlZEVnZ3NNZXNzYWdlLnByb3RvEidQT0dPUHJvdG9zLk5ldHdvcmtp",
27 | "bmcuUmVxdWVzdHMuTWVzc2FnZXMiFwoVR2V0SGF0Y2hlZEVnZ3NNZXNzYWdl",
28 | "YgZwcm90bzM="));
29 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
30 | new pbr::FileDescriptor[] { },
31 | new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
32 | new pbr::GeneratedClrTypeInfo(typeof(global::POGOProtos.Networking.Requests.Messages.GetHatchedEggsMessage), global::POGOProtos.Networking.Requests.Messages.GetHatchedEggsMessage.Parser, null, null, null, null)
33 | }));
34 | }
35 | #endregion
36 |
37 | }
38 | #region Messages
39 | ///
40 | /// No message needed.
41 | ///
42 | public sealed partial class GetHatchedEggsMessage : pb::IMessage {
43 | private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetHatchedEggsMessage());
44 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
45 | public static pb::MessageParser Parser { get { return _parser; } }
46 |
47 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
48 | public static pbr::MessageDescriptor Descriptor {
49 | get { return global::POGOProtos.Networking.Requests.Messages.GetHatchedEggsMessageReflection.Descriptor.MessageTypes[0]; }
50 | }
51 |
52 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
53 | pbr::MessageDescriptor pb::IMessage.Descriptor {
54 | get { return Descriptor; }
55 | }
56 |
57 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
58 | public GetHatchedEggsMessage() {
59 | OnConstruction();
60 | }
61 |
62 | partial void OnConstruction();
63 |
64 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
65 | public GetHatchedEggsMessage(GetHatchedEggsMessage other) : this() {
66 | }
67 |
68 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
69 | public GetHatchedEggsMessage Clone() {
70 | return new GetHatchedEggsMessage(this);
71 | }
72 |
73 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
74 | public override bool Equals(object other) {
75 | return Equals(other as GetHatchedEggsMessage);
76 | }
77 |
78 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
79 | public bool Equals(GetHatchedEggsMessage other) {
80 | if (ReferenceEquals(other, null)) {
81 | return false;
82 | }
83 | if (ReferenceEquals(other, this)) {
84 | return true;
85 | }
86 | return true;
87 | }
88 |
89 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
90 | public override int GetHashCode() {
91 | int hash = 1;
92 | return hash;
93 | }
94 |
95 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
96 | public override string ToString() {
97 | return pb::JsonFormatter.ToDiagnosticString(this);
98 | }
99 |
100 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
101 | public void WriteTo(pb::CodedOutputStream output) {
102 | }
103 |
104 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
105 | public int CalculateSize() {
106 | int size = 0;
107 | return size;
108 | }
109 |
110 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
111 | public void MergeFrom(GetHatchedEggsMessage other) {
112 | if (other == null) {
113 | return;
114 | }
115 | }
116 |
117 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
118 | public void MergeFrom(pb::CodedInputStream input) {
119 | uint tag;
120 | while ((tag = input.ReadTag()) != 0) {
121 | switch(tag) {
122 | default:
123 | input.SkipLastField();
124 | break;
125 | }
126 | }
127 | }
128 |
129 | }
130 |
131 | #endregion
132 |
133 | }
134 |
135 | #endregion Designer generated code
136 |
--------------------------------------------------------------------------------
/POGOProtos/Networking/Requests/Messages/SfidaActionLogMessage.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Networking/Requests/Messages/SfidaActionLogMessage.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Networking.Requests.Messages {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Networking/Requests/Messages/SfidaActionLogMessage.proto
13 | public static partial class SfidaActionLogMessageReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Networking/Requests/Messages/SfidaActionLogMessage.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static SfidaActionLogMessageReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "CkNQT0dPUHJvdG9zL05ldHdvcmtpbmcvUmVxdWVzdHMvTWVzc2FnZXMvU2Zp",
26 | "ZGFBY3Rpb25Mb2dNZXNzYWdlLnByb3RvEidQT0dPUHJvdG9zLk5ldHdvcmtp",
27 | "bmcuUmVxdWVzdHMuTWVzc2FnZXMiFwoVU2ZpZGFBY3Rpb25Mb2dNZXNzYWdl",
28 | "YgZwcm90bzM="));
29 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
30 | new pbr::FileDescriptor[] { },
31 | new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
32 | new pbr::GeneratedClrTypeInfo(typeof(global::POGOProtos.Networking.Requests.Messages.SfidaActionLogMessage), global::POGOProtos.Networking.Requests.Messages.SfidaActionLogMessage.Parser, null, null, null, null)
33 | }));
34 | }
35 | #endregion
36 |
37 | }
38 | #region Messages
39 | ///
40 | /// No message needed.
41 | ///
42 | public sealed partial class SfidaActionLogMessage : pb::IMessage {
43 | private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SfidaActionLogMessage());
44 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
45 | public static pb::MessageParser Parser { get { return _parser; } }
46 |
47 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
48 | public static pbr::MessageDescriptor Descriptor {
49 | get { return global::POGOProtos.Networking.Requests.Messages.SfidaActionLogMessageReflection.Descriptor.MessageTypes[0]; }
50 | }
51 |
52 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
53 | pbr::MessageDescriptor pb::IMessage.Descriptor {
54 | get { return Descriptor; }
55 | }
56 |
57 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
58 | public SfidaActionLogMessage() {
59 | OnConstruction();
60 | }
61 |
62 | partial void OnConstruction();
63 |
64 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
65 | public SfidaActionLogMessage(SfidaActionLogMessage other) : this() {
66 | }
67 |
68 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
69 | public SfidaActionLogMessage Clone() {
70 | return new SfidaActionLogMessage(this);
71 | }
72 |
73 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
74 | public override bool Equals(object other) {
75 | return Equals(other as SfidaActionLogMessage);
76 | }
77 |
78 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
79 | public bool Equals(SfidaActionLogMessage other) {
80 | if (ReferenceEquals(other, null)) {
81 | return false;
82 | }
83 | if (ReferenceEquals(other, this)) {
84 | return true;
85 | }
86 | return true;
87 | }
88 |
89 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
90 | public override int GetHashCode() {
91 | int hash = 1;
92 | return hash;
93 | }
94 |
95 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
96 | public override string ToString() {
97 | return pb::JsonFormatter.ToDiagnosticString(this);
98 | }
99 |
100 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
101 | public void WriteTo(pb::CodedOutputStream output) {
102 | }
103 |
104 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
105 | public int CalculateSize() {
106 | int size = 0;
107 | return size;
108 | }
109 |
110 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
111 | public void MergeFrom(SfidaActionLogMessage other) {
112 | if (other == null) {
113 | return;
114 | }
115 | }
116 |
117 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
118 | public void MergeFrom(pb::CodedInputStream input) {
119 | uint tag;
120 | while ((tag = input.ReadTag()) != 0) {
121 | switch(tag) {
122 | default:
123 | input.SkipLastField();
124 | break;
125 | }
126 | }
127 | }
128 |
129 | }
130 |
131 | #endregion
132 |
133 | }
134 |
135 | #endregion Designer generated code
136 |
--------------------------------------------------------------------------------
/POGOProtos/Networking/Responses/AddFortModifierResponse.cs:
--------------------------------------------------------------------------------
1 | // Generated by the protocol buffer compiler. DO NOT EDIT!
2 | // source: POGOProtos/Networking/Responses/AddFortModifierResponse.proto
3 | #pragma warning disable 1591, 0612, 3021
4 | #region Designer generated code
5 |
6 | using pb = global::Google.Protobuf;
7 | using pbc = global::Google.Protobuf.Collections;
8 | using pbr = global::Google.Protobuf.Reflection;
9 | using scg = global::System.Collections.Generic;
10 | namespace POGOProtos.Networking.Responses {
11 |
12 | /// Holder for reflection information generated from POGOProtos/Networking/Responses/AddFortModifierResponse.proto
13 | public static partial class AddFortModifierResponseReflection {
14 |
15 | #region Descriptor
16 | /// File descriptor for POGOProtos/Networking/Responses/AddFortModifierResponse.proto
17 | public static pbr::FileDescriptor Descriptor {
18 | get { return descriptor; }
19 | }
20 | private static pbr::FileDescriptor descriptor;
21 |
22 | static AddFortModifierResponseReflection() {
23 | byte[] descriptorData = global::System.Convert.FromBase64String(
24 | string.Concat(
25 | "Cj1QT0dPUHJvdG9zL05ldHdvcmtpbmcvUmVzcG9uc2VzL0FkZEZvcnRNb2Rp",
26 | "ZmllclJlc3BvbnNlLnByb3RvEh9QT0dPUHJvdG9zLk5ldHdvcmtpbmcuUmVz",
27 | "cG9uc2VzIhkKF0FkZEZvcnRNb2RpZmllclJlc3BvbnNlYgZwcm90bzM="));
28 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
29 | new pbr::FileDescriptor[] { },
30 | new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
31 | new pbr::GeneratedClrTypeInfo(typeof(global::POGOProtos.Networking.Responses.AddFortModifierResponse), global::POGOProtos.Networking.Responses.AddFortModifierResponse.Parser, null, null, null, null)
32 | }));
33 | }
34 | #endregion
35 |
36 | }
37 | #region Messages
38 | ///
39 | /// Initialized by assist.py
40 | ///
41 | public sealed partial class AddFortModifierResponse : pb::IMessage {
42 | private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AddFortModifierResponse());
43 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
44 | public static pb::MessageParser Parser { get { return _parser; } }
45 |
46 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
47 | public static pbr::MessageDescriptor Descriptor {
48 | get { return global::POGOProtos.Networking.Responses.AddFortModifierResponseReflection.Descriptor.MessageTypes[0]; }
49 | }
50 |
51 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
52 | pbr::MessageDescriptor pb::IMessage.Descriptor {
53 | get { return Descriptor; }
54 | }
55 |
56 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
57 | public AddFortModifierResponse() {
58 | OnConstruction();
59 | }
60 |
61 | partial void OnConstruction();
62 |
63 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
64 | public AddFortModifierResponse(AddFortModifierResponse other) : this() {
65 | }
66 |
67 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
68 | public AddFortModifierResponse Clone() {
69 | return new AddFortModifierResponse(this);
70 | }
71 |
72 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
73 | public override bool Equals(object other) {
74 | return Equals(other as AddFortModifierResponse);
75 | }
76 |
77 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
78 | public bool Equals(AddFortModifierResponse other) {
79 | if (ReferenceEquals(other, null)) {
80 | return false;
81 | }
82 | if (ReferenceEquals(other, this)) {
83 | return true;
84 | }
85 | return true;
86 | }
87 |
88 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
89 | public override int GetHashCode() {
90 | int hash = 1;
91 | return hash;
92 | }
93 |
94 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
95 | public override string ToString() {
96 | return pb::JsonFormatter.ToDiagnosticString(this);
97 | }
98 |
99 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
100 | public void WriteTo(pb::CodedOutputStream output) {
101 | }
102 |
103 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
104 | public int CalculateSize() {
105 | int size = 0;
106 | return size;
107 | }
108 |
109 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
110 | public void MergeFrom(AddFortModifierResponse other) {
111 | if (other == null) {
112 | return;
113 | }
114 | }
115 |
116 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
117 | public void MergeFrom(pb::CodedInputStream input) {
118 | uint tag;
119 | while ((tag = input.ReadTag()) != 0) {
120 | switch(tag) {
121 | default:
122 | input.SkipLastField();
123 | break;
124 | }
125 | }
126 | }
127 |
128 | }
129 |
130 | #endregion
131 |
132 | }
133 |
134 | #endregion Designer generated code
135 |
--------------------------------------------------------------------------------
/POGOProtos/POGOProtos.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.25123.0
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "POGOProtos", "POGOProtos.csproj", "{A03A7BB2-4F0B-467B-84B2-9A76E6AAE6FB}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Debug|x86 = Debug|x86
12 | Release|Any CPU = Release|Any CPU
13 | Release|x86 = Release|x86
14 | EndGlobalSection
15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
16 | {A03A7BB2-4F0B-467B-84B2-9A76E6AAE6FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
17 | {A03A7BB2-4F0B-467B-84B2-9A76E6AAE6FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
18 | {A03A7BB2-4F0B-467B-84B2-9A76E6AAE6FB}.Debug|x86.ActiveCfg = Debug|x86
19 | {A03A7BB2-4F0B-467B-84B2-9A76E6AAE6FB}.Debug|x86.Build.0 = Debug|x86
20 | {A03A7BB2-4F0B-467B-84B2-9A76E6AAE6FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
21 | {A03A7BB2-4F0B-467B-84B2-9A76E6AAE6FB}.Release|Any CPU.Build.0 = Release|Any CPU
22 | {A03A7BB2-4F0B-467B-84B2-9A76E6AAE6FB}.Release|x86.ActiveCfg = Release|x86
23 | {A03A7BB2-4F0B-467B-84B2-9A76E6AAE6FB}.Release|x86.Build.0 = Release|x86
24 | EndGlobalSection
25 | GlobalSection(SolutionProperties) = preSolution
26 | HideSolutionNode = FALSE
27 | EndGlobalSection
28 | EndGlobal
29 |
--------------------------------------------------------------------------------
/POGOProtos/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // Allgemeine Informationen über eine Assembly werden über die folgenden
6 | // Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
7 | // die einer Assembly zugeordnet sind.
8 | [assembly: AssemblyTitle("POGOProtos")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("POGOProtos")]
13 | [assembly: AssemblyCopyright("Copyright © 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar
18 | // für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von
19 | // COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
20 | [assembly: ComVisible(false)]
21 |
22 | // Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
23 | [assembly: Guid("a03a7bb2-4f0b-467b-84b2-9a76e6aae6fb")]
24 |
25 | // Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
26 | //
27 | // Hauptversion
28 | // Nebenversion
29 | // Buildnummer
30 | // Revision
31 | //
32 | // Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
33 | // übernehmen, indem Sie "*" eingeben:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.CLI/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.CLI/Config/log4net.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.CLI/Config/log4net.unix.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.CLI/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.CLI/Models/LoggingStrings.cs:
--------------------------------------------------------------------------------
1 | using PoGo.PokeMobBot.Logic.Common;
2 | using PoGo.PokeMobBot.Logic.State;
3 |
4 | namespace PoGo.PokeMobBot.CLI.Models
5 | {
6 | internal class LoggingStrings
7 | {
8 | internal static string Attention;
9 |
10 | internal static string Berry;
11 |
12 | internal static string Debug;
13 |
14 | internal static string Egg;
15 |
16 | internal static string Error;
17 |
18 | internal static string Evolved;
19 |
20 | internal static string Farming;
21 |
22 | internal static string Favorite;
23 |
24 | internal static string UnFavorite;
25 | internal static string Info;
26 |
27 | internal static string Pkmn;
28 |
29 | internal static string Pokestop;
30 |
31 | internal static string Recycling;
32 |
33 | internal static string Transfered;
34 |
35 | internal static string Update;
36 |
37 | internal static void SetStrings(ISession session)
38 | {
39 | Attention =
40 | session?.Translation.GetTranslation(
41 | TranslationString.LogEntryAttention) ?? "ATTENTION";
42 |
43 | Berry =
44 | session?.Translation.GetTranslation(
45 | TranslationString.LogEntryBerry) ?? "BERRY";
46 |
47 | Debug =
48 | session?.Translation.GetTranslation(
49 | TranslationString.LogEntryDebug) ?? "DEBUG";
50 |
51 | Egg =
52 | session?.Translation.GetTranslation(
53 | TranslationString.LogEntryEgg) ?? "EGG";
54 |
55 | Error =
56 | session?.Translation.GetTranslation(
57 | TranslationString.LogEntryError) ?? "ERROR";
58 |
59 | Evolved =
60 | session?.Translation.GetTranslation(
61 | TranslationString.LogEntryEvolved) ?? "EVOLVED";
62 |
63 | Farming =
64 | session?.Translation.GetTranslation(
65 | TranslationString.LogEntryFarming) ?? "FARMING";
66 |
67 | Info =
68 | session?.Translation.GetTranslation(
69 | TranslationString.LogEntryInfo) ?? "INFO";
70 |
71 | Pkmn =
72 | session?.Translation.GetTranslation(
73 | TranslationString.LogEntryPkmn) ?? "PKMN";
74 |
75 | Pokestop =
76 | session?.Translation.GetTranslation(
77 | TranslationString.LogEntryPokestop) ?? "POKESTOP";
78 |
79 | Recycling =
80 | session?.Translation.GetTranslation(
81 | TranslationString.LogEntryRecycling) ?? "RECYCLING";
82 |
83 | Transfered =
84 | session?.Translation.GetTranslation(
85 | TranslationString.LogEntryTransfered) ?? "TRANSFERED";
86 |
87 | Update =
88 | session?.Translation.GetTranslation(
89 | TranslationString.LogEntryUpdate) ?? "UPDATE";
90 | Favorite =
91 | session?.Translation.GetTranslation(
92 | TranslationString.LogEntryFavorite) ?? "FAVORITE";
93 | UnFavorite =
94 | session?.Translation.GetTranslation(
95 | TranslationString.LogEntryUnFavorite) ?? "UNFAVORITE";
96 | }
97 | }
98 | }
99 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.CLI/Models/SocketMessage.cs:
--------------------------------------------------------------------------------
1 |
2 |
3 | namespace PoGo.PokeMobBot.CLI.Models
4 | {
5 | public class SocketMessage
6 | {
7 | public string Command { get; set; }
8 | public string Data { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.CLI/Program.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System;
4 | using System.Globalization;
5 | using System.Threading;
6 | using PoGo.PokeMobBot.Logic;
7 | using PoGo.PokeMobBot.Logic.Common;
8 | using PoGo.PokeMobBot.Logic.Event;
9 | using PoGo.PokeMobBot.Logic.Logging;
10 | using PoGo.PokeMobBot.Logic.State;
11 | using PoGo.PokeMobBot.Logic.Tasks;
12 | using PoGo.PokeMobBot.Logic.Utils;
13 |
14 | #endregion
15 |
16 | namespace PoGo.PokeMobBot.CLI
17 | {
18 | internal class Program
19 | {
20 | // http://stackoverflow.com/questions/2586612/how-to-keep-a-net-console-app-running Save some CPU Cycles, speed things up
21 | static ManualResetEvent _quitEvent = new ManualResetEvent(false);
22 |
23 | private static void Main(string[] args)
24 | {
25 |
26 |
27 |
28 | if (Console.LargestWindowWidth >= 145)
29 | {
30 | Console.WindowWidth = 145;
31 | } else
32 | {
33 | Console.WindowWidth = Console.LargestWindowWidth;
34 | }
35 |
36 | Console.CancelKeyPress += (sender, eArgs) => {
37 | _quitEvent.Set();
38 | eArgs.Cancel = true;
39 | };
40 |
41 | var culture = CultureInfo.CreateSpecificCulture("en-US");
42 |
43 | CultureInfo.DefaultThreadCurrentCulture = culture;
44 | Thread.CurrentThread.CurrentCulture = culture;
45 |
46 | var subPath = "";
47 | if (args.Length > 0)
48 | subPath = args[0];
49 |
50 | #if DEBUG
51 | LogLevel logLevel = LogLevel.Debug;
52 | #else
53 | LogLevel logLevel = LogLevel.Info;
54 | #endif
55 | Logger.SetLogger(new ConsoleLogger(logLevel), subPath);
56 |
57 | var settings = GlobalSettings.Load(subPath);
58 |
59 |
60 | if (settings == null)
61 | {
62 | Logger.Write("This is your first start and the bot has generated the default config!", LogLevel.Warning);
63 | Logger.Write("After pressing a key the config folder will open and this commandline will close", LogLevel.Warning);
64 |
65 | //pauses console until keyinput
66 | Console.ReadKey();
67 |
68 | // opens explorer with location "config"
69 | System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo()
70 | {
71 | FileName = "config",
72 | UseShellExecute = true,
73 | Verb = "open"
74 | });
75 | Environment.Exit(0);
76 | }
77 | var session = new Session(new ClientSettings(settings), new LogicSettings(settings));
78 | session.Client.ApiFailure = new ApiFailureStrategy(session);
79 |
80 |
81 | /*SimpleSession session = new SimpleSession
82 | {
83 | _client = new PokemonGo.RocketAPI.Client(new ClientSettings(settings)),
84 | _dispatcher = new EventDispatcher(),
85 | _localizer = new Localizer()
86 | };
87 |
88 | BotService service = new BotService
89 | {
90 | _session = session,
91 | _loginTask = new Login(session)
92 | };
93 |
94 | service.Run();
95 | */
96 |
97 | var machine = new StateMachine();
98 | var stats = new Statistics();
99 | stats.DirtyEvent +=
100 | () =>
101 | Console.Title =
102 | stats.GetTemplatedStats(
103 | session.Translation.GetTranslation(TranslationString.StatsTemplateString),
104 | session.Translation.GetTranslation(TranslationString.StatsXpTemplateString));
105 |
106 | var aggregator = new StatisticsAggregator(stats);
107 | var listener = new ConsoleEventListener();
108 | var websocket = new WebSocketInterface(settings.StartUpSettings.WebSocketPort, session);
109 |
110 | session.EventDispatcher.EventReceived += evt => listener.Listen(evt, session);
111 | session.EventDispatcher.EventReceived += evt => aggregator.Listen(evt, session);
112 | session.EventDispatcher.EventReceived += evt => websocket.Listen(evt, session);
113 |
114 | machine.SetFailureState(new LoginState());
115 |
116 | Logger.SetLoggerContext(session);
117 |
118 | session.Navigation.UpdatePositionEvent +=
119 | (lat, lng) => session.EventDispatcher.Send(new UpdatePositionEvent {Latitude = lat, Longitude = lng});
120 |
121 | #if DEBUG
122 | machine.AsyncStart(new LoginState(), session);
123 | #else
124 | machine.AsyncStart(new VersionCheckState(), session);
125 | #endif
126 | if (session.LogicSettings.UseSnipeLocationServer)
127 | SnipePokemonTask.AsyncStart(session);
128 |
129 | _quitEvent.WaitOne();
130 | }
131 | }
132 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.CLI/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System.Reflection;
4 | using System.Runtime.InteropServices;
5 |
6 | #endregion
7 |
8 | // General Information about an assembly is controlled through the following
9 | // set of attributes. Change these attribute values to modify the information
10 | // associated with an assembly.
11 |
12 | [assembly: AssemblyTitle("PokeMobBot Client for Pokémon GO")]
13 | [assembly: AssemblyDescription("")]
14 | [assembly: AssemblyConfiguration("")]
15 | [assembly: AssemblyCompany("")]
16 | [assembly: AssemblyProduct("PoGo.PokeMobBot.CLI")]
17 | [assembly: AssemblyCopyright("Copyright © 2016")]
18 | [assembly: AssemblyTrademark("")]
19 | [assembly: AssemblyCulture("")]
20 |
21 | // Setting ComVisible to false makes the types in this assembly not visible
22 | // to COM components. If you need to access a type in this assembly from
23 | // COM, set the ComVisible attribute to true on that type.
24 |
25 | [assembly: ComVisible(false)]
26 |
27 | // The following GUID is for the ID of the typelib if this project is exposed to COM
28 |
29 | [assembly: Guid("1fea147e-f704-497b-a538-00b053b5f672")]
30 |
31 | // Version information for an assembly consists of the following four values:
32 | //
33 | // Major Version
34 | // Minor Version
35 | // Build Number
36 | // Revision
37 | //
38 | // You can specify all the values or you can default the Build and Revision Numbers
39 | // by using the '*' as shown below:
40 | // [assembly: AssemblyVersion("1.0.*")]
41 |
42 | [assembly: AssemblyVersion("1.1.3.0")]
43 | [assembly: AssemblyFileVersion("1.1.3.0")]
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.CLI/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace PoGo.PokeMobBot.CLI.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// A strongly-typed resource class, for looking up localized strings, etc.
17 | ///
18 | // This class was auto-generated by the StronglyTypedResourceBuilder
19 | // class via a tool like ResGen or Visual Studio.
20 | // To add or remove a member, edit your .ResX file then rerun ResGen
21 | // with the /str option, or rebuild your VS project.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resources() {
33 | }
34 |
35 | ///
36 | /// Returns the cached ResourceManager instance used by this class.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("PoGo.PokeMobBot.CLI.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Overrides the current thread's CurrentUICulture property for all
51 | /// resource lookups using this strongly typed resource class.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 |
63 | ///
64 | /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
65 | ///
66 | internal static System.Drawing.Icon Icon {
67 | get {
68 | object obj = ResourceManager.GetObject("Icon", resourceCulture);
69 | return ((System.Drawing.Icon)(obj));
70 | }
71 | }
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.CLI/Resources/Icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MobBotTeam/PokeMobBot/6812cf794286bbd2c9a28e2b60ffab19b5747263/PoGo.PokeMobBot.CLI/Resources/Icon.ico
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.CLI/SimpleSession.cs:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.CLI/cert.pfx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MobBotTeam/PokeMobBot/6812cf794286bbd2c9a28e2b60ffab19b5747263/PoGo.PokeMobBot.CLI/cert.pfx
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.CLI/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.CLI/supersocket.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | SuperSocket.SocketService.exe -c %1 %2
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.CLI/supersocket.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | mono SuperSocket.SocketService.exe -c $1 $2
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Common/ApiFailureStrategy.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System;
4 | using System.Threading.Tasks;
5 | using PoGo.PokeMobBot.Logic.Event;
6 | using PoGo.PokeMobBot.Logic.State;
7 | using PokemonGo.RocketAPI.Exceptions;
8 | using PokemonGo.RocketAPI.Extensions;
9 | using POGOProtos.Networking.Envelopes;
10 |
11 | #endregion
12 |
13 | namespace PoGo.PokeMobBot.Logic.Common
14 | {
15 | public class ApiFailureStrategy : IApiFailureStrategy
16 | {
17 | private readonly ISession _session;
18 | private int _retryCount;
19 |
20 | public ApiFailureStrategy(ISession session)
21 | {
22 | _session = session;
23 | }
24 |
25 | private async void DoLogin()
26 | {
27 | try
28 | {
29 | await _session.Client.Login.DoLogin();
30 | }
31 | catch (AggregateException ae)
32 | {
33 | throw ae.Flatten().InnerException;
34 | }
35 | catch (Exception ex)
36 | {
37 | throw ex.InnerException;
38 | }
39 | }
40 |
41 | public async Task HandleApiFailure(RequestEnvelope request, ResponseEnvelope response)
42 | {
43 | if (_retryCount == 11)
44 | return ApiOperation.Abort;
45 |
46 | await Task.Delay(500);
47 | _retryCount++;
48 |
49 | if (_retryCount % 5 == 0)
50 | {
51 | try
52 | {
53 | DoLogin();
54 | }
55 | catch (PtcOfflineException)
56 | {
57 | _session.EventDispatcher.Send(new ErrorEvent
58 | {
59 | Message = _session.Translation.GetTranslation(TranslationString.PtcOffline)
60 | });
61 | _session.EventDispatcher.Send(new NoticeEvent
62 | {
63 | Message = _session.Translation.GetTranslation(TranslationString.TryingAgainIn, 20)
64 | });
65 | await Task.Delay(20000);
66 | }
67 | catch (AccessTokenExpiredException)
68 | {
69 | _session.EventDispatcher.Send(new ErrorEvent
70 | {
71 | Message = _session.Translation.GetTranslation(TranslationString.AccessTokenExpired)
72 | });
73 | _session.EventDispatcher.Send(new NoticeEvent
74 | {
75 | Message = _session.Translation.GetTranslation(TranslationString.TryingAgainIn, 2)
76 | });
77 | await Task.Delay(2000);
78 | }
79 | catch (Exception ex) when (ex is InvalidResponseException || ex is TaskCanceledException)
80 | {
81 | _session.EventDispatcher.Send(new ErrorEvent
82 | {
83 | Message = _session.Translation.GetTranslation(TranslationString.NianticServerUnstable)
84 | });
85 | await Task.Delay(1000);
86 | }
87 | }
88 |
89 | return ApiOperation.Retry;
90 | }
91 |
92 | public void HandleApiSuccess(RequestEnvelope request, ResponseEnvelope response)
93 | {
94 | _retryCount = 0;
95 | }
96 | }
97 | }
98 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/DataDumper/Dumper.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System;
4 | using System.IO;
5 | using PoGo.PokeMobBot.Logic.State;
6 |
7 | #endregion
8 |
9 | namespace PoGo.PokeMobBot.Logic.DataDumper
10 | {
11 | public static class Dumper
12 | {
13 | ///
14 | /// Clears the specified dumpfile.
15 | ///
16 | ///
17 | ///
18 | /// Extension to be used for naming the file.
19 | /// File to clear/param>
20 | public static void ClearDumpFile(ISession session, string filename, string extension = "txt")
21 | {
22 | var path = Path.Combine(session.LogicSettings.ProfilePath, "Dumps");
23 | var file = Path.Combine(path,
24 | $"PokeMobBot-{filename}-{DateTime.Today.ToString("yyyy-MM-dd")}-{DateTime.Now.ToString("HH")}.{extension}");
25 | try
26 | {
27 | if (!Directory.Exists(path)) Directory.CreateDirectory(path);
28 |
29 | // Clears all contents of a file first if overwrite is true
30 | File.WriteAllText(file, string.Empty);
31 | }
32 | catch(IOException) { }
33 | }
34 |
35 | ///
36 | /// Dumps data to a file
37 | ///
38 | ///
39 | /// Dumps the string data to the file
40 | /// Filename to be used for naming the file.
41 | /// Extension to be used for naming the file.
42 | public static void Dump(ISession session, string data, string filename, string extension = "txt")
43 | {
44 | string uniqueFileName = $"{filename}";
45 |
46 | try
47 | {
48 | DumpToFile(session, data, uniqueFileName, extension);
49 | }
50 | catch(IOException) { }
51 | }
52 |
53 | ///
54 | /// This is used for dumping contents to a file stored in the Logs folder.
55 | ///
56 | ///
57 | /// Dumps the string data to the file
58 | /// Filename to be used for naming the file.
59 | /// Extension to be used for naming the file.
60 | private static void DumpToFile(ISession session, string data, string filename, string extension = "txt")
61 | {
62 | var path = Path.Combine(session.LogicSettings.ProfilePath, "Dumps",
63 | $"PokeMobBot-{filename}-{DateTime.Today.ToString("yyyy-MM-dd")}-{DateTime.Now.ToString("HH")}.{extension}");
64 |
65 | try
66 | {
67 | using (
68 | var dumpFile =
69 | File.AppendText(path)
70 | )
71 | {
72 | dumpFile.WriteLine(data);
73 | dumpFile.Flush();
74 | }
75 | }
76 | catch (IOException) { }
77 | }
78 |
79 | ///
80 | /// Set the dumper.
81 | ///
82 | ///
83 | ///
84 | public static void SetDumper(IDumper dumper, string subPath = "")
85 | {
86 | }
87 | }
88 | }
89 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/DataDumper/IDumper.cs:
--------------------------------------------------------------------------------
1 | namespace PoGo.PokeMobBot.Logic.DataDumper
2 | {
3 | public interface IDumper
4 | {
5 | ///
6 | /// Dump specific data.
7 | ///
8 | /// The data to dump.
9 | /// File to dump to
10 | void Dump(string data, string filename);
11 | }
12 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/DebugEvent.cs:
--------------------------------------------------------------------------------
1 | namespace PoGo.PokeMobBot.Logic.Event
2 | {
3 | public class DebugEvent : IEvent
4 | {
5 | public string Message = "";
6 |
7 | public override string ToString()
8 | {
9 | return Message;
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/DisplayHighestsPokemonEvent.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System;
4 | using System.Collections.Generic;
5 | using POGOProtos.Data;
6 | using POGOProtos.Enums;
7 | using PoGo.PokeMobBot.Logic.PoGoUtils;
8 |
9 |
10 | #endregion
11 |
12 | namespace PoGo.PokeMobBot.Logic.Event
13 | {
14 | public class DisplayHighestsPokemonEvent : IEvent
15 | {
16 | //PokemonData | CP | IV | Level | MOVE1 | MOVE2 | AverageRankVsTypes
17 | public List PokemonList;
18 | public string SortedBy;
19 | public bool DisplayPokemonMaxPoweredCp;
20 | public bool DisplayPokemonMovesetRank;
21 |
22 | }
23 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/EggHatchedEvent.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using POGOProtos.Enums;
4 |
5 | #endregion
6 |
7 | namespace PoGo.PokeMobBot.Logic.Event
8 | {
9 | public class EggHatchedEvent : IEvent
10 | {
11 | public int Cp;
12 | public ulong Id;
13 | public double Level;
14 | public int MaxCp;
15 | public double Perfection;
16 | public PokemonId PokemonId;
17 | }
18 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/EggIncubatorStatusEvent.cs:
--------------------------------------------------------------------------------
1 | namespace PoGo.PokeMobBot.Logic.Event
2 | {
3 | public class EggIncubatorStatusEvent : IEvent
4 | {
5 | public string IncubatorId;
6 | public double KmRemaining;
7 | public double KmToWalk;
8 | public ulong PokemonId;
9 | public bool WasAddedNow;
10 | public double KmWalked => KmToWalk - KmRemaining;
11 | }
12 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/EggsListEvent.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System.Collections.Generic;
4 | using POGOProtos.Inventory;
5 |
6 | #endregion
7 |
8 | namespace PoGo.PokeMobBot.Logic.Event
9 | {
10 | public class EggsListEvent : IEvent
11 | {
12 | public float PlayerKmWalked { get; set; }
13 | public List Incubators { get; set; }
14 | public object UnusedEggs { get; set; }
15 | }
16 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/ErrorEvent.cs:
--------------------------------------------------------------------------------
1 | namespace PoGo.PokeMobBot.Logic.Event
2 | {
3 | public class ErrorEvent : IEvent
4 | {
5 | public string Message = "";
6 |
7 | public override string ToString()
8 | {
9 | return Message;
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/EventDispatcher.cs:
--------------------------------------------------------------------------------
1 | namespace PoGo.PokeMobBot.Logic.Event
2 | {
3 | public delegate void EventDelegate(IEvent evt);
4 |
5 | public interface IEventDispatcher
6 | {
7 | event EventDelegate EventReceived;
8 | void Send(IEvent evt);
9 | }
10 |
11 | public class EventDispatcher : IEventDispatcher
12 | {
13 | public event EventDelegate EventReceived;
14 |
15 | public void Send(IEvent evt)
16 | {
17 | EventReceived?.Invoke(evt);
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/FortFailedEvent.cs:
--------------------------------------------------------------------------------
1 | namespace PoGo.PokeMobBot.Logic.Event
2 | {
3 | public class FortFailedEvent : IEvent
4 | {
5 | public int Max;
6 | public string Name;
7 | public int Try;
8 | }
9 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/FortTargetEvent.cs:
--------------------------------------------------------------------------------
1 | namespace PoGo.PokeMobBot.Logic.Event
2 | {
3 | public class FortTargetEvent : IEvent
4 | {
5 | public string Id;
6 | public double Distance;
7 | public string Name;
8 | public string Description;
9 | public string url;
10 | public double Latitude;
11 | public double Longitude;
12 | }
13 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/FortUsedEvent.cs:
--------------------------------------------------------------------------------
1 | namespace PoGo.PokeMobBot.Logic.Event
2 | {
3 | public class FortUsedEvent : IEvent
4 | {
5 | public int Exp;
6 | public int Gems;
7 | public string Id;
8 | public bool InventoryFull;
9 | public string Items;
10 | public double Latitude;
11 | public double Longitude;
12 | public string Name;
13 | public string Description;
14 | public string url;
15 | }
16 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/IEvent.cs:
--------------------------------------------------------------------------------
1 | namespace PoGo.PokeMobBot.Logic.Event
2 | {
3 | public interface IEvent
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/InvalidKeepAmountEvent.cs:
--------------------------------------------------------------------------------
1 | namespace PoGo.PokeMobBot.Logic.Event
2 | {
3 | public class InvalidKeepAmountEvent : IEvent
4 | {
5 | public int Count;
6 | public int Max;
7 | }
8 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/InventoryListEvent.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System.Collections.Generic;
4 | using POGOProtos.Inventory;
5 | using POGOProtos.Inventory.Item;
6 |
7 | #endregion
8 |
9 | namespace PoGo.PokeMobBot.Logic.Event
10 | {
11 | public class InventoryListEvent : IEvent
12 | {
13 | public List Items;
14 | }
15 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/ItemRecycledEvent.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using POGOProtos.Inventory.Item;
4 |
5 | #endregion
6 |
7 | namespace PoGo.PokeMobBot.Logic.Event
8 | {
9 | public class ItemRecycledEvent : IEvent
10 | {
11 | public int Count;
12 | public ItemId Id;
13 | }
14 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/NoPokeballEvent.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using POGOProtos.Enums;
4 |
5 | #endregion
6 |
7 | namespace PoGo.PokeMobBot.Logic.Event
8 | {
9 | public class NoPokeballEvent : IEvent
10 | {
11 | public int Cp;
12 | public PokemonId Id;
13 | }
14 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/NoticeEvent.cs:
--------------------------------------------------------------------------------
1 | namespace PoGo.PokeMobBot.Logic.Event
2 | {
3 | public class NoticeEvent : IEvent
4 | {
5 | public string Message = "";
6 |
7 | public override string ToString()
8 | {
9 | return Message;
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/PlayerLevelUpEvent.cs:
--------------------------------------------------------------------------------
1 | namespace PoGo.PokeMobBot.Logic.Event
2 | {
3 | public class PlayerLevelUpEvent : IEvent
4 | {
5 | public int Level;
6 | public bool InventoryFull;
7 | public string Items;
8 | }
9 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/PlayerStatsEvent.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 |
6 | using POGOProtos.Inventory.Item;
7 | using PoGo.PokeMobBot.Logic.State;
8 | using PoGo.PokeMobBot.Logic.Event;
9 | using POGOProtos.Data.Player;
10 | using System.Collections.Generic;
11 |
12 | #endregion
13 |
14 | namespace PoGo.PokeMobBot.Logic.Tasks
15 | {
16 | public class PlayerStatsEvent : IEvent
17 |
18 | {
19 | public List PlayerStats { get; set; }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/PokeStopListEvent.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System.Collections.Generic;
4 | using POGOProtos.Map.Fort;
5 |
6 | #endregion
7 |
8 | namespace PoGo.PokeMobBot.Logic.Event
9 | {
10 | public class PokeStopListEvent : IEvent
11 | {
12 | public List Forts;
13 |
14 | }
15 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/PokemonCaptureEvent.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using POGOProtos.Enums;
4 | using POGOProtos.Inventory.Item;
5 | using POGOProtos.Networking.Responses;
6 |
7 | #endregion
8 |
9 | namespace PoGo.PokeMobBot.Logic.Event
10 | {
11 | public class PokemonCaptureEvent : IEvent
12 | {
13 | public int Attempt;
14 | public int BallAmount;
15 | public string CatchType;
16 | public int Cp;
17 | public double Distance;
18 | public int Exp;
19 | public int FamilyCandies;
20 | public PokemonId Id;
21 | public double Level;
22 | public int MaxCp;
23 | public double Perfection;
24 | public ItemId Pokeball;
25 | public double Probability;
26 | public int Stardust;
27 | public CatchPokemonResponse.Types.CatchStatus Status;
28 | public double Latitude;
29 | public double Longitude;
30 | }
31 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/PokemonEvolveEvent.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using POGOProtos.Enums;
4 | using POGOProtos.Networking.Responses;
5 |
6 | #endregion
7 |
8 | namespace PoGo.PokeMobBot.Logic.Event
9 | {
10 | public class PokemonEvolveEvent : IEvent
11 | {
12 | public int Exp;
13 | public PokemonId Id;
14 | public EvolvePokemonResponse.Types.Result Result;
15 | }
16 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/PokemonFavoriteEvent.cs:
--------------------------------------------------------------------------------
1 | using POGOProtos.Enums;
2 |
3 | namespace PoGo.PokeMobBot.Logic.Event
4 | {
5 | public class PokemonFavoriteEvent : IEvent
6 | {
7 | public PokemonId Pokemon;
8 | public int Cp;
9 | public double Iv;
10 | public int Candies;
11 | }
12 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/PokemonListEvent.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System;
4 | using System.Collections.Generic;
5 | using POGOProtos.Data;
6 |
7 | #endregion
8 |
9 | namespace PoGo.PokeMobBot.Logic.Event
10 | {
11 | public class PokemonListEvent : IEvent
12 | {
13 | public List> PokemonList;
14 | }
15 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/PokemonSettingsEvent.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using POGOProtos.Settings.Master;
7 |
8 | namespace PoGo.PokeMobBot.Logic.Event
9 | {
10 | public class PokemonSettingsEvent : IEvent
11 | {
12 | public List Data;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/PokemonUnFavoriteEvent.cs:
--------------------------------------------------------------------------------
1 | using POGOProtos.Enums;
2 |
3 | namespace PoGo.PokeMobBot.Logic.Event
4 | {
5 | public class PokemonUnFavoriteEvent : IEvent
6 | {
7 | public PokemonId Pokemon;
8 | public int Cp;
9 | public double Iv;
10 | public int Candies;
11 | }
12 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/ProfileEvent.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using POGOProtos.Networking.Responses;
4 |
5 | #endregion
6 |
7 | namespace PoGo.PokeMobBot.Logic.Event
8 | {
9 | public class ProfileEvent : IEvent
10 | {
11 | public GetPlayerResponse Profile;
12 | }
13 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/SnipeModeEvent.cs:
--------------------------------------------------------------------------------
1 | namespace PoGo.PokeMobBot.Logic.Event
2 | {
3 | public class SnipeModeEvent : IEvent
4 | {
5 | public bool Active;
6 | }
7 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/SnipeScanEvent.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using POGOProtos.Enums;
4 |
5 | #endregion
6 |
7 | namespace PoGo.PokeMobBot.Logic.Event
8 | {
9 | public class SnipeScanEvent : IEvent
10 | {
11 | public Location Bounds { get; set; }
12 | public PokemonId PokemonId { get; set; }
13 | public double Iv { get; set; }
14 | }
15 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/TransferPokemonEvent.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using POGOProtos.Enums;
4 |
5 | #endregion
6 |
7 | namespace PoGo.PokeMobBot.Logic.Event
8 | {
9 | public class TransferPokemonEvent : IEvent
10 | {
11 | public int BestCp;
12 | public double BestPerfection;
13 | public int Cp;
14 | public int FamilyCandies;
15 | public PokemonId Id;
16 | public double Perfection;
17 | }
18 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/UpdateEvent.cs:
--------------------------------------------------------------------------------
1 | namespace PoGo.PokeMobBot.Logic.Event
2 | {
3 | public class UpdateEvent : IEvent
4 | {
5 | public string Message = "";
6 |
7 | public override string ToString()
8 | {
9 | return Message;
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/UpdatePositionEvent.cs:
--------------------------------------------------------------------------------
1 | namespace PoGo.PokeMobBot.Logic.Event
2 | {
3 | public class UpdatePositionEvent : IEvent
4 | {
5 | public double Latitude;
6 | public double Longitude;
7 | }
8 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/UseBerryEvent.cs:
--------------------------------------------------------------------------------
1 | namespace PoGo.PokeMobBot.Logic.Event
2 | {
3 | public class UseBerryEvent : IEvent
4 | {
5 | public int Count;
6 | }
7 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/UseLuckyEggEvent.cs:
--------------------------------------------------------------------------------
1 | namespace PoGo.PokeMobBot.Logic.Event
2 | {
3 | public class UseLuckyEggEvent : IEvent
4 | {
5 | public int Count;
6 | }
7 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/UseLuckyEggMinPokemonEvent.cs:
--------------------------------------------------------------------------------
1 | namespace PoGo.PokeMobBot.Logic.Event
2 | {
3 | public class UseLuckyEggMinPokemonEvent : IEvent
4 | {
5 | public int Diff;
6 | public int CurrCount;
7 | public int MinPokemon;
8 | }
9 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/WalkingSpeedRandomizedEvent.cs:
--------------------------------------------------------------------------------
1 | namespace PoGo.PokeMobBot.Logic.Event
2 | {
3 | public class WalkingSpeedRandomizedEvent : IEvent
4 | {
5 | public double OldSpeed;
6 | public double NewSpeed;
7 | }
8 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Event/WarnEvent.cs:
--------------------------------------------------------------------------------
1 | namespace PoGo.PokeMobBot.Logic.Event
2 | {
3 | public class WarnEvent : IEvent
4 | {
5 | public string Message = "";
6 |
7 | ///
8 | /// This event requires handler to perform input
9 | ///
10 | public bool RequireInput;
11 |
12 | public override string ToString()
13 | {
14 | return Message;
15 | }
16 | }
17 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Extensions/RandomExtensions.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace PoGo.PokeMobBot.Logic.Extensions
8 | {
9 | public static class RandomExtensions
10 | {
11 | ///
12 | /// Extension method to Random to return a value in a certain range.
13 | ///
14 | /// Random object.
15 | /// Minimum value, inclusive.
16 | /// Maximum value, inclusive.
17 | /// A value between min and max, inclusive.
18 | public static double NextInRange(this Random rng, double min, double max)
19 | {
20 | return rng.NextDouble() * (max - min) + min;
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Localization/Localizer.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using PoGo.PokeMobBot.Logic.Common;
4 |
5 | #endregion
6 |
7 | namespace PoGo.PokeMobBot.Logic.Localization
8 | {
9 | public interface ILocalizer
10 | {
11 | string GetFormat(TranslationString key);
12 | string GetFormat(TranslationString key, params object[] data);
13 | }
14 |
15 | public class Localizer : ILocalizer
16 | {
17 | public string GetFormat(TranslationString key)
18 | {
19 | return "";
20 | }
21 |
22 | public string GetFormat(TranslationString key, params object[] data)
23 | {
24 | return "";
25 | }
26 | }
27 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Logging/ILogger.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System;
4 | using PoGo.PokeMobBot.Logic.State;
5 |
6 | #endregion
7 |
8 | namespace PoGo.PokeMobBot.Logic.Logging
9 | {
10 | public interface ILogger
11 | {
12 | ///
13 | /// Set Context for a logger to be able to use translations and settings
14 | ///
15 | /// Context
16 | void SetSession(ISession session);
17 |
18 | ///
19 | /// Log a specific message by LogLevel.
20 | ///
21 | /// The message to log.
22 | /// Optional. Default .
23 | /// Optional. Default automatic color.
24 | void Write(string message, LogLevel level = LogLevel.Info, ConsoleColor color = ConsoleColor.Black);
25 | }
26 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Logging/Logger.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System;
4 | using System.IO;
5 | using PoGo.PokeMobBot.Logic.State;
6 |
7 | #endregion
8 |
9 | namespace PoGo.PokeMobBot.Logic.Logging
10 | {
11 | public static class Logger
12 | {
13 | private static ILogger _logger;
14 | private static string _path;
15 |
16 | private static void Log(string message)
17 | {
18 | // maybe do a new log rather than appending?
19 | using (
20 | var log =
21 | File.AppendText(Path.Combine(_path,
22 | $"PokeMobBot-{DateTime.Today.ToString("yyyy-MM-dd")}-{DateTime.Now.ToString("HH")}.txt"))
23 | )
24 | {
25 | log.WriteLine(message);
26 | log.Flush();
27 | }
28 | }
29 |
30 | ///
31 | /// Set the logger. All future requests to will use that logger, any
32 | /// old will be
33 | /// unset.
34 | ///
35 | ///
36 | ///
37 | public static void SetLogger(ILogger logger, string subPath = "")
38 | {
39 | _logger = logger;
40 | _path = Path.Combine(Directory.GetCurrentDirectory(), subPath, "Logs");
41 | Directory.CreateDirectory(_path);
42 | Log($"Initializing Rocket logger at time {DateTime.Now}...");
43 | }
44 |
45 | ///
46 | /// Sets Context for the logger
47 | ///
48 | /// Context
49 | public static void SetLoggerContext(ISession session)
50 | {
51 | _logger?.SetSession(session);
52 | }
53 |
54 | ///
55 | /// Log a specific message to the logger setup by .
56 | ///
57 | /// The message to log.
58 | /// Optional level to log. Default .
59 | /// Optional. Default is automatic color.
60 | public static void Write(string message, LogLevel level = LogLevel.Info, ConsoleColor color = ConsoleColor.Black)
61 | {
62 | if (_logger == null)
63 | return;
64 | _logger.Write(message, level, color);
65 | Log(string.Concat($"[{DateTime.Now.ToString("HH:mm:ss")}] ", message));
66 | }
67 | }
68 |
69 | public enum LogLevel
70 | {
71 | None = 0,
72 | Error = 1,
73 | Warning = 2,
74 | Pokestop = 3,
75 | Farming = 4,
76 | Recycling = 5,
77 | Berry = 6,
78 | Caught = 7,
79 | Escape = 8,
80 | Flee = 9,
81 | Transfer = 10,
82 | Evolve = 11,
83 | Egg = 12,
84 | Update = 13,
85 | Info = 14,
86 | Favorite = 15, //added by lars
87 | UnFavorite = 16, //added by lars
88 | Debug = 17, //always have debug as last enum.
89 | }
90 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System.Reflection;
4 | using System.Runtime.InteropServices;
5 |
6 | #endregion
7 |
8 | // General Information about an assembly is controlled through the following
9 | // set of attributes. Change these attribute values to modify the information
10 | // associated with an assembly.
11 |
12 | [assembly: AssemblyTitle("PokeMobBot Logic for Pokémon GO")]
13 | [assembly: AssemblyDescription("")]
14 | [assembly: AssemblyConfiguration("")]
15 | [assembly: AssemblyCompany("")]
16 | [assembly: AssemblyProduct("PoGo.PokeMobBot.Logic")]
17 | [assembly: AssemblyCopyright("Copyright © 2016")]
18 | [assembly: AssemblyTrademark("")]
19 | [assembly: AssemblyCulture("")]
20 |
21 | // Setting ComVisible to false makes the types in this assembly not visible
22 | // to COM components. If you need to access a type in this assembly from
23 | // COM, set the ComVisible attribute to true on that type.
24 |
25 | [assembly: ComVisible(false)]
26 |
27 | // The following GUID is for the ID of the typelib if this project is exposed to COM
28 |
29 | [assembly: Guid("0739e40d-c589-4aeb-93e5-ee8cd6773c60")]
30 |
31 | // Version information for an assembly consists of the following four values:
32 | //
33 | // Major Version
34 | // Minor Version
35 | // Build Number
36 | // Revision
37 | //
38 | // You can specify all the values or you can default the Build and Revision Numbers
39 | // by using the '*' as shown below:
40 | // [assembly: AssemblyVersion("1.0.*")]
41 |
42 | [assembly: AssemblyVersion("1.1.3.0")]
43 | [assembly: AssemblyFileVersion("1.1.3.0")]
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Routing.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Net;
5 | using System.IO;
6 | using System.Text;
7 | using GeoCoordinatePortable;
8 | using Newtonsoft.Json.Converters;
9 | using Newtonsoft.Json;
10 | using PoGo.PokeMobBot.Logic.Logging;
11 |
12 | namespace PoGo.PokeMobBot.Logic
13 | {
14 | public static class Routing
15 | {
16 | public static RoutingResponse GetRoute(GeoCoordinate start, GeoCoordinate dest)
17 | {
18 | try
19 | {
20 | Logger.Write("Requesting routing info from MobRouting.com", LogLevel.Debug);
21 | WebRequest request = WebRequest.Create(
22 | $"http://mobrouting.com" + $"/api/dev/gosmore.php?format=geojson&flat={start.Latitude}&flon={start.Longitude}&tlat={dest.Latitude}&tlon={dest.Longitude}&v=foot&fast=1&layer=mapnik");
23 | request.Credentials = CredentialCache.DefaultCredentials;
24 |
25 | string responseFromServer = "";
26 |
27 | using (WebResponse response = request.GetResponse())
28 | {
29 | Logger.Write("Got response from www.yournavigation.org", LogLevel.Debug);
30 | //Console.WriteLine(((HttpWebResponse)response).StatusDescription);
31 | using (Stream dataStream = response.GetResponseStream())
32 | using (StreamReader reader = new StreamReader(dataStream))
33 | {
34 | responseFromServer = reader.ReadToEnd();
35 | }
36 | }
37 | //Console.WriteLine(responseFromServer);
38 | RoutingResponse responseParsed = JsonConvert.DeserializeObject(responseFromServer);
39 |
40 | return responseParsed;
41 | }
42 | catch(Exception ex)
43 | {
44 | Logger.Write("Routing error: " + ex.Message, LogLevel.Debug);
45 | }
46 | RoutingResponse emptyResponse = new RoutingResponse();
47 | emptyResponse.coordinates = new List>();
48 | return emptyResponse;
49 | }
50 | }
51 |
52 | public class RoutingResponse
53 | {
54 | public string type { get; set; }
55 | public Crs crs { get; set; }
56 | public List> coordinates { get; set; }
57 | public Properties2 properties { get; set; }
58 | }
59 | public class Properties
60 | {
61 | public string name { get; set; }
62 | }
63 |
64 | public class Crs
65 | {
66 | public string type { get; set; }
67 | public Properties properties { get; set; }
68 | }
69 |
70 | public class Properties2
71 | {
72 | public string distance { get; set; }
73 | public string description { get; set; }
74 | public string traveltime { get; set; }
75 | }
76 |
77 |
78 | }
79 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Service/BotService.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using PoGo.PokeMobBot.Logic.State;
4 | using PoGo.PokeMobBot.Logic.Tasks;
5 |
6 | #endregion
7 |
8 | namespace PoGo.PokeMobBot.Logic.Service
9 | {
10 | public class BotService
11 | {
12 | public ILogin LoginTask;
13 | public ISession Session;
14 |
15 | public void Run()
16 | {
17 | LoginTask.DoLogin();
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/State/IState.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System.Threading;
4 | using System.Threading.Tasks;
5 |
6 | #endregion
7 |
8 | namespace PoGo.PokeMobBot.Logic.State
9 | {
10 | public interface IState
11 | {
12 | Task Execute(ISession session, CancellationToken cancellationToken);
13 | }
14 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/State/InfoState.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System.Threading;
4 | using System.Threading.Tasks;
5 | using PoGo.PokeMobBot.Logic.Tasks;
6 | using System;
7 |
8 | #endregion
9 |
10 | namespace PoGo.PokeMobBot.Logic.State
11 | {
12 | public class InfoState : IState
13 | {
14 | public async Task Execute(ISession session, CancellationToken cancellationToken)
15 | {
16 | cancellationToken.ThrowIfCancellationRequested();
17 |
18 | //Routing.GetRoute(new GeoCoordinatePortable.GeoCoordinate(35.6895, 139.6917), new GeoCoordinatePortable.GeoCoordinate(35.9000, 139.9000));
19 | //Console.ReadLine();
20 |
21 | //if (session.LogicSettings.AmountOfPokemonToDisplayOnStart > 0)
22 | if ((session.LogicSettings.AmountOfPokemonToDisplayOnStartCp + session.LogicSettings.AmountOfPokemonToDisplayOnStartIv) > 0)
23 | await DisplayPokemonStatsTask.Execute(session);
24 | await session.MapCache.UpdateMapDatas(session);
25 | return new FarmState();
26 | }
27 | }
28 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/State/Session.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using PoGo.PokeMobBot.Logic.Common;
4 | using PoGo.PokeMobBot.Logic.Event;
5 | using PokemonGo.RocketAPI;
6 | using POGOProtos.Networking.Responses;
7 |
8 | #endregion
9 |
10 | namespace PoGo.PokeMobBot.Logic.State
11 | {
12 | public interface ISession
13 | {
14 | ISettings Settings { get; }
15 | Inventory Inventory { get; }
16 | Client Client { get; }
17 | GetPlayerResponse Profile { get; set; }
18 | HumanNavigation Navigation { get; }
19 | MapCache MapCache { get; }
20 | ILogicSettings LogicSettings { get; }
21 | ITranslation Translation { get; }
22 | IEventDispatcher EventDispatcher { get; }
23 | }
24 |
25 |
26 | public class Session : ISession
27 | {
28 | public Session(ISettings settings, ILogicSettings logicSettings)
29 | {
30 | Settings = settings;
31 | LogicSettings = logicSettings;
32 | ApiFailureStrategy = new ApiFailureStrategy(this);
33 | EventDispatcher = new EventDispatcher();
34 | Translation = Common.Translation.Load(logicSettings);
35 | Reset(settings, LogicSettings);
36 | }
37 |
38 | public ISettings Settings { get; }
39 |
40 | public Inventory Inventory { get; private set; }
41 |
42 | public Client Client { get; private set; }
43 |
44 | public GetPlayerResponse Profile { get; set; }
45 | public HumanNavigation Navigation { get; private set; }
46 |
47 | public MapCache MapCache { get; private set; }
48 | public ILogicSettings LogicSettings { get; }
49 |
50 | public ITranslation Translation { get; }
51 |
52 | public IEventDispatcher EventDispatcher { get; }
53 |
54 | public ApiFailureStrategy ApiFailureStrategy { get; set; }
55 |
56 | public void Reset(ISettings settings, ILogicSettings logicSettings)
57 | {
58 | Client = new Client(Settings, ApiFailureStrategy);
59 | // ferox wants us to set this manually
60 | Inventory = new Inventory(Client, logicSettings);
61 | Navigation = new HumanNavigation(Client);
62 | MapCache = new MapCache();
63 | }
64 | }
65 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/State/StateMachine.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System;
4 | using System.Threading;
5 | using System.Threading.Tasks;
6 | using PoGo.PokeMobBot.Logic.Common;
7 | using PoGo.PokeMobBot.Logic.Event;
8 | using PokemonGo.RocketAPI.Exceptions;
9 |
10 | #endregion
11 |
12 | namespace PoGo.PokeMobBot.Logic.State
13 | {
14 | public class StateMachine
15 | {
16 | private IState _initialState;
17 |
18 | public Task AsyncStart(IState initialState, Session session,
19 | CancellationToken cancellationToken = default(CancellationToken))
20 | {
21 | return Task.Run(() => Start(initialState, session, cancellationToken), cancellationToken);
22 | }
23 |
24 | public void SetFailureState(IState state)
25 | {
26 | _initialState = state;
27 | }
28 |
29 | public async Task Start(IState initialState, Session session,
30 | CancellationToken cancellationToken = default(CancellationToken))
31 | {
32 | var state = initialState;
33 | do
34 | {
35 | try
36 | {
37 | state = await state.Execute(session, cancellationToken);
38 | }
39 | catch (InvalidResponseException)
40 | {
41 | session.EventDispatcher.Send(new ErrorEvent
42 | {
43 | Message = session.Translation.GetTranslation(TranslationString.NianticServerUnstable)
44 | });
45 | state = _initialState;
46 | }
47 | catch (OperationCanceledException)
48 | {
49 | session.EventDispatcher.Send(new ErrorEvent {Message = session.Translation.GetTranslation(TranslationString.OperationCanceled) });
50 | state = _initialState;
51 | }
52 | catch (Exception ex)
53 | {
54 | session.EventDispatcher.Send(new ErrorEvent {Message = ex.ToString()});
55 | state = _initialState;
56 | }
57 |
58 | } while (state != null);
59 | }
60 | }
61 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/StatisticsAggregator.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using PoGo.PokeMobBot.Logic.Event;
4 | using PoGo.PokeMobBot.Logic.State;
5 | using PoGo.PokeMobBot.Logic.Utils;
6 | using POGOProtos.Networking.Responses;
7 |
8 | #endregion
9 |
10 | namespace PoGo.PokeMobBot.Logic
11 | {
12 | public class StatisticsAggregator
13 | {
14 | private readonly Statistics _stats;
15 |
16 | public StatisticsAggregator(Statistics stats)
17 | {
18 | _stats = stats;
19 | }
20 |
21 | public void HandleEvent(ProfileEvent evt, ISession session)
22 | {
23 | _stats.SetUsername(evt.Profile);
24 | _stats.Dirty(session.Inventory);
25 | _stats.CheckLevelUp(session);
26 | }
27 |
28 | public void HandleEvent(ErrorEvent evt, ISession session)
29 | {
30 | }
31 |
32 | public void HandleEvent(NoticeEvent evt, ISession session)
33 | {
34 | }
35 |
36 | public void HandleEvent(WarnEvent evt, ISession session)
37 | {
38 | }
39 |
40 | public void HandleEvent(UseLuckyEggEvent evt, ISession session)
41 | {
42 | }
43 |
44 | public void HandleEvent(PokemonEvolveEvent evt, ISession session)
45 | {
46 | _stats.TotalExperience += evt.Exp;
47 | _stats.Dirty(session.Inventory);
48 | _stats.CheckLevelUp(session);
49 | }
50 |
51 | public void HandleEvent(TransferPokemonEvent evt, ISession session)
52 | {
53 | _stats.TotalPokemonsTransfered++;
54 | _stats.Dirty(session.Inventory);
55 | _stats.CheckLevelUp(session);
56 | }
57 |
58 | public void HandleEvent(ItemRecycledEvent evt, ISession session)
59 | {
60 | _stats.TotalItemsRemoved++;
61 | _stats.Dirty(session.Inventory);
62 | _stats.CheckLevelUp(session);
63 | }
64 |
65 | public void HandleEvent(FortUsedEvent evt, ISession session)
66 | {
67 | _stats.TotalExperience += evt.Exp;
68 | _stats.Dirty(session.Inventory);
69 | _stats.CheckLevelUp(session);
70 | }
71 |
72 | public void HandleEvent(FortTargetEvent evt, ISession session)
73 | {
74 | }
75 |
76 | public void HandleEvent(PokemonCaptureEvent evt, ISession session)
77 | {
78 | if (evt.Status == CatchPokemonResponse.Types.CatchStatus.CatchSuccess)
79 | {
80 | _stats.TotalExperience += evt.Exp;
81 | _stats.TotalPokemons++;
82 | _stats.TotalStardust = evt.Stardust;
83 | _stats.Dirty(session.Inventory);
84 | _stats.CheckLevelUp(session);
85 | }
86 | }
87 |
88 | public void HandleEvent(NoPokeballEvent evt, ISession session)
89 | {
90 | }
91 |
92 | public void HandleEvent(UseBerryEvent evt, ISession session)
93 | {
94 | }
95 |
96 | public void HandleEvent(DisplayHighestsPokemonEvent evt, ISession session)
97 | {
98 | }
99 |
100 | public void Listen(IEvent evt, ISession session)
101 | {
102 | dynamic eve = evt;
103 |
104 | try
105 | {
106 | HandleEvent(eve, session);
107 | }
108 | catch
109 | {
110 | // ignored
111 | }
112 | }
113 | }
114 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Tasks/CatchIncensePokemonsTask.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System.Threading;
4 | using System.Threading.Tasks;
5 | using PoGo.PokeMobBot.Logic.Common;
6 | using PoGo.PokeMobBot.Logic.Event;
7 | using PoGo.PokeMobBot.Logic.Logging;
8 | using PoGo.PokeMobBot.Logic.State;
9 | using PoGo.PokeMobBot.Logic.Utils;
10 | using POGOProtos.Map.Pokemon;
11 | using POGOProtos.Networking.Responses;
12 |
13 | #endregion
14 |
15 | namespace PoGo.PokeMobBot.Logic.Tasks
16 | {
17 | public static class CatchIncensePokemonsTask
18 | {
19 | public static async Task Execute(ISession session, CancellationToken cancellationToken)
20 | {
21 |
22 |
23 | cancellationToken.ThrowIfCancellationRequested();
24 |
25 | // Refresh inventory so that the player stats are fresh
26 | await session.Inventory.RefreshCachedInventory();
27 |
28 | session.EventDispatcher.Send(new DebugEvent()
29 | {
30 | Message = session.Translation.GetTranslation(TranslationString.LookingForIncensePokemon)
31 | });
32 |
33 | var incensePokemon = await session.Client.Map.GetIncensePokemons();
34 | if (incensePokemon.Result == GetIncensePokemonResponse.Types.Result.IncenseEncounterAvailable)
35 | {
36 |
37 | var _pokemon = new MapPokemon
38 | {
39 | EncounterId = incensePokemon.EncounterId,
40 | ExpirationTimestampMs = incensePokemon.DisappearTimestampMs,
41 | Latitude = incensePokemon.Latitude,
42 | Longitude = incensePokemon.Longitude,
43 | PokemonId = incensePokemon.PokemonId,
44 | SpawnPointId = incensePokemon.EncounterLocation
45 | };
46 | var pokemon = new PokemonCacheItem(_pokemon);
47 | if (session.LogicSettings.UsePokemonToNotCatchFilter &&
48 | session.LogicSettings.PokemonsNotToCatch.Contains(pokemon.PokemonId))
49 | {
50 | session.EventDispatcher.Send(new NoticeEvent()
51 | {
52 | Message = session.Translation.GetTranslation(TranslationString.PokemonIgnoreFilter,session.Translation.GetPokemonName(pokemon.PokemonId))
53 | });
54 | }
55 | else
56 | {
57 | var distance = LocationUtils.CalculateDistanceInMeters(session.Client.CurrentLatitude,
58 | session.Client.CurrentLongitude, pokemon.Latitude, pokemon.Longitude);
59 | await Task.Delay(session.LogicSettings.DelayCatchIncensePokemon);
60 |
61 | var encounter =
62 | await
63 | session.Client.Encounter.EncounterIncensePokemon(pokemon.EncounterId,
64 | pokemon.SpawnPointId);
65 |
66 | if (encounter.Result == IncenseEncounterResponse.Types.Result.IncenseEncounterSuccess)
67 | {
68 | await CatchPokemonTask.Execute(session, encounter, pokemon);
69 | }
70 | else if (encounter.Result == IncenseEncounterResponse.Types.Result.PokemonInventoryFull)
71 | {
72 | if (session.LogicSettings.TransferDuplicatePokemon)
73 | {
74 | session.EventDispatcher.Send(new WarnEvent
75 | {
76 | Message = session.Translation.GetTranslation(TranslationString.InvFullTransferring)
77 | });
78 | await TransferDuplicatePokemonTask.Execute(session, cancellationToken);
79 | }
80 | else
81 | session.EventDispatcher.Send(new WarnEvent
82 | {
83 | Message = session.Translation.GetTranslation(TranslationString.InvFullTransferManually)
84 | });
85 | }
86 | else
87 | {
88 | session.EventDispatcher.Send(new WarnEvent
89 | {
90 | Message =
91 | session.Translation.GetTranslation(TranslationString.EncounterProblem, encounter.Result)
92 | });
93 | }
94 | }
95 | }
96 | }
97 | }
98 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Tasks/CatchLurePokemonsTask.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System.Linq;
4 | using System.Threading;
5 | using System.Threading.Tasks;
6 | using PoGo.PokeMobBot.Logic.Common;
7 | using PoGo.PokeMobBot.Logic.Event;
8 | using PoGo.PokeMobBot.Logic.Logging;
9 | using PoGo.PokeMobBot.Logic.State;
10 | using POGOProtos.Map.Fort;
11 | using POGOProtos.Map.Pokemon;
12 | using POGOProtos.Networking.Responses;
13 |
14 | #endregion
15 |
16 | namespace PoGo.PokeMobBot.Logic.Tasks
17 | {
18 | public static class CatchLurePokemonsTask
19 | {
20 | public static async Task Execute(ISession session, FortData currentFortData, CancellationToken cancellationToken)
21 | {
22 |
23 |
24 | cancellationToken.ThrowIfCancellationRequested();
25 |
26 | // Refresh inventory so that the player stats are fresh
27 | await session.Inventory.RefreshCachedInventory();
28 |
29 | session.EventDispatcher.Send(new DebugEvent()
30 | {
31 | Message = session.Translation.GetTranslation(TranslationString.LookingForLurePokemon)
32 | });
33 |
34 | var fortId = currentFortData.Id;
35 |
36 | var pokemonId = currentFortData.LureInfo.ActivePokemonId;
37 |
38 | if (session.LogicSettings.UsePokemonToNotCatchFilter &&
39 | session.LogicSettings.PokemonsNotToCatch.Contains(pokemonId))
40 | {
41 | session.EventDispatcher.Send(new NoticeEvent
42 | {
43 | Message = session.Translation.GetTranslation(TranslationString.PokemonSkipped, session.Translation.GetPokemonName(pokemonId))
44 | });
45 | }
46 | else
47 | {
48 | var encounterId = currentFortData.LureInfo.EncounterId;
49 | var encounter = await session.Client.Encounter.EncounterLurePokemon(encounterId, fortId);
50 |
51 | if (encounter.Result == DiskEncounterResponse.Types.Result.Success)
52 | {
53 | //var pokemons = await session.MapCache.MapPokemons(session);
54 | //var pokemon = pokemons.FirstOrDefault(i => i.PokemonId == encounter.PokemonData.PokemonId);
55 | session.EventDispatcher.Send(new DebugEvent()
56 | {
57 | Message = "Found a Lure Pokemon."
58 | });
59 |
60 | MapPokemon _pokemon = new MapPokemon
61 | {
62 | EncounterId = currentFortData.LureInfo.EncounterId,
63 | ExpirationTimestampMs = currentFortData.LureInfo.LureExpiresTimestampMs,
64 | Latitude = currentFortData.Latitude,
65 | Longitude = currentFortData.Longitude,
66 | PokemonId = currentFortData.LureInfo.ActivePokemonId,
67 | SpawnPointId = currentFortData.LureInfo.FortId
68 | };
69 | PokemonCacheItem pokemon = new PokemonCacheItem(_pokemon);
70 |
71 | await CatchPokemonTask.Execute(session, encounter, pokemon, currentFortData, encounterId);
72 | currentFortData.LureInfo = null;
73 | //await CatchPokemonTask.Execute(session, encounter, pokemon, currentFortData, encounterId);
74 | }
75 | else if (encounter.Result == DiskEncounterResponse.Types.Result.PokemonInventoryFull)
76 | {
77 | if (session.LogicSettings.TransferDuplicatePokemon)
78 | {
79 | session.EventDispatcher.Send(new WarnEvent
80 | {
81 | Message = session.Translation.GetTranslation(TranslationString.InvFullTransferring)
82 | });
83 | await TransferDuplicatePokemonTask.Execute(session, cancellationToken);
84 | }
85 | else
86 | session.EventDispatcher.Send(new WarnEvent
87 | {
88 | Message = session.Translation.GetTranslation(TranslationString.InvFullTransferManually)
89 | });
90 | }
91 | else
92 | {
93 | if (encounter.Result.ToString().Contains("NotAvailable")) return;
94 | session.EventDispatcher.Send(new WarnEvent
95 | {
96 | Message =
97 | session.Translation.GetTranslation(TranslationString.EncounterProblemLurePokemon,
98 | encounter.Result)
99 | });
100 | }
101 |
102 | // always wait the delay amount between catches, ideally to prevent you from making another call too early after a catch event
103 | await Task.Delay(session.LogicSettings.DelayBetweenPokemonCatch);
104 | }
105 | }
106 | }
107 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Tasks/DisplayPokemonStatsTask.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System;
4 | using System.Collections.Generic;
5 | using System.Linq;
6 | using System.Threading.Tasks;
7 | using PoGo.PokeMobBot.Logic.DataDumper;
8 | using PoGo.PokeMobBot.Logic.Event;
9 | using PoGo.PokeMobBot.Logic.PoGoUtils;
10 | using PoGo.PokeMobBot.Logic.State;
11 |
12 | #endregion
13 |
14 | namespace PoGo.PokeMobBot.Logic.Tasks
15 | {
16 | public class DisplayPokemonStatsTask
17 | {
18 | public static List PokemonId = new List();
19 |
20 |
21 | public static List PokemonIdcp = new List();
22 |
23 | public static async Task Execute(ISession session)
24 | {
25 |
26 | var trainerLevel = 40;
27 |
28 | var highestsPokemonCp = await session.Inventory.GetHighestsCp(session.LogicSettings.AmountOfPokemonToDisplayOnStartCp);
29 | var pokemonPairedWithStatsCp = highestsPokemonCp.Select(pokemon => new PokemonAnalysis(pokemon, trainerLevel)).ToList();
30 |
31 | var highestsPokemonCpForUpgrade = await session.Inventory.GetHighestsCp(50);
32 | var pokemonPairedWithStatsCpForUpgrade = highestsPokemonCpForUpgrade.Select(pokemon => new PokemonAnalysis(pokemon, trainerLevel)).ToList();
33 |
34 | var highestsPokemonPerfect = await session.Inventory.GetHighestsPerfect(session.LogicSettings.AmountOfPokemonToDisplayOnStartIv);
35 | var pokemonPairedWithStatsIv = highestsPokemonPerfect.Select(pokemon => new PokemonAnalysis(pokemon, trainerLevel)).ToList();
36 |
37 | var highestsPokemonIvForUpgrade = await session.Inventory.GetHighestsPerfect(50);
38 | var pokemonPairedWithStatsIvForUpgrade = highestsPokemonIvForUpgrade.Select(pokemon => new PokemonAnalysis(pokemon, trainerLevel)).ToList();
39 |
40 | session.EventDispatcher.Send(
41 | new DisplayHighestsPokemonEvent
42 | {
43 | SortedBy = "CP",
44 | PokemonList = pokemonPairedWithStatsCp,
45 | DisplayPokemonMaxPoweredCp = session.LogicSettings.DisplayPokemonMaxPoweredCp,
46 | DisplayPokemonMovesetRank = session.LogicSettings.DisplayPokemonMovesetRank
47 | });
48 | await Task.Delay(session.LogicSettings.DelayDisplayPokemon);
49 |
50 | session.EventDispatcher.Send(
51 | new DisplayHighestsPokemonEvent
52 | {
53 | SortedBy = "IV",
54 | PokemonList = pokemonPairedWithStatsIv,
55 | DisplayPokemonMaxPoweredCp = session.LogicSettings.DisplayPokemonMaxPoweredCp,
56 | DisplayPokemonMovesetRank = session.LogicSettings.DisplayPokemonMovesetRank
57 | });
58 |
59 | var allPokemonInBag = session.LogicSettings.PrioritizeIvOverCp
60 | ? await session.Inventory.GetHighestsPerfect(1000)
61 | : await session.Inventory.GetHighestsCp(1000);
62 | if (session.LogicSettings.DumpPokemonStats)
63 | {
64 | const string dumpFileName = "PokeBagStats";
65 | string toDumpCSV = "Name,Level,CP,IV,Move1,Move2\r\n";
66 | string toDumpTXT = "";
67 | Dumper.ClearDumpFile(session, dumpFileName);
68 | Dumper.ClearDumpFile(session, dumpFileName, "csv");
69 |
70 | foreach (var pokemon in allPokemonInBag)
71 | {
72 | toDumpTXT += $"NAME: {session.Translation.GetPokemonName(pokemon.PokemonId).PadRight(16, ' ')}Lvl: {PokemonInfo.GetLevel(pokemon).ToString("00")}\t\tCP: {pokemon.Cp.ToString().PadRight(8, ' ')}\t\t IV: {PokemonInfo.CalculatePokemonPerfection(pokemon).ToString("0.00")}%\t\t\tMOVE1: {pokemon.Move1}\t\t\tMOVE2: {pokemon.Move2}\r\n";
73 | toDumpCSV += $"{session.Translation.GetPokemonName(pokemon.PokemonId)},{PokemonInfo.GetLevel(pokemon).ToString("00")},{pokemon.Cp},{PokemonInfo.CalculatePokemonPerfection(pokemon).ToString("0.00")}%,{pokemon.Move1},{pokemon.Move2}\r\n";
74 | }
75 |
76 | Dumper.Dump(session, toDumpTXT, dumpFileName);
77 | Dumper.Dump(session, toDumpCSV, dumpFileName, "csv");
78 | }
79 | await Task.Delay(session.LogicSettings.DelayDisplayPokemon);
80 | }
81 | }
82 | }
83 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Tasks/EggsListTask.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System;
4 | using System.Linq;
5 | using System.Threading.Tasks;
6 | using PoGo.PokeMobBot.Logic.Event;
7 | using PoGo.PokeMobBot.Logic.State;
8 | using POGOProtos.Inventory.Item;
9 |
10 | #endregion
11 |
12 | namespace PoGo.PokeMobBot.Logic.Tasks
13 | {
14 | public class EggsListTask
15 | {
16 | public static async Task Execute(ISession session, Action action)
17 | {
18 | // Refresh inventory so that the player stats are fresh
19 | await session.Inventory.RefreshCachedInventory();
20 |
21 | var playerStats = (await session.Inventory.GetPlayerStats()).FirstOrDefault();
22 | if (playerStats == null)
23 | return;
24 |
25 | var kmWalked = playerStats.KmWalked;
26 |
27 | var incubators = (await session.Inventory.GetEggIncubators())
28 | .Where(x => x.UsesRemaining > 0 || x.ItemId == ItemId.ItemIncubatorBasicUnlimited)
29 | .OrderByDescending(x => x.ItemId == ItemId.ItemIncubatorBasicUnlimited)
30 | .ToList();
31 |
32 | var unusedEggs = (await session.Inventory.GetEggs())
33 | .Where(x => string.IsNullOrEmpty(x.EggIncubatorId))
34 | .OrderBy(x => x.EggKmWalkedTarget - x.EggKmWalkedStart)
35 | .ToList();
36 |
37 | action(
38 | new EggsListEvent
39 | {
40 | PlayerKmWalked = kmWalked,
41 | Incubators = incubators,
42 | UnusedEggs = unusedEggs
43 | });
44 |
45 | await Task.Delay(session.LogicSettings.DelayBetweenPlayerActions);
46 | }
47 | }
48 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Tasks/EvolvePokemonTask.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System;
4 | using System.Linq;
5 | using System.Threading;
6 | using System.Threading.Tasks;
7 | using PoGo.PokeMobBot.Logic.Event;
8 | using PoGo.PokeMobBot.Logic.State;
9 | using PoGo.PokeMobBot.Logic.Utils;
10 | using POGOProtos.Inventory.Item;
11 |
12 | #endregion
13 |
14 | namespace PoGo.PokeMobBot.Logic.Tasks
15 | {
16 | public class EvolvePokemonTask
17 | {
18 | private static DateTime _lastLuckyEggTime;
19 |
20 | public static async Task Execute(ISession session, CancellationToken cancellationToken)
21 | {
22 | cancellationToken.ThrowIfCancellationRequested();
23 |
24 | // Refresh inventory so that the player stats are fresh
25 | await session.Inventory.RefreshCachedInventory();
26 |
27 | var pokemonToEvolveTask = await session.Inventory.GetPokemonToEvolve(session.LogicSettings.PokemonsToEvolve);
28 | var pokemonToEvolve = pokemonToEvolveTask.ToList();
29 |
30 | if (pokemonToEvolve.Any())
31 | {
32 | var inventoryContent = await session.Inventory.GetItems();
33 |
34 | var luckyEggs = inventoryContent.Where(p => p.ItemId == ItemId.ItemLuckyEgg);
35 | var luckyEgg = luckyEggs.FirstOrDefault();
36 |
37 | //maybe there can be a warning message as an else condition of luckyEgg checks, like;
38 | //"There is no Lucky Egg, so, your UseLuckyEggsMinPokemonAmount setting bypassed."
39 | if (session.LogicSettings.UseLuckyEggsWhileEvolving && luckyEgg != null && luckyEgg.Count > 0)
40 | {
41 | if (pokemonToEvolve.Count >= session.LogicSettings.UseLuckyEggsMinPokemonAmount)
42 | {
43 | await UseLuckyEgg(session);
44 | }
45 | else
46 | {
47 | // Wait until we have enough pokemon
48 | session.EventDispatcher.Send(new UseLuckyEggMinPokemonEvent
49 | {
50 | Diff = session.LogicSettings.UseLuckyEggsMinPokemonAmount - pokemonToEvolve.Count,
51 | CurrCount = pokemonToEvolve.Count,
52 | MinPokemon = session.LogicSettings.UseLuckyEggsMinPokemonAmount
53 | });
54 | return;
55 | }
56 | }
57 |
58 | foreach (var pokemon in pokemonToEvolve)
59 | {
60 | // no cancellationToken.ThrowIfCancellationRequested here, otherwise the lucky egg would be wasted.
61 | var evolveResponse = await session.Client.Inventory.EvolvePokemon(pokemon.Id);
62 |
63 | session.EventDispatcher.Send(new PokemonEvolveEvent
64 | {
65 | Id = pokemon.PokemonId,
66 | Exp = evolveResponse.ExperienceAwarded,
67 | Result = evolveResponse.Result
68 | });
69 |
70 | await DelayingEvolveUtils.Delay(session.LogicSettings.DelayEvolvePokemon, 0, session.LogicSettings.DelayEvolveVariation);
71 | }
72 | }
73 | }
74 |
75 | public static async Task UseLuckyEgg(ISession session)
76 | {
77 | var inventoryContent = await session.Inventory.GetItems();
78 |
79 | var luckyEggs = inventoryContent.Where(p => p.ItemId == ItemId.ItemLuckyEgg);
80 | var luckyEgg = luckyEggs.FirstOrDefault();
81 |
82 | if (_lastLuckyEggTime.AddMinutes(30).Ticks > DateTime.Now.Ticks)
83 | return;
84 |
85 | _lastLuckyEggTime = DateTime.Now;
86 | await session.Client.Inventory.UseItemXpBoost();
87 | await session.Inventory.RefreshCachedInventory();
88 | if (luckyEgg != null) session.EventDispatcher.Send(new UseLuckyEggEvent {Count = luckyEgg.Count});
89 | await Task.Delay(session.LogicSettings.DelayDisplayPokemon);
90 | }
91 | }
92 | }
93 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Tasks/EvolveSpecificPokemonTask.cs:
--------------------------------------------------------------------------------
1 | using PoGo.PokeMobBot.Logic.Event;
2 | using PoGo.PokeMobBot.Logic.State;
3 | using System;
4 | using System.Collections.Generic;
5 | using System.Linq;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 |
9 | namespace PoGo.PokeMobBot.Logic.Tasks
10 | {
11 | public class EvolveSpecificPokemonTask
12 | {
13 | public static async Task Execute(ISession session, string pokemonId)
14 | {
15 | var id = ulong.Parse(pokemonId);
16 |
17 | var all = await session.Inventory.GetPokemons();
18 | var pokemons = all.OrderByDescending(x => x.Cp).ThenBy(n => n.StaminaMax);
19 | var pokemon = pokemons.FirstOrDefault(p => p.Id == id);
20 |
21 | if (pokemon == null) return;
22 |
23 | var evolveResponse = await session.Client.Inventory.EvolvePokemon(pokemon.Id);
24 |
25 | session.EventDispatcher.Send(new PokemonEvolveEvent
26 | {
27 | Id = pokemon.PokemonId,
28 | Exp = evolveResponse.ExperienceAwarded,
29 | Result = evolveResponse.Result
30 | });
31 |
32 | await Task.Delay(session.LogicSettings.DelayEvolvePokemon);
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Tasks/Farm.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System.Threading;
4 | using PoGo.PokeMobBot.Logic.State;
5 |
6 | #endregion
7 |
8 | namespace PoGo.PokeMobBot.Logic.Tasks
9 | {
10 | public interface IFarm
11 | {
12 | void Run(CancellationToken cancellationToken);
13 | }
14 |
15 | public class Farm : IFarm
16 | {
17 | private readonly ISession _session;
18 |
19 | public Farm(ISession session)
20 | {
21 | _session = session;
22 | }
23 |
24 | public void Run(CancellationToken cancellationToken)
25 | {
26 | if (_session.LogicSettings.EvolveAllPokemonAboveIv || _session.LogicSettings.EvolveAllPokemonWithEnoughCandy)
27 | {
28 | EvolvePokemonTask.Execute(_session, cancellationToken).Wait(cancellationToken);
29 | }
30 | if (_session.LogicSettings.AutomaticallyLevelUpPokemon)
31 | {
32 | LevelUpPokemonTask.Execute(_session, cancellationToken).Wait(cancellationToken);
33 | }
34 | if (_session.LogicSettings.TransferDuplicatePokemon)
35 | {
36 | TransferDuplicatePokemonTask.Execute(_session, cancellationToken).Wait(cancellationToken);
37 | }
38 |
39 | if (_session.LogicSettings.RenamePokemon)
40 | {
41 | RenamePokemonTask.Execute(_session, cancellationToken).Wait(cancellationToken);
42 | }
43 |
44 | RecycleItemsTask.Execute(_session, cancellationToken).Wait(cancellationToken);
45 |
46 | if (_session.LogicSettings.UseEggIncubators)
47 | {
48 | UseIncubatorsTask.Execute(_session, cancellationToken).Wait(cancellationToken);
49 | }
50 |
51 | if (_session.LogicSettings.UseGpxPathing)
52 | {
53 | FarmPokestopsGpxTask.Execute(_session, cancellationToken).Wait(cancellationToken);
54 | }
55 | else
56 | {
57 | FarmPokestopsTask.Execute(_session, cancellationToken).Wait(cancellationToken);
58 | }
59 | }
60 | }
61 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Tasks/FavoritePokemonTask.cs:
--------------------------------------------------------------------------------
1 | #region using
2 | using PoGo.PokeMobBot.Logic.Event;
3 | using PoGo.PokeMobBot.Logic.PoGoUtils;
4 | using PoGo.PokeMobBot.Logic.State;
5 | using System.Linq;
6 | using System.Threading;
7 | using System.Threading.Tasks;
8 | #endregion
9 | namespace PoGo.PokeMobBot.Logic.Tasks
10 | {
11 | public class FavoritePokemonTask
12 | {
13 | public static async Task Execute(ISession session, CancellationToken cancellationToken)
14 | {
15 | cancellationToken.ThrowIfCancellationRequested();
16 |
17 | // Refresh inventory so that the player stats are fresh
18 | await session.Inventory.RefreshCachedInventory();
19 |
20 |
21 | var pokemonSettings = await session.Inventory.GetPokemonSettings();
22 | var pokemonFamilies = await session.Inventory.GetPokemonFamilies();
23 | var pokemons = await session.Inventory.GetPokemons();
24 | //pokemons not in gym, not favorited, and IV above FavoriteMinIv %
25 | var pokemonsToBeFavorited = pokemons.Where(p => p.DeployedFortId == string.Empty &&
26 | p.Favorite == 0 && (PokemonInfo.CalculatePokemonPerfection(p) > session.LogicSettings.FavoriteMinIvPercentage)).ToList();
27 | //favorite
28 | foreach (var pokemon in pokemonsToBeFavorited)
29 | {
30 | if (pokemon.Favorite == 0)
31 | {
32 | var setting = pokemonSettings.Single(q => q.PokemonId == pokemon.PokemonId);
33 | var family = pokemonFamilies.First(q => q.FamilyId == setting.FamilyId);
34 |
35 | await session.Inventory.SetFavoritePokemon(pokemon.Id, true);
36 | session.EventDispatcher.Send(new PokemonFavoriteEvent
37 | {
38 | Pokemon = pokemon.PokemonId,
39 | Cp = pokemon.Cp,
40 | Iv = PokemonInfo.CalculatePokemonPerfection(pokemon),
41 | Candies = family.Candy_
42 | });
43 | }
44 | }
45 | //pokemons not in gym, favorited, and IV lower than FavoriteMinIv %
46 | var pokemonsToBeUnFavorited = pokemons.Where(p => p.DeployedFortId == string.Empty &&
47 | p.Favorite == 1 && (PokemonInfo.CalculatePokemonPerfection(p) < session.LogicSettings.FavoriteMinIvPercentage)).ToList();
48 | //unfavorite
49 | foreach (var pokemon in pokemonsToBeUnFavorited)
50 | {
51 | if (pokemon.Favorite == 1)
52 | {
53 | var setting = pokemonSettings.Single(q => q.PokemonId == pokemon.PokemonId);
54 | var family = pokemonFamilies.First(q => q.FamilyId == setting.FamilyId);
55 |
56 | await session.Inventory.SetFavoritePokemon(pokemon.Id, false);
57 | session.EventDispatcher.Send(new PokemonUnFavoriteEvent
58 | {
59 | Pokemon = pokemon.PokemonId,
60 | Cp = pokemon.Cp,
61 | Iv = PokemonInfo.CalculatePokemonPerfection(pokemon),
62 | Candies = family.Candy_
63 | });
64 | }
65 | }
66 | }
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Tasks/InventoryListTask.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 |
6 | using POGOProtos.Inventory.Item;
7 | using PoGo.PokeMobBot.Logic.State;
8 | using PoGo.PokeMobBot.Logic.Event;
9 | using System;
10 |
11 | #endregion
12 |
13 | namespace PoGo.PokeMobBot.Logic.Tasks
14 | {
15 | public class InventoryListTask
16 | {
17 | public static async Task Execute(ISession session, Action action)
18 | {
19 | // Refresh inventory so that the player stats are fresh
20 | await session.Inventory.RefreshCachedInventory();
21 |
22 | var inventory = await session.Inventory.GetItems();
23 |
24 | action(
25 | new InventoryListEvent
26 | {
27 | Items = inventory.ToList()
28 | });
29 |
30 | await Task.Delay(session.LogicSettings.DelayBetweenPlayerActions);
31 | }
32 | }
33 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Tasks/Login.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System;
4 | using PoGo.PokeMobBot.Logic.Common;
5 | using PoGo.PokeMobBot.Logic.Event;
6 | using PoGo.PokeMobBot.Logic.State;
7 | using PokemonGo.RocketAPI.Enums;
8 | using PokemonGo.RocketAPI.Exceptions;
9 |
10 | #endregion
11 |
12 | namespace PoGo.PokeMobBot.Logic.Tasks
13 | {
14 | public interface ILogin
15 | {
16 | void DoLogin();
17 | }
18 |
19 | public class Login : ILogin
20 | {
21 | private readonly ISession _session;
22 |
23 | public Login(ISession session)
24 | {
25 | _session = session;
26 | }
27 |
28 | public void DoLogin()
29 | {
30 | try
31 | {
32 | _session.Client.Login.DoLogin().Wait();
33 | }
34 | catch (AggregateException ae)
35 | {
36 | throw ae.Flatten().InnerException;
37 | }
38 | }
39 | }
40 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Tasks/MaintenanceTask.cs:
--------------------------------------------------------------------------------
1 | using PoGo.PokeMobBot.Logic.State;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading;
7 | using System.Threading.Tasks;
8 | using PoGo.PokeMobBot.Logic.Event;
9 |
10 | namespace PoGo.PokeMobBot.Logic.Tasks
11 | {
12 | public class MaintenanceTask
13 | {
14 | public static async Task Execute(ISession session, CancellationToken cancellationToken)
15 | {
16 | if (RuntimeSettings.StopsHit %5 == 0) //TODO: OR item/pokemon bag is full
17 | {
18 | RuntimeSettings.StopsHit = 0;
19 | // need updated stardust information for upgrading, so refresh your profile now
20 | await DownloadProfile(session);
21 |
22 | await RecycleItemsTask.Execute(session, cancellationToken);
23 | if (session.LogicSettings.EvolveAllPokemonWithEnoughCandy ||
24 | session.LogicSettings.EvolveAllPokemonAboveIv)
25 | {
26 | await EvolvePokemonTask.Execute(session, cancellationToken);
27 | }
28 | if (session.LogicSettings.AutomaticallyLevelUpPokemon)
29 | {
30 | await LevelUpPokemonTask.Execute(session, cancellationToken);
31 | }
32 | if (session.LogicSettings.TransferDuplicatePokemon)
33 | {
34 | await TransferDuplicatePokemonTask.Execute(session, cancellationToken);
35 | }
36 | if (session.LogicSettings.RenamePokemon)
37 | {
38 | await RenamePokemonTask.Execute(session, cancellationToken);
39 | }
40 | //Do we need this?
41 | //await DisplayPokemonStatsTask.Execute(session);
42 |
43 | }
44 | }
45 | private static async Task DownloadProfile(ISession session)
46 | {
47 | session.Profile = await session.Client.Player.GetPlayer();
48 | }
49 | }
50 |
51 |
52 | }
53 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Tasks/PlayerStatsTask .cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using PoGo.PokeMobBot.Logic.Event;
6 | using PoGo.PokeMobBot.Logic.State;
7 | using POGOProtos.Inventory.Item;
8 | using System;
9 |
10 | #endregion
11 |
12 | namespace PoGo.PokeMobBot.Logic.Tasks
13 | {
14 | public class PlayerStatsTask
15 | {
16 | public static async Task Execute(ISession session, Action action)
17 | {
18 | var PlayersProfile = (await session.Inventory.GetPlayerStats())
19 | .ToList();
20 |
21 | action(
22 | new PlayerStatsEvent
23 | {
24 | PlayerStats = PlayersProfile,
25 | });
26 |
27 | await Task.Delay(session.LogicSettings.DelayBetweenPlayerActions);
28 | }
29 | }
30 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Tasks/PokemonListTask.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System;
4 | using System.Linq;
5 | using System.Threading.Tasks;
6 | using PoGo.PokeMobBot.Logic.Event;
7 | using PoGo.PokeMobBot.Logic.PoGoUtils;
8 | using PoGo.PokeMobBot.Logic.State;
9 |
10 | #endregion
11 |
12 | namespace PoGo.PokeMobBot.Logic.Tasks
13 | {
14 | public class PokemonListTask
15 | {
16 | public static async Task Execute(ISession session, Action action)
17 | {
18 | // Refresh inventory so that the player stats are fresh
19 | await session.Inventory.RefreshCachedInventory();
20 |
21 | var myPokemonSettings = await session.Inventory.GetPokemonSettings();
22 | var pokemonSettings = myPokemonSettings.ToList();
23 |
24 | var myPokemonFamilies = await session.Inventory.GetPokemonFamilies();
25 | var pokemonFamilies = myPokemonFamilies.ToArray();
26 |
27 | var allPokemonInBag = await session.Inventory.GetHighestsCp(1000);
28 |
29 | var pkmWithIv = allPokemonInBag.Select(p => {
30 | var settings = pokemonSettings.Single(x => x.PokemonId == p.PokemonId);
31 | return Tuple.Create(
32 | p,
33 | PokemonInfo.CalculatePokemonPerfection(p),
34 | pokemonFamilies.Single(x => settings.FamilyId == x.FamilyId).Candy_
35 | );
36 | });
37 |
38 | action(new PokemonListEvent
39 | {
40 | PokemonList = pkmWithIv.ToList()
41 | });
42 |
43 | await Task.Delay(session.LogicSettings.DelayBetweenPlayerActions);
44 | }
45 | }
46 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Tasks/PokemonSettingsTask.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System;
4 | using System.Linq;
5 | using System.Threading.Tasks;
6 | using PoGo.PokeMobBot.Logic.Event;
7 | using PoGo.PokeMobBot.Logic.PoGoUtils;
8 | using PoGo.PokeMobBot.Logic.State;
9 |
10 | #endregion
11 |
12 | namespace PoGo.PokeMobBot.Logic.Tasks
13 | {
14 | public class PokemonSettingsTask
15 | {
16 | public static async Task Execute(ISession session, Action action)
17 | {
18 | var settings = await session.Inventory.GetPokemonSettings();
19 |
20 | action(new PokemonSettingsEvent
21 | {
22 | Data = settings.ToList()
23 | });
24 |
25 | await Task.Delay(session.LogicSettings.DelayBetweenPlayerActions);
26 | }
27 | }
28 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Tasks/RenamePokemonTask.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System;
4 | using System.Globalization;
5 | using System.Threading;
6 | using System.Threading.Tasks;
7 | using PoGo.PokeMobBot.Logic.Common;
8 | using PoGo.PokeMobBot.Logic.Event;
9 | using PoGo.PokeMobBot.Logic.PoGoUtils;
10 | using PoGo.PokeMobBot.Logic.State;
11 |
12 | #endregion
13 |
14 | namespace PoGo.PokeMobBot.Logic.Tasks
15 | {
16 | public class RenamePokemonTask
17 | {
18 | public static async Task Execute(ISession session, CancellationToken cancellationToken)
19 | {
20 | cancellationToken.ThrowIfCancellationRequested();
21 |
22 | var pokemons = await session.Inventory.GetPokemons();
23 |
24 | foreach (var pokemon in pokemons)
25 | {
26 | cancellationToken.ThrowIfCancellationRequested();
27 |
28 | var perfection = Math.Round(PokemonInfo.CalculatePokemonPerfection(pokemon));
29 | var pokemonName = session.Translation.GetPokemonName(pokemon.PokemonId);
30 | // iv number + templating part + pokemonName <= 12
31 | var nameLength = 12 -
32 | (perfection.ToString(CultureInfo.InvariantCulture).Length +
33 | session.LogicSettings.RenameTemplate.Length - 6);
34 | if (pokemonName.Length > nameLength)
35 | {
36 | pokemonName = pokemonName.Substring(0, nameLength);
37 | }
38 | var newNickname = string.Format(session.LogicSettings.RenameTemplate, pokemonName, perfection);
39 | var oldNickname = pokemon.Nickname.Length != 0 ? pokemon.Nickname : session.Translation.GetPokemonName(pokemon.PokemonId);
40 |
41 | // If "RenameOnlyAboveIv" = true only rename pokemon with IV over "KeepMinIvPercentage"
42 | // Favorites will be skipped
43 | if ((!session.LogicSettings.RenameOnlyAboveIv || perfection >= session.LogicSettings.KeepMinIvPercentage) &&
44 | newNickname != oldNickname && pokemon.Favorite == 0)
45 | {
46 | await session.Client.Inventory.NicknamePokemon(pokemon.Id, newNickname);
47 |
48 | session.EventDispatcher.Send(new NoticeEvent
49 | {
50 | Message =
51 | session.Translation.GetTranslation(TranslationString.PokemonRename, session.Translation.GetPokemonName(pokemon.PokemonId),
52 | pokemon.Id, oldNickname, newNickname)
53 | });
54 | }
55 | }
56 | }
57 | }
58 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Tasks/TransferDuplicatePokemonTask.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System.Linq;
4 | using System.Threading;
5 | using System.Threading.Tasks;
6 | using PoGo.PokeMobBot.Logic.Event;
7 | using PoGo.PokeMobBot.Logic.PoGoUtils;
8 | using PoGo.PokeMobBot.Logic.State;
9 | using PoGo.PokeMobBot.Logic.Utils;
10 | using PoGo.PokeMobBot.Logic.Common;
11 |
12 | #endregion
13 |
14 | namespace PoGo.PokeMobBot.Logic.Tasks
15 | {
16 | public class TransferDuplicatePokemonTask
17 | {
18 | public static async Task Execute(ISession session, CancellationToken cancellationToken)
19 | {
20 | cancellationToken.ThrowIfCancellationRequested();
21 |
22 | // Refresh inventory so that the player stats are fresh
23 | await session.Inventory.RefreshCachedInventory();
24 |
25 | var duplicatePokemons =
26 | await
27 | session.Inventory.GetDuplicatePokemonToTransfer(session.LogicSettings.KeepPokemonsThatCanEvolve,
28 | session.LogicSettings.PrioritizeIvOverCp,
29 | session.LogicSettings.PokemonsNotToTransfer);
30 |
31 | var pokemonSettings = await session.Inventory.GetPokemonSettings();
32 | var pokemonFamilies = await session.Inventory.GetPokemonFamilies();
33 |
34 | var currentPokemonCount = await session.Inventory.GetPokemonsCount();
35 | var maxPokemonCount = session.Profile.PlayerData.MaxPokemonStorage;
36 |
37 | session.EventDispatcher.Send(new NoticeEvent()
38 | {
39 | Message = session.Translation.GetTranslation(TranslationString.CurrentPokemonUsage,
40 | currentPokemonCount, maxPokemonCount)
41 | });
42 |
43 | foreach (var duplicatePokemon in duplicatePokemons)
44 | {
45 | cancellationToken.ThrowIfCancellationRequested();
46 |
47 | if (duplicatePokemon.Cp >=
48 | session.Inventory.GetPokemonTransferFilter(duplicatePokemon.PokemonId).KeepMinCp ||
49 | PokemonInfo.CalculatePokemonPerfection(duplicatePokemon) >
50 | session.Inventory.GetPokemonTransferFilter(duplicatePokemon.PokemonId).KeepMinIvPercentage)
51 | {
52 | continue;
53 | }
54 |
55 | await session.Client.Inventory.TransferPokemon(duplicatePokemon.Id);
56 | await session.Inventory.DeletePokemonFromInvById(duplicatePokemon.Id);
57 |
58 | var bestPokemonOfType = (session.LogicSettings.PrioritizeIvOverCp
59 | ? await session.Inventory.GetHighestPokemonOfTypeByIv(duplicatePokemon)
60 | : await session.Inventory.GetHighestPokemonOfTypeByCp(duplicatePokemon)) ?? duplicatePokemon;
61 |
62 | var setting = pokemonSettings.Single(q => q.PokemonId == duplicatePokemon.PokemonId);
63 | var family = pokemonFamilies.First(q => q.FamilyId == setting.FamilyId);
64 |
65 | family.Candy_++;
66 |
67 | session.EventDispatcher.Send(new TransferPokemonEvent
68 | {
69 | Id = duplicatePokemon.PokemonId,
70 | Perfection = PokemonInfo.CalculatePokemonPerfection(duplicatePokemon),
71 | Cp = duplicatePokemon.Cp,
72 | BestCp = bestPokemonOfType.Cp,
73 | BestPerfection = PokemonInfo.CalculatePokemonPerfection(bestPokemonOfType),
74 | FamilyCandies = family.Candy_
75 | });
76 | await Task.Delay(session.LogicSettings.DelayTransferPokemon);
77 | }
78 | }
79 | }
80 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Tasks/TransferPokemonTask.cs:
--------------------------------------------------------------------------------
1 | using PoGo.PokeMobBot.Logic.State;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 |
8 | namespace PoGo.PokeMobBot.Logic.Tasks
9 | {
10 | public class TransferPokemonTask
11 | {
12 | public static async Task Execute(ISession session, string pokemonId)
13 | {
14 | var id = ulong.Parse(pokemonId);
15 |
16 | var all = await session.Inventory.GetPokemons();
17 | var pokemons = all.OrderByDescending(x => x.Cp).ThenBy(n => n.StaminaMax);
18 | var pokemon = pokemons.FirstOrDefault(p => p.Id == id);
19 |
20 | if (pokemon == null) return;
21 |
22 | var pokemonSettings = await session.Inventory.GetPokemonSettings();
23 | var pokemonFamilies = await session.Inventory.GetPokemonFamilies();
24 |
25 | await session.Client.Inventory.TransferPokemon(id);
26 | await session.Inventory.DeletePokemonFromInvById(id);
27 |
28 | var bestPokemonOfType = (session.LogicSettings.PrioritizeIvOverCp
29 | ? await session.Inventory.GetHighestPokemonOfTypeByIv(pokemon)
30 | : await session.Inventory.GetHighestPokemonOfTypeByCp(pokemon)) ?? pokemon;
31 |
32 | var setting = pokemonSettings.Single(q => q.PokemonId == pokemon.PokemonId);
33 | var family = pokemonFamilies.First(q => q.FamilyId == setting.FamilyId);
34 |
35 | family.Candy_++;
36 |
37 | // Broadcast event as everyone would benefit
38 | session.EventDispatcher.Send(new Logic.Event.TransferPokemonEvent
39 | {
40 | Id = pokemon.PokemonId,
41 | Perfection = Logic.PoGoUtils.PokemonInfo.CalculatePokemonPerfection(pokemon),
42 | Cp = pokemon.Cp,
43 | BestCp = bestPokemonOfType.Cp,
44 | BestPerfection = Logic.PoGoUtils.PokemonInfo.CalculatePokemonPerfection(bestPokemonOfType),
45 | FamilyCandies = family.Candy_
46 | });
47 |
48 | await Task.Delay(session.LogicSettings.DelayTransferPokemon);
49 | }
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Tasks/UseNearbyPokestopsTask.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System;
4 | using System.Collections.Generic;
5 | using System.Linq;
6 | using System.Threading;
7 | using System.Threading.Tasks;
8 | using PoGo.PokeMobBot.Logic.Event;
9 | using PoGo.PokeMobBot.Logic.State;
10 | using PoGo.PokeMobBot.Logic.Utils;
11 | using PokemonGo.RocketAPI.Extensions;
12 | using POGOProtos.Map.Fort;
13 |
14 | #endregion
15 |
16 | namespace PoGo.PokeMobBot.Logic.Tasks
17 | {
18 | internal class UseNearbyPokestopsTask
19 | {
20 | //Please do not change GetPokeStops() in this file, it's specifically set
21 | //to only find stops within 40 meters
22 | //this is for gpx pathing, we are not going to the pokestops,
23 | //so do not make it more than 40 because it will never get close to those stops.
24 | public static async Task Execute(ISession session, CancellationToken cancellationToken)
25 | {
26 | cancellationToken.ThrowIfCancellationRequested();
27 |
28 | var pokestopList = await GetPokeStops(session);
29 |
30 | while (pokestopList.Any())
31 | {
32 |
33 | cancellationToken.ThrowIfCancellationRequested();
34 |
35 | pokestopList =
36 | pokestopList.OrderBy(
37 | i =>
38 | LocationUtils.CalculateDistanceInMeters(session.Client.CurrentLatitude,
39 | session.Client.CurrentLongitude, i.Latitude, i.Longitude)).ToList();
40 | var pokeStop = pokestopList[0];
41 | pokestopList.RemoveAt(0);
42 | if (pokeStop.Used)
43 | break;
44 | var fortInfo = await session.Client.Fort.GetFort(pokeStop.Id, pokeStop.Latitude, pokeStop.Longitude);
45 |
46 | var fortSearch =
47 | await session.Client.Fort.SearchFort(pokeStop.Id, pokeStop.Latitude, pokeStop.Longitude);
48 |
49 | if (fortSearch.ExperienceAwarded > 0)
50 | {
51 | RuntimeSettings.StopsHit++;
52 | session.EventDispatcher.Send(new FortUsedEvent
53 | {
54 | Id = pokeStop.Id,
55 | Name = fortInfo.Name,
56 | Exp = fortSearch.ExperienceAwarded,
57 | Gems = fortSearch.GemsAwarded,
58 | Items = StringUtils.GetSummedFriendlyNameOfItemAwardList(fortSearch.ItemsAwarded),
59 | Latitude = pokeStop.Latitude,
60 | Longitude = pokeStop.Longitude
61 | });
62 | session.MapCache.UsedPokestop(pokeStop);
63 |
64 | }
65 | if (pokeStop.LureInfo != null)
66 | {//because we're all fucking idiots for not catching this sooner
67 | await CatchLurePokemonsTask.Execute(session, pokeStop.BaseFortData, cancellationToken);
68 | }
69 |
70 |
71 | //await RecycleItemsTask.Execute(session, cancellationToken);
72 |
73 | //if (session.LogicSettings.TransferDuplicatePokemon)
74 | //{
75 | // await TransferDuplicatePokemonTask.Execute(session, cancellationToken);
76 | //}
77 | }
78 | }
79 |
80 |
81 | private static async Task> GetPokeStops(ISession session)
82 | {
83 | List pokeStops = await session.MapCache.FortDatas(session);
84 |
85 | session.EventDispatcher.Send(new PokeStopListEvent { Forts = session.MapCache.baseFortDatas.ToList() });
86 |
87 | // Wasn't sure how to make this pretty. Edit as needed.
88 | pokeStops = pokeStops.Where(
89 | i =>
90 | i.Used == false && i.Type == FortType.Checkpoint &&
91 | i.CooldownCompleteTimestampMS < DateTime.UtcNow.ToUnixTime() &&
92 | ( // Make sure PokeStop is within 40 meters or else it is pointless to hit it
93 | LocationUtils.CalculateDistanceInMeters(
94 | session.Client.CurrentLatitude, session.Client.CurrentLongitude,
95 | i.Latitude, i.Longitude) < 40) ||
96 | session.LogicSettings.MaxTravelDistanceInMeters == 0
97 | ).ToList();
98 |
99 | return pokeStops;
100 |
101 | }
102 | }
103 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Utils/DelayingEvolveUtils.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System;
4 | using System.Threading.Tasks;
5 |
6 | #endregion
7 |
8 | namespace PoGo.PokeMobBot.Logic.Utils
9 | {
10 | public static class DelayingEvolveUtils
11 | {
12 | private static readonly Random RandomDevice = new Random();
13 |
14 | public static async Task Delay(int delay, int defdelay, double evolvevariation)
15 | {
16 | if (delay > defdelay)
17 | {
18 | var randomFactor = evolvevariation;
19 | var randomMin = (int)(delay * (1 - randomFactor));
20 | var randomMax = (int)(delay * (1 + randomFactor));
21 | var randomizedDelay = RandomDevice.Next(randomMin, randomMax);
22 |
23 | await Task.Delay(randomizedDelay);
24 | }
25 | else if (defdelay > 0)
26 | {
27 | await Task.Delay(defdelay);
28 | }
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Utils/DelayingUtils.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System;
4 | using System.Threading.Tasks;
5 |
6 | #endregion
7 |
8 | namespace PoGo.PokeMobBot.Logic.Utils
9 | {
10 | public static class DelayingUtils
11 | {
12 | private static readonly Random RandomDevice = new Random();
13 |
14 | public static async Task Delay(int delay, int defdelay)
15 | {
16 | if (delay > defdelay)
17 | {
18 | var randomFactor = 0.3f;
19 | var randomMin = (int)(delay * (1 - randomFactor));
20 | var randomMax = (int)(delay * (1 + randomFactor));
21 | var randomizedDelay = RandomDevice.Next(randomMin, randomMax);
22 |
23 | await Task.Delay(randomizedDelay);
24 | }
25 | else if (defdelay > 0)
26 | {
27 | await Task.Delay(defdelay);
28 | }
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Utils/EggWalker.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System.Threading;
4 | using System.Threading.Tasks;
5 | using PoGo.PokeMobBot.Logic.State;
6 | using PoGo.PokeMobBot.Logic.Tasks;
7 |
8 | #endregion
9 |
10 | namespace PoGo.PokeMobBot.Logic.Utils
11 | {
12 | internal class EggWalker
13 | {
14 | private readonly double _checkInterval;
15 | private readonly ISession _session;
16 |
17 | private double _distanceTraveled;
18 |
19 | public EggWalker(double checkIncubatorsIntervalMeters, ISession session)
20 | {
21 | _checkInterval = checkIncubatorsIntervalMeters;
22 | _session = session;
23 | }
24 |
25 | public async Task ApplyDistance(double distanceTraveled, CancellationToken cancellationToken)
26 | {
27 | cancellationToken.ThrowIfCancellationRequested();
28 |
29 | if (!_session.LogicSettings.UseEggIncubators)
30 | return;
31 |
32 | _distanceTraveled += distanceTraveled;
33 | if (_distanceTraveled > _checkInterval)
34 | {
35 | await UseIncubatorsTask.Execute(_session, cancellationToken);
36 | _distanceTraveled = 0;
37 | }
38 | }
39 | }
40 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Utils/JitterUtils.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System;
4 | using System.Threading.Tasks;
5 |
6 | #endregion
7 |
8 | namespace PoGo.PokeMobBot.Logic.Utils
9 | {
10 | public static class JitterUtils
11 | {
12 | private static readonly Random RandomDevice = new Random();
13 |
14 | public static Task RandomDelay(int min, int max)
15 | {
16 | return Task.Delay(RandomDevice.Next(min, max));
17 | }
18 | }
19 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/Utils/StringUtils.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using POGOProtos.Inventory.Item;
6 |
7 | #endregion
8 |
9 | namespace PoGo.PokeMobBot.Logic.Utils
10 | {
11 | public static class StringUtils
12 | {
13 | public static string GetSummedFriendlyNameOfItemAwardList(IEnumerable items)
14 | {
15 | var enumerable = items as IList ?? items.ToList();
16 |
17 | if (!enumerable.Any())
18 | return string.Empty;
19 |
20 | return
21 | enumerable.GroupBy(i => i.ItemId)
22 | .Select(kvp => new {ItemName = kvp.Key.ToString(), Amount = kvp.Sum(x => x.ItemCount)})
23 | .Select(y => $"{y.Amount} x {y.ItemName}")
24 | .Aggregate((a, b) => $"{a}, {b}");
25 | }
26 | }
27 | }
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/PoGo.PokeMobBot.Logic/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/PokeMobBot.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.25123.0
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PoGo.PokeMobBot.CLI", "PoGo.PokeMobBot.CLI\PoGo.PokeMobBot.CLI.csproj", "{1FEA147E-F704-497B-A538-00B053B5F672}"
7 | EndProject
8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PoGo.PokeMobBot.Logic", "PoGo.PokeMobBot.Logic\PoGo.PokeMobBot.Logic.csproj", "{0739E40D-C589-4AEB-93E5-EE8CD6773C60}"
9 | EndProject
10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "POGOProtos", "POGOProtos\POGOProtos.csproj", "{A03A7BB2-4F0B-467B-84B2-9A76E6AAE6FB}"
11 | EndProject
12 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PokemonGo.RocketAPI", "Pokemon-Go-Rocket-API\PokemonGo.RocketAPI\PokemonGo.RocketAPI.csproj", "{05D2DA44-1B8E-4CF7-94ED-4D52451CD095}"
13 | EndProject
14 | Global
15 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
16 | Debug|Any CPU = Debug|Any CPU
17 | Debug|x86 = Debug|x86
18 | Release|Any CPU = Release|Any CPU
19 | Release|x86 = Release|x86
20 | EndGlobalSection
21 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
22 | {1FEA147E-F704-497B-A538-00B053B5F672}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
23 | {1FEA147E-F704-497B-A538-00B053B5F672}.Debug|Any CPU.Build.0 = Debug|Any CPU
24 | {1FEA147E-F704-497B-A538-00B053B5F672}.Debug|x86.ActiveCfg = Debug|Any CPU
25 | {1FEA147E-F704-497B-A538-00B053B5F672}.Debug|x86.Build.0 = Debug|Any CPU
26 | {1FEA147E-F704-497B-A538-00B053B5F672}.Release|Any CPU.ActiveCfg = Release|Any CPU
27 | {1FEA147E-F704-497B-A538-00B053B5F672}.Release|Any CPU.Build.0 = Release|Any CPU
28 | {1FEA147E-F704-497B-A538-00B053B5F672}.Release|x86.ActiveCfg = Release|Any CPU
29 | {1FEA147E-F704-497B-A538-00B053B5F672}.Release|x86.Build.0 = Release|Any CPU
30 | {0739E40D-C589-4AEB-93E5-EE8CD6773C60}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
31 | {0739E40D-C589-4AEB-93E5-EE8CD6773C60}.Debug|Any CPU.Build.0 = Debug|Any CPU
32 | {0739E40D-C589-4AEB-93E5-EE8CD6773C60}.Debug|x86.ActiveCfg = Debug|Any CPU
33 | {0739E40D-C589-4AEB-93E5-EE8CD6773C60}.Debug|x86.Build.0 = Debug|Any CPU
34 | {0739E40D-C589-4AEB-93E5-EE8CD6773C60}.Release|Any CPU.ActiveCfg = Release|Any CPU
35 | {0739E40D-C589-4AEB-93E5-EE8CD6773C60}.Release|Any CPU.Build.0 = Release|Any CPU
36 | {0739E40D-C589-4AEB-93E5-EE8CD6773C60}.Release|x86.ActiveCfg = Release|Any CPU
37 | {0739E40D-C589-4AEB-93E5-EE8CD6773C60}.Release|x86.Build.0 = Release|Any CPU
38 | {A03A7BB2-4F0B-467B-84B2-9A76E6AAE6FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
39 | {A03A7BB2-4F0B-467B-84B2-9A76E6AAE6FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
40 | {A03A7BB2-4F0B-467B-84B2-9A76E6AAE6FB}.Debug|x86.ActiveCfg = Debug|x86
41 | {A03A7BB2-4F0B-467B-84B2-9A76E6AAE6FB}.Debug|x86.Build.0 = Debug|x86
42 | {A03A7BB2-4F0B-467B-84B2-9A76E6AAE6FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
43 | {A03A7BB2-4F0B-467B-84B2-9A76E6AAE6FB}.Release|Any CPU.Build.0 = Release|Any CPU
44 | {A03A7BB2-4F0B-467B-84B2-9A76E6AAE6FB}.Release|x86.ActiveCfg = Release|x86
45 | {A03A7BB2-4F0B-467B-84B2-9A76E6AAE6FB}.Release|x86.Build.0 = Release|x86
46 | {05D2DA44-1B8E-4CF7-94ED-4D52451CD095}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
47 | {05D2DA44-1B8E-4CF7-94ED-4D52451CD095}.Debug|Any CPU.Build.0 = Debug|Any CPU
48 | {05D2DA44-1B8E-4CF7-94ED-4D52451CD095}.Debug|x86.ActiveCfg = Debug|x86
49 | {05D2DA44-1B8E-4CF7-94ED-4D52451CD095}.Debug|x86.Build.0 = Debug|x86
50 | {05D2DA44-1B8E-4CF7-94ED-4D52451CD095}.Release|Any CPU.ActiveCfg = Release|Any CPU
51 | {05D2DA44-1B8E-4CF7-94ED-4D52451CD095}.Release|Any CPU.Build.0 = Release|Any CPU
52 | {05D2DA44-1B8E-4CF7-94ED-4D52451CD095}.Release|x86.ActiveCfg = Release|x86
53 | {05D2DA44-1B8E-4CF7-94ED-4D52451CD095}.Release|x86.Build.0 = Release|x86
54 | EndGlobalSection
55 | GlobalSection(SolutionProperties) = preSolution
56 | HideSolutionNode = FALSE
57 | EndGlobalSection
58 | GlobalSection(ExtensibilityGlobals) = postSolution
59 | EnterpriseLibraryConfigurationToolBinariesPathV6 = packages\EnterpriseLibrary.TransientFaultHandling.6.0.1304.0\lib\portable-net45+win+wp8;packages\EnterpriseLibrary.TransientFaultHandling.Data.6.0.1304.1\lib\NET45
60 | EndGlobalSection
61 | EndGlobal
62 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | The contents of this repo are a proof of concept and are for educational use only
4 |
5 |
10 |
11 |
12 | 
13 | 
14 | 
15 | 
16 | 
17 |
18 |
19 |
Join our Discord to hang out & Chat:
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | ## Bot is working, MobBot Redux Version in Development
28 | The latest Version is compatible with PoGo 0.33. Keep in mind that many of the API calls made by us ( and every other open source Bot out there ) are wrong. They will most likely flag you and get you banned.
29 | Thats why we started to work on a new Bot some while ago. MobBot Redux will feature a fully modular architecture, Plugins API and a totally redone API that focuses on emulating the client. More Informations & Updates on this on [our Twitter Page](https://twitter.com/PokeMobBot).
30 |
31 |
32 |
33 |
34 | - PTC Login / Google
35 | - Get Map Objects and Inventory
36 | - Search for gyms/pokestops/spawns
37 | - Farm pokestops
38 | - Farm all Pokemon in neighbourhood
39 | - Throw Berries/use best pokeball
40 | - Transfers duplicate pokemons
41 | - Evolve all pokemons
42 | - Throws away unneeded items
43 | - Humanlike Walking
44 | - Configurable Custom Pathing
45 | - Softban bypass
46 | - AutoUpdate / VersionCheck
47 | - Multilanguage Support
48 | - Use lucky egg while evolve
49 | - Egg Hatching Automatically
50 | - Multi bot support
51 | - Snipe pokemon
52 | - Power-Up pokemon
53 |
54 |
55 |
56 |
57 | Make sure you check out our [Wiki](https://github.com/PocketMobsters/PokeMobBot/wiki) to get started.
58 | MD5 Hash (v1.1.3) : bc0b52fb3d64c6d712820ff31a89ea61
59 |
60 |
61 |
62 | **Ferox** - API and Console, without such contributions, projects like this would never have been possible.
63 | **PokeMobTeam Dev & staff** - Their relentless work day after day on adding new features, ironing out bugs and maintaining the ever growing community.
64 | **Everyone else who submitted Pull Requests** - Big or small, the work from unmentioned contributors are what makes this project community-oriented.
65 |
66 |
67 |
68 | Copyright (c) 2016, MobBotTeam All rights reserved.
69 | Copyrights licensed under the GNU AGPLv3 License.
70 | See the accompanying LICENSE file for terms.
71 |
72 |
73 |
74 | This Website and Project is in no way affiliated with, authorized, maintained, sponsored or endorsed by Niantic, The Pokémon Company, Nintendo or any of its affiliates or subsidiaries. This is an independent and unofficial API proof of concept for educational use ONLY.
75 | Using the Project might be against the TOS
76 |
--------------------------------------------------------------------------------
/Resources/encrypt32.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MobBotTeam/PokeMobBot/6812cf794286bbd2c9a28e2b60ffab19b5747263/Resources/encrypt32.dll
--------------------------------------------------------------------------------
/Resources/encrypt64.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MobBotTeam/PokeMobBot/6812cf794286bbd2c9a28e2b60ffab19b5747263/Resources/encrypt64.dll
--------------------------------------------------------------------------------
/SharedAssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | #region using directives
2 |
3 | using System.Reflection;
4 | using System.Runtime.InteropServices;
5 |
6 | #endregion
7 |
8 | // General Information about an assembly is controlled through the following
9 | // set of attributes. Change these attribute values to modify the information
10 | // associated with an assembly.
11 |
12 | [assembly: AssemblyTitle("PokeMobBot for Pokémon GO")]
13 | [assembly: AssemblyDescription("")]
14 | [assembly: AssemblyConfiguration("")]
15 | [assembly: AssemblyCompany("")]
16 | [assembly: AssemblyProduct("PoGo.PokeMobBot.Logic")]
17 | [assembly: AssemblyCopyright("Copyright © 2016")]
18 | [assembly: AssemblyTrademark("")]
19 | [assembly: AssemblyCulture("")]
20 |
21 | // Setting ComVisible to false makes the types in this assembly not visible
22 | // to COM components. If you need to access a type in this assembly from
23 | // COM, set the ComVisible attribute to true on that type.
24 |
25 | [assembly: ComVisible(false)]
26 |
27 | // The following GUID is for the ID of the typelib if this project is exposed to COM
28 |
29 | [assembly: Guid("0739e40d-c589-4aeb-93e5-ee8cd6773c60")]
30 |
31 | // Version information for an assembly consists of the following four values:
32 | //
33 | // Major Version
34 | // Minor Version
35 | // Build Number
36 | // Revision
37 | //
38 | // You can specify all the values or you can default the Build and Revision Numbers
39 | // by using the '*' as shown below:
40 | // [assembly: AssemblyVersion("1.0.*")]
41 |
42 | [assembly: AssemblyVersion("1.1.3.0")]
43 | [assembly: AssemblyFileVersion("1.1.3.0")]
--------------------------------------------------------------------------------
/System.Data.HashFunction.Core.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MobBotTeam/PokeMobBot/6812cf794286bbd2c9a28e2b60ffab19b5747263/System.Data.HashFunction.Core.dll
--------------------------------------------------------------------------------
/System.Data.HashFunction.Interfaces.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MobBotTeam/PokeMobBot/6812cf794286bbd2c9a28e2b60ffab19b5747263/System.Data.HashFunction.Interfaces.dll
--------------------------------------------------------------------------------
/System.Data.HashFunction.xxHash.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MobBotTeam/PokeMobBot/6812cf794286bbd2c9a28e2b60ffab19b5747263/System.Data.HashFunction.xxHash.dll
--------------------------------------------------------------------------------