├── .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 |
6 | 7 | 8 | 9 |
10 |
11 | 12 | Supported PoGo Version
13 | Twitter
14 | Discord
15 | GitHub license
16 | Github All Releases
17 |
18 |
19 | Join our Discord to hang out & Chat:
20 | 21 | Logo 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 |

Features

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 |

Getting Started

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 |

Credits

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 |

Copyright

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 |

Legal

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 --------------------------------------------------------------------------------