Skip to content

Instantly share code, notes, and snippets.

@ultrafunkamsterdam
Created November 10, 2017 22:06
Show Gist options
  • Save ultrafunkamsterdam/07af2b5b0d0c8b95f44d97de541dfa26 to your computer and use it in GitHub Desktop.
Save ultrafunkamsterdam/07af2b5b0d0c8b95f44d97de541dfa26 to your computer and use it in GitHub Desktop.
syntax = "proto3";
package Holoholo.Rpc;
enum PokemonCreateContext
{
CREATE_CONTEXT_WILD = 0;
CREATE_CONTEXT_EGG = 1;
CREATE_CONTEXT_EVOLVE = 2;
}
enum FortType
{
GYM = 0;
CHECKPOINT = 1;
}
enum Item
{
ITEM_UNKNOWN = 0;
ITEM_POKE_BALL = 1;
ITEM_GREAT_BALL = 2;
ITEM_ULTRA_BALL = 3;
ITEM_MASTER_BALL = 4;
ITEM_PREMIER_BALL = 5;
ITEM_POTION = 101;
ITEM_SUPER_POTION = 102;
ITEM_HYPER_POTION = 103;
ITEM_MAX_POTION = 104;
ITEM_REVIVE = 201;
ITEM_MAX_REVIVE = 202;
ITEM_LUCKY_EGG = 301;
ITEM_INCENSE_ORDINARY = 401;
ITEM_INCENSE_SPICY = 402;
ITEM_INCENSE_COOL = 403;
ITEM_INCENSE_FLORAL = 404;
ITEM_TROY_DISK = 501;
ITEM_X_ATTACK = 602;
ITEM_X_DEFENSE = 603;
ITEM_X_MIRACLE = 604;
ITEM_RAZZ_BERRY = 701;
ITEM_BLUK_BERRY = 702;
ITEM_NANAB_BERRY = 703;
ITEM_WEPAR_BERRY = 704;
ITEM_PINAP_BERRY = 705;
ITEM_GOLDEN_RAZZ_BERRY = 706;
ITEM_GOLDEN_NANAB_BERRY = 707;
ITEM_GOLDEN_PINAP_BERRY = 708;
ITEM_SPECIAL_CAMERA = 801;
ITEM_INCUBATOR_BASIC_UNLIMITED = 901;
ITEM_INCUBATOR_BASIC = 902;
ITEM_INCUBATOR_SUPER = 903;
ITEM_POKEMON_STORAGE_UPGRADE = 1001;
ITEM_ITEM_STORAGE_UPGRADE = 1002;
ITEM_SUN_STONE = 1101;
ITEM_KINGS_ROCK = 1102;
ITEM_METAL_COAT = 1103;
ITEM_DRAGON_SCALE = 1104;
ITEM_UP_GRADE = 1105;
ITEM_MOVE_REROLL_FAST_ATTACK = 1201;
ITEM_MOVE_REROLL_SPECIAL_ATTACK = 1202;
ITEM_RARE_CANDY = 1301;
ITEM_FREE_RAID_TICKET = 1401;
ITEM_PAID_RAID_TICKET = 1402;
ITEM_LEGENDARY_RAID_TICKET = 1403;
}
enum PlayerAvatarType
{
PLAYER_AVATAR_MALE = 0;
PLAYER_AVATAR_FEMALE = 1;
}
enum InventoryUpgradeType
{
UPGRADE_UNSET = 0;
INCREASE_ITEM_STORAGE = 1;
INCREASE_POKEMON_STORAGE = 2;
}
enum QuestType
{
QUEST_UNKNOWN_TYPE = 0;
QUEST_FIRST_CATCH_OF_THE_DAY = 1;
QUEST_FIRST_POKESTOP_OF_THE_DAY = 2;
}
enum EggIncubatorType
{
INCUBATOR_UNSET = 0;
INCUBATOR_DISTANCE = 1;
}
enum Team
{
UNSET = 0;
TEAM_BLUE = 1;
TEAM_RED = 2;
TEAM_YELLOW = 3;
}
enum HoloPokemonType
{
POKEMON_TYPE_NONE = 0;
POKEMON_TYPE_NORMAL = 1;
POKEMON_TYPE_FIGHTING = 2;
POKEMON_TYPE_FLYING = 3;
POKEMON_TYPE_POISON = 4;
POKEMON_TYPE_GROUND = 5;
POKEMON_TYPE_ROCK = 6;
POKEMON_TYPE_BUG = 7;
POKEMON_TYPE_GHOST = 8;
POKEMON_TYPE_STEEL = 9;
POKEMON_TYPE_FIRE = 10;
POKEMON_TYPE_WATER = 11;
POKEMON_TYPE_GRASS = 12;
POKEMON_TYPE_ELECTRIC = 13;
POKEMON_TYPE_PSYCHIC = 14;
POKEMON_TYPE_ICE = 15;
POKEMON_TYPE_DRAGON = 16;
POKEMON_TYPE_DARK = 17;
POKEMON_TYPE_FAIRY = 18;
}
enum HoloPokemonClass
{
POKEMON_CLASS_NORMAL = 0;
POKEMON_CLASS_LEGENDARY = 1;
POKEMON_CLASS_MYTHIC = 2;
}
enum HoloPokemonNature
{
NATURE_UNKNOWN = 0;
V0001_POKEMON_NATURE_STOIC = 1;
V0002_POKEMON_NATURE_ASSASSIN = 2;
V0003_POKEMON_NATURE_GUARDIAN = 3;
V0004_POKEMON_NATURE_RAIDER = 4;
V0005_POKEMON_NATURE_PROTECTOR = 5;
V0006_POKEMON_NATURE_SENTRY = 6;
V0007_POKEMON_NATURE_CHAMPION = 7;
}
enum HoloPokemonMovementType
{
POKEMON_ENC_MOVEMENT_STATIC = 0;
POKEMON_ENC_MOVEMENT_JUMP = 1;
POKEMON_ENC_MOVEMENT_VERTICAL = 2;
POKEMON_ENC_MOVEMENT_PSYCHIC = 3;
POKEMON_ENC_MOVEMENT_ELECTRIC = 4;
POKEMON_ENC_MOVEMENT_FLYING = 5;
POKEMON_ENC_MOVEMENT_HOVERING = 6;
}
enum HoloItemType
{
ITEM_TYPE_NONE = 0;
ITEM_TYPE_POKEBALL = 1;
ITEM_TYPE_POTION = 2;
ITEM_TYPE_REVIVE = 3;
ITEM_TYPE_MAP = 4;
ITEM_TYPE_BATTLE = 5;
ITEM_TYPE_FOOD = 6;
ITEM_TYPE_CAMERA = 7;
ITEM_TYPE_DISK = 8;
ITEM_TYPE_INCUBATOR = 9;
ITEM_TYPE_INCENSE = 10;
ITEM_TYPE_XP_BOOST = 11;
ITEM_TYPE_INVENTORY_UPGRADE = 12;
ITEM_TYPE_EVOLUTION_REQUIREMENT = 13;
ITEM_TYPE_MOVE_REROLL = 14;
ITEM_TYPE_CANDY = 15;
ITEM_TYPE_RAID_TICKET = 16;
}
enum HoloItemCategory
{
ITEM_CATEGORY_NONE = 0;
ITEM_CATEGORY_POKEBALL = 1;
ITEM_CATEGORY_FOOD = 2;
ITEM_CATEGORY_MEDICINE = 3;
ITEM_CATEGORY_BOOST = 4;
ITEM_CATEGORY_UTILITES = 5;
ITEM_CATEGORY_CAMERA = 6;
ITEM_CATEGORY_DISK = 7;
ITEM_CATEGORY_INCUBATOR = 8;
ITEM_CATEGORY_INCENSE = 9;
ITEM_CATEGORY_XP_BOOST = 10;
ITEM_CATEGORY_INVENTORY_UPGRADE = 11;
ITEM_CATEGORY_EVOLUTION_REQUIREMENT = 12;
ITEM_CATEGORY_MOVE_REROLL = 13;
ITEM_CATEGORY_CANDY = 14;
ITEM_CATEGORY_RAID_TICKET = 15;
}
enum HoloIapItemCategory
{
IAP_CATEGORY_NONE = 0;
IAP_CATEGORY_BUNDLE = 1;
IAP_CATEGORY_ITEMS = 2;
IAP_CATEGORY_UPGRADES = 3;
IAP_CATEGORY_POKECOINS = 4;
IAP_CATEGORY_AVATAR = 5;
}
enum HoloItemEffect
{
ITEM_EFFECT_NONE = 0;
ITEM_EFFECT_CAP_NO_FLEE = 1000;
ITEM_EFFECT_CAP_NO_MOVEMENT = 1002;
ITEM_EFFECT_CAP_NO_THREAT = 1003;
ITEM_EFFECT_CAP_TARGET_MAX = 1004;
ITEM_EFFECT_CAP_TARGET_SLOW = 1005;
ITEM_EFFECT_CAP_CHANCE_NIGHT = 1006;
ITEM_EFFECT_CAP_CHANCE_TRAINER = 1007;
ITEM_EFFECT_CAP_CHANCE_FIRST_THROW = 1008;
ITEM_EFFECT_CAP_CHANCE_LEGEND = 1009;
ITEM_EFFECT_CAP_CHANCE_HEAVY = 1010;
ITEM_EFFECT_CAP_CHANCE_REPEAT = 1011;
ITEM_EFFECT_CAP_CHANCE_MULTI_THROW = 1012;
ITEM_EFFECT_CAP_CHANCE_ALWAYS = 1013;
ITEM_EFFECT_CAP_CHANCE_SINGLE_THROW = 1014;
ITEM_EFFECT_CANDY_AWARD = 1015;
ITEM_EFFECT_FULL_MOTIVATION = 1016;
}
enum HoloActivityType
{
ACTIVITY_UNKNOWN = 0;
ACTIVITY_CATCH_POKEMON = 1;
ACTIVITY_CATCH_LEGEND_POKEMON = 2;
ACTIVITY_FLEE_POKEMON = 3;
ACTIVITY_DEFEAT_FORT = 4;
ACTIVITY_EVOLVE_POKEMON = 5;
ACTIVITY_HATCH_EGG = 6;
ACTIVITY_WALK_KM = 7;
ACTIVITY_POKEDEX_ENTRY_NEW = 8;
ACTIVITY_CATCH_FIRST_THROW = 9;
ACTIVITY_CATCH_NICE_THROW = 10;
ACTIVITY_CATCH_GREAT_THROW = 11;
ACTIVITY_CATCH_EXCELLENT_THROW = 12;
ACTIVITY_CATCH_CURVEBALL = 13;
ACTIVITY_CATCH_FIRST_CATCH_OF_DAY = 14;
ACTIVITY_CATCH_MILESTONE = 15;
ACTIVITY_TRAIN_POKEMON = 16;
ACTIVITY_SEARCH_FORT = 17;
ACTIVITY_RELEASE_POKEMON = 18;
ACTIVITY_HATCH_EGG_SMALL_BONUS = 19;
ACTIVITY_HATCH_EGG_MEDIUM_BONUS = 20;
ACTIVITY_HATCH_EGG_LARGE_BONUS = 21;
ACTIVITY_DEFEAT_GYM_DEFENDER = 22;
ACTIVITY_DEFEAT_GYM_LEADER = 23;
ACTIVITY_CATCH_FIRST_CATCH_STREAK_BONUS = 24;
ACTIVITY_SEARCH_FORT_FIRST_OF_THE_DAY = 25;
ACTIVITY_SEARCH_FORT_STREAK_BONUS = 26;
ACTIVITY_DEFEAT_RAID_POKEMON = 27;
ACTIVITY_FEED_BERRY = 28;
ACTIVITY_SEARCH_GYM = 29;
ACTIVITY_NEW_POKESTOP = 30;
ACTIVITY_GYM_BATTLE_LOSS = 31;
}
enum HoloBadgeType
{
BADGE_UNSET = 0;
BADGE_TRAVEL_KM = 1;
BADGE_POKEDEX_ENTRIES = 2;
BADGE_CAPTURE_TOTAL = 3;
BADGE_DEFEATED_FORT = 4;
BADGE_EVOLVED_TOTAL = 5;
BADGE_HATCHED_TOTAL = 6;
BADGE_ENCOUNTERED_TOTAL = 7;
BADGE_POKESTOPS_VISITED = 8;
BADGE_UNIQUE_POKESTOPS = 9;
BADGE_POKEBALL_THROWN = 10;
BADGE_BIG_MAGIKARP = 11;
BADGE_DEPLOYED_TOTAL = 12;
BADGE_BATTLE_ATTACK_WON = 13;
BADGE_BATTLE_TRAINING_WON = 14;
BADGE_BATTLE_DEFEND_WON = 15;
BADGE_PRESTIGE_RAISED = 16;
BADGE_PRESTIGE_DROPPED = 17;
BADGE_TYPE_NORMAL = 18;
BADGE_TYPE_FIGHTING = 19;
BADGE_TYPE_FLYING = 20;
BADGE_TYPE_POISON = 21;
BADGE_TYPE_GROUND = 22;
BADGE_TYPE_ROCK = 23;
BADGE_TYPE_BUG = 24;
BADGE_TYPE_GHOST = 25;
BADGE_TYPE_STEEL = 26;
BADGE_TYPE_FIRE = 27;
BADGE_TYPE_WATER = 28;
BADGE_TYPE_GRASS = 29;
BADGE_TYPE_ELECTRIC = 30;
BADGE_TYPE_PSYCHIC = 31;
BADGE_TYPE_ICE = 32;
BADGE_TYPE_DRAGON = 33;
BADGE_TYPE_DARK = 34;
BADGE_TYPE_FAIRY = 35;
BADGE_SMALL_RATTATA = 36;
BADGE_PIKACHU = 37;
BADGE_UNOWN = 38;
BADGE_POKEDEX_ENTRIES_GEN2 = 39;
BADGE_RAID_BATTLE_WON = 40;
BADGE_LEGENDARY_BATTLE_WON = 41;
BADGE_BERRIES_FED = 42;
BADGE_HOURS_DEFENDED = 43;
BADGE_PLACE_HOLDER = 44;
BADGE_POKEDEX_ENTRIES_GEN3 = 45;
BADGE_EVENT_MIN = 2000;
BADGE_CHICAGO_FEST_JULY_2017 = 2001;
BADGE_PIKACHU_OUTBREAK_YOKOHAMA_2017 = 2002;
BADGE_SAFARI_ZONE_EUROPE_2017 = 2003;
BADGE_SAFARI_ZONE_EUROPE_2017_10_07 = 2004;
BADGE_SAFARI_ZONE_EUROPE_2017_10_14 = 2005;
}
enum CameraInterpolation
{
CAM_INTERP_CUT = 0;
CAM_INTERP_LINEAR = 1;
CAM_INTERP_SMOOTH = 2;
CAM_INTERP_SMOOTH_ROT_LINEAR_MOVE = 3;
CAM_INTERP_DEPENDS = 4;
}
enum CameraTarget
{
CAM_TARGET_ATTACKER = 0;
CAM_TARGET_ATTACKER_EDGE = 1;
CAM_TARGET_ATTACKER_GROUND = 2;
CAM_TARGET_DEFENDER = 3;
CAM_TARGET_DEFENDER_EDGE = 4;
CAM_TARGET_DEFENDER_GROUND = 5;
CAM_TARGET_ATTACKER_DEFENDER = 6;
CAM_TARGET_ATTACKER_DEFENDER_EDGE = 7;
CAM_TARGET_DEFENDER_ATTACKER = 8;
CAM_TARGET_DEFENDER_ATTACKER_EDGE = 9;
CAM_TARGET_ATTACKER_DEFENDER_MIRROR = 11;
CAM_TARGET_SHOULDER_ATTACKER_DEFENDER = 12;
CAM_TARGET_SHOULDER_ATTACKER_DEFENDER_MIRROR = 13;
CAM_TARGET_ATTACKER_DEFENDER_WORLD = 14;
}
enum HoloPokemonMove
{
MOVE_UNSET = 0;
V0001_MOVE_THUNDER_SHOCK = 1;
V0002_MOVE_QUICK_ATTACK = 2;
V0003_MOVE_SCRATCH = 3;
V0004_MOVE_EMBER = 4;
V0005_MOVE_VINE_WHIP = 5;
V0006_MOVE_TACKLE = 6;
V0007_MOVE_RAZOR_LEAF = 7;
V0008_MOVE_TAKE_DOWN = 8;
V0009_MOVE_WATER_GUN = 9;
V0010_MOVE_BITE = 10;
V0011_MOVE_POUND = 11;
V0012_MOVE_DOUBLE_SLAP = 12;
V0013_MOVE_WRAP = 13;
V0014_MOVE_HYPER_BEAM = 14;
V0015_MOVE_LICK = 15;
V0016_MOVE_DARK_PULSE = 16;
V0017_MOVE_SMOG = 17;
V0018_MOVE_SLUDGE = 18;
V0019_MOVE_METAL_CLAW = 19;
V0020_MOVE_VICE_GRIP = 20;
V0021_MOVE_FLAME_WHEEL = 21;
V0022_MOVE_MEGAHORN = 22;
V0023_MOVE_WING_ATTACK = 23;
V0024_MOVE_FLAMETHROWER = 24;
V0025_MOVE_SUCKER_PUNCH = 25;
V0026_MOVE_DIG = 26;
V0027_MOVE_LOW_KICK = 27;
V0028_MOVE_CROSS_CHOP = 28;
V0029_MOVE_PSYCHO_CUT = 29;
V0030_MOVE_PSYBEAM = 30;
V0031_MOVE_EARTHQUAKE = 31;
V0032_MOVE_STONE_EDGE = 32;
V0033_MOVE_ICE_PUNCH = 33;
V0034_MOVE_HEART_STAMP = 34;
V0035_MOVE_DISCHARGE = 35;
V0036_MOVE_FLASH_CANNON = 36;
V0037_MOVE_PECK = 37;
V0038_MOVE_DRILL_PECK = 38;
V0039_MOVE_ICE_BEAM = 39;
V0040_MOVE_BLIZZARD = 40;
V0041_MOVE_AIR_SLASH = 41;
V0042_MOVE_HEAT_WAVE = 42;
V0043_MOVE_TWINEEDLE = 43;
V0044_MOVE_POISON_JAB = 44;
V0045_MOVE_AERIAL_ACE = 45;
V0046_MOVE_DRILL_RUN = 46;
V0047_MOVE_PETAL_BLIZZARD = 47;
V0048_MOVE_MEGA_DRAIN = 48;
V0049_MOVE_BUG_BUZZ = 49;
V0050_MOVE_POISON_FANG = 50;
V0051_MOVE_NIGHT_SLASH = 51;
V0052_MOVE_SLASH = 52;
V0053_MOVE_BUBBLE_BEAM = 53;
V0054_MOVE_SUBMISSION = 54;
V0055_MOVE_KARATE_CHOP = 55;
V0056_MOVE_LOW_SWEEP = 56;
V0057_MOVE_AQUA_JET = 57;
V0058_MOVE_AQUA_TAIL = 58;
V0059_MOVE_SEED_BOMB = 59;
V0060_MOVE_PSYSHOCK = 60;
V0061_MOVE_ROCK_THROW = 61;
V0062_MOVE_ANCIENT_POWER = 62;
V0063_MOVE_ROCK_TOMB = 63;
V0064_MOVE_ROCK_SLIDE = 64;
V0065_MOVE_POWER_GEM = 65;
V0066_MOVE_SHADOW_SNEAK = 66;
V0067_MOVE_SHADOW_PUNCH = 67;
V0068_MOVE_SHADOW_CLAW = 68;
V0069_MOVE_OMINOUS_WIND = 69;
V0070_MOVE_SHADOW_BALL = 70;
V0071_MOVE_BULLET_PUNCH = 71;
V0072_MOVE_MAGNET_BOMB = 72;
V0073_MOVE_STEEL_WING = 73;
V0074_MOVE_IRON_HEAD = 74;
V0075_MOVE_PARABOLIC_CHARGE = 75;
V0076_MOVE_SPARK = 76;
V0077_MOVE_THUNDER_PUNCH = 77;
V0078_MOVE_THUNDER = 78;
V0079_MOVE_THUNDERBOLT = 79;
V0080_MOVE_TWISTER = 80;
V0081_MOVE_DRAGON_BREATH = 81;
V0082_MOVE_DRAGON_PULSE = 82;
V0083_MOVE_DRAGON_CLAW = 83;
V0084_MOVE_DISARMING_VOICE = 84;
V0085_MOVE_DRAINING_KISS = 85;
V0086_MOVE_DAZZLING_GLEAM = 86;
V0087_MOVE_MOONBLAST = 87;
V0088_MOVE_PLAY_ROUGH = 88;
V0089_MOVE_CROSS_POISON = 89;
V0090_MOVE_SLUDGE_BOMB = 90;
V0091_MOVE_SLUDGE_WAVE = 91;
V0092_MOVE_GUNK_SHOT = 92;
V0093_MOVE_MUD_SHOT = 93;
V0094_MOVE_BONE_CLUB = 94;
V0095_MOVE_BULLDOZE = 95;
V0096_MOVE_MUD_BOMB = 96;
V0097_MOVE_FURY_CUTTER = 97;
V0098_MOVE_BUG_BITE = 98;
V0099_MOVE_SIGNAL_BEAM = 99;
V0100_MOVE_X_SCISSOR = 100;
V0101_MOVE_FLAME_CHARGE = 101;
V0102_MOVE_FLAME_BURST = 102;
V0103_MOVE_FIRE_BLAST = 103;
V0104_MOVE_BRINE = 104;
V0105_MOVE_WATER_PULSE = 105;
V0106_MOVE_SCALD = 106;
V0107_MOVE_HYDRO_PUMP = 107;
V0108_MOVE_PSYCHIC = 108;
V0109_MOVE_PSYSTRIKE = 109;
V0110_MOVE_ICE_SHARD = 110;
V0111_MOVE_ICY_WIND = 111;
V0112_MOVE_FROST_BREATH = 112;
V0113_MOVE_ABSORB = 113;
V0114_MOVE_GIGA_DRAIN = 114;
V0115_MOVE_FIRE_PUNCH = 115;
V0116_MOVE_SOLAR_BEAM = 116;
V0117_MOVE_LEAF_BLADE = 117;
V0118_MOVE_POWER_WHIP = 118;
V0119_MOVE_SPLASH = 119;
V0120_MOVE_ACID = 120;
V0121_MOVE_AIR_CUTTER = 121;
V0122_MOVE_HURRICANE = 122;
V0123_MOVE_BRICK_BREAK = 123;
V0124_MOVE_CUT = 124;
V0125_MOVE_SWIFT = 125;
V0126_MOVE_HORN_ATTACK = 126;
V0127_MOVE_STOMP = 127;
V0128_MOVE_HEADBUTT = 128;
V0129_MOVE_HYPER_FANG = 129;
V0130_MOVE_SLAM = 130;
V0131_MOVE_BODY_SLAM = 131;
V0132_MOVE_REST = 132;
V0133_MOVE_STRUGGLE = 133;
V0134_MOVE_SCALD_BLASTOISE = 134;
V0135_MOVE_HYDRO_PUMP_BLASTOISE = 135;
V0136_MOVE_WRAP_GREEN = 136;
V0137_MOVE_WRAP_PINK = 137;
V0200_MOVE_FURY_CUTTER_FAST = 200;
V0201_MOVE_BUG_BITE_FAST = 201;
V0202_MOVE_BITE_FAST = 202;
V0203_MOVE_SUCKER_PUNCH_FAST = 203;
V0204_MOVE_DRAGON_BREATH_FAST = 204;
V0205_MOVE_THUNDER_SHOCK_FAST = 205;
V0206_MOVE_SPARK_FAST = 206;
V0207_MOVE_LOW_KICK_FAST = 207;
V0208_MOVE_KARATE_CHOP_FAST = 208;
V0209_MOVE_EMBER_FAST = 209;
V0210_MOVE_WING_ATTACK_FAST = 210;
V0211_MOVE_PECK_FAST = 211;
V0212_MOVE_LICK_FAST = 212;
V0213_MOVE_SHADOW_CLAW_FAST = 213;
V0214_MOVE_VINE_WHIP_FAST = 214;
V0215_MOVE_RAZOR_LEAF_FAST = 215;
V0216_MOVE_MUD_SHOT_FAST = 216;
V0217_MOVE_ICE_SHARD_FAST = 217;
V0218_MOVE_FROST_BREATH_FAST = 218;
V0219_MOVE_QUICK_ATTACK_FAST = 219;
V0220_MOVE_SCRATCH_FAST = 220;
V0221_MOVE_TACKLE_FAST = 221;
V0222_MOVE_POUND_FAST = 222;
V0223_MOVE_CUT_FAST = 223;
V0224_MOVE_POISON_JAB_FAST = 224;
V0225_MOVE_ACID_FAST = 225;
V0226_MOVE_PSYCHO_CUT_FAST = 226;
V0227_MOVE_ROCK_THROW_FAST = 227;
V0228_MOVE_METAL_CLAW_FAST = 228;
V0229_MOVE_BULLET_PUNCH_FAST = 229;
V0230_MOVE_WATER_GUN_FAST = 230;
V0231_MOVE_SPLASH_FAST = 231;
V0232_MOVE_WATER_GUN_FAST_BLASTOISE = 232;
V0233_MOVE_MUD_SLAP_FAST = 233;
V0234_MOVE_ZEN_HEADBUTT_FAST = 234;
V0235_MOVE_CONFUSION_FAST = 235;
V0236_MOVE_POISON_STING_FAST = 236;
V0237_MOVE_BUBBLE_FAST = 237;
V0238_MOVE_FEINT_ATTACK_FAST = 238;
V0239_MOVE_STEEL_WING_FAST = 239;
V0240_MOVE_FIRE_FANG_FAST = 240;
V0241_MOVE_ROCK_SMASH_FAST = 241;
V0242_MOVE_TRANSFORM_FAST = 242;
V0243_MOVE_COUNTER_FAST = 243;
V0244_MOVE_POWDER_SNOW_FAST = 244;
V0245_MOVE_CLOSE_COMBAT = 245;
V0246_MOVE_DYNAMIC_PUNCH = 246;
V0247_MOVE_FOCUS_BLAST = 247;
V0248_MOVE_AURORA_BEAM = 248;
V0249_MOVE_CHARGE_BEAM_FAST = 249;
V0250_MOVE_VOLT_SWITCH_FAST = 250;
V0251_MOVE_WILD_CHARGE = 251;
V0252_MOVE_ZAP_CANNON = 252;
V0253_MOVE_DRAGON_TAIL_FAST = 253;
V0254_MOVE_AVALANCHE = 254;
V0255_MOVE_AIR_SLASH_FAST = 255;
V0256_MOVE_BRAVE_BIRD = 256;
V0257_MOVE_SKY_ATTACK = 257;
V0258_MOVE_SAND_TOMB = 258;
V0259_MOVE_ROCK_BLAST = 259;
V0260_MOVE_INFESTATION_FAST = 260;
V0261_MOVE_STRUGGLE_BUG_FAST = 261;
V0262_MOVE_SILVER_WIND = 262;
V0263_MOVE_ASTONISH_FAST = 263;
V0264_MOVE_HEX_FAST = 264;
V0265_MOVE_NIGHT_SHADE = 265;
V0266_MOVE_IRON_TAIL_FAST = 266;
V0267_MOVE_GYRO_BALL = 267;
V0268_MOVE_HEAVY_SLAM = 268;
V0269_MOVE_FIRE_SPIN_FAST = 269;
V0270_MOVE_OVERHEAT = 270;
V0271_MOVE_BULLET_SEED_FAST = 271;
V0272_MOVE_GRASS_KNOT = 272;
V0273_MOVE_ENERGY_BALL = 273;
V0274_MOVE_EXTRASENSORY_FAST = 274;
V0275_MOVE_FUTURESIGHT = 275;
V0276_MOVE_MIRROR_COAT = 276;
V0277_MOVE_OUTRAGE = 277;
V0278_MOVE_SNARL_FAST = 278;
V0279_MOVE_CRUNCH = 279;
V0280_MOVE_FOUL_PLAY = 280;
V0281_MOVE_HIDDEN_POWER_FAST = 281;
}
enum HoloPokemonId
{
POKEMON_UNSET = 0;
V0001_POKEMON_BULBASAUR = 1;
V0002_POKEMON_IVYSAUR = 2;
V0003_POKEMON_VENUSAUR = 3;
V0004_POKEMON_CHARMANDER = 4;
V0005_POKEMON_CHARMELEON = 5;
V0006_POKEMON_CHARIZARD = 6;
V0007_POKEMON_SQUIRTLE = 7;
V0008_POKEMON_WARTORTLE = 8;
V0009_POKEMON_BLASTOISE = 9;
V0010_POKEMON_CATERPIE = 10;
V0011_POKEMON_METAPOD = 11;
V0012_POKEMON_BUTTERFREE = 12;
V0013_POKEMON_WEEDLE = 13;
V0014_POKEMON_KAKUNA = 14;
V0015_POKEMON_BEEDRILL = 15;
V0016_POKEMON_PIDGEY = 16;
V0017_POKEMON_PIDGEOTTO = 17;
V0018_POKEMON_PIDGEOT = 18;
V0019_POKEMON_RATTATA = 19;
V0020_POKEMON_RATICATE = 20;
V0021_POKEMON_SPEAROW = 21;
V0022_POKEMON_FEAROW = 22;
V0023_POKEMON_EKANS = 23;
V0024_POKEMON_ARBOK = 24;
V0025_POKEMON_PIKACHU = 25;
V0026_POKEMON_RAICHU = 26;
V0027_POKEMON_SANDSHREW = 27;
V0028_POKEMON_SANDSLASH = 28;
V0029_POKEMON_NIDORAN = 29;
V0030_POKEMON_NIDORINA = 30;
V0031_POKEMON_NIDOQUEEN = 31;
V0032_POKEMON_NIDORAN = 32;
V0033_POKEMON_NIDORINO = 33;
V0034_POKEMON_NIDOKING = 34;
V0035_POKEMON_CLEFAIRY = 35;
V0036_POKEMON_CLEFABLE = 36;
V0037_POKEMON_VULPIX = 37;
V0038_POKEMON_NINETALES = 38;
V0039_POKEMON_JIGGLYPUFF = 39;
V0040_POKEMON_WIGGLYTUFF = 40;
V0041_POKEMON_ZUBAT = 41;
V0042_POKEMON_GOLBAT = 42;
V0043_POKEMON_ODDISH = 43;
V0044_POKEMON_GLOOM = 44;
V0045_POKEMON_VILEPLUME = 45;
V0046_POKEMON_PARAS = 46;
V0047_POKEMON_PARASECT = 47;
V0048_POKEMON_VENONAT = 48;
V0049_POKEMON_VENOMOTH = 49;
V0050_POKEMON_DIGLETT = 50;
V0051_POKEMON_DUGTRIO = 51;
V0052_POKEMON_MEOWTH = 52;
V0053_POKEMON_PERSIAN = 53;
V0054_POKEMON_PSYDUCK = 54;
V0055_POKEMON_GOLDUCK = 55;
V0056_POKEMON_MANKEY = 56;
V0057_POKEMON_PRIMEAPE = 57;
V0058_POKEMON_GROWLITHE = 58;
V0059_POKEMON_ARCANINE = 59;
V0060_POKEMON_POLIWAG = 60;
V0061_POKEMON_POLIWHIRL = 61;
V0062_POKEMON_POLIWRATH = 62;
V0063_POKEMON_ABRA = 63;
V0064_POKEMON_KADABRA = 64;
V0065_POKEMON_ALAKAZAM = 65;
V0066_POKEMON_MACHOP = 66;
V0067_POKEMON_MACHOKE = 67;
V0068_POKEMON_MACHAMP = 68;
V0069_POKEMON_BELLSPROUT = 69;
V0070_POKEMON_WEEPINBELL = 70;
V0071_POKEMON_VICTREEBEL = 71;
V0072_POKEMON_TENTACOOL = 72;
V0073_POKEMON_TENTACRUEL = 73;
V0074_POKEMON_GEODUDE = 74;
V0075_POKEMON_GRAVELER = 75;
V0076_POKEMON_GOLEM = 76;
V0077_POKEMON_PONYTA = 77;
V0078_POKEMON_RAPIDASH = 78;
V0079_POKEMON_SLOWPOKE = 79;
V0080_POKEMON_SLOWBRO = 80;
V0081_POKEMON_MAGNEMITE = 81;
V0082_POKEMON_MAGNETON = 82;
V0083_POKEMON_FARFETCHD = 83;
V0084_POKEMON_DODUO = 84;
V0085_POKEMON_DODRIO = 85;
V0086_POKEMON_SEEL = 86;
V0087_POKEMON_DEWGONG = 87;
V0088_POKEMON_GRIMER = 88;
V0089_POKEMON_MUK = 89;
V0090_POKEMON_SHELLDER = 90;
V0091_POKEMON_CLOYSTER = 91;
V0092_POKEMON_GASTLY = 92;
V0093_POKEMON_HAUNTER = 93;
V0094_POKEMON_GENGAR = 94;
V0095_POKEMON_ONIX = 95;
V0096_POKEMON_DROWZEE = 96;
V0097_POKEMON_HYPNO = 97;
V0098_POKEMON_KRABBY = 98;
V0099_POKEMON_KINGLER = 99;
V0100_POKEMON_VOLTORB = 100;
V0101_POKEMON_ELECTRODE = 101;
V0102_POKEMON_EXEGGCUTE = 102;
V0103_POKEMON_EXEGGUTOR = 103;
V0104_POKEMON_CUBONE = 104;
V0105_POKEMON_MAROWAK = 105;
V0106_POKEMON_HITMONLEE = 106;
V0107_POKEMON_HITMONCHAN = 107;
V0108_POKEMON_LICKITUNG = 108;
V0109_POKEMON_KOFFING = 109;
V0110_POKEMON_WEEZING = 110;
V0111_POKEMON_RHYHORN = 111;
V0112_POKEMON_RHYDON = 112;
V0113_POKEMON_CHANSEY = 113;
V0114_POKEMON_TANGELA = 114;
V0115_POKEMON_KANGASKHAN = 115;
V0116_POKEMON_HORSEA = 116;
V0117_POKEMON_SEADRA = 117;
V0118_POKEMON_GOLDEEN = 118;
V0119_POKEMON_SEAKING = 119;
V0120_POKEMON_STARYU = 120;
V0121_POKEMON_STARMIE = 121;
V0122_POKEMON_MR_MIME = 122;
V0123_POKEMON_SCYTHER = 123;
V0124_POKEMON_JYNX = 124;
V0125_POKEMON_ELECTABUZZ = 125;
V0126_POKEMON_MAGMAR = 126;
V0127_POKEMON_PINSIR = 127;
V0128_POKEMON_TAUROS = 128;
V0129_POKEMON_MAGIKARP = 129;
V0130_POKEMON_GYARADOS = 130;
V0131_POKEMON_LAPRAS = 131;
V0132_POKEMON_DITTO = 132;
V0133_POKEMON_EEVEE = 133;
V0134_POKEMON_VAPOREON = 134;
V0135_POKEMON_JOLTEON = 135;
V0136_POKEMON_FLAREON = 136;
V0137_POKEMON_PORYGON = 137;
V0138_POKEMON_OMANYTE = 138;
V0139_POKEMON_OMASTAR = 139;
V0140_POKEMON_KABUTO = 140;
V0141_POKEMON_KABUTOPS = 141;
V0142_POKEMON_AERODACTYL = 142;
V0143_POKEMON_SNORLAX = 143;
V0144_POKEMON_ARTICUNO = 144;
V0145_POKEMON_ZAPDOS = 145;
V0146_POKEMON_MOLTRES = 146;
V0147_POKEMON_DRATINI = 147;
V0148_POKEMON_DRAGONAIR = 148;
V0149_POKEMON_DRAGONITE = 149;
V0150_POKEMON_MEWTWO = 150;
V0151_POKEMON_MEW = 151;
V0152_POKEMON_CHIKORITA = 152;
V0153_POKEMON_BAYLEEF = 153;
V0154_POKEMON_MEGANIUM = 154;
V0155_POKEMON_CYNDAQUIL = 155;
V0156_POKEMON_QUILAVA = 156;
V0157_POKEMON_TYPHLOSION = 157;
V0158_POKEMON_TOTODILE = 158;
V0159_POKEMON_CROCONAW = 159;
V0160_POKEMON_FERALIGATR = 160;
V0161_POKEMON_SENTRET = 161;
V0162_POKEMON_FURRET = 162;
V0163_POKEMON_HOOTHOOT = 163;
V0164_POKEMON_NOCTOWL = 164;
V0165_POKEMON_LEDYBA = 165;
V0166_POKEMON_LEDIAN = 166;
V0167_POKEMON_SPINARAK = 167;
V0168_POKEMON_ARIADOS = 168;
V0169_POKEMON_CROBAT = 169;
V0170_POKEMON_CHINCHOU = 170;
V0171_POKEMON_LANTURN = 171;
V0172_POKEMON_PICHU = 172;
V0173_POKEMON_CLEFFA = 173;
V0174_POKEMON_IGGLYBUFF = 174;
V0175_POKEMON_TOGEPI = 175;
V0176_POKEMON_TOGETIC = 176;
V0177_POKEMON_NATU = 177;
V0178_POKEMON_XATU = 178;
V0179_POKEMON_MAREEP = 179;
V0180_POKEMON_FLAAFFY = 180;
V0181_POKEMON_AMPHAROS = 181;
V0182_POKEMON_BELLOSSOM = 182;
V0183_POKEMON_MARILL = 183;
V0184_POKEMON_AZUMARILL = 184;
V0185_POKEMON_SUDOWOODO = 185;
V0186_POKEMON_POLITOED = 186;
V0187_POKEMON_HOPPIP = 187;
V0188_POKEMON_SKIPLOOM = 188;
V0189_POKEMON_JUMPLUFF = 189;
V0190_POKEMON_AIPOM = 190;
V0191_POKEMON_SUNKERN = 191;
V0192_POKEMON_SUNFLORA = 192;
V0193_POKEMON_YANMA = 193;
V0194_POKEMON_WOOPER = 194;
V0195_POKEMON_QUAGSIRE = 195;
V0196_POKEMON_ESPEON = 196;
V0197_POKEMON_UMBREON = 197;
V0198_POKEMON_MURKROW = 198;
V0199_POKEMON_SLOWKING = 199;
V0200_POKEMON_MISDREAVUS = 200;
V0201_POKEMON_UNOWN = 201;
V0202_POKEMON_WOBBUFFET = 202;
V0203_POKEMON_GIRAFARIG = 203;
V0204_POKEMON_PINECO = 204;
V0205_POKEMON_FORRETRESS = 205;
V0206_POKEMON_DUNSPARCE = 206;
V0207_POKEMON_GLIGAR = 207;
V0208_POKEMON_STEELIX = 208;
V0209_POKEMON_SNUBBULL = 209;
V0210_POKEMON_GRANBULL = 210;
V0211_POKEMON_QWILFISH = 211;
V0212_POKEMON_SCIZOR = 212;
V0213_POKEMON_SHUCKLE = 213;
V0214_POKEMON_HERACROSS = 214;
V0215_POKEMON_SNEASEL = 215;
V0216_POKEMON_TEDDIURSA = 216;
V0217_POKEMON_URSARING = 217;
V0218_POKEMON_SLUGMA = 218;
V0219_POKEMON_MAGCARGO = 219;
V0220_POKEMON_SWINUB = 220;
V0221_POKEMON_PILOSWINE = 221;
V0222_POKEMON_CORSOLA = 222;
V0223_POKEMON_REMORAID = 223;
V0224_POKEMON_OCTILLERY = 224;
V0225_POKEMON_DELIBIRD = 225;
V0226_POKEMON_MANTINE = 226;
V0227_POKEMON_SKARMORY = 227;
V0228_POKEMON_HOUNDOUR = 228;
V0229_POKEMON_HOUNDOOM = 229;
V0230_POKEMON_KINGDRA = 230;
V0231_POKEMON_PHANPY = 231;
V0232_POKEMON_DONPHAN = 232;
V0233_POKEMON_PORYGON2 = 233;
V0234_POKEMON_STANTLER = 234;
V0235_POKEMON_SMEARGLE = 235;
V0236_POKEMON_TYROGUE = 236;
V0237_POKEMON_HITMONTOP = 237;
V0238_POKEMON_SMOOCHUM = 238;
V0239_POKEMON_ELEKID = 239;
V0240_POKEMON_MAGBY = 240;
V0241_POKEMON_MILTANK = 241;
V0242_POKEMON_BLISSEY = 242;
V0243_POKEMON_RAIKOU = 243;
V0244_POKEMON_ENTEI = 244;
V0245_POKEMON_SUICUNE = 245;
V0246_POKEMON_LARVITAR = 246;
V0247_POKEMON_PUPITAR = 247;
V0248_POKEMON_TYRANITAR = 248;
V0249_POKEMON_LUGIA = 249;
V0250_POKEMON_HO_OH = 250;
V0251_POKEMON_CELEBI = 251;
V0252_POKEMON_TREECKO = 252;
V0253_POKEMON_GROVYLE = 253;
V0254_POKEMON_SCEPTILE = 254;
V0255_POKEMON_TORCHIC = 255;
V0256_POKEMON_COMBUSKEN = 256;
V0257_POKEMON_BLAZIKEN = 257;
V0258_POKEMON_MUDKIP = 258;
V0259_POKEMON_MARSHTOMP = 259;
V0260_POKEMON_SWAMPERT = 260;
V0261_POKEMON_POOCHYENA = 261;
V0262_POKEMON_MIGHTYENA = 262;
V0263_POKEMON_ZIGZAGOON = 263;
V0264_POKEMON_LINOONE = 264;
V0265_POKEMON_WURMPLE = 265;
V0266_POKEMON_SILCOON = 266;
V0267_POKEMON_BEAUTIFLY = 267;
V0268_POKEMON_CASCOON = 268;
V0269_POKEMON_DUSTOX = 269;
V0270_POKEMON_LOTAD = 270;
V0271_POKEMON_LOMBRE = 271;
V0272_POKEMON_LUDICOLO = 272;
V0273_POKEMON_SEEDOT = 273;
V0274_POKEMON_NUZLEAF = 274;
V0275_POKEMON_SHIFTRY = 275;
V0276_POKEMON_TAILLOW = 276;
V0277_POKEMON_SWELLOW = 277;
V0278_POKEMON_WINGULL = 278;
V0279_POKEMON_PELIPPER = 279;
V0280_POKEMON_RALTS = 280;
V0281_POKEMON_KIRLIA = 281;
V0282_POKEMON_GARDEVOIR = 282;
V0283_POKEMON_SURSKIT = 283;
V0284_POKEMON_MASQUERAIN = 284;
V0285_POKEMON_SHROOMISH = 285;
V0286_POKEMON_BRELOOM = 286;
V0287_POKEMON_SLAKOTH = 287;
V0288_POKEMON_VIGOROTH = 288;
V0289_POKEMON_SLAKING = 289;
V0290_POKEMON_NINCADA = 290;
V0291_POKEMON_NINJASK = 291;
V0292_POKEMON_SHEDINJA = 292;
V0293_POKEMON_WHISMUR = 293;
V0294_POKEMON_LOUDRED = 294;
V0295_POKEMON_EXPLOUD = 295;
V0296_POKEMON_MAKUHITA = 296;
V0297_POKEMON_HARIYAMA = 297;
V0298_POKEMON_AZURILL = 298;
V0299_POKEMON_NOSEPASS = 299;
V0300_POKEMON_SKITTY = 300;
V0301_POKEMON_DELCATTY = 301;
V0302_POKEMON_SABLEYE = 302;
V0303_POKEMON_MAWILE = 303;
V0304_POKEMON_ARON = 304;
V0305_POKEMON_LAIRON = 305;
V0306_POKEMON_AGGRON = 306;
V0307_POKEMON_MEDITITE = 307;
V0308_POKEMON_MEDICHAM = 308;
V0309_POKEMON_ELECTRIKE = 309;
V0310_POKEMON_MANECTRIC = 310;
V0311_POKEMON_PLUSLE = 311;
V0312_POKEMON_MINUN = 312;
V0313_POKEMON_VOLBEAT = 313;
V0314_POKEMON_ILLUMISE = 314;
V0315_POKEMON_ROSELIA = 315;
V0316_POKEMON_GULPIN = 316;
V0317_POKEMON_SWALOT = 317;
V0318_POKEMON_CARVANHA = 318;
V0319_POKEMON_SHARPEDO = 319;
V0320_POKEMON_WAILMER = 320;
V0321_POKEMON_WAILORD = 321;
V0322_POKEMON_NUMEL = 322;
V0323_POKEMON_CAMERUPT = 323;
V0324_POKEMON_TORKOAL = 324;
V0325_POKEMON_SPOINK = 325;
V0326_POKEMON_GRUMPIG = 326;
V0327_POKEMON_SPINDA = 327;
V0328_POKEMON_TRAPINCH = 328;
V0329_POKEMON_VIBRAVA = 329;
V0330_POKEMON_FLYGON = 330;
V0331_POKEMON_CACNEA = 331;
V0332_POKEMON_CACTURNE = 332;
V0333_POKEMON_SWABLU = 333;
V0334_POKEMON_ALTARIA = 334;
V0335_POKEMON_ZANGOOSE = 335;
V0336_POKEMON_SEVIPER = 336;
V0337_POKEMON_LUNATONE = 337;
V0338_POKEMON_SOLROCK = 338;
V0339_POKEMON_BARBOACH = 339;
V0340_POKEMON_WHISCASH = 340;
V0341_POKEMON_CORPHISH = 341;
V0342_POKEMON_CRAWDAUNT = 342;
V0343_POKEMON_BALTOY = 343;
V0344_POKEMON_CLAYDOL = 344;
V0345_POKEMON_LILEEP = 345;
V0346_POKEMON_CRADILY = 346;
V0347_POKEMON_ANORITH = 347;
V0348_POKEMON_ARMALDO = 348;
V0349_POKEMON_FEEBAS = 349;
V0350_POKEMON_MILOTIC = 350;
V0351_POKEMON_CASTFORM = 351;
V0352_POKEMON_KECLEON = 352;
V0353_POKEMON_SHUPPET = 353;
V0354_POKEMON_BANETTE = 354;
V0355_POKEMON_DUSKULL = 355;
V0356_POKEMON_DUSCLOPS = 356;
V0357_POKEMON_TROPIUS = 357;
V0358_POKEMON_CHIMECHO = 358;
V0359_POKEMON_ABSOL = 359;
V0360_POKEMON_WYNAUT = 360;
V0361_POKEMON_SNORUNT = 361;
V0362_POKEMON_GLALIE = 362;
V0363_POKEMON_SPHEAL = 363;
V0364_POKEMON_SEALEO = 364;
V0365_POKEMON_WALREIN = 365;
V0366_POKEMON_CLAMPERL = 366;
V0367_POKEMON_HUNTAIL = 367;
V0368_POKEMON_GOREBYSS = 368;
V0369_POKEMON_RELICANTH = 369;
V0370_POKEMON_LUVDISC = 370;
V0371_POKEMON_BAGON = 371;
V0372_POKEMON_SHELGON = 372;
V0373_POKEMON_SALAMENCE = 373;
V0374_POKEMON_BELDUM = 374;
V0375_POKEMON_METANG = 375;
V0376_POKEMON_METAGROSS = 376;
V0377_POKEMON_REGIROCK = 377;
V0378_POKEMON_REGICE = 378;
V0379_POKEMON_REGISTEEL = 379;
V0380_POKEMON_LATIAS = 380;
V0381_POKEMON_LATIOS = 381;
V0382_POKEMON_KYOGRE = 382;
V0383_POKEMON_GROUDON = 383;
V0384_POKEMON_RAYQUAZA = 384;
V0385_POKEMON_JIRACHI = 385;
V0386_POKEMON_DEOXYS = 386;
}
enum HoloPokemonFamilyId
{
FAMILY_UNSET = 0;
V0001_FAMILY_BULBASAUR = 1;
V0004_FAMILY_CHARMANDER = 4;
V0007_FAMILY_SQUIRTLE = 7;
V0010_FAMILY_CATERPIE = 10;
V0013_FAMILY_WEEDLE = 13;
V0016_FAMILY_PIDGEY = 16;
V0019_FAMILY_RATTATA = 19;
V0021_FAMILY_SPEAROW = 21;
V0023_FAMILY_EKANS = 23;
V0025_FAMILY_PIKACHU = 25;
V0027_FAMILY_SANDSHREW = 27;
V0029_FAMILY_NIDORAN = 29;
V0032_FAMILY_NIDORAN = 32;
V0035_FAMILY_CLEFAIRY = 35;
V0037_FAMILY_VULPIX = 37;
V0039_FAMILY_JIGGLYPUFF = 39;
V0041_FAMILY_ZUBAT = 41;
V0043_FAMILY_ODDISH = 43;
V0046_FAMILY_PARAS = 46;
V0048_FAMILY_VENONAT = 48;
V0050_FAMILY_DIGLETT = 50;
V0052_FAMILY_MEOWTH = 52;
V0054_FAMILY_PSYDUCK = 54;
V0056_FAMILY_MANKEY = 56;
V0058_FAMILY_GROWLITHE = 58;
V0060_FAMILY_POLIWAG = 60;
V0063_FAMILY_ABRA = 63;
V0066_FAMILY_MACHOP = 66;
V0069_FAMILY_BELLSPROUT = 69;
V0072_FAMILY_TENTACOOL = 72;
V0074_FAMILY_GEODUDE = 74;
V0077_FAMILY_PONYTA = 77;
V0079_FAMILY_SLOWPOKE = 79;
V0081_FAMILY_MAGNEMITE = 81;
V0083_FAMILY_FARFETCHD = 83;
V0084_FAMILY_DODUO = 84;
V0086_FAMILY_SEEL = 86;
V0088_FAMILY_GRIMER = 88;
V0090_FAMILY_SHELLDER = 90;
V0092_FAMILY_GASTLY = 92;
V0095_FAMILY_ONIX = 95;
V0096_FAMILY_DROWZEE = 96;
V0098_FAMILY_KRABBY = 98;
V0100_FAMILY_VOLTORB = 100;
V0102_FAMILY_EXEGGCUTE = 102;
V0104_FAMILY_CUBONE = 104;
V0106_FAMILY_HITMONLEE = 106;
V0107_FAMILY_HITMONCHAN = 107;
V0108_FAMILY_LICKITUNG = 108;
V0109_FAMILY_KOFFING = 109;
V0111_FAMILY_RHYHORN = 111;
V0113_FAMILY_CHANSEY = 113;
V0114_FAMILY_TANGELA = 114;
V0115_FAMILY_KANGASKHAN = 115;
V0116_FAMILY_HORSEA = 116;
V0118_FAMILY_GOLDEEN = 118;
V0120_FAMILY_STARYU = 120;
V0122_FAMILY_MR_MIME = 122;
V0123_FAMILY_SCYTHER = 123;
V0124_FAMILY_JYNX = 124;
V0125_FAMILY_ELECTABUZZ = 125;
V0126_FAMILY_MAGMAR = 126;
V0127_FAMILY_PINSIR = 127;
V0128_FAMILY_TAUROS = 128;
V0129_FAMILY_MAGIKARP = 129;
V0131_FAMILY_LAPRAS = 131;
V0132_FAMILY_DITTO = 132;
V0133_FAMILY_EEVEE = 133;
V0137_FAMILY_PORYGON = 137;
V0138_FAMILY_OMANYTE = 138;
V0140_FAMILY_KABUTO = 140;
V0142_FAMILY_AERODACTYL = 142;
V0143_FAMILY_SNORLAX = 143;
V0144_FAMILY_ARTICUNO = 144;
V0145_FAMILY_ZAPDOS = 145;
V0146_FAMILY_MOLTRES = 146;
V0147_FAMILY_DRATINI = 147;
V0150_FAMILY_MEWTWO = 150;
V0151_FAMILY_MEW = 151;
V0152_FAMILY_CHIKORITA = 152;
V0155_FAMILY_CYNDAQUIL = 155;
V0158_FAMILY_TOTODILE = 158;
V0161_FAMILY_SENTRET = 161;
V0163_FAMILY_HOOTHOOT = 163;
V0165_FAMILY_LEDYBA = 165;
V0167_FAMILY_SPINARAK = 167;
V0170_FAMILY_CHINCHOU = 170;
V0175_FAMILY_TOGEPI = 175;
V0177_FAMILY_NATU = 177;
V0179_FAMILY_MAREEP = 179;
V0183_FAMILY_MARILL = 183;
V0185_FAMILY_SUDOWOODO = 185;
V0187_FAMILY_HOPPIP = 187;
V0190_FAMILY_AIPOM = 190;
V0191_FAMILY_SUNKERN = 191;
V0193_FAMILY_YANMA = 193;
V0194_FAMILY_WOOPER = 194;
V0198_FAMILY_MURKROW = 198;
V0200_FAMILY_MISDREAVUS = 200;
V0201_FAMILY_UNOWN = 201;
V0202_FAMILY_WOBBUFFET = 202;
V0203_FAMILY_GIRAFARIG = 203;
V0204_FAMILY_PINECO = 204;
V0206_FAMILY_DUNSPARCE = 206;
V0207_FAMILY_GLIGAR = 207;
V0209_FAMILY_SNUBBULL = 209;
V0211_FAMILY_QWILFISH = 211;
V0213_FAMILY_SHUCKLE = 213;
V0214_FAMILY_HERACROSS = 214;
V0215_FAMILY_SNEASEL = 215;
V0216_FAMILY_TEDDIURSA = 216;
V0218_FAMILY_SLUGMA = 218;
V0220_FAMILY_SWINUB = 220;
V0222_FAMILY_CORSOLA = 222;
V0223_FAMILY_REMORAID = 223;
V0225_FAMILY_DELIBIRD = 225;
V0226_FAMILY_MANTINE = 226;
V0227_FAMILY_SKARMORY = 227;
V0228_FAMILY_HOUNDOUR = 228;
V0231_FAMILY_PHANPY = 231;
V0234_FAMILY_STANTLER = 234;
V0235_FAMILY_SMEARGLE = 235;
V0236_FAMILY_TYROGUE = 236;
V0241_FAMILY_MILTANK = 241;
V0243_FAMILY_RAIKOU = 243;
V0244_FAMILY_ENTEI = 244;
V0245_FAMILY_SUICUNE = 245;
V0246_FAMILY_LARVITAR = 246;
V0249_FAMILY_LUGIA = 249;
V0250_FAMILY_HO_OH = 250;
V0251_FAMILY_CELEBI = 251;
V0252_FAMILY_TREECKO = 252;
V0255_FAMILY_TORCHIC = 255;
V0258_FAMILY_MUDKIP = 258;
V0261_FAMILY_POOCHYENA = 261;
V0263_FAMILY_ZIGZAGOON = 263;
V0265_FAMILY_WURMPLE = 265;
V0270_FAMILY_LOTAD = 270;
V0273_FAMILY_SEEDOT = 273;
V0276_FAMILY_TAILLOW = 276;
V0278_FAMILY_WINGULL = 278;
V0280_FAMILY_RALTS = 280;
V0283_FAMILY_SURSKIT = 283;
V0285_FAMILY_SHROOMISH = 285;
V0287_FAMILY_SLAKOTH = 287;
V0290_FAMILY_NINCADA = 290;
V0293_FAMILY_WHISMUR = 293;
V0296_FAMILY_MAKUHITA = 296;
V0299_FAMILY_NOSEPASS = 299;
V0300_FAMILY_SKITTY = 300;
V0302_FAMILY_SABLEYE = 302;
V0303_FAMILY_MAWILE = 303;
V0304_FAMILY_ARON = 304;
V0307_FAMILY_MEDITITE = 307;
V0309_FAMILY_ELECTRIKE = 309;
V0311_FAMILY_PLUSLE = 311;
V0312_FAMILY_MINUN = 312;
V0313_FAMILY_VOLBEAT = 313;
V0314_FAMILY_ILLUMISE = 314;
V0315_FAMILY_ROSELIA = 315;
V0316_FAMILY_GULPIN = 316;
V0318_FAMILY_CARVANHA = 318;
V0320_FAMILY_WAILMER = 320;
V0322_FAMILY_NUMEL = 322;
V0324_FAMILY_TORKOAL = 324;
V0325_FAMILY_SPOINK = 325;
V0327_FAMILY_SPINDA = 327;
V0328_FAMILY_TRAPINCH = 328;
V0331_FAMILY_CACNEA = 331;
V0333_FAMILY_SWABLU = 333;
V0335_FAMILY_ZANGOOSE = 335;
V0336_FAMILY_SEVIPER = 336;
V0337_FAMILY_LUNATONE = 337;
V0338_FAMILY_SOLROCK = 338;
V0339_FAMILY_BARBOACH = 339;
V0341_FAMILY_CORPHISH = 341;
V0343_FAMILY_BALTOY = 343;
V0345_FAMILY_LILEEP = 345;
V0347_FAMILY_ANORITH = 347;
V0349_FAMILY_FEEBAS = 349;
V0351_FAMILY_CASTFORM = 351;
V0352_FAMILY_KECLEON = 352;
V0353_FAMILY_SHUPPET = 353;
V0355_FAMILY_DUSKULL = 355;
V0357_FAMILY_TROPIUS = 357;
V0358_FAMILY_CHIMECHO = 358;
V0359_FAMILY_ABSOL = 359;
V0361_FAMILY_SNORUNT = 361;
V0363_FAMILY_SPHEAL = 363;
V0366_FAMILY_CLAMPERL = 366;
V0369_FAMILY_RELICANTH = 369;
V0370_FAMILY_LUVDISC = 370;
V0371_FAMILY_BAGON = 371;
V0374_FAMILY_BELDUM = 374;
V0377_FAMILY_REGIROCK = 377;
V0378_FAMILY_REGICE = 378;
V0379_FAMILY_REGISTEEL = 379;
V0380_FAMILY_LATIAS = 380;
V0381_FAMILY_LATIOS = 381;
V0382_FAMILY_KYOGRE = 382;
V0383_FAMILY_GROUDON = 383;
V0384_FAMILY_RAYQUAZA = 384;
V0385_FAMILY_JIRACHI = 385;
V0386_FAMILY_DEOXYS = 386;
}
enum GymBadgeType
{
GYM_BADGE_UNSET = 0;
GYM_BADGE_VANILLA = 1;
GYM_BADGE_BRONZE = 2;
GYM_BADGE_SILVER = 3;
GYM_BADGE_GOLD = 4;
}
enum EncounterType
{
SPAWN_POINT = 0;
INCENSE = 1;
DISK = 2;
POST_RAID = 3;
}
enum RaidLevel
{
RAID_LEVEL_UNSET = 0;
RAID_LEVEL_1 = 1;
RAID_LEVEL_2 = 2;
RAID_LEVEL_3 = 3;
RAID_LEVEL_4 = 4;
RAID_LEVEL_5 = 5;
}
enum NotificationCategory
{
UNSET_NotificationCategory = 0;
GYM_REMOVAL = 1;
POKEMON_HUNGRY = 2;
POKEMON_WON = 3;
EXCLUSIVE_RAID_INVITE = 4;
EXCLUSIVE_RAID_CANCELLATION = 5;
}
enum VariableName
{
UNSET_VariableName = 0;
CODE_NAME = 1;
TEAM = 2;
LEVEL = 3;
EXPERIENCE = 4;
POKECOIN_BALANCE = 5;
STARDUST_BALANCE = 6;
EMAIL = 7;
LOGIN_METHOD = 8;
GYM_ID = 1000;
GYM_NAME = 1001;
POKEMON_DISPLAY = 1002;
POKEDEX_ENTRY_NUMBER = 1003;
POKEMON_ID = 1004;
POKEMON_NICKNAME = 1005;
GYM_BADGE_EARNED_POINTS = 1006;
GYM_BADGE_PROGRESS = 1007;
GYM_BADGE_RANK = 1008;
GYM_BADGE_IMAGE_URL = 1009;
GYM_BADGE_LEVEL_UP = 1010;
POKECOIN_AWARDED = 1011;
POKECOIN_AWARDED_TODAY = 1012;
MAX_DAILY_POKECOIN = 1013;
BATTLES_WON = 1014;
BATTLES_LOST = 1015;
DEPLOYED_MILLIS = 1016;
RAID_SEED = 1017;
EXCLUSIVE_RAID_CANCELLATION_INFO = 1018;
}
enum Method
{
METHOD_UNSET = 0;
GET_PLAYER = 2;
GET_HOLOHOLO_INVENTORY = 4;
DOWNLOAD_SETTINGS = 5;
DOWNLOAD_ITEM_TEMPLATES = 6;
DOWNLOAD_REMOTE_CONFIG_VERSION = 7;
REGISTER_BACKGROUND_DEVICE = 8;
FORT_SEARCH = 101;
ENCOUNTER = 102;
CATCH_POKEMON = 103;
FORT_DETAILS = 104;
GET_MAP_OBJECTS = 106;
FORT_DEPLOY_POKEMON = 110;
FORT_RECALL_POKEMON = 111;
RELEASE_POKEMON = 112;
USE_ITEM_POTION = 113;
USE_ITEM_CAPTURE = 114;
USE_ITEM_FLEE = 115;
USE_ITEM_REVIVE = 116;
GET_PLAYER_PROFILE = 121;
EVOLVE_POKEMON = 125;
GET_HATCHED_EGGS = 126;
ENCOUNTER_TUTORIAL_COMPLETE = 127;
LEVEL_UP_REWARDS = 128;
CHECK_AWARDED_BADGES = 129;
RECYCLE_INVENTORY_ITEM = 137;
COLLECT_DAILY_BONUS = 138;
USE_ITEM_XP_BOOST = 139;
USE_ITEM_EGG_INCUBATOR = 140;
USE_INCENSE = 141;
GET_INCENSE_POKEMON = 142;
INCENSE_ENCOUNTER = 143;
ADD_FORT_MODIFIER = 144;
DISK_ENCOUNTER = 145;
UPGRADE_POKEMON = 147;
SET_FAVORITE_POKEMON = 148;
NICKNAME_POKEMON = 149;
EQUIP_BADGE = 150;
SET_CONTACT_SETTINGS = 151;
SET_BUDDY_POKEMON = 152;
GET_BUDDY_WALKED = 153;
USE_ITEM_ENCOUNTER = 154;
GYM_DEPLOY = 155;
GYM_GET_INFO = 156;
GYM_START_SESSION = 157;
GYM_BATTLE_ATTACK = 158;
JOIN_LOBBY = 159;
LEAVE_LOBBY = 160;
SET_LOBBY_VISIBILITY = 161;
SET_LOBBY_POKEMON = 162;
GET_RAID_DETAILS = 163;
GYM_FEED_POKEMON = 164;
START_RAID_BATTLE = 165;
ATTACK_RAID = 166;
AWARD_POKECOIN = 167;
GET_ASSET_DIGEST = 300;
GET_DOWNLOAD_URLS = 301;
CLAIM_CODENAME = 403;
SET_AVATAR = 404;
SET_PLAYER_TEAM = 405;
MARK_TUTORIAL_COMPLETE = 406;
CHECK_CHALLENGE = 600;
VERIFY_CHALLENGE = 601;
ECHO = 666;
SFIDA_REGISTRATION = 800;
SFIDA_ACTION_LOG = 801;
SFIDA_CERTIFICATION = 802;
SFIDA_UPDATE = 803;
SFIDA_ACTION = 804;
SFIDA_DOWSER = 805;
SFIDA_CAPTURE = 806;
LIST_AVATAR_CUSTOMIZATIONS = 807;
SET_AVATAR_ITEM_AS_VIEWED = 808;
GET_INBOX = 809;
LIST_GYM_BADGES = 811;
GET_GYM_BADGE_DETAILS = 812;
USE_ITEM_MOVE_REROLL = 813;
USE_ITEM_RARE_CANDY = 814;
AWARD_FREE_RAID_TICKET = 815;
}
enum Platform
{
PLATFORM_UNSET = 0;
PLATFORM_IOS = 1;
PLATFORM_ANDROID = 2;
PLATFORM_OSX = 3;
PLATFORM_WINDOWS = 4;
PLATFORM_APPLE_WATCH = 5;
}
enum TutorialCompletion
{
LEGAL_SCREEN = 0;
AVATAR_SELECTION = 1;
ACCOUNT_CREATION = 2;
POKEMON_CAPTURE = 3;
NAME_SELECTION = 4;
POKEMON_BERRY = 5;
USE_ITEM = 6;
FIRST_TIME_EXPERIENCE_COMPLETE = 7;
POKESTOP_TUTORIAL = 8;
GYM_TUTORIAL = 9;
}
message ListAvatarCustomizationsProto
{
PlayerAvatarType avatar_type = 1;
repeated Slot slot = 2;
repeated Filter filters = 3;
int32 start = 4;
int32 limit = 5;
enum Slot
{
UNSET_SLOT = 0;
HAIR = 1;
SHIRT = 2;
PANTS = 3;
HAT = 4;
SHOES = 5;
EYES = 6;
BACKPACK = 7;
GLOVES = 8;
SOCKS = 9;
BELT = 10;
GLASSES = 11;
NECKLACE = 12;
}
enum Filter
{
UNSET = 0;
ALL = 1;
DEFAULT = 2;
OWNED = 3;
FEATURED = 4;
PURCHASABLE = 5;
UNLOCKABLE = 6;
}
}
message ListAvatarCustomizationsOutProto
{
Result result = 1;
repeated AvatarCustomization avatar_customizations = 2;
enum Result
{
UNSET = 0;
SUCCESS = 1;
FAILURE = 2;
}
message AvatarCustomization
{
string avatar_template_id = 1;
repeated Label labels = 2;
enum Label
{
UNSET_LABEL = 0;
DEFAULT = 1;
OWNED = 2;
FEATURED = 3;
NEW = 4;
SALE = 5;
PURCHASABLE = 6;
UNLOCKABLE = 7;
VIEWED = 8;
LOCKED_PURCHASABLE = 9;
}
}
}
message SetAvatarItemAsViewedProto
{
repeated string avatar_template_id = 1;
}
message SetAvatarItemAsViewedOutProto
{
Result result = 1;
enum Result
{
UNSET = 0;
SUCCESS = 1;
FAILURE = 2;
}
}
message BackgroundToken
{
bytes token = 1;
int64 expiration_time = 2;
bytes iv = 3;
}
message RegisterBackgroundDeviceActionProto
{
string device_type = 1;
string device_id = 2;
}
message RegisterBackgroundDeviceResponseProto
{
Status status = 1;
BackgroundToken token = 2;
enum Status
{
UNSET = 0;
SUCCESS = 1;
ERROR = 2;
}
}
message AssetDigestRequestProto
{
Platform platform = 1;
string device_manufacturer = 2;
string device_model = 3;
string locale = 4;
uint32 app_version = 5;
bool paginate = 6;
int32 page_offset = 7;
uint64 page_timestamp = 8;
}
message AssetDigestEntryProto
{
string asset_id = 1;
string bundle_name = 2;
int64 version = 3;
fixed32 checksum = 4;
int32 size = 5;
bytes key = 6;
}
message AssetDigestOutProto
{
repeated AssetDigestEntryProto digest = 1;
fixed64 timestamp = 2;
Result result = 3;
int32 page_offset = 4;
enum Result
{
UNSET = 0;
SUCCESS = 1;
PAGE = 2;
RETRY = 3;
}
}
message DownloadUrlRequestProto
{
repeated string asset_id = 1;
}
message DownloadUrlEntryProto
{
string asset_id = 1;
string url = 2;
int32 size = 3;
fixed32 checksum = 4;
}
message DownloadUrlOutProto
{
repeated DownloadUrlEntryProto download_urls = 1;
}
message CollectDailyBonusProto
{
}
message CollectDailyBonusOutProto
{
Result result = 1;
enum Result
{
UNSET = 0;
SUCCESS = 1;
FAILURE = 2;
TOO_SOON = 3;
}
}
message CollectDailyDefenderBonusProto
{
}
message CollectDailyDefenderBonusOutProto
{
Result result = 1;
repeated string currency_type = 2;
repeated int32 currency_awarded = 3;
int32 num_defenders = 4;
enum Result
{
UNSET = 0;
SUCCESS = 1;
FAILURE = 2;
TOO_SOON = 3;
NO_DEFENDERS = 4;
}
}
message EchoProto
{
}
message EchoOutProto
{
string context = 1;
}
message GetHatchedEggsProto
{
}
message GetHatchedEggsOutProto
{
bool success = 1;
repeated fixed64 pokemon_id = 2;
repeated int32 exp_awarded = 3;
repeated int32 candy_awarded = 4;
repeated int32 stardust_awarded = 5;
repeated float egg_km_walked = 6;
repeated PokemonProto hatched_pokemon = 7;
}
message EncounterProto
{
fixed64 encounter_id = 1;
string spawnpoint_id = 2;
double player_lat_degrees = 3;
double player_lng_degrees = 4;
}
message EncounterOutProto
{
WildPokemonProto pokemon = 1;
Background background = 2;
Status status = 3;
CaptureProbabilityProto capture_probability = 4;
Item active_item = 5;
enum Background
{
PARK = 0;
DESERT = 1;
}
enum Status
{
ENCOUNTER_ERROR = 0;
ENCOUNTER_SUCCESS = 1;
ENCOUNTER_NOT_FOUND = 2;
ENCOUNTER_CLOSED = 3;
ENCOUNTER_POKEMON_FLED = 4;
ENCOUNTER_NOT_IN_RANGE = 5;
ENCOUNTER_ALREADY_HAPPENED = 6;
POKEMON_INVENTORY_FULL = 7;
}
}
message CatchPokemonProto
{
fixed64 encounter_id = 1;
int32 pokeball = 2;
double normalized_reticle_size = 3;
string spawn_point_guid = 4;
bool hit_pokemon = 5;
double spin_modifier = 6;
double normalized_hit_position = 7;
}
message CatchPokemonOutProto
{
Status status = 1;
double miss_percent = 2;
fixed64 captured_pokemon_id = 3;
CaptureScoreProto scores = 4;
CaptureReason capture_reason = 5;
int32 display_pokedex_id = 6;
int32 throws_remaining = 7;
enum Status
{
CATCH_ERROR = 0;
CATCH_SUCCESS = 1;
CATCH_ESCAPE = 2;
CATCH_FLEE = 3;
CATCH_MISSED = 4;
}
enum CaptureReason
{
UNSET = 0;
DEFAULT = 1;
ELEMENTAL_BADGE = 2;
CRITICAL_CATCH = 3;
}
}
message UseItemCaptureProto
{
Item item = 1;
fixed64 encounter_id = 2;
string spawn_point_guid = 3;
}
message UseItemCaptureOutProto
{
bool success = 1;
double item_capture_mult = 2;
double item_flee_mult = 3;
bool stop_movement = 4;
bool stop_attack = 5;
bool target_max = 6;
bool target_slow = 7;
}
message EncounterTutorialCompleteProto
{
int32 pokedex_id = 1;
}
message EncounterTutorialCompleteOutProto
{
Result result = 1;
PokemonProto pokemon = 2;
CaptureScoreProto scores = 3;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_INVALID_POKEMON = 2;
}
}
message CaptureScoreProto
{
repeated HoloActivityType activity_type = 1;
repeated int32 exp = 2;
repeated int32 candy = 3;
repeated int32 stardust = 4;
}
message UseIncenseActionProto
{
Item incense_type = 1;
}
message UseIncenseActionOutProto
{
Result result = 1;
AppliedItemProto applied_incense = 2;
enum Result
{
UNKNOWN = 0;
SUCCESS = 1;
INCENSE_ALREADY_ACTIVE = 2;
NONE_IN_INVENTORY = 3;
LOCATION_UNSET = 4;
}
}
message GetIncensePokemonProto
{
double player_lat_degrees = 1;
double player_lng_degrees = 2;
}
message GetIncensePokemonOutProto
{
Result result = 1;
int32 pokemon_type_id = 2;
double lat = 3;
double lng = 4;
string encounter_location = 5;
fixed64 encounter_id = 6;
int64 disappear_time_ms = 7;
PokemonDisplayProto pokemon_display = 8;
enum Result
{
INCENSE_ENCOUNTER_UNKNOWN = 0;
INCENSE_ENCOUNTER_AVAILABLE = 1;
INCENSE_ENCOUNTER_NOT_AVAILABLE = 2;
}
}
message IncenseEncounterProto
{
int64 encounter_id = 1;
string encounter_location = 2;
}
message IncenseEncounterOutProto
{
Result result = 1;
PokemonProto pokemon = 2;
CaptureProbabilityProto capture_probability = 3;
Item active_item = 4;
enum Result
{
INCENSE_ENCOUNTER_UNKNOWN = 0;
INCENSE_ENCOUNTER_SUCCESS = 1;
INCENSE_ENCOUNTER_NOT_AVAILABLE = 2;
POKEMON_INVENTORY_FULL = 3;
}
}
message DiskEncounterProto
{
int64 encounter_id = 1;
string fort_id = 2;
double player_lat_degrees = 3;
double player_lng_degrees = 4;
}
message DiskEncounterOutProto
{
Result result = 1;
PokemonProto pokemon = 2;
CaptureProbabilityProto capture_probability = 3;
Item active_item = 4;
enum Result
{
UNKNOWN = 0;
SUCCESS = 1;
NOT_AVAILABLE = 2;
NOT_IN_RANGE = 3;
ENCOUNTER_ALREADY_FINISHED = 4;
POKEMON_INVENTORY_FULL = 5;
}
}
message UseItemEncounterProto
{
Item item = 1;
fixed64 encounter_id = 2;
string spawn_point_guid = 3;
}
message UseItemEncounterOutProto
{
Status status = 1;
CaptureProbabilityProto capture_probability = 2;
Item active_item = 3;
enum Status
{
SUCCESS = 0;
ALREADY_COMPLETED = 1;
ACTIVE_ITEM_EXISTS = 2;
NO_ITEM_IN_INVENTORY = 3;
INVALID_ITEM_CATEGORY = 4;
}
}
message EvolvePokemonProto
{
fixed64 pokemon_id = 1;
Item evolution_item_requirement = 2;
}
message EvolvePokemonOutProto
{
Result result = 1;
PokemonProto evolved_pokemon = 2;
int32 exp_awarded = 3;
int32 candy_awarded = 4;
enum Result
{
UNSET = 0;
SUCCESS = 1;
FAILED_POKEMON_MISSING = 2;
FAILED_INSUFFICIENT_RESOURCES = 3;
FAILED_POKEMON_CANNOT_EVOLVE = 4;
FAILED_POKEMON_IS_DEPLOYED = 5;
FAILED_INVALID_ITEM_REQUIREMENT = 6;
}
}
message AwardItemProto
{
Item item = 1;
int32 item_count = 2;
int32 bonus_count = 3;
}
message FortSearchProto
{
string id = 1;
double player_lat_degrees = 2;
double player_lng_degrees = 3;
double fort_lat_degrees = 4;
double fort_lng_degrees = 5;
}
message FortSearchOutProto
{
Result result = 1;
repeated AwardItemProto items = 2;
int32 gems_awarded = 3;
PokemonProto egg_pokemon = 4;
int32 xp_awarded = 5;
int64 cooldown_complete = 6;
int32 chain_hack_sequence_number = 7;
AwardedGymBadge awarded_gym_badge = 8;
LootProto loot = 9;
LootProto bonus_loot = 10;
int32 raid_tickets = 11;
LootProto team_bonus_loot = 12;
string fort_id = 13;
enum Result
{
NO_RESULT_SET = 0;
SUCCESS = 1;
OUT_OF_RANGE = 2;
IN_COOLDOWN_PERIOD = 3;
INVENTORY_FULL = 4;
EXCEEDED_DAILY_LIMIT = 5;
POI_INACCESSIBLE = 6;
}
}
message FortDetailsProto
{
string id = 1;
double latitude = 2;
double longitude = 3;
}
message FortDetailsOutProto
{
string id = 1;
int32 team = 2;
repeated PokemonProto pokemon = 3;
string name = 4;
repeated string image_url = 5;
int32 fp = 6;
int32 stamina = 7;
int32 max_stamina = 8;
FortType fort_type = 9;
double latitude = 10;
double longitude = 11;
string description = 12;
repeated ClientFortModifierProto modifier = 13;
bool close_soon = 14;
string checkin_image_url = 15;
EventInfoProto event_info = 16;
}
message ClientFortModifierProto
{
Item modifier_type = 1;
int64 expiration_time_ms = 2;
string deploying_player_codename = 3;
}
message FortDeployProto
{
string fort_id = 1;
fixed64 pokemon_id = 2;
double player_lat_degrees = 3;
double player_lng_degrees = 4;
}
message FortDeployOutProto
{
Result result = 1;
FortDetailsOutProto fort_details_out_proto = 2;
PokemonProto egg_pokemon = 3;
GymStateProto gym_state_proto = 4;
enum Result
{
NO_RESULT_SET = 0;
SUCCESS = 1;
ERROR_ALREADY_HAS_POKEMON_ON_FORT = 2;
ERROR_OPPOSING_TEAM_OWNS_FORT = 3;
ERROR_FORT_IS_FULL = 4;
ERROR_NOT_IN_RANGE = 5;
ERROR_PLAYER_HAS_NO_TEAM = 6;
ERROR_POKEMON_NOT_FULL_HP = 7;
ERROR_PLAYER_BELOW_MINIMUM_LEVEL = 8;
ERROR_POKEMON_IS_BUDDY = 9;
ERROR_FORT_DEPLOY_LOCKOUT = 10;
ERROR_PLAYER_HAS_NO_NICKNAME = 11;
ERROR_POI_INACCESSIBLE = 12;
ERROR_LEGENDARY_POKEMON = 13;
ERROR_INVALID_POKEMON = 14;
}
}
message GymDeployProto
{
string fort_id = 1;
fixed64 pokemon_id = 2;
double player_lat_degrees = 3;
double player_lng_degrees = 4;
}
message GymDeployOutProto
{
Result result = 1;
GymStatusAndDefendersProto gym_status_and_defenders = 2;
AwardedGymBadge awarded_gym_badge = 3;
int64 cooldown_duration_millis = 4;
enum Result
{
NO_RESULT_SET = 0;
SUCCESS = 1;
ERROR_ALREADY_HAS_POKEMON_ON_FORT = 2;
ERROR_OPPOSING_TEAM_OWNS_FORT = 3;
ERROR_FORT_IS_FULL = 4;
ERROR_NOT_IN_RANGE = 5;
ERROR_PLAYER_HAS_NO_TEAM = 6;
ERROR_POKEMON_NOT_FULL_HP = 7;
ERROR_PLAYER_BELOW_MINIMUM_LEVEL = 8;
ERROR_POKEMON_IS_BUDDY = 9;
ERROR_FORT_DEPLOY_LOCKOUT = 10;
ERROR_PLAYER_HAS_NO_NICKNAME = 11;
ERROR_POI_INACCESSIBLE = 12;
ERROR_NOT_A_POKEMON = 13;
ERROR_TOO_MANY_OF_SAME_KIND = 14;
ERROR_TOO_MANY_DEPLOYED = 15;
ERROR_TEAM_DEPLOY_LOCKOUT = 16;
ERROR_LEGENDARY_POKEMON = 17;
ERROR_INVALID_POKEMON = 18;
ERROR_RAID_ACTIVE = 19;
}
}
message GymFeedPokemonProto
{
Item item = 1;
int32 starting_quantity = 2;
string gym_id = 3;
fixed64 pokemon_id = 4;
double player_lat_degrees = 5;
double player_lng_degrees = 6;
}
message GymFeedPokemonOutProto
{
Result result = 1;
GymStatusAndDefendersProto gym_status_and_defenders = 2;
AwardedGymBadge gym_badge = 3;
int32 stardust_awarded = 4;
int32 xp_awarded = 5;
int32 num_candy_awarded = 6;
HoloPokemonFamilyId candy_family_id = 7;
int64 cooldown_complete = 8;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_CANNOT_USE = 2;
ERROR_NOT_IN_RANGE = 3;
ERROR_POKEMON_NOT_THERE = 4;
ERROR_POKEMON_FULL = 5;
ERROR_NO_BERRIES_LEFT = 6;
ERROR_WRONG_TEAM = 7;
ERROR_WRONG_COUNT = 8;
ERROR_TOO_FAST = 9;
ERROR_TOO_FREQUENT = 10;
ERROR_GYM_BUSY = 11;
ERROR_RAID_ACTIVE = 12;
ERROR_GYM_CLOSED = 13;
}
}
message FortRecallProto
{
string fort_id = 1;
fixed64 pokemon_id = 2;
double player_lat_degrees = 3;
double player_lng_degrees = 4;
}
message FortRecallOutProto
{
Result result = 1;
FortDetailsOutProto fort_details_out_proto = 2;
enum Result
{
NO_RESULT_SET = 0;
SUCCESS = 1;
ERROR_NOT_IN_RANGE = 2;
ERROR_POKEMON_NOT_ON_FORT = 3;
ERROR_NO_PLAYER = 4;
}
}
message AddFortModifierProto
{
Item modifier_type = 1;
string fort_id = 2;
double player_lat_degrees = 3;
double player_lng_degrees = 4;
}
message AddFortModifierOutProto
{
Result result = 1;
FortDetailsOutProto fort_details_out_proto = 2;
enum Result
{
NO_RESULT_SET = 0;
SUCCESS = 1;
FORT_ALREADY_HAS_MODIFIER = 2;
TOO_FAR_AWAY = 3;
NO_ITEM_IN_INVENTORY = 4;
POI_INACCESSIBLE = 5;
}
}
message PokemonCameraAttributesProto
{
float disk_radius_m = 1;
float cyl_radius_m = 2;
float cyl_height_m = 3;
float cyl_ground_m = 4;
float shoulder_mode_scale = 5;
}
message PokemonEncounterAttributesProto
{
float base_capture_rate = 1;
float base_flee_rate = 2;
float collision_radius_m = 3;
float collision_height_m = 4;
float collision_head_radius_m = 5;
HoloPokemonMovementType movement_type = 6;
float movement_timer_s = 7;
float jump_time_s = 8;
float attack_timer_s = 9;
int32 bonus_candy_capture_reward = 10;
int32 bonus_stardust_capture_reward = 11;
float attack_probability = 12;
float dodge_probability = 13;
float dodge_duration_s = 14;
float dodge_distance = 15;
float camera_distance = 16;
float min_pokemon_action_frequency_s = 17;
float max_pokemon_action_frequency_s = 18;
}
message PokemonStatsAttributesProto
{
int32 base_stamina = 1;
int32 base_attack = 2;
int32 base_defense = 3;
int32 dodge_energy_delta = 8;
}
message PokemonSettingsProto
{
HoloPokemonId unique_id = 1;
float model_scale = 3;
HoloPokemonType type1 = 4;
HoloPokemonType type2 = 5;
PokemonCameraAttributesProto camera = 6;
PokemonEncounterAttributesProto encounter = 7;
PokemonStatsAttributesProto stats = 8;
repeated HoloPokemonMove quick_moves = 9;
repeated HoloPokemonMove cinematic_moves = 10;
repeated float anim_time = 11;
repeated HoloPokemonId evolution = 12;
int32 evolution_pips = 13;
HoloPokemonClass pokemon_class = 14;
float pokedex_height_m = 15;
float pokedex_weight_kg = 16;
HoloPokemonId parent_id = 17;
float height_std_dev = 18;
float weight_std_dev = 19;
float km_distance_to_hatch = 20;
HoloPokemonFamilyId family_id = 21;
int32 candy_to_evolve = 22;
float km_buddy_distance = 23;
BuddySize buddy_size = 24;
float model_height = 25;
repeated EvolutionBranchProto evolution_branch = 26;
enum BuddySize
{
BUDDY_MEDIUM = 0;
BUDDY_SHOULDER = 1;
BUDDY_BIG = 2;
BUDDY_FLYING = 3;
BUDDY_BABY = 4;
}
}
message EvolutionBranchProto
{
HoloPokemonId evolution = 1;
Item evolution_item_requirement = 2;
int32 candy_cost = 3;
}
message PokeBallAttributesProto
{
HoloItemEffect item_effect = 1;
float capture_multi = 2;
float capture_multi_effect = 3;
float item_effect_mod = 4;
}
message PotionAttributesProto
{
float sta_percent = 1;
int32 sta_amount = 2;
}
message ReviveAttributesProto
{
float sta_percent = 1;
}
message BattleAttributesProto
{
float sta_percent = 1;
float atk_percent = 2;
float def_percent = 3;
float duration_s = 4;
}
message FoodAttributesProto
{
repeated HoloItemEffect item_effect = 1;
repeated float item_effect_percent = 2;
float growth_percent = 3;
float berry_multiplier = 4;
float remote_berry_multiplier = 5;
}
message InventoryUpgradeAttributesProto
{
int32 additional_storage = 1;
InventoryUpgradeType upgrade_type = 2;
}
message ExperienceBoostAttributesProto
{
float xp_multiplier = 1;
int32 boost_duration_ms = 2;
}
message EggIncubatorAttributesProto
{
EggIncubatorType incubator_type = 1;
int32 uses = 2;
float distance_multiplier = 3;
}
message IncenseAttributesProto
{
int32 incense_lifetime_seconds = 1;
repeated HoloPokemonType pokemon_type = 2;
float pokemon_incense_type_probability = 3;
int32 standing_time_between_encounters_sec = 4;
int32 moving_time_between_encounter_sec = 5;
int32 distance_required_for_shorter_interval_meters = 6;
int32 pokemon_attracted_length_sec = 7;
}
message FortModifierAttributesProto
{
int32 modifier_lifetime_seconds = 1;
int32 troy_disk_num_pokemon_spawned = 2;
}
message ItemSettingsProto
{
Item unique_id = 1;
HoloItemType item_type = 2;
HoloItemCategory category = 3;
float drop_freq = 4;
int32 drop_trainer_level = 5;
PokeBallAttributesProto pokeball = 6;
PotionAttributesProto potion = 7;
ReviveAttributesProto revive = 8;
BattleAttributesProto battle = 9;
FoodAttributesProto food = 10;
InventoryUpgradeAttributesProto inventory_upgrade = 11;
ExperienceBoostAttributesProto xp_boost = 12;
IncenseAttributesProto incense = 13;
EggIncubatorAttributesProto egg_incubator = 14;
FortModifierAttributesProto fort_modifier = 15;
}
message IapItemDisplayProto
{
string sku = 1;
HoloIapItemCategory category = 2;
int32 sort_order = 3;
repeated Item items = 4;
repeated int32 counts = 5;
}
message MoveSettingsProto
{
HoloPokemonMove unique_id = 1;
int32 animation_id = 2;
HoloPokemonType type = 3;
float power = 4;
float accuracy_chance = 5;
float critical_chance = 6;
float heal_scalar = 7;
float stamina_loss_scalar = 8;
int32 trainer_level_min = 9;
int32 trainer_level_max = 10;
string vfx_name = 11;
int32 duration_ms = 12;
int32 damage_window_start_ms = 13;
int32 damage_window_end_ms = 14;
int32 energy_delta = 15;
}
message MoveSequenceSettingsProto
{
repeated string sequence = 1;
}
message TypeEffectiveSettingsProto
{
HoloPokemonType attack_type = 2;
repeated float attack_scalar = 1;
}
message BadgeSettingsProto
{
HoloBadgeType badge_type = 1;
int32 badge_ranks = 2;
repeated int32 targets = 3;
repeated BadgeCaptureReward capture_reward = 4;
bool event_badge = 5;
}
message BadgeCaptureReward
{
float capture_reward_multiplier = 1;
repeated string avatar_template_ids = 2;
}
message CameraSettingsProto
{
string next_camera = 1;
repeated CameraInterpolation interpolation = 2;
repeated CameraTarget target_type = 3;
repeated float ease_in_speed = 4;
repeated float ease_out_speed = 5;
repeated float duration_s = 6;
repeated float wait_s = 7;
repeated float transition_s = 8;
repeated float angle_deg = 9;
repeated float angle_offset_deg = 10;
repeated float pitch_deg = 11;
repeated float pitch_offset_deg = 12;
repeated float roll_deg = 13;
repeated float distance_m = 14;
repeated float height_percent = 15;
repeated float vert_ctr_ratio = 16;
}
message PlayerLevelSettingsProto
{
repeated int32 rank_num = 1;
repeated int32 required_exp = 2;
repeated float cp_multiplier = 3;
int32 max_egg_player_level = 4;
int32 max_encounter_player_level = 5;
int32 max_raid_encounter_player_level = 6;
}
message GymLevelSettingsProto
{
repeated int32 required_exp = 1;
repeated int32 leader_slots = 2;
repeated int32 trainer_slots = 3;
repeated int32 search_roll_bonus = 4;
}
message GymBattleSettingsProto
{
float energy_per_sec = 1;
float dodge_energy_cost = 2;
float retarget_seconds = 3;
float enemy_attack_interval = 4;
float attack_server_interval = 5;
float round_duration_seconds = 6;
float bonus_time_per_ally_seconds = 7;
int32 maximum_attackers_per_battle = 8;
float same_type_attack_bonus_multiplier = 9;
int32 maximum_energy = 10;
float energy_delta_per_health_lost = 11;
int32 dodge_duration_ms = 12;
int32 minimum_player_level = 13;
int32 swap_duration_ms = 14;
float dodge_damage_reduction_percent = 15;
int32 minimum_raid_player_level = 16;
}
message EncounterSettingsProto
{
float spin_bonus_threshold = 1;
float excellent_throw_threshold = 2;
float great_throw_threshold = 3;
float nice_throw_threshold = 4;
int32 milestone_threshold = 5;
}
message IapSettingsProto
{
int32 daily_bonus_coins = 1;
repeated int32 daily_defender_bonus_per_pokemon = 2;
int32 daily_defender_bonus_max_defenders = 3;
repeated string daily_defender_bonus_currency = 4;
int64 min_time_between_claims_ms = 5;
bool daily_bonus_enabled = 6;
bool daily_defender_bonus_enabled = 7;
}
message PokemonUpgradeSettingsProto
{
int32 upgrades_per_level = 1;
int32 allowed_levels_above_player = 2;
repeated int32 candy_cost = 3;
repeated int32 stardust_cost = 4;
}
message EquippedBadgeSettingsProto
{
int64 equip_badge_cooldown_ms = 1;
repeated float catch_probability_bonus = 2;
repeated float flee_probability_bonus = 3;
}
message DailyQuestSettings
{
int32 buckets_per_day = 1;
int32 streak_length = 2;
float bonus_multiplier = 3;
float streak_bonus_multiplier = 4;
}
message QuestSettingsProto
{
QuestType quest_type = 1;
DailyQuestSettings daily_quest = 2;
}
message AvatarCustomizationProto
{
bool enabled = 1;
PlayerAvatarType avatar_type = 2;
repeated Slot slot = 3;
string bundle_name = 4;
string asset_name = 5;
string group_name = 6;
int32 sort_order = 7;
AvatarCustomizationUnlockType unlock_type = 8;
repeated AvatarCustomizationPromoType promo_type = 9;
HoloBadgeType unlock_badge_type = 10;
string iap_sku = 11;
int32 unlock_badge_level = 12;
string icon_name = 13;
int32 unlock_player_level = 14;
enum Slot
{
UNSET_SLOT = 0;
HAIR = 1;
SHIRT = 2;
PANTS = 3;
HAT = 4;
SHOES = 5;
EYES = 6;
BACKPACK = 7;
GLOVES = 8;
SOCKS = 9;
BELT = 10;
GLASSES = 11;
NECKLACE = 12;
}
enum AvatarCustomizationUnlockType
{
UNSET_UNLOCK_TYPE = 0;
DEFAULT = 1;
MEDAL_REWARD = 2;
IAP_CLOTHING = 3;
LEVEL_REWARD = 4;
}
enum AvatarCustomizationPromoType
{
UNSET_PROMO_TYPE = 0;
SALE = 1;
FEATURED = 2;
}
}
message FormSettingsProto
{
HoloPokemonId pokemon = 1;
repeated FormProto forms = 2;
}
message FormProto
{
Form form = 1;
int32 asset_bundle_value = 2;
enum Form
{
FORM_UNSET = 0;
UNOWN_A = 1;
UNOWN_B = 2;
UNOWN_C = 3;
UNOWN_D = 4;
UNOWN_E = 5;
UNOWN_F = 6;
UNOWN_G = 7;
UNOWN_H = 8;
UNOWN_I = 9;
UNOWN_J = 10;
UNOWN_K = 11;
UNOWN_L = 12;
UNOWN_M = 13;
UNOWN_N = 14;
UNOWN_O = 15;
UNOWN_P = 16;
UNOWN_Q = 17;
UNOWN_R = 18;
UNOWN_S = 19;
UNOWN_T = 20;
UNOWN_U = 21;
UNOWN_V = 22;
UNOWN_W = 23;
UNOWN_X = 24;
UNOWN_Y = 25;
UNOWN_Z = 26;
UNOWN_EXCLAMATION_POINT = 27;
UNOWN_QUESTION_MARK = 28;
CASTFORM_NORMAL = 29;
CASTFORM_SUNNY = 30;
CASTFORM_RAINY = 31;
CASTFORM_SNOWY = 32;
DEOXYS_NORMAL = 33;
DEOXYS_ATTACK = 34;
DEOXYS_DEFENSE = 35;
DEOXYS_SPEED = 36;
}
}
message ClientGenderProto
{
float male_percent = 1;
float female_percent = 2;
float genderless_percent = 3;
}
message ClientGenderSettingsProto
{
HoloPokemonId pokemon = 1;
ClientGenderProto gender = 2;
}
message GymBadgeGmtSettingsProto
{
repeated int32 target = 1;
float battle_winning_score_per_defender_cp = 2;
float gym_defending_score_per_minute = 3;
int32 berry_feeding_score = 4;
int32 pokemon_deploy_score = 5;
int32 raid_battle_winning_score = 6;
int32 lose_all_battles_score = 7;
}
message GameMasterClientTemplateProto
{
string template_id = 1;
PokemonSettingsProto pokemon = 2;
ItemSettingsProto item = 3;
MoveSettingsProto move = 4;
MoveSequenceSettingsProto move_sequence = 5;
TypeEffectiveSettingsProto type_effective = 8;
BadgeSettingsProto badge = 10;
CameraSettingsProto camera = 11;
PlayerLevelSettingsProto player_level = 12;
GymLevelSettingsProto gym_level = 13;
GymBattleSettingsProto battle_settings = 14;
EncounterSettingsProto encounter_settings = 15;
IapItemDisplayProto iap_item_display = 16;
IapSettingsProto iap_settings = 17;
PokemonUpgradeSettingsProto pokemon_upgrades = 18;
EquippedBadgeSettingsProto equipped_badges = 19;
QuestSettingsProto quest_settings = 20;
AvatarCustomizationProto avatar_customization = 21;
FormSettingsProto form_settings = 22;
ClientGenderSettingsProto gender_settings = 23;
GymBadgeGmtSettingsProto gym_badge_settings = 24;
}
message GetGameMasterClientTemplatesProto
{
bool paginate = 1;
int32 page_offset = 2;
uint64 page_timestamp = 3;
}
message GetGameMasterClientTemplatesOutProto
{
Result result = 1;
repeated GameMasterClientTemplateProto items = 2;
fixed64 timestamp = 3;
int32 page_offset = 4;
enum Result
{
UNSET = 0;
SUCCESS = 1;
PAGE = 2;
RETRY = 3;
}
}
message GetRemoteConfigVersionsProto
{
Platform platform = 1;
string device_manufacturer = 2;
string device_model = 3;
string locale = 4;
uint32 app_version = 5;
}
message GetRemoteConfigVersionsOutProto
{
Result result = 1;
uint64 game_master_timestamp = 2;
uint64 asset_digest_timestamp = 3;
enum Result
{
UNSET = 0;
SUCCESS = 1;
}
}
message ClientMapCellProto
{
uint64 s2_cell_id = 1;
int64 as_of_time_ms = 2;
repeated PokemonFortProto fort = 3;
repeated ClientSpawnPointProto spawn_point = 4;
repeated WildPokemonProto wild_pokemon = 5;
repeated string deleted_object = 6;
bool is_truncated_list = 7;
repeated PokemonSummaryFortProto fort_summary = 8;
repeated ClientSpawnPointProto decimated_spawn_point = 9;
repeated MapPokemonProto catchable_pokemon = 10;
repeated NearbyPokemonProto nearby_pokemon = 11;
}
message GetMapObjectsProto
{
repeated uint64 cell_id = 1;
repeated int64 since_time_ms = 2;
double player_lat = 3;
double player_lng = 4;
}
message GetMapObjectsOutProto
{
repeated ClientMapCellProto map_cell = 1;
Status status = 2;
TimeOfDay time_of_day = 3;
enum Status
{
UNSET = 0;
SUCCESS = 1;
LOCATION_UNSET = 2;
}
enum TimeOfDay
{
NONE = 0;
DAY = 1;
NIGHT = 2;
}
}
message NearbyPokemonProto
{
int32 pokedex_number = 1;
float distance_meters = 2;
fixed64 encounter_id = 3;
string fort_id = 4;
string fort_image_url = 5;
PokemonDisplayProto pokemon_display = 6;
}
message GymBadgeStats
{
fixed64 total_time_defended_ms = 1;
uint32 num_battles_won = 2;
uint32 num_battles_lost = 5;
uint32 num_berries_fed = 3;
uint32 num_deploys = 4;
}
message AwardedGymBadge
{
string fort_id = 1;
GymBadgeType gym_badge_type = 2;
uint32 score = 3;
GymBadgeStats gym_badge_stats = 4;
fixed64 last_update_timestamp_ms = 5;
fixed64 last_check_timestamp_ms = 11;
uint32 earned_points = 12;
float progress = 13;
bool level_up = 14;
string name = 6;
string image_url = 7;
string description = 8;
double latitude = 9;
double longitude = 10;
PlayerRaidInfoProto raids = 15;
}
message PlayerRaidInfoProto
{
int32 total_completed_raids = 3;
int32 total_completed_legendary_raids = 4;
repeated RaidProto raids = 5;
}
message RaidProto
{
int64 raid_seed = 1;
int64 started_ms = 2;
int64 completed_ms = 3;
HoloPokemonId encounter_pokemon_id = 4;
bool completed_battle = 5;
bool received_rewards = 6;
bool finished_encounter = 7;
bool received_default_rewards = 8;
}
message ListGymBadgesProto
{
}
message ListGymBadgesOutProto
{
repeated AwardedGymBadge gym_badge = 1;
}
message GetGymDetailsProto
{
string gym_id = 1;
double player_lat_degrees = 2;
double player_lng_degrees = 3;
double gym_lat_degrees = 4;
double gym_lng_degrees = 5;
string client_version = 6;
}
message GetGymDetailsOutProto
{
GymStateProto gym_state = 1;
string name = 2;
repeated string url = 3;
Result result = 4;
string description = 5;
repeated string secondary_url = 6;
string checkin_image_url = 7;
EventInfoProto event_info = 8;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_NOT_IN_RANGE = 2;
}
}
message GymGetInfoProto
{
string gym_id = 1;
double player_lat_degrees = 2;
double player_lng_degrees = 3;
double gym_lat_degrees = 4;
double gym_lng_degrees = 5;
}
message GymGetInfoOutProto
{
GymStatusAndDefendersProto gym_status_and_defenders = 1;
string name = 2;
string url = 3;
Result result = 4;
string description = 5;
string secondary_url = 6;
AwardedGymBadge awarded_gym_badge = 7;
string checkin_image_url = 8;
EventInfoProto event_info = 9;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_NOT_IN_RANGE = 2;
ERROR_GYM_DISABLED = 3;
}
}
message GymStatusAndDefendersProto
{
PokemonFortProto pokemon_fort_proto = 1;
repeated GymDefenderProto gym_defender = 2;
}
message GymDefenderProto
{
MotivatedPokemonProto motivated_pokemon = 1;
DeploymentTotalsProto deployment_totals = 2;
PlayerPublicProfileProto trainer_public_profile = 3;
}
message MotivatedPokemonProto
{
PokemonProto pokemon = 1;
int64 deploy_ms = 2;
int32 cp_when_deployed = 3;
double motivation_now = 4;
int32 cp_now = 5;
float berry_value = 6;
int64 feed_cooldown_duration_millis = 7;
repeated FoodValue food_value = 8;
}
message FoodValue
{
float motivation_increase = 1;
int32 cp_increase = 2;
Item food_item = 3;
}
message GymStateProto
{
PokemonFortProto fort_map_data = 1;
repeated GymMembershipProto gym_membership = 2;
bool deploy_lockout = 3;
}
message GetGymBadgeDetailsProto
{
string fort_id = 1;
double latitude = 2;
double longitude = 3;
}
message GetGymBadgeDetailsOutProto
{
AwardedGymBadge gym_badge = 1;
GymDefenderProto gym_defender = 2;
bool success = 3;
}
message StartGymBattleProto
{
string gym_id = 1;
repeated fixed64 attacking_pokemon_id = 2;
fixed64 defending_pokemon_id = 3;
double player_lat_degrees = 4;
double player_lng_degrees = 5;
}
message StartGymBattleOutProto
{
Result result = 1;
int64 battle_start_ms = 2;
int64 battle_end_ms = 3;
string battle_id = 4;
BattleParticipantProto defender = 5;
BattleLogProto battle_log = 6;
BattleParticipantProto attacker = 7;
BattleProto battle = 8;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_GYM_NOT_FOUND = 2;
ERROR_GYM_NEUTRAL = 3;
ERROR_GYM_WRONG_TEAM = 4;
ERROR_GYM_EMPTY = 5;
ERROR_INVALID_DEFENDER = 6;
ERROR_TRAINING_INVALID_ATTACKER_COUNT = 7;
ERROR_ALL_POKEMON_FAINTED = 8;
ERROR_TOO_MANY_BATTLES = 9;
ERROR_TOO_MANY_PLAYERS = 10;
ERROR_GYM_BATTLE_LOCKOUT = 11;
ERROR_PLAYER_BELOW_MINIMUM_LEVEL = 12;
ERROR_NOT_IN_RANGE = 13;
ERROR_POI_INACCESSIBLE = 14;
}
}
message GymStartSessionProto
{
string gym_id = 1;
repeated fixed64 attacking_pokemon_id = 2;
fixed64 defending_pokemon_id = 3;
double player_lat_degrees = 4;
double player_lng_degrees = 5;
}
message GymStartSessionOutProto
{
Result result = 1;
BattleProto battle = 2;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_GYM_NOT_FOUND = 2;
ERROR_GYM_NEUTRAL = 3;
ERROR_GYM_WRONG_TEAM = 4;
ERROR_GYM_EMPTY = 5;
ERROR_INVALID_DEFENDER = 6;
ERROR_TRAINING_INVALID_ATTACKER_COUNT = 7;
ERROR_ALL_POKEMON_FAINTED = 8;
ERROR_TOO_MANY_BATTLES = 9;
ERROR_TOO_MANY_PLAYERS = 10;
ERROR_GYM_BATTLE_LOCKOUT = 11;
ERROR_PLAYER_BELOW_MINIMUM_LEVEL = 12;
ERROR_NOT_IN_RANGE = 13;
ERROR_POI_INACCESSIBLE = 14;
ERROR_RAID_ACTIVE = 15;
}
}
message GymBattleAttackProto
{
string gym_id = 1;
string battle_id = 2;
repeated BattleActionProto attacker_actions = 3;
BattleActionProto last_retrieved_action = 4;
double player_lat_degrees = 5;
double player_lng_degrees = 6;
int64 timestamp_ms = 7;
}
message GymBattleAttackOutProto
{
Result result = 1;
BattleUpdateProto battle_update = 2;
AwardedGymBadge gym_badge = 3;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_INVALID_ATTACK_ACTIONS = 2;
ERROR_NOT_IN_RANGE = 3;
ERROR_WRONG_BATTLE_TYPE = 4;
ERROR_RAID_ACTIVE = 5;
}
}
message AttackGymProto
{
string gym_id = 1;
string battle_id = 2;
repeated BattleActionProto attacker_actions = 3;
BattleActionProto last_retrieved_action = 4;
double player_lat_degrees = 5;
double player_lng_degrees = 6;
}
message BattleProto
{
int64 battle_start_ms = 1;
int64 battle_end_ms = 2;
string battle_id = 3;
BattleParticipantProto defender = 4;
BattleLogProto battle_log = 5;
BattleParticipantProto attacker = 6;
}
message BattleUpdateProto
{
BattleLogProto battle_log = 1;
string battle_id = 2;
PokemonInfo active_defender = 3;
PokemonInfo active_attacker = 4;
}
message ParticipationProto
{
int32 individual_damage_pokeballs = 1;
int32 team_damage_pokeballs = 2;
int32 gym_ownership_pokeballs = 3;
int32 base_pokeballs = 4;
double blue_percentage = 5;
double red_percentage = 6;
double yellow_percentage = 7;
float bonus_item_multiplier = 8;
}
message BattleActionProto
{
ActionType type = 1;
int64 action_start_ms = 2;
int32 duration_ms = 3;
int32 energy_delta = 5;
int32 attacker_index = 6;
int32 target_index = 7;
fixed64 active_pokemon_id = 8;
BattleParticipantProto joined_player = 9;
BattleResultsProto battle_results = 10;
int64 damage_window_start_ms = 11;
int64 damage_window_end_ms = 12;
BattleParticipantProto quit_player = 13;
fixed64 target_pokemon_id = 14;
enum ActionType
{
UNSET = 0;
ATTACK = 1;
DODGE = 2;
SPECIAL_ATTACK = 3;
SWAP_POKEMON = 4;
FAINT = 5;
PLAYER_JOIN = 6;
PLAYER_QUIT = 7;
VICTORY = 8;
DEFEAT = 9;
TIMED_OUT = 10;
}
}
message AttackGymOutProto
{
Result result = 1;
BattleLogProto battle_log = 2;
string battle_id = 3;
PokemonInfo active_defender = 4;
PokemonInfo active_attacker = 5;
BattleUpdateProto battle_update = 6;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_INVALID_ATTACK_ACTIONS = 2;
ERROR_NOT_IN_RANGE = 3;
}
}
message GymMembershipProto
{
PokemonProto pokemon = 1;
PlayerPublicProfileProto trainer_public_profile = 2;
PokemonProto training_pokemon = 3;
}
message BattleParticipantProto
{
PokemonInfo active_pokemon = 1;
PlayerPublicProfileProto trainer_public_profile = 2;
repeated PokemonInfo reserve_pokemon = 3;
repeated PokemonInfo defeated_pokemon = 4;
repeated LobbyPokemonProto lobby_pokemon = 5;
int32 damage_dealt = 6;
}
message LobbyPokemonProto
{
int64 id = 1;
HoloPokemonId pokedex_id = 2;
int32 cp = 3;
float percent_health = 4;
}
message PokemonInfo
{
PokemonProto pokemon = 1;
int32 current_health = 2;
int32 current_energy = 3;
}
message BattleResultsProto
{
GymStateProto gym_state = 1;
repeated BattleParticipantProto attackers = 2;
repeated int32 player_xp_awarded = 3;
int64 next_defender_pokemon_id = 4;
int32 gym_points_delta = 5;
GymStatusAndDefendersProto gym_status = 6;
repeated ParticipationProto participation = 7;
repeated LootProto raid_item_rewards = 8;
repeated RaidEncounterProto post_raid_encounter = 9;
repeated AwardedGymBadge gym_badge = 10;
repeated LootProto default_raid_item_rewards = 11;
}
message BattleLogProto
{
State state = 1;
BattleType battle_type = 2;
int64 server_ms = 3;
repeated BattleActionProto battle_actions = 4;
int64 battle_start_ms = 5;
int64 battle_end_ms = 6;
enum State
{
STATE_UNSET = 0;
ACTIVE = 1;
VICTORY = 2;
DEFEATED = 3;
TIMED_OUT = 4;
}
enum BattleType
{
BATTLE_TYPE_UNSET = 0;
NORMAL = 1;
TRAINING = 2;
RAID = 3;
}
}
message HoloInventoryKeyProto
{
fixed64 pokemon_id = 1;
Item item = 2;
int32 pokedex_entry_id = 3;
bool player_stats = 4;
bool player_currency = 5;
bool player_camera = 6;
bool inventory_upgrades = 7;
bool applied_items = 8;
bool egg_incubators = 9;
int32 pokemon_family_id = 10;
QuestType quest_type = 11;
string avatar_template_id = 12;
bool raid_tickets = 13;
}
message HoloInventoryItemProto
{
PokemonProto pokemon = 1;
ItemProto item = 2;
PokedexEntryProto pokedex_entry = 3;
PlayerStatsProto player_stats = 4;
PlayerCurrencyProto player_currency = 5;
PlayerCameraProto player_camera = 6;
InventoryUpgradesProto inventory_upgrades = 7;
AppliedItemsProto applied_items = 8;
EggIncubatorsProto egg_incubators = 9;
PokemonFamilyProto pokemon_family = 10;
QuestProto quest = 11;
AvatarItemProto avatar_item = 12;
RaidTicketsProto raid_tickets = 13;
}
message RaidTicketsProto
{
repeated RaidTicketProto raid_ticket = 1;
}
message FortSponsor
{
}
message FortRenderingType
{
}
message PokemonProto
{
fixed64 id = 1;
int32 pokemon_id = 2;
int32 cp = 3;
int32 stamina = 4;
int32 max_stamina = 5;
int32 move1 = 6;
int32 move2 = 7;
string deployed_fort_id = 8;
string owner_name = 9;
bool is_egg = 10;
double egg_km_walked_target = 11;
double egg_km_walked_start = 12;
PokemonCreateContext origin = 14;
float height_m = 15;
float weight_kg = 16;
int32 individual_attack = 17;
int32 individual_defense = 18;
int32 individual_stamina = 19;
float cp_multiplier = 20;
Item pokeball = 21;
int64 captured_s2_cell_id = 22;
int32 battles_attacked = 23;
int32 battles_defended = 24;
string egg_incubator_id = 25;
int64 creation_time_ms = 26;
int32 num_upgrades = 27;
float additional_cp_multiplier = 28;
bool favorite = 29;
string nickname = 30;
bool from_fort = 31;
int32 buddy_candy_awarded = 32;
float buddy_km_walked = 33;
int32 display_pokemon_id = 34;
int32 display_cp = 35;
PokemonDisplayProto pokemon_display = 36;
bool is_bad = 37;
bool hatched_from_egg = 38;
int32 coins_returned = 39;
int64 deployed_duration_ms = 40;
int64 deployed_returned_timestamp_ms = 41;
}
message ItemProto
{
Item item = 1;
int32 count = 2;
bool unseen = 3;
}
message AvatarItemProto
{
string avatar_template_id = 1;
int64 new_timestamp_ms = 2;
bool viewed = 3;
}
message PokedexEntryProto
{
int32 pokedex_entry_number = 1;
int32 times_encountered = 2;
int32 times_captured = 3;
int32 evolution_stone_pieces = 4;
int32 evolution_stones = 5;
repeated Costume captured_costumes = 6;
repeated Form captured_forms = 7;
repeated Gender captured_genders = 8;
bool captured_shiny = 9;
repeated Costume encountered_costumes = 10;
repeated Form encountered_forms = 11;
repeated Gender encountered_genders = 12;
bool encountered_shiny = 13;
enum Costume
{
UNSET = 0;
HOLIDAY_2016 = 1;
ANNIVERSARY = 2;
ONE_YEAR_ANNIVERSARY = 3;
HALLOWEEN_2017 = 4;
}
enum Form
{
FORM_UNSET = 0;
UNOWN_A = 1;
UNOWN_B = 2;
UNOWN_C = 3;
UNOWN_D = 4;
UNOWN_E = 5;
UNOWN_F = 6;
UNOWN_G = 7;
UNOWN_H = 8;
UNOWN_I = 9;
UNOWN_J = 10;
UNOWN_K = 11;
UNOWN_L = 12;
UNOWN_M = 13;
UNOWN_N = 14;
UNOWN_O = 15;
UNOWN_P = 16;
UNOWN_Q = 17;
UNOWN_R = 18;
UNOWN_S = 19;
UNOWN_T = 20;
UNOWN_U = 21;
UNOWN_V = 22;
UNOWN_W = 23;
UNOWN_X = 24;
UNOWN_Y = 25;
UNOWN_Z = 26;
UNOWN_EXCLAMATION_POINT = 27;
UNOWN_QUESTION_MARK = 28;
CASTFORM_NORMAL = 29;
CASTFORM_SUNNY = 30;
CASTFORM_RAINY = 31;
CASTFORM_SNOWY = 32;
DEOXYS_NORMAL = 33;
DEOXYS_ATTACK = 34;
DEOXYS_DEFENSE = 35;
DEOXYS_SPEED = 36;
}
enum Gender
{
GENDER_UNSET = 0;
MALE = 1;
FEMALE = 2;
GENDERLESS = 3;
}
enum Costume
{
UNSET = 0;
HOLIDAY_2016 = 1;
ANNIVERSARY = 2;
ONE_YEAR_ANNIVERSARY = 3;
HALLOWEEN_2017 = 4;
}
enum Form
{
FORM_UNSET = 0;
UNOWN_A = 1;
UNOWN_B = 2;
UNOWN_C = 3;
UNOWN_D = 4;
UNOWN_E = 5;
UNOWN_F = 6;
UNOWN_G = 7;
UNOWN_H = 8;
UNOWN_I = 9;
UNOWN_J = 10;
UNOWN_K = 11;
UNOWN_L = 12;
UNOWN_M = 13;
UNOWN_N = 14;
UNOWN_O = 15;
UNOWN_P = 16;
UNOWN_Q = 17;
UNOWN_R = 18;
UNOWN_S = 19;
UNOWN_T = 20;
UNOWN_U = 21;
UNOWN_V = 22;
UNOWN_W = 23;
UNOWN_X = 24;
UNOWN_Y = 25;
UNOWN_Z = 26;
UNOWN_EXCLAMATION_POINT = 27;
UNOWN_QUESTION_MARK = 28;
CASTFORM_NORMAL = 29;
CASTFORM_SUNNY = 30;
CASTFORM_RAINY = 31;
CASTFORM_SNOWY = 32;
DEOXYS_NORMAL = 33;
DEOXYS_ATTACK = 34;
DEOXYS_DEFENSE = 35;
DEOXYS_SPEED = 36;
}
enum Gender
{
GENDER_UNSET = 0;
MALE = 1;
FEMALE = 2;
GENDERLESS = 3;
}
}
message PlayerStatsProto
{
int32 level = 1;
int64 experience = 2;
int64 prev_level_exp = 3;
int64 next_level_exp = 4;
float km_walked = 5;
int32 num_pokemon_encountered = 6;
int32 num_unique_pokedex_entries = 7;
int32 num_pokemon_captured = 8;
int32 num_evolutions = 9;
int32 poke_stop_visits = 10;
int32 number_of_pokeball_thrown = 11;
int32 num_eggs_hatched = 12;
int32 big_magikarp_caught = 13;
int32 num_battle_attack_won = 14;
int32 num_battle_attack_total = 15;
int32 num_battle_defended_won = 16;
int32 num_battle_training_won = 17;
int32 num_battle_training_total = 18;
int32 prestige_raised_total = 19;
int32 prestige_dropped_total = 20;
int32 num_pokemon_deployed = 21;
repeated int32 num_pokemon_caught_by_type = 22;
int32 small_rattata_caught = 23;
double used_km_pool = 24;
int64 last_km_refill_ms = 25;
int32 num_raid_battle_won = 26;
int32 num_raid_battle_total = 27;
int32 num_legendary_battle_won = 28;
int32 num_legendary_battle_total = 29;
int32 num_berries_fed = 30;
int64 total_defended_ms = 31;
repeated HoloBadgeType event_badges = 32;
}
message PlayerCurrencyProto
{
int32 gems = 1;
}
message PlayerCameraProto
{
bool default_camera = 1;
}
message InventoryUpgradesProto
{
repeated InventoryUpgradeProto inventory_upgrade = 1;
}
message InventoryUpgradeProto
{
Item item = 1;
InventoryUpgradeType upgrade_type = 2;
int32 additional_storage = 3;
}
message DailyQuestProto
{
int32 current_period_bucket = 1;
int32 current_streak_count = 2;
}
message QuestProto
{
QuestType quest_type = 1;
DailyQuestProto daily_quest = 2;
}
message EggIncubatorsProto
{
repeated EggIncubatorProto egg_incubator = 1;
}
message EggIncubatorProto
{
string item_id = 1;
Item item = 2;
EggIncubatorType incubator_type = 3;
int32 uses_remaining = 4;
int64 pokemon_id = 5;
double start_km_walked = 6;
double target_km_walked = 7;
}
message AppliedItemsProto
{
repeated AppliedItemProto item = 4;
}
message AppliedItemProto
{
Item item = 1;
HoloItemType item_type = 2;
int64 expiration_ms = 3;
int64 applied_ms = 4;
}
message PokemonFamilyProto
{
HoloPokemonFamilyId family_id = 1;
int32 candy = 2;
}
message BuddyPokemonProto
{
fixed64 buddy_pokemon_id = 1;
double start_km_walked = 2;
double last_km_awarded = 3;
}
message PlayerPublicProfileProto
{
string name = 1;
int32 level = 2;
PlayerAvatarProto avatar = 3;
Team team = 4;
int32 battles_won = 5;
float km_walked = 6;
int32 caught_pokemon = 7;
GymBadgeType gym_badge_type = 8;
}
message PlayerAvatarProto
{
int32 avatar = 8;
int32 skin = 2;
int32 hair = 3;
int32 shirt = 4;
int32 pants = 5;
int32 hat = 6;
int32 shoes = 7;
int32 eyes = 9;
int32 backpack = 10;
string avatar_hair = 11;
string avatar_shirt = 12;
string avatar_pants = 13;
string avatar_hat = 14;
string avatar_shoes = 15;
string avatar_eyes = 16;
string avatar_backpack = 17;
string avatar_gloves = 18;
string avatar_socks = 19;
string avatar_belt = 20;
string avatar_glasses = 21;
string avatar_necklace = 22;
}
message ActionLogEntry
{
int64 timestamp_ms = 1;
bool sfida = 2;
CatchPokemonLogEntry catch_pokemon = 3;
FortSearchLogEntry fort_search = 4;
BuddyPokemonLogEntry buddy_pokemon = 5;
RaidRewardsLogEntry raid_rewards = 6;
PasscodeRewardsLogEntry passcode_rewards = 7;
}
message CatchPokemonLogEntry
{
Result result = 1;
int32 pokedex_number = 2;
int32 combat_points = 3;
fixed64 pokemon_id = 4;
PokemonDisplayProto pokemon_display = 5;
enum Result
{
UNSET = 0;
POKEMON_CAPTURED = 1;
POKEMON_FLED = 2;
POKEMON_HATCHED = 3;
}
}
message BuddyPokemonLogEntry
{
Result result = 1;
HoloPokemonId pokemon_type = 2;
int32 amount = 3;
PokemonDisplayProto pokemon_display = 4;
fixed64 pokemon_id = 5;
enum Result
{
UNSET = 0;
CANDY_FOUND = 1;
}
}
message FortSearchLogEntry
{
Result result = 1;
string fort_id = 2;
repeated ItemProto items = 3;
int32 eggs = 4;
repeated PokemonProto pokemon_eggs = 5;
FortType fort_type = 6;
repeated ItemProto awarded_items = 7;
repeated ItemProto bonus_items = 8;
repeated ItemProto team_bonus_items = 9;
enum Result
{
UNSET = 0;
SUCCESS = 1;
}
}
message RaidRewardsLogEntry
{
Result result = 1;
bool is_exclusive = 2;
repeated ItemProto items = 3;
repeated ItemProto default_rewards = 4;
int32 stardust = 5;
enum Result
{
UNSET = 0;
SUCCESS = 1;
}
}
message PasscodeRewardsLogEntry
{
Result result = 1;
string passcode = 2;
RedeemPasscodeRewardProto rewards = 3;
enum Result
{
UNSET = 0;
SUCCESS = 1;
}
}
message PokemonDisplayProto
{
Costume costume = 1;
Gender gender = 2;
bool shiny = 3;
Form form = 4;
enum Costume
{
UNSET = 0;
HOLIDAY_2016 = 1;
ANNIVERSARY = 2;
ONE_YEAR_ANNIVERSARY = 3;
HALLOWEEN_2017 = 4;
}
enum Gender
{
GENDER_UNSET = 0;
MALE = 1;
FEMALE = 2;
GENDERLESS = 3;
}
enum Form
{
FORM_UNSET = 0;
UNOWN_A = 1;
UNOWN_B = 2;
UNOWN_C = 3;
UNOWN_D = 4;
UNOWN_E = 5;
UNOWN_F = 6;
UNOWN_G = 7;
UNOWN_H = 8;
UNOWN_I = 9;
UNOWN_J = 10;
UNOWN_K = 11;
UNOWN_L = 12;
UNOWN_M = 13;
UNOWN_N = 14;
UNOWN_O = 15;
UNOWN_P = 16;
UNOWN_Q = 17;
UNOWN_R = 18;
UNOWN_S = 19;
UNOWN_T = 20;
UNOWN_U = 21;
UNOWN_V = 22;
UNOWN_W = 23;
UNOWN_X = 24;
UNOWN_Y = 25;
UNOWN_Z = 26;
UNOWN_EXCLAMATION_POINT = 27;
UNOWN_QUESTION_MARK = 28;
CASTFORM_NORMAL = 29;
CASTFORM_SUNNY = 30;
CASTFORM_RAINY = 31;
CASTFORM_SNOWY = 32;
DEOXYS_NORMAL = 33;
DEOXYS_ATTACK = 34;
DEOXYS_DEFENSE = 35;
DEOXYS_SPEED = 36;
}
}
message RaidInfoProto
{
int64 raid_seed = 1;
int64 raid_spawn_ms = 2;
int64 raid_battle_ms = 3;
int64 raid_end_ms = 4;
PokemonProto raid_pokemon = 5;
RaidLevel raid_level = 6;
bool complete = 7;
bool is_exclusive = 8;
bool is_raid_hidden = 9;
}
message RaidEncounterProto
{
PokemonProto pokemon = 1;
int64 encounter_id = 2;
string spawnpoint_id = 3;
CaptureProbabilityProto capture_probabilities = 4;
int32 throws_remaining = 5;
RaidLevel raid_level = 6;
string fort_id = 7;
bool is_exclusive = 8;
bool is_event_legendary = 9;
}
message CaptureProbabilityProto
{
repeated Item pokeball_type = 1;
repeated float capture_probability = 2;
double reticle_difficulty_scale = 12;
}
message DeploymentTotalsProto
{
int32 times_fed = 1;
int32 battles_won = 2;
int32 battles_lost = 3;
int64 deployment_duration_ms = 4;
}
message LootProto
{
repeated LootItemProto loot_item = 1;
}
message LootItemProto
{
Item item = 1;
bool stardust = 2;
bool pokecoin = 3;
HoloPokemonId pokemon_candy = 4;
int32 count = 5;
}
message RaidTicketProto
{
string ticket_id = 1;
Item item = 2;
ExclusiveTicketInfoProto exclusive_info = 4;
}
message ExclusiveTicketInfoProto
{
int64 raid_seed = 1;
string fort_id = 2;
int64 start_time_ms = 4;
int64 end_time_ms = 5;
string image_url = 6;
double latitude = 7;
double longitude = 8;
string gym_name = 9;
int64 spawn_time_ms = 10;
bool is_cancelled = 11;
}
message EventInfoProto
{
string image_url = 1;
string icon_url = 2;
string name_key = 3;
}
message RedeemedItemProto
{
Item item = 1;
int32 item_count = 2;
}
message RedeemedAvatarItemProto
{
string avatar_template_id = 1;
int32 item_count = 2;
}
message PokeCandyProto
{
fixed64 pokemon_id = 1;
int32 candy_count = 2;
}
message RedeemPasscodeRewardProto
{
repeated RedeemedItemProto items = 1;
repeated RedeemedAvatarItemProto avatar_items = 2;
repeated PokemonProto egg_pokemon = 3;
repeated PokemonProto pokemon = 4;
repeated PokeCandyProto poke_candy = 5;
int32 stardust = 6;
int32 pokecoins = 7;
repeated HoloBadgeType badges = 8;
}
message ExclusiveRaidCancellationProto
{
string fort_id = 1;
int64 start_time_ms = 2;
int64 end_time_ms = 3;
string image_url = 4;
double latitude = 5;
double longitude = 6;
string gym_name = 7;
repeated LootItemProto rewards = 8;
}
message GetInboxProto
{
bool is_history = 1;
bool is_reverse = 2;
int64 not_before_ms = 3;
}
message GetInboxOutProto
{
Result result = 1;
ClientInbox inbox = 2;
enum Result
{
UNSET = 0;
SUCCESS = 1;
FAILURE = 2;
}
}
message PlayerBadgeProto
{
HoloBadgeType badge_type = 1;
int32 rank = 2;
int32 start_value = 3;
int32 end_value = 4;
double current_value = 5;
}
message PlayerProfileProto
{
string player_name = 1;
}
message PlayerProfileOutProto
{
Result result = 1;
int64 start_time = 2;
repeated PlayerBadgeProto badges = 3;
GymBadges gym_badges = 4;
enum Result
{
UNSET = 0;
SUCCESS = 1;
}
}
message LevelUpRewardsProto
{
int32 level = 1;
}
message LevelUpRewardsOutProto
{
Result result = 1;
repeated AwardItemProto items = 2;
repeated Item items_unlocked = 4;
repeated string avatar_template_ids = 5;
enum Result
{
UNSET = 0;
SUCCESS = 1;
AWARDED_ALREADY = 2;
}
}
message JoinLobbyProto
{
int64 raid_seed = 1;
string gym_id = 2;
repeated int32 lobby_id = 3;
bool private = 4;
double player_lat_degrees = 5;
double player_lng_degrees = 6;
}
message JoinLobbyOutProto
{
Result result = 1;
LobbyProto lobby = 2;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_NOT_IN_RANGE = 2;
ERROR_RAID_UNAVAILABLE = 3;
ERROR_RAID_COMPLETED = 4;
ERROR_NO_AVAILABLE_LOBBIES = 5;
ERROR_PLAYER_BELOW_MINIMUM_LEVEL = 6;
ERROR_POI_INACCESSIBLE = 7;
ERROR_GYM_LOCKOUT = 8;
ERROR_NO_TICKET = 9;
}
}
message LobbyProto
{
repeated int32 lobby_id = 1;
repeated BattleParticipantProto players = 2;
int64 player_join_end_ms = 3;
int64 pokemon_selection_end_ms = 4;
int64 raid_battle_start_ms = 5;
int64 raid_battle_end_ms = 6;
string raid_battle_id = 8;
string owner_nickname = 9;
bool private = 10;
int64 creation_ms = 11;
int32 battle_plfe_instance = 12;
}
message LeaveLobbyProto
{
int64 raid_seed = 1;
string gym_id = 2;
repeated int32 lobby_id = 3;
}
message LeaveLobbyOutProto
{
Result result = 1;
LobbyProto lobby = 2;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_RAID_UNAVAILABLE = 2;
ERROR_LOBBY_NOT_FOUND = 3;
}
}
message SetLobbyVisibilityProto
{
int64 raid_seed = 1;
string gym_id = 2;
repeated int32 lobby_id = 3;
}
message SetLobbyVisibilityOutProto
{
Result result = 1;
LobbyProto lobby = 2;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_NOT_LOBBY_CREATOR = 2;
ERROR_LOBBY_NOT_FOUND = 3;
ERROR_RAID_UNAVAILABLE = 4;
}
}
message SetLobbyPokemonProto
{
int64 raid_seed = 1;
string gym_id = 2;
repeated int32 lobby_id = 3;
repeated fixed64 pokemon_id = 4;
}
message SetLobbyPokemonOutProto
{
Result result = 1;
LobbyProto lobby = 2;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_LOBBY_NOT_FOUND = 2;
ERROR_RAID_UNAVAILABLE = 3;
ERROR_INVALID_POKEMON = 4;
}
}
message GetRaidDetailsProto
{
int64 raid_seed = 1;
string gym_id = 2;
repeated int32 lobby_id = 3;
double player_lat_degrees = 4;
double player_lng_degrees = 5;
}
message GetRaidDetailsOutProto
{
LobbyProto lobby = 1;
BattleProto raid_battle = 2;
bool player_can_join_lobby = 3;
Result result = 4;
RaidInfoProto raid_info = 5;
bool ticket_used = 6;
bool free_ticket_available = 7;
int32 throws_remaining = 8;
bool received_rewards = 9;
int32 num_players_in_lobby = 10;
int64 server_ms = 11;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_NOT_IN_RANGE = 2;
ERROR_RAID_COMPLETED = 3;
ERROR_RAID_UNAVAILABLE = 4;
ERROR_PLAYER_BELOW_MINIMUM_LEVEL = 5;
ERROR_POI_INACCESSIBLE = 6;
}
}
message StartRaidBattleProto
{
string gym_id = 1;
int64 raid_seed = 2;
repeated int32 lobby_id = 4;
repeated fixed64 attacking_pokemon_id = 5;
double player_lat_degrees = 6;
double player_lng_degrees = 7;
}
message StartRaidBattleOutProto
{
Result result = 1;
BattleProto battle = 2;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_GYM_NOT_FOUND = 2;
ERROR_RAID_UNAVAILABLE = 3;
ERROR_RAID_COMPLETED = 4;
ERROR_INVALID_ATTACKERS = 5;
ERROR_PLAYER_BELOW_MINIMUM_LEVEL = 6;
ERROR_NOT_IN_RANGE = 7;
ERROR_POI_INACCESSIBLE = 8;
ERROR_LOBBY_NOT_FOUND = 9;
ERROR_NO_TICKET = 10;
ERROR_INVALID_SERVER = 11;
ERROR_NEVER_JOINED_BATTLE = 12;
}
}
message AttackRaidBattleProto
{
string gym_id = 1;
string battle_id = 2;
repeated BattleActionProto attacker_actions = 3;
BattleActionProto last_retrieved_action = 4;
int64 timestamp_ms = 5;
}
message AttackRaidBattleOutProto
{
Result result = 1;
BattleUpdateProto battle_update = 2;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_GYM_NOT_FOUND = 2;
ERROR_BATTLE_NOT_FOUND = 3;
ERROR_INVALID_ATTACK_ACTIONS = 4;
ERROR_NOT_PART_OF_BATTLE = 5;
ERROR_BATTLE_ID_NOT_RAID = 6;
}
}
message AwardFreeRaidTicketProto
{
string gym_id = 1;
double player_lat_degrees = 2;
double player_lng_degrees = 3;
}
message AwardFreeRaidTicketOutProto
{
Result result = 1;
enum Result
{
NO_RESULT_SET = 0;
SUCCESS = 1;
ERROR_PLAYER_DOES_NOT_MEET_MIN_LEVEL = 2;
ERROR_DAILY_TICKET_ALREADY_AWARDED = 3;
ERROR_PLAYER_OUT_OF_RANGE = 4;
}
}
message PokemonFortProto
{
string fort_id = 1;
int64 last_modified_ms = 2;
double latitude = 3;
double longitude = 4;
int32 team = 5;
int32 guard_pokemon_id = 6;
int32 guard_pokemon_level = 7;
bool enabled = 8;
FortType fort_type = 9;
int64 gym_points = 10;
bool is_in_battle = 11;
repeated Item active_fort_modifier = 12;
MapPokemonProto active_pokemon = 13;
int64 cooldown_complete_ms = 14;
Sponsor sponsor = 15;
RenderingType rendering_type = 16;
int64 deploy_lockout_end_ms = 17;
PokemonDisplayProto guard_pokemon_display = 18;
bool closed = 19;
RaidInfoProto raid_info = 20;
GymDisplayProto gym_display = 21;
bool visited = 22;
int64 same_team_deploy_lockout_end_ms = 23;
bool allow_checkin = 24;
string image_url = 25;
bool in_event = 26;
string banner_url = 27;
enum Sponsor
{
UNSET = 0;
MCDONALDS = 1;
POKEMON_STORE = 2;
TOHO = 3;
SOFTBANK = 4;
GLOBE = 5;
SPATULA = 6;
THERMOMETER = 7;
KNIFE = 8;
GRILL = 9;
SMOKER = 10;
PAN = 11;
BBQ = 12;
FRYER = 13;
STEAMER = 14;
HOOD = 15;
SLOWCOOKER = 16;
MIXER = 17;
SCOOPER = 18;
MUFFINTIN = 19;
SALAMANDER = 20;
PLANCHA = 21;
NIA_OPS = 22;
WHISK = 23;
}
enum RenderingType
{
DEFAULT = 0;
INTERNAL_TEST = 1;
}
}
message GymDisplayProto
{
repeated GymEventProto gym_event = 1;
int32 total_gym_cp = 2;
double lowest_pokemon_motivation = 3;
int32 slots_available = 4;
int64 occupied_millis = 5;
}
message GymEventProto
{
string trainer = 1;
int64 timestamp_ms = 2;
Event event = 3;
int32 pokedex_id = 4;
fixed64 pokemon_id = 5;
enum Event
{
UNKNOWN = 0;
POKEMON_FED = 1;
POKEMON_DEPLOYED = 2;
POKEMON_RETURNED = 3;
BATTLE_WON = 4;
BATTLE_LOSS = 5;
RAID_STARTED = 6;
RAID_ENDED = 7;
GYM_NEUTRALIZED = 8;
}
}
message PokemonSummaryFortProto
{
string fort_summary_id = 1;
int64 last_modified_ms = 2;
double latitude = 3;
double longitude = 4;
}
message ClientSpawnPointProto
{
double latitude = 2;
double longitude = 3;
}
message WildPokemonProto
{
fixed64 encounter_id = 1;
int64 last_modified_ms = 2;
double latitude = 3;
double longitude = 4;
string spawn_point_id = 5;
PokemonProto pokemon = 7;
int32 time_till_hidden_ms = 11;
}
message MapPokemonProto
{
string spawnpoint_id = 1;
fixed64 encounter_id = 2;
int32 pokedex_type_id = 3;
int64 expiration_time_ms = 4;
double latitude = 5;
double longitude = 6;
PokemonDisplayProto pokemon_display = 7;
}
message ClientPlayerProto
{
int64 creation_time_ms = 1;
string name = 2;
int32 team = 5;
repeated TutorialCompletion tutorial_complete = 7;
PlayerAvatarProto player_avatar_proto = 8;
int32 max_pokemon_storage = 9;
int32 max_item_storage = 10;
DailyBonusProto daily_bonus_proto = 11;
EquippedBadgeProto equipped_badge_proto = 12;
ContactSettingsProto contact_settings_proto = 13;
repeated CurrencyQuantityProto currency_balance = 14;
int32 remaining_codename_claims = 15;
BuddyPokemonProto buddy_pokemon_proto = 16;
int64 battle_lockout_end_ms = 17;
PlayerAvatarProto secondary_player_avatar_proto = 18;
bool name_is_blacklisted = 19;
}
message CurrencyQuantityProto
{
string currency_type = 1;
int32 quantity = 2;
}
message ContactSettingsProto
{
bool send_marketing_emails = 1;
bool send_push_notifications = 2;
}
message DailyBonusProto
{
int64 next_collect_timestamp_ms = 1;
int64 next_defender_bonus_collect_timestamp_ms = 2;
}
message EquippedBadgeProto
{
HoloBadgeType equipped_badge = 1;
int32 level = 2;
int64 next_equip_change_allowed_timestamp_ms = 3;
}
message PlayerLocaleProto
{
string country = 1;
string language = 2;
string timezone = 3;
}
message GetPlayerProto
{
PlayerLocaleProto player_locale = 1;
}
message GetPlayerOutProto
{
bool success = 1;
ClientPlayerProto player = 2;
bool banned = 3;
bool warn = 4;
}
message GetHoloholoInventoryProto
{
int64 timestamp_millis = 1;
repeated Item item_been_seen = 2;
}
message GetHoloholoInventoryOutProto
{
bool success = 1;
InventoryDeltaProto inventory_delta = 2;
}
message SetFavoritePokemonProto
{
int64 pokemon_id = 1;
bool is_favorite = 2;
}
message SetFavoritePokemonOutProto
{
Result result = 1;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_POKEMON_NOT_FOUND = 2;
ERROR_POKEMON_IS_EGG = 3;
}
}
message ReleasePokemonProto
{
fixed64 pokemon_id = 1;
repeated fixed64 pokemon_ids = 2;
}
message ReleasePokemonOutProto
{
Status status = 1;
int32 candy_awarded = 2;
enum Status
{
UNSET = 0;
SUCCESS = 1;
POKEMON_DEPLOYED = 2;
FAILED = 3;
ERROR_POKEMON_IS_EGG = 4;
ERROR_POKEMON_IS_BUDDY = 5;
}
}
message NicknamePokemonProto
{
fixed64 pokemon_id = 1;
string nickname = 2;
}
message NicknamePokemonOutProto
{
Result result = 1;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_INVALID_NICKNAME = 2;
ERROR_POKEMON_NOT_FOUND = 3;
ERROR_POKEMON_IS_EGG = 4;
}
}
message ClaimCodenameRequestProto
{
string codename = 1;
bool force = 2;
}
message CodenameResultProto
{
string codename = 1;
string user_message = 2;
bool is_assignable = 3;
Status status = 4;
ClientPlayerProto updated_player = 5;
enum Status
{
UNSET = 0;
SUCCESS = 1;
CODENAME_NOT_AVAILABLE = 2;
CODENAME_NOT_VALID = 3;
CURRENT_OWNER = 4;
CODENAME_CHANGE_NOT_ALLOWED = 5;
}
}
message SetAvatarProto
{
PlayerAvatarProto player_avatar_proto = 2;
}
message SetAvatarOutProto
{
Status status = 1;
ClientPlayerProto player = 2;
enum Status
{
UNSET = 0;
SUCCESS = 1;
AVATAR_ALREADY_SET = 2;
FAILURE = 3;
SLOT_NOT_ALLOWED = 4;
ITEM_NOT_OWNED = 5;
INVALID_AVATAR_TYPE = 6;
}
}
message SetContactSettingsProto
{
ContactSettingsProto contact_settings_proto = 1;
}
message SetContactSettingsOutProto
{
Status status = 1;
ClientPlayerProto player = 2;
enum Status
{
UNSET = 0;
SUCCESS = 1;
FAILURE = 2;
}
}
message SetPlayerTeamProto
{
Team team = 1;
}
message SetPlayerTeamOutProto
{
Status status = 1;
ClientPlayerProto player = 2;
enum Status
{
UNSET = 0;
SUCCESS = 1;
TEAM_ALREADY_SET = 2;
FAILURE = 3;
}
}
message MarkTutorialCompleteProto
{
repeated TutorialCompletion tutorial_complete = 1;
bool send_marketing_emails = 2;
bool send_push_notifications = 3;
}
message MarkTutorialCompleteOutProto
{
bool success = 1;
ClientPlayerProto player = 2;
}
message CheckAwardedBadgesProto
{
}
message CheckAwardedBadgesOutProto
{
bool success = 1;
repeated HoloBadgeType awarded_badges = 2;
repeated int32 awarded_badge_levels = 3;
repeated string avatar_template_ids = 4;
}
message RecycleItemProto
{
Item item = 1;
int32 count = 2;
}
message RecycleItemOutProto
{
Result result = 1;
int32 new_count = 2;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_NOT_ENOUGH_COPIES = 2;
ERROR_CANNOT_RECYCLE_INCUBATORS = 3;
}
}
message PtcToken
{
string token = 1;
int32 expiration = 2;
}
message EquipBadgeProto
{
HoloBadgeType badge = 1;
}
message EquipBadgeOutProto
{
Result result = 1;
EquippedBadgeProto equipped = 2;
enum Result
{
UNSET = 0;
SUCCESS = 1;
COOLDOWN_ACTIVE = 2;
NOT_QUALIFIED = 3;
}
}
message GetActionLogRequest
{
}
message GetActionLogResponse
{
Result result = 1;
repeated ActionLogEntry log = 2;
enum Result
{
UNSET = 0;
SUCCESS = 1;
}
}
message CheckChallengeProto
{
bool debug_request = 1;
}
message CheckChallengeOutProto
{
bool show_challenge = 1;
string challenge_url = 2;
}
message VerifyChallengeProto
{
string token = 1;
}
message VerifyChallengeOutProto
{
bool success = 1;
}
message SetBuddyPokemonProto
{
fixed64 pokemon_id = 1;
}
message SetBuddyPokemonOutProto
{
Result result = 1;
BuddyPokemonProto updated_buddy = 2;
enum Result
{
UNEST = 0;
SUCCESS = 1;
ERROR_POKEMON_DEPLOYED = 2;
ERROR_POKEMON_NOT_OWNED = 3;
ERROR_POKEMON_IS_EGG = 4;
ERROR_INVALID_POKEMON = 5;
}
}
message GetBuddyWalkedProto
{
}
message GetBuddyWalkedOutProto
{
bool success = 1;
HoloPokemonFamilyId family_candy_id = 2;
int32 candy_earned_count = 3;
}
message UncommentAnnotationTestProto
{
string string_property = 1;
int64 long_property = 2;
}
message GlobalSettingsProto
{
FortSettingsProto fort_settings = 2;
MapSettingsProto map_settings = 3;
LevelSettingsProto level_settings = 4;
InventorySettingsProto inventory_settings = 5;
string minimum_client_version = 6;
GpsSettingsProto gps_settings = 7;
FestivalSettingsProto festival_settings = 8;
EventSettingsProto event_settings = 9;
int32 max_pokemon_types = 10;
SfidaGlobalSettingsProto sfida_settings = 11;
NewsSettingProto news_settings = 12;
TranslationSettingsProto translation_settings = 13;
PasscodeSettingsProto passcode_settings = 14;
NotificationSettingsProto notification_settings = 15;
repeated string client_app_blacklist = 16;
}
message FortSettingsProto
{
double interaction_range_meters = 1;
int32 max_total_deployed_pokemon = 2;
int32 max_player_deployed_pokemon = 3;
double deploy_stamina_multiplier = 4;
double deploy_attack_multiplier = 5;
double far_interaction_range_meters = 6;
bool disable_gyms = 7;
int32 max_same_pokemon_at_fort = 8;
int32 max_player_total_deployed_pokemon = 9;
}
message MapSettingsProto
{
double pokemon_visible_range = 1;
double poke_nav_range_meters = 2;
double encounter_range_meters = 3;
float get_map_objects_min_refresh_seconds = 4;
float get_map_objects_max_refresh_seconds = 5;
float get_map_objects_min_distance_meters = 6;
string google_maps_api_key = 7;
int32 min_nearby_hide_sightings = 8;
}
message LevelSettingsProto
{
double trainer_cp_modifier = 2;
double trainer_difficulty_modifier = 3;
}
message InventorySettingsProto
{
int32 max_pokemon = 1;
int32 max_bag_items = 2;
int32 base_pokemon = 3;
int32 base_bag_items = 4;
int32 base_eggs = 5;
}
message GpsSettingsProto
{
float driving_warning_speed_meters_per_second = 1;
float driving_warning_cooldown_minutes = 2;
float driving_speed_sample_interval_seconds = 3;
int32 driving_speed_sample_count = 4;
}
message FestivalSettingsProto
{
FestivalType festival_type = 1;
string key = 2;
string vector = 3;
enum FestivalType
{
NONE = 0;
HALLOWEEN = 1;
HOLIDAY = 2;
}
}
message EventSettingsProto
{
repeated string condolence_ribbon_country = 1;
}
message NewsSettingProto
{
repeated NewsProto news_protos = 1;
}
message NewsProto
{
string news_bundle_id = 1;
repeated string exclusive_countries = 2;
}
message TranslationSettingsProto
{
repeated string translation_bundle_ids = 1;
}
message SfidaGlobalSettingsProto
{
float low_battery_threshold = 1;
}
message PasscodeSettingsProto
{
bool show_passcode_in_store = 1;
}
message NotificationSettingsProto
{
bool pull_notifications = 1;
bool show_notifications = 2;
}
message RegisterSfidaRequest
{
string sfida_id = 1;
}
message RegisterSfidaResponse
{
bytes access_token = 1;
}
message UpgradePokemonProto
{
fixed64 pokemon_id = 1;
}
message UpgradePokemonOutProto
{
Result result = 1;
PokemonProto upgraded_pokemon = 2;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_POKEMON_NOT_FOUND = 2;
ERROR_INSUFFICIENT_RESOURCES = 3;
ERROR_UPGRADE_NOT_AVAILABLE = 4;
ERROR_POKEMON_IS_DEPLOYED = 5;
}
}
message UseItemPotionProto
{
Item item = 1;
fixed64 pokemon_id = 2;
}
message UseItemPotionOutProto
{
Result result = 1;
int32 stamina = 2;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_NO_POKEMON = 2;
ERROR_CANNOT_USE = 3;
ERROR_DEPLOYED_TO_FORT = 4;
}
}
message UseItemReviveProto
{
Item item = 1;
fixed64 pokemon_id = 2;
}
message UseItemReviveOutProto
{
Result result = 1;
int32 stamina = 2;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_NO_POKEMON = 2;
ERROR_CANNOT_USE = 3;
ERROR_DEPLOYED_TO_FORT = 4;
}
}
message UseItemXpBoostProto
{
Item item = 1;
}
message UseItemXpBoostOutProto
{
Result result = 1;
AppliedItemsProto applied_items = 2;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_INVALID_ITEM_TYPE = 2;
ERROR_XP_BOOST_ALREADY_ACTIVE = 3;
ERROR_NO_ITEMS_REMAINING = 4;
ERROR_LOCATION_UNSET = 5;
}
}
message UseItemEggIncubatorProto
{
string item_id = 1;
int64 pokemond_id = 2;
}
message UseItemEggIncubatorOutProto
{
Result result = 1;
EggIncubatorProto egg_incubator = 2;
enum Result
{
UNSET = 0;
SUCCESS = 1;
ERROR_INCUBATOR_NOT_FOUND = 2;
ERROR_POKEMON_EGG_NOT_FOUND = 3;
ERROR_POKEMON_ID_NOT_EGG = 4;
ERROR_INCUBATOR_ALREADY_IN_USE = 5;
ERROR_POKEMON_ALREADY_INCUBATING = 6;
ERROR_INCUBATOR_NO_USES_REMAINING = 7;
}
}
message UseItemMoveRerollProto
{
Item item = 1;
fixed64 pokemon_id = 2;
}
message UseItemMoveRerollOutProto
{
Result result = 1;
PokemonProto updated_pokemon = 2;
enum Result
{
UNSET = 0;
SUCCESS = 1;
NO_POKEMON = 2;
NO_OTHER_MOVES = 3;
NO_PLAYER = 4;
WRONG_ITEM_TYPE = 5;
ITEM_NOT_IN_INVENTORY = 6;
INVALID_POKEMON = 7;
}
}
message UseItemRareCandyProto
{
Item item = 1;
HoloPokemonId pokemon_id = 2;
}
message UseItemRareCandyOutProto
{
Result result = 1;
HoloPokemonId pokemon_id = 2;
int32 updated_candy_count = 3;
enum Result
{
UNSET = 0;
SUCCESS = 1;
INVALID_POKEMON_ID = 2;
NO_PLAYER = 3;
WRONG_ITEM_TYPE = 4;
ITEM_NOT_IN_INVENTORY = 5;
}
}
message ClientVersionProto
{
string min_version = 1;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment