diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c2658d7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules/ diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..a584e00 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,7 @@ +sudo: false +language: node_js +script: "npm run test" +node_js: + - "4" + - "5" + - "6" \ No newline at end of file diff --git a/POGOProtos/Data/AssetDigestEntry.proto b/POGOProtos/Data/AssetDigestEntry.proto new file mode 100644 index 0000000..e0e0854 --- /dev/null +++ b/POGOProtos/Data/AssetDigestEntry.proto @@ -0,0 +1,11 @@ +syntax = "proto3"; +package POGOProtos.Data; + +message AssetDigestEntry { + string asset_id = 1; + string bundle_name = 2; + int64 version = 3; + fixed32 checksum = 4; + int32 size = 5; + bytes key = 6; +} diff --git a/POGOProtos/Data/Battle/BattleAction.proto b/POGOProtos/Data/Battle/BattleAction.proto new file mode 100644 index 0000000..e1c9de1 --- /dev/null +++ b/POGOProtos/Data/Battle/BattleAction.proto @@ -0,0 +1,22 @@ +syntax = "proto3"; +package POGOProtos.Data.Battle; + +import "POGOProtos/Data/Battle/BattleResults.proto"; +import "POGOProtos/Data/Battle/BattleActionType.proto"; +import "POGOProtos/Data/Battle/BattleParticipant.proto"; + +message BattleAction { + .POGOProtos.Data.Battle.BattleActionType 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; + .POGOProtos.Data.Battle.BattleParticipant player_joined = 9; + .POGOProtos.Data.Battle.BattleResults battle_results = 10; + int64 damage_windows_start_timestamp_mss = 11; + int64 damage_windows_end_timestamp_mss = 12; + .POGOProtos.Data.Battle.BattleParticipant player_left = 13; + fixed64 target_pokemon_id = 14; +} diff --git a/POGOProtos/Data/Battle/BattleActionType.proto b/POGOProtos/Data/Battle/BattleActionType.proto new file mode 100644 index 0000000..2690c5c --- /dev/null +++ b/POGOProtos/Data/Battle/BattleActionType.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; +package POGOProtos.Data.Battle; + +enum BattleActionType { + ACTION_UNSET = 0; + ACTION_ATTACK = 1; + ACTION_DODGE = 2; + ACTION_SPECIAL_ATTACK = 3; + ACTION_SWAP_POKEMON = 4; + ACTION_FAINT = 5; + ACTION_PLAYER_JOIN = 6; + ACTION_PLAYER_QUIT = 7; + ACTION_VICTORY = 8; + ACTION_DEFEAT = 9; + ACTION_TIMED_OUT = 10; +} \ No newline at end of file diff --git a/POGOProtos/Data/Battle/BattleLog.proto b/POGOProtos/Data/Battle/BattleLog.proto new file mode 100644 index 0000000..d75623f --- /dev/null +++ b/POGOProtos/Data/Battle/BattleLog.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; +package POGOProtos.Data.Battle; + +import "POGOProtos/Data/Battle/BattleState.proto"; +import "POGOProtos/Data/Battle/BattleType.proto"; +import "POGOProtos/Data/Battle/BattleAction.proto"; + +message BattleLog { + .POGOProtos.Data.Battle.BattleState state = 1; + .POGOProtos.Data.Battle.BattleType battle_type = 2; + int64 server_ms = 3; + repeated .POGOProtos.Data.Battle.BattleAction battle_actions = 4; + int64 battle_start_timestamp_ms = 5; + int64 battle_end_timestamp_ms = 6; +} \ No newline at end of file diff --git a/POGOProtos/Data/Battle/BattleParticipant.proto b/POGOProtos/Data/Battle/BattleParticipant.proto new file mode 100644 index 0000000..85a68b2 --- /dev/null +++ b/POGOProtos/Data/Battle/BattleParticipant.proto @@ -0,0 +1,12 @@ +syntax = "proto3"; +package POGOProtos.Data.Battle; + +import "POGOProtos/Data/Battle/BattlePokemonInfo.proto"; +import "POGOProtos/Data/Player/PlayerPublicProfile.proto"; + +message BattleParticipant { + .POGOProtos.Data.Battle.BattlePokemonInfo active_pokemon = 1; + .POGOProtos.Data.Player.PlayerPublicProfile trainer_public_profile = 2; + repeated .POGOProtos.Data.Battle.BattlePokemonInfo reverse_pokemon = 3; + repeated .POGOProtos.Data.Battle.BattlePokemonInfo defeated_pokemon = 4; +} \ No newline at end of file diff --git a/POGOProtos/Data/Battle/BattlePokemonInfo.proto b/POGOProtos/Data/Battle/BattlePokemonInfo.proto new file mode 100644 index 0000000..fd8c037 --- /dev/null +++ b/POGOProtos/Data/Battle/BattlePokemonInfo.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Data.Battle; + +import "POGOProtos/Data/PokemonData.proto"; + +message BattlePokemonInfo { + .POGOProtos.Data.PokemonData pokemon_data = 1; + int32 current_health = 2; + int32 current_energy = 3; +} \ No newline at end of file diff --git a/POGOProtos/Data/Battle/BattleResults.proto b/POGOProtos/Data/Battle/BattleResults.proto new file mode 100644 index 0000000..5b4ef14 --- /dev/null +++ b/POGOProtos/Data/Battle/BattleResults.proto @@ -0,0 +1,13 @@ +syntax = "proto3"; +package POGOProtos.Data.Battle; + +import "POGOProtos/Data/Gym/GymState.proto"; +import "POGOProtos/Data/Battle/BattleParticipant.proto"; + +message BattleResults { + .POGOProtos.Data.Gym.GymState gym_state = 1; + repeated .POGOProtos.Data.Battle.BattleParticipant attackers = 2; + repeated int32 player_experience_awarded = 3; + int64 next_defender_pokemon_id = 4; + int32 gym_points_delta = 5; +} \ No newline at end of file diff --git a/POGOProtos/Data/Battle/BattleState.proto b/POGOProtos/Data/Battle/BattleState.proto new file mode 100644 index 0000000..624b77f --- /dev/null +++ b/POGOProtos/Data/Battle/BattleState.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Data.Battle; + +enum BattleState { + STATE_UNSET = 0; + ACTIVE = 1; + VICTORY = 2; + DEFEATED = 3; + TIMED_OUT = 4; +} \ No newline at end of file diff --git a/POGOProtos/Data/Battle/BattleType.proto b/POGOProtos/Data/Battle/BattleType.proto new file mode 100644 index 0000000..8ce64aa --- /dev/null +++ b/POGOProtos/Data/Battle/BattleType.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package POGOProtos.Data.Battle; + +enum BattleType { + BATTLE_TYPE_UNSET = 0; + NORMAL = 1; + TRAINING = 2; +} \ No newline at end of file diff --git a/POGOProtos/Data/Capture/CaptureAward.proto b/POGOProtos/Data/Capture/CaptureAward.proto new file mode 100644 index 0000000..9cb4090 --- /dev/null +++ b/POGOProtos/Data/Capture/CaptureAward.proto @@ -0,0 +1,11 @@ +syntax = "proto3"; +package POGOProtos.Data.Capture; + +import "POGOProtos/Enums/ActivityType.proto"; + +message CaptureAward { + repeated .POGOProtos.Enums.ActivityType activity_type = 1 [packed=true]; + repeated int32 xp = 2 [packed=true]; + repeated int32 candy = 3 [packed=true]; + repeated int32 stardust = 4 [packed=true]; +} diff --git a/POGOProtos/Data/Capture/CaptureProbability.proto b/POGOProtos/Data/Capture/CaptureProbability.proto new file mode 100644 index 0000000..7b8703d --- /dev/null +++ b/POGOProtos/Data/Capture/CaptureProbability.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Data.Capture; + +import "POGOProtos/Inventory/Item/ItemId.proto"; + +message CaptureProbability { + repeated .POGOProtos.Inventory.Item.ItemId pokeball_type = 1 [packed=true]; + repeated float capture_probability = 2 [packed=true]; + double reticle_difficulty_scale = 12; +} diff --git a/POGOProtos/Data/DownloadUrlEntry.proto b/POGOProtos/Data/DownloadUrlEntry.proto new file mode 100644 index 0000000..6d19963 --- /dev/null +++ b/POGOProtos/Data/DownloadUrlEntry.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Data; + +message DownloadUrlEntry { + string asset_id = 1; + string url = 2; + int32 size = 3; + fixed32 checksum = 4; +} diff --git a/POGOProtos/Data/Gym/GymMembership.proto b/POGOProtos/Data/Gym/GymMembership.proto new file mode 100644 index 0000000..893c400 --- /dev/null +++ b/POGOProtos/Data/Gym/GymMembership.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Data.Gym; + +import "POGOProtos/Data/PokemonData.proto"; +import "POGOProtos/Data/Player/PlayerPublicProfile.proto"; + +message GymMembership { + .POGOProtos.Data.PokemonData pokemon_data = 1; + .POGOProtos.Data.Player.PlayerPublicProfile trainer_public_profile = 2; +} \ No newline at end of file diff --git a/POGOProtos/Data/Gym/GymState.proto b/POGOProtos/Data/Gym/GymState.proto new file mode 100644 index 0000000..5c18de0 --- /dev/null +++ b/POGOProtos/Data/Gym/GymState.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Data.Gym; + +import "POGOProtos/Map/Fort/FortData.proto"; +import "POGOProtos/Data/Gym/GymMembership.proto"; + +message GymState { + .POGOProtos.Map.Fort.FortData fort_data = 1; + repeated .POGOProtos.Data.Gym.GymMembership memberships = 2; +} diff --git a/POGOProtos/Data/Logs/ActionLogEntry.proto b/POGOProtos/Data/Logs/ActionLogEntry.proto new file mode 100644 index 0000000..d61aa19 --- /dev/null +++ b/POGOProtos/Data/Logs/ActionLogEntry.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; +package POGOProtos.Data.Logs; + +import "POGOProtos/Data/Logs/CatchPokemonLogEntry.proto"; +import "POGOProtos/Data/Logs/FortSearchLogEntry.proto"; + +message ActionLogEntry { + int64 timestamp_ms = 1; + bool sfida = 2; + + oneof Action { + .POGOProtos.Data.Logs.CatchPokemonLogEntry catch_pokemon = 3; + .POGOProtos.Data.Logs.FortSearchLogEntry fort_search = 4; + } +} \ No newline at end of file diff --git a/POGOProtos/Data/Logs/CatchPokemonLogEntry.proto b/POGOProtos/Data/Logs/CatchPokemonLogEntry.proto new file mode 100644 index 0000000..e1d193b --- /dev/null +++ b/POGOProtos/Data/Logs/CatchPokemonLogEntry.proto @@ -0,0 +1,17 @@ +syntax = "proto3"; +package POGOProtos.Data.Logs; + +import "POGOProtos/Enums/PokemonId.proto"; + +message CatchPokemonLogEntry { + .POGOProtos.Data.Logs.CatchPokemonLogEntry.Result result = 1; + .POGOProtos.Enums.PokemonId pokemon_id = 2; + int32 combat_points = 3; + uint64 pokemon_data_id = 4; + + enum Result { + UNSET = 0; + POKEMON_CAPTURED = 1; + POKEMON_FLED = 2; + } +} \ No newline at end of file diff --git a/POGOProtos/Data/Logs/FortSearchLogEntry.proto b/POGOProtos/Data/Logs/FortSearchLogEntry.proto new file mode 100644 index 0000000..14f29d6 --- /dev/null +++ b/POGOProtos/Data/Logs/FortSearchLogEntry.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; +package POGOProtos.Data.Logs; + +import "POGOProtos/Inventory/Item/ItemData.proto"; + +message FortSearchLogEntry { + .POGOProtos.Data.Logs.FortSearchLogEntry.Result result = 1; + string fort_id = 2; + repeated .POGOProtos.Inventory.Item.ItemData items = 3; + int32 eggs = 4; + + enum Result { + UNSET = 0; + SUCCESS = 1; + } +} \ No newline at end of file diff --git a/POGOProtos/Data/Player/ContactSettings.proto b/POGOProtos/Data/Player/ContactSettings.proto new file mode 100644 index 0000000..c8ce89b --- /dev/null +++ b/POGOProtos/Data/Player/ContactSettings.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Data.Player; + +message ContactSettings { + bool send_marketing_emails = 1; + bool send_push_notifications = 2; +} diff --git a/POGOProtos/Data/Player/Currency.proto b/POGOProtos/Data/Player/Currency.proto new file mode 100644 index 0000000..d69a5fa --- /dev/null +++ b/POGOProtos/Data/Player/Currency.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Data.Player; + +message Currency { + string name = 1; + int32 amount = 2; +} diff --git a/POGOProtos/Data/Player/DailyBonus.proto b/POGOProtos/Data/Player/DailyBonus.proto new file mode 100644 index 0000000..b3a4b63 --- /dev/null +++ b/POGOProtos/Data/Player/DailyBonus.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Data.Player; + +message DailyBonus { + int64 next_collected_timestamp_ms = 1; + int64 next_defender_bonus_collect_timestamp_ms = 2; +} diff --git a/POGOProtos/Data/Player/EquippedBadge.proto b/POGOProtos/Data/Player/EquippedBadge.proto new file mode 100644 index 0000000..fd91b53 --- /dev/null +++ b/POGOProtos/Data/Player/EquippedBadge.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Data.Player; + +import "POGOProtos/Enums/BadgeType.proto"; + +message EquippedBadge { + .POGOProtos.Enums.BadgeType badge_type = 1; + int32 level = 2; + int64 next_equip_change_allowed_timestamp_ms = 3; +} diff --git a/POGOProtos/Data/Player/PlayerAvatar.proto b/POGOProtos/Data/Player/PlayerAvatar.proto new file mode 100644 index 0000000..74a41eb --- /dev/null +++ b/POGOProtos/Data/Player/PlayerAvatar.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; +package POGOProtos.Data.Player; + +import "POGOProtos/Enums/Gender.proto"; + +message PlayerAvatar { + int32 skin = 2; + int32 hair = 3; + int32 shirt = 4; + int32 pants = 5; + int32 hat = 6; + int32 shoes = 7; + .POGOProtos.Enums.Gender gender = 8; + int32 eyes = 9; + int32 backpack = 10; +} diff --git a/POGOProtos/Data/Player/PlayerCamera.proto b/POGOProtos/Data/Player/PlayerCamera.proto new file mode 100644 index 0000000..7fe5d93 --- /dev/null +++ b/POGOProtos/Data/Player/PlayerCamera.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Data.Player; + +message PlayerCamera { + bool is_default_camera = 1; +} diff --git a/POGOProtos/Data/Player/PlayerCurrency.proto b/POGOProtos/Data/Player/PlayerCurrency.proto new file mode 100644 index 0000000..d0aedbb --- /dev/null +++ b/POGOProtos/Data/Player/PlayerCurrency.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Data.Player; + +message PlayerCurrency { + int32 gems = 1; +} diff --git a/POGOProtos/Data/Player/PlayerPublicProfile.proto b/POGOProtos/Data/Player/PlayerPublicProfile.proto new file mode 100644 index 0000000..148d6c3 --- /dev/null +++ b/POGOProtos/Data/Player/PlayerPublicProfile.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Data.Player; + +import "POGOProtos/Data/Player/PlayerAvatar.proto"; + +message PlayerPublicProfile { + string name = 1; + int32 level = 2; + .POGOProtos.Data.Player.PlayerAvatar avatar = 3; +} \ No newline at end of file diff --git a/POGOProtos/Data/Player/PlayerStats.proto b/POGOProtos/Data/Player/PlayerStats.proto new file mode 100644 index 0000000..9c9652b --- /dev/null +++ b/POGOProtos/Data/Player/PlayerStats.proto @@ -0,0 +1,28 @@ +syntax = "proto3"; +package POGOProtos.Data.Player; + +message PlayerStats { + int32 level = 1; + int64 experience = 2; + int64 prev_level_xp = 3; + int64 next_level_xp = 4; + float km_walked = 5; + int32 pokemons_encountered = 6; + int32 unique_pokedex_entries = 7; + int32 pokemons_captured = 8; + int32 evolutions = 9; + int32 poke_stop_visits = 10; + int32 pokeballs_thrown = 11; + int32 eggs_hatched = 12; + int32 big_magikarp_caught = 13; + int32 battle_attack_won = 14; + int32 battle_attack_total = 15; + int32 battle_defended_won = 16; + int32 battle_training_won = 17; + int32 battle_training_total = 18; + int32 prestige_raised_total = 19; + int32 prestige_dropped_total = 20; + int32 pokemon_deployed = 21; + bytes pokemon_caught_by_type = 22; // TODO: repeated PokemonType ?? + int32 small_rattata_caught = 23; +} diff --git a/POGOProtos/Data/PlayerBadge.proto b/POGOProtos/Data/PlayerBadge.proto new file mode 100644 index 0000000..1dcb84a --- /dev/null +++ b/POGOProtos/Data/PlayerBadge.proto @@ -0,0 +1,12 @@ +syntax = "proto3"; +package POGOProtos.Data; + +import "POGOProtos/Enums/BadgeType.proto"; + +message PlayerBadge { + .POGOProtos.Enums.BadgeType badge_type = 1; + int32 rank = 2; + int32 start_value = 3; + int32 end_value = 4; + double current_value = 5; +} diff --git a/POGOProtos/Data/PlayerData.proto b/POGOProtos/Data/PlayerData.proto new file mode 100644 index 0000000..43503bc --- /dev/null +++ b/POGOProtos/Data/PlayerData.proto @@ -0,0 +1,24 @@ +syntax = "proto3"; +package POGOProtos.Data; + +import "POGOProtos/Enums/TutorialState.proto"; +import "POGOProtos/Data/Player/PlayerAvatar.proto"; +import "POGOProtos/Data/Player/DailyBonus.proto"; +import "POGOProtos/Data/Player/EquippedBadge.proto"; +import "POGOProtos/Data/Player/ContactSettings.proto"; +import "POGOProtos/Data/Player/Currency.proto"; +import "POGOProtos/Enums/TeamColor.proto"; + +message PlayerData { + int64 creation_timestamp_ms = 1; + string username = 2; + .POGOProtos.Enums.TeamColor team = 5; + repeated .POGOProtos.Enums.TutorialState tutorial_state = 7 [packed=true]; + .POGOProtos.Data.Player.PlayerAvatar avatar = 8; + int32 max_pokemon_storage = 9; + int32 max_item_storage = 10; + .POGOProtos.Data.Player.DailyBonus daily_bonus = 11; + .POGOProtos.Data.Player.EquippedBadge equipped_badge = 12; + .POGOProtos.Data.Player.ContactSettings contact_settings = 13; + repeated .POGOProtos.Data.Player.Currency currencies = 14; +} diff --git a/POGOProtos/Data/PokedexEntry.proto b/POGOProtos/Data/PokedexEntry.proto new file mode 100644 index 0000000..ccf4358 --- /dev/null +++ b/POGOProtos/Data/PokedexEntry.proto @@ -0,0 +1,12 @@ +syntax = "proto3"; +package POGOProtos.Data; + +import "POGOProtos/Enums/PokemonId.proto"; + +message PokedexEntry { + .POGOProtos.Enums.PokemonId pokemon_id = 1; + int32 times_encountered = 2; + int32 times_captured = 3; + int32 evolution_stone_pieces = 4; + int32 evolution_stones = 5; +} \ No newline at end of file diff --git a/POGOProtos/Data/PokemonData.proto b/POGOProtos/Data/PokemonData.proto new file mode 100644 index 0000000..83bf824 --- /dev/null +++ b/POGOProtos/Data/PokemonData.proto @@ -0,0 +1,39 @@ +syntax = "proto3"; +package POGOProtos.Data; + +import "POGOProtos/Enums/PokemonId.proto"; +import "POGOProtos/Enums/PokemonMove.proto"; +import "POGOProtos/Inventory/Item/ItemId.proto"; + +message PokemonData { + fixed64 id = 1; + .POGOProtos.Enums.PokemonId pokemon_id = 2; + int32 cp = 3; + int32 stamina = 4; + int32 stamina_max = 5; + .POGOProtos.Enums.PokemonMove move_1 = 6; + .POGOProtos.Enums.PokemonMove move_2 = 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; + int32 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; + .POGOProtos.Inventory.Item.ItemId pokeball = 21; + uint64 captured_cell_id = 22; + int32 battles_attacked = 23; + int32 battles_defended = 24; + string egg_incubator_id = 25; + uint64 creation_time_ms = 26; + int32 num_upgrades = 27; + float additional_cp_multiplier = 28; + int32 favorite = 29; + string nickname = 30; + int32 from_fort = 31; +} diff --git a/POGOProtos/Enums/ActivityType.proto b/POGOProtos/Enums/ActivityType.proto new file mode 100644 index 0000000..69061d9 --- /dev/null +++ b/POGOProtos/Enums/ActivityType.proto @@ -0,0 +1,29 @@ +syntax = "proto3"; +package POGOProtos.Enums; + +enum ActivityType { + 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; +} diff --git a/POGOProtos/Enums/BadgeType.proto b/POGOProtos/Enums/BadgeType.proto new file mode 100644 index 0000000..cf34076 --- /dev/null +++ b/POGOProtos/Enums/BadgeType.proto @@ -0,0 +1,43 @@ +syntax = "proto3"; +package POGOProtos.Enums; + +enum BadgeType { + 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; +} diff --git a/POGOProtos/Enums/CameraInterpolation.proto b/POGOProtos/Enums/CameraInterpolation.proto new file mode 100644 index 0000000..559017f --- /dev/null +++ b/POGOProtos/Enums/CameraInterpolation.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Enums; + +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; +} diff --git a/POGOProtos/Enums/CameraTarget.proto b/POGOProtos/Enums/CameraTarget.proto new file mode 100644 index 0000000..25543b8 --- /dev/null +++ b/POGOProtos/Enums/CameraTarget.proto @@ -0,0 +1,19 @@ +syntax = "proto3"; +package POGOProtos.Enums; + +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; +} diff --git a/POGOProtos/Enums/Gender.proto b/POGOProtos/Enums/Gender.proto new file mode 100644 index 0000000..0e3d09c --- /dev/null +++ b/POGOProtos/Enums/Gender.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Enums; + +enum Gender { + MALE = 0; + FEMALE = 1; +} diff --git a/POGOProtos/Enums/IapItemCategory.proto b/POGOProtos/Enums/IapItemCategory.proto new file mode 100644 index 0000000..201d0fa --- /dev/null +++ b/POGOProtos/Enums/IapItemCategory.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Enums; + +enum HoloIapItemCategory { + IAP_CATEGORY_NONE = 0; + IAP_CATEGORY_BUNDLE = 1; + IAP_CATEGORY_ITEMS = 2; + IAP_CATEGORY_UPGRADES = 3; + IAP_CATEGORY_POKECOINS = 4; +} diff --git a/POGOProtos/Enums/ItemCategory.proto b/POGOProtos/Enums/ItemCategory.proto new file mode 100644 index 0000000..f38b8c3 --- /dev/null +++ b/POGOProtos/Enums/ItemCategory.proto @@ -0,0 +1,17 @@ +syntax = "proto3"; +package POGOProtos.Enums; + +enum ItemCategory { + 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; +} diff --git a/POGOProtos/Enums/ItemEffect.proto b/POGOProtos/Enums/ItemEffect.proto new file mode 100644 index 0000000..7458ed6 --- /dev/null +++ b/POGOProtos/Enums/ItemEffect.proto @@ -0,0 +1,20 @@ +syntax = "proto3"; +package POGOProtos.Enums; + +enum ItemEffect { + 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; +} diff --git a/POGOProtos/Enums/Platform.proto b/POGOProtos/Enums/Platform.proto new file mode 100644 index 0000000..bfb0b7d --- /dev/null +++ b/POGOProtos/Enums/Platform.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Enums; + +enum Platform { + UNSET = 0; + IOS = 1; + ANDROID = 2; + OSX = 3; + WINDOWS = 4; +} diff --git a/POGOProtos/Enums/PokemonFamilyId.proto b/POGOProtos/Enums/PokemonFamilyId.proto new file mode 100644 index 0000000..74f3679 --- /dev/null +++ b/POGOProtos/Enums/PokemonFamilyId.proto @@ -0,0 +1,86 @@ +syntax = "proto3"; +package POGOProtos.Enums; + +enum PokemonFamilyId { + FAMILY_UNSET = 0; + FAMILY_BULBASAUR = 1; + FAMILY_CHARMANDER = 4; + FAMILY_SQUIRTLE = 7; + FAMILY_CATERPIE = 10; + FAMILY_WEEDLE = 13; + FAMILY_PIDGEY = 16; + FAMILY_RATTATA = 19; + FAMILY_SPEAROW = 21; + FAMILY_EKANS = 23; + FAMILY_PIKACHU = 25; + FAMILY_SANDSHREW = 27; + FAMILY_NIDORAN_FEMALE = 29; + FAMILY_NIDORAN_MALE = 32; + FAMILY_CLEFAIRY = 35; + FAMILY_VULPIX = 37; + FAMILY_JIGGLYPUFF = 39; + FAMILY_ZUBAT = 41; + FAMILY_ODDISH = 43; + FAMILY_PARAS = 46; + FAMILY_VENONAT = 48; + FAMILY_DIGLETT = 50; + FAMILY_MEOWTH = 52; + FAMILY_PSYDUCK = 54; + FAMILY_MANKEY = 56; + FAMILY_GROWLITHE = 58; + FAMILY_POLIWAG = 60; + FAMILY_ABRA = 63; + FAMILY_MACHOP = 66; + FAMILY_BELLSPROUT = 69; + FAMILY_TENTACOOL = 72; + FAMILY_GEODUDE = 74; + FAMILY_PONYTA = 77; + FAMILY_SLOWPOKE = 79; + FAMILY_MAGNEMITE = 81; + FAMILY_FARFETCHD = 83; + FAMILY_DODUO = 84; + FAMILY_SEEL = 86; + FAMILY_GRIMER = 88; + FAMILY_SHELLDER = 90; + FAMILY_GASTLY = 92; + FAMILY_ONIX = 95; + FAMILY_DROWZEE = 96; + FAMILY_HYPNO = 97; + FAMILY_KRABBY = 98; + FAMILY_VOLTORB = 100; + FAMILY_EXEGGCUTE = 102; + FAMILY_CUBONE = 104; + FAMILY_HITMONLEE = 106; + FAMILY_HITMONCHAN = 107; + FAMILY_LICKITUNG = 108; + FAMILY_KOFFING = 109; + FAMILY_RHYHORN = 111; + FAMILY_CHANSEY = 113; + FAMILY_TANGELA = 114; + FAMILY_KANGASKHAN = 115; + FAMILY_HORSEA = 116; + FAMILY_GOLDEEN = 118; + FAMILY_STARYU = 120; + FAMILY_MR_MIME = 122; + FAMILY_SCYTHER = 123; + FAMILY_JYNX = 124; + FAMILY_ELECTABUZZ = 125; + FAMILY_MAGMAR = 126; + FAMILY_PINSIR = 127; + FAMILY_TAUROS = 128; + FAMILY_MAGIKARP = 129; + FAMILY_LAPRAS = 131; + FAMILY_DITTO = 132; + FAMILY_EEVEE = 133; + FAMILY_PORYGON = 137; + FAMILY_OMANYTE = 138; + FAMILY_KABUTO = 140; + FAMILY_AERODACTYL = 142; + FAMILY_SNORLAX = 143; + FAMILY_ARTICUNO = 144; + FAMILY_ZAPDOS = 145; + FAMILY_MOLTRES = 146; + FAMILY_DRATINI = 147; + FAMILY_MEWTWO = 150; + FAMILY_MEW = 151; +} diff --git a/POGOProtos/Enums/PokemonId.proto b/POGOProtos/Enums/PokemonId.proto new file mode 100644 index 0000000..ce721f3 --- /dev/null +++ b/POGOProtos/Enums/PokemonId.proto @@ -0,0 +1,157 @@ +syntax = "proto3"; +package POGOProtos.Enums; + +enum PokemonId { + MISSINGNO = 0; + BULBASAUR = 1; + IVYSAUR = 2; + VENUSAUR = 3; + CHARMANDER = 4; + CHARMELEON = 5; + CHARIZARD = 6; + SQUIRTLE = 7; + WARTORTLE = 8; + BLASTOISE = 9; + CATERPIE = 10; + METAPOD = 11; + BUTTERFREE = 12; + WEEDLE = 13; + KAKUNA = 14; + BEEDRILL = 15; + PIDGEY = 16; + PIDGEOTTO = 17; + PIDGEOT = 18; + RATTATA = 19; + RATICATE = 20; + SPEAROW = 21; + FEAROW = 22; + EKANS = 23; + ARBOK = 24; + PIKACHU = 25; + RAICHU = 26; + SANDSHREW = 27; + SANDSLASH = 28; + NIDORAN_FEMALE = 29; + NIDORINA = 30; + NIDOQUEEN = 31; + NIDORAN_MALE = 32; + NIDORINO = 33; + NIDOKING = 34; + CLEFAIRY = 35; + CLEFABLE = 36; + VULPIX = 37; + NINETALES = 38; + JIGGLYPUFF = 39; + WIGGLYTUFF = 40; + ZUBAT = 41; + GOLBAT = 42; + ODDISH = 43; + GLOOM = 44; + VILEPLUME = 45; + PARAS = 46; + PARASECT = 47; + VENONAT = 48; + VENOMOTH = 49; + DIGLETT = 50; + DUGTRIO = 51; + MEOWTH = 52; + PERSIAN = 53; + PSYDUCK = 54; + GOLDUCK = 55; + MANKEY = 56; + PRIMEAPE = 57; + GROWLITHE = 58; + ARCANINE = 59; + POLIWAG = 60; + POLIWHIRL = 61; + POLIWRATH = 62; + ABRA = 63; + KADABRA = 64; + ALAKAZAM = 65; + MACHOP = 66; + MACHOKE = 67; + MACHAMP = 68; + BELLSPROUT = 69; + WEEPINBELL = 70; + VICTREEBEL = 71; + TENTACOOL = 72; + TENTACRUEL = 73; + GEODUDE = 74; + GRAVELER = 75; + GOLEM = 76; + PONYTA = 77; + RAPIDASH = 78; + SLOWPOKE = 79; + SLOWBRO = 80; + MAGNEMITE = 81; + MAGNETON = 82; + FARFETCHD = 83; + DODUO = 84; + DODRIO = 85; + SEEL = 86; + DEWGONG = 87; + GRIMER = 88; + MUK = 89; + SHELLDER = 90; + CLOYSTER = 91; + GASTLY = 92; + HAUNTER = 93; + GENGAR = 94; + ONIX = 95; + DROWZEE = 96; + HYPNO = 97; + KRABBY = 98; + KINGLER = 99; + VOLTORB = 100; + ELECTRODE = 101; + EXEGGCUTE = 102; + EXEGGUTOR = 103; + CUBONE = 104; + MAROWAK = 105; + HITMONLEE = 106; + HITMONCHAN = 107; + LICKITUNG = 108; + KOFFING = 109; + WEEZING = 110; + RHYHORN = 111; + RHYDON = 112; + CHANSEY = 113; + TANGELA = 114; + KANGASKHAN = 115; + HORSEA = 116; + SEADRA = 117; + GOLDEEN = 118; + SEAKING = 119; + STARYU = 120; + STARMIE = 121; + MR_MIME = 122; + SCYTHER = 123; + JYNX = 124; + ELECTABUZZ = 125; + MAGMAR = 126; + PINSIR = 127; + TAUROS = 128; + MAGIKARP = 129; + GYARADOS = 130; + LAPRAS = 131; + DITTO = 132; + EEVEE = 133; + VAPOREON = 134; + JOLTEON = 135; + FLAREON = 136; + PORYGON = 137; + OMANYTE = 138; + OMASTAR = 139; + KABUTO = 140; + KABUTOPS = 141; + AERODACTYL = 142; + SNORLAX = 143; + ARTICUNO = 144; + ZAPDOS = 145; + MOLTRES = 146; + DRATINI = 147; + DRAGONAIR = 148; + DRAGONITE = 149; + MEWTWO = 150; + MEW = 151; +} diff --git a/POGOProtos/Enums/PokemonMove.proto b/POGOProtos/Enums/PokemonMove.proto new file mode 100644 index 0000000..7cb5304 --- /dev/null +++ b/POGOProtos/Enums/PokemonMove.proto @@ -0,0 +1,185 @@ +syntax = "proto3"; +package POGOProtos.Enums; + +enum PokemonMove { + MOVE_UNSET = 0; + THUNDER_SHOCK = 1; + QUICK_ATTACK = 2; + SCRATCH = 3; + EMBER = 4; + VINE_WHIP = 5; + TACKLE = 6; + RAZOR_LEAF = 7; + TAKE_DOWN = 8; + WATER_GUN = 9; + BITE = 10; + POUND = 11; + DOUBLE_SLAP = 12; + WRAP = 13; + HYPER_BEAM = 14; + LICK = 15; + DARK_PULSE = 16; + SMOG = 17; + SLUDGE = 18; + METAL_CLAW = 19; + VICE_GRIP = 20; + FLAME_WHEEL = 21; + MEGAHORN = 22; + WING_ATTACK = 23; + FLAMETHROWER = 24; + SUCKER_PUNCH = 25; + DIG = 26; + LOW_KICK = 27; + CROSS_CHOP = 28; + PSYCHO_CUT = 29; + PSYBEAM = 30; + EARTHQUAKE = 31; + STONE_EDGE = 32; + ICE_PUNCH = 33; + HEART_STAMP = 34; + DISCHARGE = 35; + FLASH_CANNON = 36; + PECK = 37; + DRILL_PECK = 38; + ICE_BEAM = 39; + BLIZZARD = 40; + AIR_SLASH = 41; + HEAT_WAVE = 42; + TWINEEDLE = 43; + POISON_JAB = 44; + AERIAL_ACE = 45; + DRILL_RUN = 46; + PETAL_BLIZZARD = 47; + MEGA_DRAIN = 48; + BUG_BUZZ = 49; + POISON_FANG = 50; + NIGHT_SLASH = 51; + SLASH = 52; + BUBBLE_BEAM = 53; + SUBMISSION = 54; + KARATE_CHOP = 55; + LOW_SWEEP = 56; + AQUA_JET = 57; + AQUA_TAIL = 58; + SEED_BOMB = 59; + PSYSHOCK = 60; + ROCK_THROW = 61; + ANCIENT_POWER = 62; + ROCK_TOMB = 63; + ROCK_SLIDE = 64; + POWER_GEM = 65; + SHADOW_SNEAK = 66; + SHADOW_PUNCH = 67; + SHADOW_CLAW = 68; + OMINOUS_WIND = 69; + SHADOW_BALL = 70; + BULLET_PUNCH = 71; + MAGNET_BOMB = 72; + STEEL_WING = 73; + IRON_HEAD = 74; + PARABOLIC_CHARGE = 75; + SPARK = 76; + THUNDER_PUNCH = 77; + THUNDER = 78; + THUNDERBOLT = 79; + TWISTER = 80; + DRAGON_BREATH = 81; + DRAGON_PULSE = 82; + DRAGON_CLAW = 83; + DISARMING_VOICE = 84; + DRAINING_KISS = 85; + DAZZLING_GLEAM = 86; + MOONBLAST = 87; + PLAY_ROUGH = 88; + CROSS_POISON = 89; + SLUDGE_BOMB = 90; + SLUDGE_WAVE = 91; + GUNK_SHOT = 92; + MUD_SHOT = 93; + BONE_CLUB = 94; + BULLDOZE = 95; + MUD_BOMB = 96; + FURY_CUTTER = 97; + BUG_BITE = 98; + SIGNAL_BEAM = 99; + X_SCISSOR = 100; + FLAME_CHARGE = 101; + FLAME_BURST = 102; + FIRE_BLAST = 103; + BRINE = 104; + WATER_PULSE = 105; + SCALD = 106; + HYDRO_PUMP = 107; + PSYCHIC = 108; + PSYSTRIKE = 109; + ICE_SHARD = 110; + ICY_WIND = 111; + FROST_BREATH = 112; + ABSORB = 113; + GIGA_DRAIN = 114; + FIRE_PUNCH = 115; + SOLAR_BEAM = 116; + LEAF_BLADE = 117; + POWER_WHIP = 118; + SPLASH = 119; + ACID = 120; + AIR_CUTTER = 121; + HURRICANE = 122; + BRICK_BREAK = 123; + CUT = 124; + SWIFT = 125; + HORN_ATTACK = 126; + STOMP = 127; + HEADBUTT = 128; + HYPER_FANG = 129; + SLAM = 130; + BODY_SLAM = 131; + REST = 132; + STRUGGLE = 133; + SCALD_BLASTOISE = 134; + HYDRO_PUMP_BLASTOISE = 135; + WRAP_GREEN = 136; + WRAP_PINK = 137; + FURY_CUTTER_FAST = 200; + BUG_BITE_FAST = 201; + BITE_FAST = 202; + SUCKER_PUNCH_FAST = 203; + DRAGON_BREATH_FAST = 204; + THUNDER_SHOCK_FAST = 205; + SPARK_FAST = 206; + LOW_KICK_FAST = 207; + KARATE_CHOP_FAST = 208; + EMBER_FAST = 209; + WING_ATTACK_FAST = 210; + PECK_FAST = 211; + LICK_FAST = 212; + SHADOW_CLAW_FAST = 213; + VINE_WHIP_FAST = 214; + RAZOR_LEAF_FAST = 215; + MUD_SHOT_FAST = 216; + ICE_SHARD_FAST = 217; + FROST_BREATH_FAST = 218; + QUICK_ATTACK_FAST = 219; + SCRATCH_FAST = 220; + TACKLE_FAST = 221; + POUND_FAST = 222; + CUT_FAST = 223; + POISON_JAB_FAST = 224; + ACID_FAST = 225; + PSYCHO_CUT_FAST = 226; + ROCK_THROW_FAST = 227; + METAL_CLAW_FAST = 228; + BULLET_PUNCH_FAST = 229; + WATER_GUN_FAST = 230; + SPLASH_FAST = 231; + WATER_GUN_FAST_BLASTOISE = 232; + MUD_SLAP_FAST = 233; + ZEN_HEADBUTT_FAST = 234; + CONFUSION_FAST = 235; + POISON_STING_FAST = 236; + BUBBLE_FAST = 237; + FEINT_ATTACK_FAST = 238; + STEEL_WING_FAST = 239; + FIRE_FANG_FAST = 240; + ROCK_SMASH_FAST = 241; +} diff --git a/POGOProtos/Enums/PokemonMovementType.proto b/POGOProtos/Enums/PokemonMovementType.proto new file mode 100644 index 0000000..348ecef --- /dev/null +++ b/POGOProtos/Enums/PokemonMovementType.proto @@ -0,0 +1,12 @@ +syntax = "proto3"; +package POGOProtos.Enums; + +enum PokemonMovementType { + MOVEMENT_STATIC = 0; + MOVEMENT_JUMP = 1; + MOVEMENT_VERTICAL = 2; + MOVEMENT_PSYCHIC = 3; + MOVEMENT_ELECTRIC = 4; + MOVEMENT_FLYING = 5; + MOVEMENT_HOVERING = 6; +} diff --git a/POGOProtos/Enums/PokemonRarity.proto b/POGOProtos/Enums/PokemonRarity.proto new file mode 100644 index 0000000..c39fc80 --- /dev/null +++ b/POGOProtos/Enums/PokemonRarity.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package POGOProtos.Enums; + +enum PokemonRarity { + NORMAL = 0; + LEGENDARY = 1; + MYTHIC = 2; +} diff --git a/POGOProtos/Enums/PokemonType.proto b/POGOProtos/Enums/PokemonType.proto new file mode 100644 index 0000000..982a437 --- /dev/null +++ b/POGOProtos/Enums/PokemonType.proto @@ -0,0 +1,24 @@ +syntax = "proto3"; +package POGOProtos.Enums; + +enum PokemonType { + 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; +} diff --git a/POGOProtos/Enums/TeamColor.proto b/POGOProtos/Enums/TeamColor.proto new file mode 100644 index 0000000..e7564ef --- /dev/null +++ b/POGOProtos/Enums/TeamColor.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Enums; + +enum TeamColor { + NEUTRAL = 0; + BLUE = 1; + RED = 2; + YELLOW = 3; +} diff --git a/POGOProtos/Enums/TutorialState.proto b/POGOProtos/Enums/TutorialState.proto new file mode 100644 index 0000000..193b1db --- /dev/null +++ b/POGOProtos/Enums/TutorialState.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; +package POGOProtos.Enums; + +enum TutorialState { + 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; +} diff --git a/POGOProtos/Inventory/AppliedItem.proto b/POGOProtos/Inventory/AppliedItem.proto new file mode 100644 index 0000000..180af26 --- /dev/null +++ b/POGOProtos/Inventory/AppliedItem.proto @@ -0,0 +1,12 @@ +syntax = "proto3"; +package POGOProtos.Inventory; + +import "POGOProtos/Inventory/Item/ItemId.proto"; +import "POGOProtos/Inventory/Item/ItemType.proto"; + +message AppliedItem { + .POGOProtos.Inventory.Item.ItemId item_id = 1; + .POGOProtos.Inventory.Item.ItemType item_type = 2; + int64 expire_ms = 3; + int64 applied_ms = 4; +} diff --git a/POGOProtos/Inventory/AppliedItems.proto b/POGOProtos/Inventory/AppliedItems.proto new file mode 100644 index 0000000..aebaf5a --- /dev/null +++ b/POGOProtos/Inventory/AppliedItems.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package POGOProtos.Inventory; + +import "POGOProtos/Inventory/AppliedItem.proto"; + +message AppliedItems { + repeated .POGOProtos.Inventory.AppliedItem item = 4; +} diff --git a/POGOProtos/Inventory/Candy.proto b/POGOProtos/Inventory/Candy.proto new file mode 100644 index 0000000..721c2ef --- /dev/null +++ b/POGOProtos/Inventory/Candy.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Inventory; + +import "POGOProtos/Enums/PokemonFamilyId.proto"; + +message Candy { + .POGOProtos.Enums.PokemonFamilyId family_id = 1; + int32 candy = 2; +} diff --git a/POGOProtos/Inventory/EggIncubator.proto b/POGOProtos/Inventory/EggIncubator.proto new file mode 100644 index 0000000..de64cab --- /dev/null +++ b/POGOProtos/Inventory/EggIncubator.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; +package POGOProtos.Inventory; + +import "POGOProtos/Inventory/Item/ItemId.proto"; +import "POGOProtos/Inventory/EggIncubatorType.proto"; + +message EggIncubator { + string id = 1; + .POGOProtos.Inventory.Item.ItemId item_id = 2; + .POGOProtos.Inventory.EggIncubatorType incubator_type = 3; + int32 uses_remaining = 4; + uint64 pokemon_id = 5; // TODO: Check if is PokemonType + double start_km_walked = 6; + double target_km_walked = 7; +} diff --git a/POGOProtos/Inventory/EggIncubatorType.proto b/POGOProtos/Inventory/EggIncubatorType.proto new file mode 100644 index 0000000..b577687 --- /dev/null +++ b/POGOProtos/Inventory/EggIncubatorType.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Inventory; + +enum EggIncubatorType { + INCUBATOR_UNSET = 0; + INCUBATOR_DISTANCE = 1; +} diff --git a/POGOProtos/Inventory/EggIncubators.proto b/POGOProtos/Inventory/EggIncubators.proto new file mode 100644 index 0000000..500ae7d --- /dev/null +++ b/POGOProtos/Inventory/EggIncubators.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package POGOProtos.Inventory; + +import "POGOProtos/Inventory/EggIncubator.proto"; + +message EggIncubators { + repeated .POGOProtos.Inventory.EggIncubator egg_incubator = 1; +} diff --git a/POGOProtos/Inventory/InventoryDelta.proto b/POGOProtos/Inventory/InventoryDelta.proto new file mode 100644 index 0000000..7a6f142 --- /dev/null +++ b/POGOProtos/Inventory/InventoryDelta.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Inventory; + +import "POGOProtos/Inventory/InventoryItem.proto"; + +message InventoryDelta { + int64 original_timestamp_ms = 1; + int64 new_timestamp_ms = 2; + repeated .POGOProtos.Inventory.InventoryItem inventory_items = 3; +} diff --git a/POGOProtos/Inventory/InventoryItem.proto b/POGOProtos/Inventory/InventoryItem.proto new file mode 100644 index 0000000..82c58c4 --- /dev/null +++ b/POGOProtos/Inventory/InventoryItem.proto @@ -0,0 +1,14 @@ +syntax = "proto3"; +package POGOProtos.Inventory; + +import "POGOProtos/Inventory/InventoryItemData.proto"; + +message InventoryItem { + int64 modified_timestamp_ms = 1; + DeletedItem deleted_item = 2; + .POGOProtos.Inventory.InventoryItemData inventory_item_data = 3; + + message DeletedItem { + fixed64 pokemon_id = 1; + } +} diff --git a/POGOProtos/Inventory/InventoryItemData.proto b/POGOProtos/Inventory/InventoryItemData.proto new file mode 100644 index 0000000..b62d10c --- /dev/null +++ b/POGOProtos/Inventory/InventoryItemData.proto @@ -0,0 +1,26 @@ +syntax = "proto3"; +package POGOProtos.Inventory; + +import "POGOProtos/Inventory/Item/ItemData.proto"; +import "POGOProtos/Inventory/AppliedItems.proto"; +import "POGOProtos/Inventory/EggIncubators.proto"; +import "POGOProtos/Inventory/Candy.proto"; +import "POGOProtos/Inventory/InventoryUpgrades.proto"; +import "POGOProtos/Data/PokemonData.proto"; +import "POGOProtos/Data/PokedexEntry.proto"; +import "POGOProtos/Data/Player/PlayerStats.proto"; +import "POGOProtos/Data/Player/PlayerCurrency.proto"; +import "POGOProtos/Data/Player/PlayerCamera.proto"; + +message InventoryItemData { + .POGOProtos.Data.PokemonData pokemon_data = 1; + .POGOProtos.Inventory.Item.ItemData item = 2; + .POGOProtos.Data.PokedexEntry pokedex_entry = 3; + .POGOProtos.Data.Player.PlayerStats player_stats = 4; + .POGOProtos.Data.Player.PlayerCurrency player_currency = 5; + .POGOProtos.Data.Player.PlayerCamera player_camera = 6; + .POGOProtos.Inventory.InventoryUpgrades inventory_upgrades = 7; + .POGOProtos.Inventory.AppliedItems applied_items = 8; + .POGOProtos.Inventory.EggIncubators egg_incubators = 9; + .POGOProtos.Inventory.Candy candy = 10; +} diff --git a/POGOProtos/Inventory/InventoryUpgrade.proto b/POGOProtos/Inventory/InventoryUpgrade.proto new file mode 100644 index 0000000..3f2225d --- /dev/null +++ b/POGOProtos/Inventory/InventoryUpgrade.proto @@ -0,0 +1,11 @@ +syntax = "proto3"; +package POGOProtos.Inventory; + +import "POGOProtos/Inventory/Item/ItemId.proto"; +import "POGOProtos/Inventory/InventoryUpgradeType.proto"; + +message InventoryUpgrade { + .POGOProtos.Inventory.Item.ItemId item_id = 1; + .POGOProtos.Inventory.InventoryUpgradeType upgrade_type = 2; + int32 additional_storage = 3; +} diff --git a/POGOProtos/Inventory/InventoryUpgradeType.proto b/POGOProtos/Inventory/InventoryUpgradeType.proto new file mode 100644 index 0000000..7da003d --- /dev/null +++ b/POGOProtos/Inventory/InventoryUpgradeType.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package POGOProtos.Inventory; + +enum InventoryUpgradeType { + UPGRADE_UNSET = 0; + INCREASE_ITEM_STORAGE = 1; + INCREASE_POKEMON_STORAGE = 2; +} diff --git a/POGOProtos/Inventory/InventoryUpgrades.proto b/POGOProtos/Inventory/InventoryUpgrades.proto new file mode 100644 index 0000000..d1fc27d --- /dev/null +++ b/POGOProtos/Inventory/InventoryUpgrades.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package POGOProtos.Inventory; + +import "POGOProtos/Inventory/InventoryUpgrade.proto"; + +message InventoryUpgrades { + repeated InventoryUpgrade inventory_upgrades = 1; +} diff --git a/POGOProtos/Inventory/Item/ItemAward.proto b/POGOProtos/Inventory/Item/ItemAward.proto new file mode 100644 index 0000000..d6ddf17 --- /dev/null +++ b/POGOProtos/Inventory/Item/ItemAward.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Inventory.Item; + +import "POGOProtos/Inventory/Item/ItemId.proto"; + +message ItemAward { + .POGOProtos.Inventory.Item.ItemId item_id = 1; + int32 item_count = 2; +} \ No newline at end of file diff --git a/POGOProtos/Inventory/Item/ItemData.proto b/POGOProtos/Inventory/Item/ItemData.proto new file mode 100644 index 0000000..f81c572 --- /dev/null +++ b/POGOProtos/Inventory/Item/ItemData.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Inventory.Item; + +import "POGOProtos/Inventory/Item/ItemId.proto"; + +message ItemData { + .POGOProtos.Inventory.Item.ItemId item_id = 1; + int32 count = 2; + bool unseen = 3; +} diff --git a/POGOProtos/Inventory/Item/ItemId.proto b/POGOProtos/Inventory/Item/ItemId.proto new file mode 100644 index 0000000..5a45728 --- /dev/null +++ b/POGOProtos/Inventory/Item/ItemId.proto @@ -0,0 +1,35 @@ +syntax = "proto3"; +package POGOProtos.Inventory.Item; + +enum ItemId { + ITEM_UNKNOWN = 0; + ITEM_POKE_BALL = 1; + ITEM_GREAT_BALL = 2; + ITEM_ULTRA_BALL = 3; + ITEM_MASTER_BALL = 4; + 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_SPECIAL_CAMERA = 801; + ITEM_INCUBATOR_BASIC_UNLIMITED = 901; + ITEM_INCUBATOR_BASIC = 902; + ITEM_POKEMON_STORAGE_UPGRADE = 1001; + ITEM_ITEM_STORAGE_UPGRADE = 1002; +} diff --git a/POGOProtos/Inventory/Item/ItemType.proto b/POGOProtos/Inventory/Item/ItemType.proto new file mode 100644 index 0000000..433759e --- /dev/null +++ b/POGOProtos/Inventory/Item/ItemType.proto @@ -0,0 +1,18 @@ +syntax = "proto3"; +package POGOProtos.Inventory.Item; + +enum ItemType { + 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; +} diff --git a/POGOProtos/Map/Fort/FortData.proto b/POGOProtos/Map/Fort/FortData.proto new file mode 100644 index 0000000..2d550b5 --- /dev/null +++ b/POGOProtos/Map/Fort/FortData.proto @@ -0,0 +1,45 @@ +syntax = "proto3"; +package POGOProtos.Map.Fort; + +import "POGOProtos/Enums/PokemonId.proto"; +import "POGOProtos/Enums/TeamColor.proto"; +import "POGOProtos/Map/Fort/FortType.proto"; +import "POGOProtos/Map/Fort/FortSponsor.proto"; +import "POGOProtos/Map/Fort/FortRenderingType.proto"; +import "POGOProtos/Map/Fort/FortLureInfo.proto"; + +message FortData { + string id = 1; + int64 last_modified_timestamp_ms = 2; + double latitude = 3; + double longitude = 4; + bool enabled = 8; + .POGOProtos.Map.Fort.FortType type = 9; + + //// Fields related to gyms only + + // Team that owns the gym + .POGOProtos.Enums.TeamColor owned_by_team = 5; + + // Highest CP Pokemon at the gym + .POGOProtos.Enums.PokemonId guard_pokemon_id = 6; + int32 guard_pokemon_cp = 7; + + // Prestigate / experience of the gym + int64 gym_points = 10; + + // Whether someone is battling at the gym currently + bool is_in_battle = 11; + + //// Fields related to pokestops only + + // Timestamp when the pokestop can be activated again to get items / xp + int64 cooldown_complete_timestamp_ms = 14; + + .POGOProtos.Map.Fort.FortSponsor sponsor = 15; + .POGOProtos.Map.Fort.FortRenderingType rendering_type = 16; + + // Might represent the type of item applied to the pokestop, right now only lures can be applied + bytes active_fort_modifier = 12; + .POGOProtos.Map.Fort.FortLureInfo lure_info = 13; +} diff --git a/POGOProtos/Map/Fort/FortLureInfo.proto b/POGOProtos/Map/Fort/FortLureInfo.proto new file mode 100644 index 0000000..d90e31e --- /dev/null +++ b/POGOProtos/Map/Fort/FortLureInfo.proto @@ -0,0 +1,11 @@ +syntax = "proto3"; +package POGOProtos.Map.Fort; + +import "POGOProtos/Enums/PokemonId.proto"; + +message FortLureInfo { + string fort_id = 1; + fixed64 encounter_id = 2; + .POGOProtos.Enums.PokemonId active_pokemon_id = 3; + int64 lure_expires_timestamp_ms = 4; +} \ No newline at end of file diff --git a/POGOProtos/Map/Fort/FortModifier.proto b/POGOProtos/Map/Fort/FortModifier.proto new file mode 100644 index 0000000..91c9413 --- /dev/null +++ b/POGOProtos/Map/Fort/FortModifier.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Map.Fort; + +import "POGOProtos/Inventory/Item/ItemId.proto"; + +message FortModifier { + .POGOProtos.Inventory.Item.ItemId item_id = 1; + int64 expiration_timestamp_ms = 2; + string deployer_player_codename = 3; +} diff --git a/POGOProtos/Map/Fort/FortRenderingType.proto b/POGOProtos/Map/Fort/FortRenderingType.proto new file mode 100644 index 0000000..5d78b95 --- /dev/null +++ b/POGOProtos/Map/Fort/FortRenderingType.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Map.Fort; + +enum FortRenderingType { + DEFAULT = 0; + INTERNAL_TEST = 1; +} diff --git a/POGOProtos/Map/Fort/FortSponsor.proto b/POGOProtos/Map/Fort/FortSponsor.proto new file mode 100644 index 0000000..82dfe9f --- /dev/null +++ b/POGOProtos/Map/Fort/FortSponsor.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package POGOProtos.Map.Fort; + +enum FortSponsor { + UNSET_SPONSOR = 0; + MCDONALDS = 1; + POKEMON_STORE = 2; +} diff --git a/POGOProtos/Map/Fort/FortSummary.proto b/POGOProtos/Map/Fort/FortSummary.proto new file mode 100644 index 0000000..3979e1c --- /dev/null +++ b/POGOProtos/Map/Fort/FortSummary.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Map.Fort; + +message FortSummary { + string fort_summary_id = 1; + int64 last_modified_timestamp_ms = 2; + double latitude = 3; + double longitude = 4; +} diff --git a/POGOProtos/Map/Fort/FortType.proto b/POGOProtos/Map/Fort/FortType.proto new file mode 100644 index 0000000..86e5643 --- /dev/null +++ b/POGOProtos/Map/Fort/FortType.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Map.Fort; + +enum FortType { + GYM = 0; + CHECKPOINT = 1; +} diff --git a/POGOProtos/Map/MapCell.proto b/POGOProtos/Map/MapCell.proto new file mode 100644 index 0000000..1c3dee2 --- /dev/null +++ b/POGOProtos/Map/MapCell.proto @@ -0,0 +1,29 @@ +syntax = "proto3"; +package POGOProtos.Map; + +import "POGOProtos/Map/SpawnPoint.proto"; +import "POGOProtos/Map/Fort/FortData.proto"; +import "POGOProtos/Map/Fort/FortSummary.proto"; +import "POGOProtos/Map/Pokemon/NearbyPokemon.proto"; +import "POGOProtos/Map/Pokemon/WildPokemon.proto"; +import "POGOProtos/Map/Pokemon/MapPokemon.proto"; + +// A cell is a geographical "zone" containing objects like pokemon, gyms, and pokestops. +message MapCell { + // S2 geographic area that the cell covers (http://s2map.com/) (https://code.google.com/archive/p/s2-geometry-library/) + uint64 s2_cell_id = 1; + int64 current_timestamp_ms = 2; + repeated .POGOProtos.Map.Fort.FortData forts = 3; + repeated .POGOProtos.Map.SpawnPoint spawn_points = 4; + repeated string deleted_objects = 6; + bool is_truncated_list = 7; + repeated .POGOProtos.Map.Fort.FortSummary fort_summaries = 8; + repeated .POGOProtos.Map.SpawnPoint decimated_spawn_points = 9; + + // Pokemon within 2 steps or less. + repeated .POGOProtos.Map.Pokemon.WildPokemon wild_pokemons = 5; + // Pokemon within 1 step or none. + repeated .POGOProtos.Map.Pokemon.MapPokemon catchable_pokemons = 10; + // Pokemon farther away than 2 steps, but still in the area. + repeated .POGOProtos.Map.Pokemon.NearbyPokemon nearby_pokemons = 11; +} diff --git a/POGOProtos/Map/MapObjectsStatus.proto b/POGOProtos/Map/MapObjectsStatus.proto new file mode 100644 index 0000000..5869529 --- /dev/null +++ b/POGOProtos/Map/MapObjectsStatus.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package POGOProtos.Map; + +enum MapObjectsStatus { + UNSET_STATUS = 0; + SUCCESS = 1; + LOCATION_UNSET = 2; +} diff --git a/POGOProtos/Map/Pokemon/MapPokemon.proto b/POGOProtos/Map/Pokemon/MapPokemon.proto new file mode 100644 index 0000000..72f3780 --- /dev/null +++ b/POGOProtos/Map/Pokemon/MapPokemon.proto @@ -0,0 +1,14 @@ +syntax = "proto3"; +package POGOProtos.Map.Pokemon; + +import "POGOProtos/Enums/PokemonId.proto"; + +message MapPokemon { + string spawn_point_id = 1; + fixed64 encounter_id = 2; + .POGOProtos.Enums.PokemonId pokemon_id = 3; + // After this timestamp, the pokemon will be gone. + int64 expiration_timestamp_ms = 4; + double latitude = 5; + double longitude = 6; +} \ No newline at end of file diff --git a/POGOProtos/Map/Pokemon/NearbyPokemon.proto b/POGOProtos/Map/Pokemon/NearbyPokemon.proto new file mode 100644 index 0000000..72bcfe9 --- /dev/null +++ b/POGOProtos/Map/Pokemon/NearbyPokemon.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Map.Pokemon; + +import "POGOProtos/Enums/PokemonId.proto"; + +message NearbyPokemon { + .POGOProtos.Enums.PokemonId pokemon_id = 1; + float distance_in_meters = 2; + fixed64 encounter_id = 3; +} diff --git a/POGOProtos/Map/Pokemon/WildPokemon.proto b/POGOProtos/Map/Pokemon/WildPokemon.proto new file mode 100644 index 0000000..cec2143 --- /dev/null +++ b/POGOProtos/Map/Pokemon/WildPokemon.proto @@ -0,0 +1,14 @@ +syntax = "proto3"; +package POGOProtos.Map.Pokemon; + +import "POGOProtos/Data/PokemonData.proto"; + +message WildPokemon { + fixed64 encounter_id = 1; + int64 last_modified_timestamp_ms = 2; + double latitude = 3; + double longitude = 4; + string spawn_point_id = 5; + .POGOProtos.Data.PokemonData pokemon_data = 7; + int32 time_till_hidden_ms = 11; +} diff --git a/POGOProtos/Map/SpawnPoint.proto b/POGOProtos/Map/SpawnPoint.proto new file mode 100644 index 0000000..7cb1938 --- /dev/null +++ b/POGOProtos/Map/SpawnPoint.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Map; + +message SpawnPoint { + double latitude = 2; + double longitude = 3; +} diff --git a/POGOProtos/Networking/Envelopes/AuthTicket.proto b/POGOProtos/Networking/Envelopes/AuthTicket.proto new file mode 100644 index 0000000..9e118a5 --- /dev/null +++ b/POGOProtos/Networking/Envelopes/AuthTicket.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package POGOProtos.Networking.Envelopes; + +message AuthTicket { + bytes start = 1; + uint64 expire_timestamp_ms = 2; + bytes end = 3; +} \ No newline at end of file diff --git a/POGOProtos/Networking/Envelopes/RequestEnvelope.proto b/POGOProtos/Networking/Envelopes/RequestEnvelope.proto new file mode 100644 index 0000000..d342fed --- /dev/null +++ b/POGOProtos/Networking/Envelopes/RequestEnvelope.proto @@ -0,0 +1,31 @@ +syntax = "proto3"; +package POGOProtos.Networking.Envelopes; + +import "POGOProtos/Networking/Requests/Request.proto"; +import "POGOProtos/Networking/Envelopes/AuthTicket.proto"; +import "POGOProtos/Networking/Envelopes/Unknown6.proto"; + +message RequestEnvelope { + int32 status_code = 1; + + uint64 request_id = 3; + repeated .POGOProtos.Networking.Requests.Request requests = 4; + + repeated .POGOProtos.Networking.Envelopes.Unknown6 unknown6 = 6; + double latitude = 7; + double longitude = 8; + double altitude = 9; + AuthInfo auth_info = 10; + .POGOProtos.Networking.Envelopes.AuthTicket auth_ticket = 11; + int64 unknown12 = 12; + + message AuthInfo { + string provider = 1; + JWT token = 2; + + message JWT { + string contents = 1; + int32 unknown2 = 2; + } + } +} diff --git a/POGOProtos/Networking/Envelopes/ResponseEnvelope.proto b/POGOProtos/Networking/Envelopes/ResponseEnvelope.proto new file mode 100644 index 0000000..1afb243 --- /dev/null +++ b/POGOProtos/Networking/Envelopes/ResponseEnvelope.proto @@ -0,0 +1,23 @@ +syntax = "proto3"; +package POGOProtos.Networking.Envelopes; + +import "POGOProtos/Networking/Envelopes/AuthTicket.proto"; +import "POGOProtos/Networking/Envelopes/Unknown6Response.proto"; + +message ResponseEnvelope { + int32 status_code = 1; + uint64 request_id = 2; + string api_url = 3; + + repeated .POGOProtos.Networking.Envelopes.Unknown6Response unknown6 = 6; + .POGOProtos.Networking.Envelopes.AuthTicket auth_ticket = 7; + + repeated bytes returns = 100; + string error = 101; + + message Unknown7 { + bytes unknown71 = 1; + int64 unknown72 = 2; + bytes unknown73 = 3; + } +} diff --git a/POGOProtos/Networking/Envelopes/Unknown6.proto b/POGOProtos/Networking/Envelopes/Unknown6.proto new file mode 100644 index 0000000..2f18a05 --- /dev/null +++ b/POGOProtos/Networking/Envelopes/Unknown6.proto @@ -0,0 +1,11 @@ +syntax = "proto3"; +package POGOProtos.Networking.Envelopes; + +message Unknown6 { + int32 request_type = 1; // 5 for IAPs, 6 is unknown still + Unknown2 unknown2 = 2; + + message Unknown2 { + bytes unknown1 = 1; + } +} diff --git a/POGOProtos/Networking/Envelopes/Unknown6Response.proto b/POGOProtos/Networking/Envelopes/Unknown6Response.proto new file mode 100644 index 0000000..1f33440 --- /dev/null +++ b/POGOProtos/Networking/Envelopes/Unknown6Response.proto @@ -0,0 +1,32 @@ +syntax = "proto3"; +package POGOProtos.Networking.Envelopes; + +import "POGOProtos/Data/Player/Currency.proto"; +import "POGOProtos/Inventory/Item/ItemData.proto"; + +message Unknown6Response { + int32 response_type = 1; // Still don't know what 6 is, but 5 lists items available via IAPs. + Unknown2 unknown2 = 2; // Response data + + message Unknown2 { + uint64 unknown1 = 1; // Maybe status? It's always 1 (success), so it's probably that. + repeated StoreItem items = 2; // Items to show in the shop + repeated .POGOProtos.Data.Player.Currency player_currencies = 3; // currencies that player has at the moment + string unknown4 = 4; // Some base64 encoded stuff... + + message StoreItem { + string item_id = 1; // Internal ID (probably for Google Play/App Store) example: "pgorelease.incenseordinary.1" + bool is_iap = 2; // If true, this item is bought with real currency (USD, etc.) through the Play/App Store instead of Pokecoins + .POGOProtos.Data.Player.Currency currency_to_buy = 3; // This defines how much the item costs (with the exception of items that cost real money like Pokecoins, that's defined in the respective store) + .POGOProtos.Data.Player.Currency yields_currency = 4; // When bought, this IAP will yield this much currency + .POGOProtos.Inventory.Item.ItemData yields_item = 5; // The item and count of such item that this IAP will yield + repeated Tag tags = 6; // Stuff like SORT:12, CATEGORY:ITEMS + int32 unknown7 = 7; // Possibly something to toggle visibility in the store/purchasibility? + + message Tag { + string key = 1; + string value = 2; + } + } + } +} diff --git a/POGOProtos/Networking/Requests/Messages/AddFortModifierMessage.proto b/POGOProtos/Networking/Requests/Messages/AddFortModifierMessage.proto new file mode 100644 index 0000000..e1035a1 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/AddFortModifierMessage.proto @@ -0,0 +1,11 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +import "POGOProtos/Inventory/Item/ItemId.proto"; + +message AddFortModifierMessage { + .POGOProtos.Inventory.Item.ItemId modifier_type = 1; + string fort_id = 2; + double player_latitude = 3; + double player_longitude = 4; +} diff --git a/POGOProtos/Networking/Requests/Messages/AttackGymMessage.proto b/POGOProtos/Networking/Requests/Messages/AttackGymMessage.proto new file mode 100644 index 0000000..b00d43e --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/AttackGymMessage.proto @@ -0,0 +1,13 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +import "POGOProtos/Data/Battle/BattleAction.proto"; + +message AttackGymMessage { + string gym_id = 1; + string battle_id = 2; + repeated .POGOProtos.Data.Battle.BattleAction attack_actions = 3; + .POGOProtos.Data.Battle.BattleAction last_retrieved_actions = 4; + double player_latitude = 5; + double player_longitude = 6; +} diff --git a/POGOProtos/Networking/Requests/Messages/CatchPokemonMessage.proto b/POGOProtos/Networking/Requests/Messages/CatchPokemonMessage.proto new file mode 100644 index 0000000..23e2e48 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/CatchPokemonMessage.proto @@ -0,0 +1,14 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +import "POGOProtos/Inventory/Item/ItemId.proto"; + +message CatchPokemonMessage { + fixed64 encounter_id = 1; + .POGOProtos.Inventory.Item.ItemId pokeball = 2; + double normalized_reticle_size = 3; + string spawn_point_id = 4; + bool hit_pokemon = 5; + double spin_modifier = 6; + double normalized_hit_position = 7; +} diff --git a/POGOProtos/Networking/Requests/Messages/CheckAwardedBadgesMessage.proto b/POGOProtos/Networking/Requests/Messages/CheckAwardedBadgesMessage.proto new file mode 100644 index 0000000..333199e --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/CheckAwardedBadgesMessage.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message CheckAwardedBadgesMessage { + // No message needed. +} diff --git a/POGOProtos/Networking/Requests/Messages/CheckCodenameAvailableMessage.proto b/POGOProtos/Networking/Requests/Messages/CheckCodenameAvailableMessage.proto new file mode 100644 index 0000000..ff06c3e --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/CheckCodenameAvailableMessage.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message CheckCodenameAvailableMessage { + string codename = 1; +} diff --git a/POGOProtos/Networking/Requests/Messages/ClaimCodenameMessage.proto b/POGOProtos/Networking/Requests/Messages/ClaimCodenameMessage.proto new file mode 100644 index 0000000..0024b8d --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/ClaimCodenameMessage.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message ClaimCodenameMessage { + string codename = 1; +} diff --git a/POGOProtos/Networking/Requests/Messages/CollectDailyBonusMessage.proto b/POGOProtos/Networking/Requests/Messages/CollectDailyBonusMessage.proto new file mode 100644 index 0000000..441163e --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/CollectDailyBonusMessage.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message CollectDailyBonusMessage { + // No message needed. +} diff --git a/POGOProtos/Networking/Requests/Messages/CollectDailyDefenderBonusMessage.proto b/POGOProtos/Networking/Requests/Messages/CollectDailyDefenderBonusMessage.proto new file mode 100644 index 0000000..fc121af --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/CollectDailyDefenderBonusMessage.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message CollectDailyDefenderBonusMessage { + // No message needed. +} diff --git a/POGOProtos/Networking/Requests/Messages/DiskEncounterMessage.proto b/POGOProtos/Networking/Requests/Messages/DiskEncounterMessage.proto new file mode 100644 index 0000000..30efbbd --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/DiskEncounterMessage.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message DiskEncounterMessage { + uint64 encounter_id = 1; + string fort_id = 2; + double player_latitude = 3; + double player_longitude = 4; +} \ No newline at end of file diff --git a/POGOProtos/Networking/Requests/Messages/DownloadItemTemplatesMessage.proto b/POGOProtos/Networking/Requests/Messages/DownloadItemTemplatesMessage.proto new file mode 100644 index 0000000..fed6704 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/DownloadItemTemplatesMessage.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message DownloadItemTemplatesMessage { + // No message needed. +} diff --git a/POGOProtos/Networking/Requests/Messages/DownloadRemoteConfigVersionMessage.proto b/POGOProtos/Networking/Requests/Messages/DownloadRemoteConfigVersionMessage.proto new file mode 100644 index 0000000..062c927 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/DownloadRemoteConfigVersionMessage.proto @@ -0,0 +1,12 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +import "POGOProtos/Enums/Platform.proto"; + +message DownloadRemoteConfigVersionMessage { + .POGOProtos.Enums.Platform platform = 1; + string device_manufacturer = 2; + string device_model = 3; + string locale = 4; + uint32 app_version = 5; +} diff --git a/POGOProtos/Networking/Requests/Messages/DownloadSettingsMessage.proto b/POGOProtos/Networking/Requests/Messages/DownloadSettingsMessage.proto new file mode 100644 index 0000000..ba92c95 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/DownloadSettingsMessage.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message DownloadSettingsMessage { + string hash = 1; +} diff --git a/POGOProtos/Networking/Requests/Messages/EchoMessage.proto b/POGOProtos/Networking/Requests/Messages/EchoMessage.proto new file mode 100644 index 0000000..6e53ac8 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/EchoMessage.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message EchoMessage { + // No message needed. +} diff --git a/POGOProtos/Networking/Requests/Messages/EncounterMessage.proto b/POGOProtos/Networking/Requests/Messages/EncounterMessage.proto new file mode 100644 index 0000000..0c5b1a0 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/EncounterMessage.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message EncounterMessage { + fixed64 encounter_id = 1; + string spawn_point_id = 2; + double player_latitude = 3; + double player_longitude = 4; +} diff --git a/POGOProtos/Networking/Requests/Messages/EncounterTutorialCompleteMessage.proto b/POGOProtos/Networking/Requests/Messages/EncounterTutorialCompleteMessage.proto new file mode 100644 index 0000000..1008ff0 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/EncounterTutorialCompleteMessage.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +import "POGOProtos/Enums/PokemonId.proto"; + +message EncounterTutorialCompleteMessage { + .POGOProtos.Enums.PokemonId pokemon_id = 1; +} diff --git a/POGOProtos/Networking/Requests/Messages/EquipBadgeMessage.proto b/POGOProtos/Networking/Requests/Messages/EquipBadgeMessage.proto new file mode 100644 index 0000000..1d63e01 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/EquipBadgeMessage.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +import "POGOProtos/Enums/BadgeType.proto"; + +message EquipBadgeMessage { + .POGOProtos.Enums.BadgeType badge_type = 1; +} diff --git a/POGOProtos/Networking/Requests/Messages/EvolvePokemonMessage.proto b/POGOProtos/Networking/Requests/Messages/EvolvePokemonMessage.proto new file mode 100644 index 0000000..9f0714a --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/EvolvePokemonMessage.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message EvolvePokemonMessage { + fixed64 pokemon_id = 1; +} diff --git a/POGOProtos/Networking/Requests/Messages/FortDeployPokemonMessage.proto b/POGOProtos/Networking/Requests/Messages/FortDeployPokemonMessage.proto new file mode 100644 index 0000000..1706107 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/FortDeployPokemonMessage.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message FortDeployPokemonMessage { + string fort_id = 1; + fixed64 pokemon_id = 2; + double player_latitude = 3; + double player_longitude = 4; +} \ No newline at end of file diff --git a/POGOProtos/Networking/Requests/Messages/FortDetailsMessage.proto b/POGOProtos/Networking/Requests/Messages/FortDetailsMessage.proto new file mode 100644 index 0000000..c0bf077 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/FortDetailsMessage.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message FortDetailsMessage { + string fort_id = 1; + double latitude = 2; + double longitude = 3; +} diff --git a/POGOProtos/Networking/Requests/Messages/FortRecallPokemonMessage.proto b/POGOProtos/Networking/Requests/Messages/FortRecallPokemonMessage.proto new file mode 100644 index 0000000..21b107a --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/FortRecallPokemonMessage.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message FortRecallPokemonMessage { + string fort_id = 1; + fixed64 pokemon_id = 2; + double player_latitude = 3; + double player_longitude = 4; +} \ No newline at end of file diff --git a/POGOProtos/Networking/Requests/Messages/FortSearchMessage.proto b/POGOProtos/Networking/Requests/Messages/FortSearchMessage.proto new file mode 100644 index 0000000..b4ad4ac --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/FortSearchMessage.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message FortSearchMessage { + string fort_id = 1; + double player_latitude = 2; + double player_longitude = 3; + double fort_latitude = 4; + double fort_longitude = 5; +} diff --git a/POGOProtos/Networking/Requests/Messages/GetAssetDigestMessage.proto b/POGOProtos/Networking/Requests/Messages/GetAssetDigestMessage.proto new file mode 100644 index 0000000..d299cd9 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/GetAssetDigestMessage.proto @@ -0,0 +1,12 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +import "POGOProtos/Enums/Platform.proto"; + +message GetAssetDigestMessage { + .POGOProtos.Enums.Platform platform = 1; + string device_manufacturer = 2; + string device_model = 3; + string locale = 4; + uint32 app_version = 5; +} diff --git a/POGOProtos/Networking/Requests/Messages/GetDownloadUrlsMessage.proto b/POGOProtos/Networking/Requests/Messages/GetDownloadUrlsMessage.proto new file mode 100644 index 0000000..0b4a9c9 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/GetDownloadUrlsMessage.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +// UNTESTED +message GetDownloadUrlsMessage { + repeated string asset_id = 1; +} diff --git a/POGOProtos/Networking/Requests/Messages/GetGymDetailsMessage.proto b/POGOProtos/Networking/Requests/Messages/GetGymDetailsMessage.proto new file mode 100644 index 0000000..2a84254 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/GetGymDetailsMessage.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message GetGymDetailsMessage { + string gym_id = 1; + double player_latitude = 2; + double player_longitude = 3; + double gym_latitude = 4; + double gym_longitude = 5; +} diff --git a/POGOProtos/Networking/Requests/Messages/GetHatchedEggsMessage.proto b/POGOProtos/Networking/Requests/Messages/GetHatchedEggsMessage.proto new file mode 100644 index 0000000..fb5dac6 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/GetHatchedEggsMessage.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message GetHatchedEggsMessage { + // No message needed. +} diff --git a/POGOProtos/Networking/Requests/Messages/GetIncensePokemonMessage.proto b/POGOProtos/Networking/Requests/Messages/GetIncensePokemonMessage.proto new file mode 100644 index 0000000..ad0de56 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/GetIncensePokemonMessage.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message GetIncensePokemonMessage { + double player_latitude = 1; + double player_longitude = 2; +} diff --git a/POGOProtos/Networking/Requests/Messages/GetInventoryMessage.proto b/POGOProtos/Networking/Requests/Messages/GetInventoryMessage.proto new file mode 100644 index 0000000..9318816 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/GetInventoryMessage.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message GetInventoryMessage { + int64 last_timestamp_ms = 1; + int32 item_been_seen = 2; // TODO: Find out what this is. +} diff --git a/POGOProtos/Networking/Requests/Messages/GetMapObjectsMessage.proto b/POGOProtos/Networking/Requests/Messages/GetMapObjectsMessage.proto new file mode 100644 index 0000000..50ea0b4 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/GetMapObjectsMessage.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message GetMapObjectsMessage { + repeated uint64 cell_id = 1 [packed=true]; + repeated int64 since_timestamp_ms = 2 [packed=true]; + double latitude = 3; + double longitude = 4; +} diff --git a/POGOProtos/Networking/Requests/Messages/GetPlayerMessage.proto b/POGOProtos/Networking/Requests/Messages/GetPlayerMessage.proto new file mode 100644 index 0000000..ce14965 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/GetPlayerMessage.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message GetPlayerMessage { + // Human readable app version, e.g. "0.31.1" + string app_version = 1; +} diff --git a/POGOProtos/Networking/Requests/Messages/GetPlayerProfileMessage.proto b/POGOProtos/Networking/Requests/Messages/GetPlayerProfileMessage.proto new file mode 100644 index 0000000..027eb97 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/GetPlayerProfileMessage.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message GetPlayerProfileMessage { + string player_name = 1; +} diff --git a/POGOProtos/Networking/Requests/Messages/GetSuggestedCodenamesMessage.proto b/POGOProtos/Networking/Requests/Messages/GetSuggestedCodenamesMessage.proto new file mode 100644 index 0000000..f5a52b4 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/GetSuggestedCodenamesMessage.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message GetSuggestedCodenamesMessage { + // No message needed. +} diff --git a/POGOProtos/Networking/Requests/Messages/IncenseEncounterMessage.proto b/POGOProtos/Networking/Requests/Messages/IncenseEncounterMessage.proto new file mode 100644 index 0000000..65c1c00 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/IncenseEncounterMessage.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message IncenseEncounterMessage { + uint64 encounter_id = 1; + string encounter_location = 2; +} diff --git a/POGOProtos/Networking/Requests/Messages/LevelUpRewardsMessage.proto b/POGOProtos/Networking/Requests/Messages/LevelUpRewardsMessage.proto new file mode 100644 index 0000000..e44479c --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/LevelUpRewardsMessage.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message LevelUpRewardsMessage { + int32 level = 1; +} \ No newline at end of file diff --git a/POGOProtos/Networking/Requests/Messages/MarkTutorialCompleteMessage.proto b/POGOProtos/Networking/Requests/Messages/MarkTutorialCompleteMessage.proto new file mode 100644 index 0000000..32262ce --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/MarkTutorialCompleteMessage.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +import "POGOProtos/Enums/TutorialState.proto"; + +message MarkTutorialCompleteMessage { + repeated .POGOProtos.Enums.TutorialState tutorials_completed = 1; + bool send_marketing_emails = 2; + bool send_push_notifications = 3; +} diff --git a/POGOProtos/Networking/Requests/Messages/NicknamePokemonMessage.proto b/POGOProtos/Networking/Requests/Messages/NicknamePokemonMessage.proto new file mode 100644 index 0000000..f8a30d8 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/NicknamePokemonMessage.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message NicknamePokemonMessage { + fixed64 pokemon_id = 1; + string nickname = 2; +} diff --git a/POGOProtos/Networking/Requests/Messages/PlayerUpdateMessage.proto b/POGOProtos/Networking/Requests/Messages/PlayerUpdateMessage.proto new file mode 100644 index 0000000..08a1efa --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/PlayerUpdateMessage.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message PlayerUpdateMessage { + double latitude = 1; + double longitude = 2; +} diff --git a/POGOProtos/Networking/Requests/Messages/README.txt b/POGOProtos/Networking/Requests/Messages/README.txt new file mode 100644 index 0000000..9cce109 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/README.txt @@ -0,0 +1 @@ +Requests message name should be the "RequestType" in camelcase with "Message" as suffix. \ No newline at end of file diff --git a/POGOProtos/Networking/Requests/Messages/RecycleInventoryItemMessage.proto b/POGOProtos/Networking/Requests/Messages/RecycleInventoryItemMessage.proto new file mode 100644 index 0000000..7b2cf4a --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/RecycleInventoryItemMessage.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +import "POGOProtos/Inventory/Item/ItemId.proto"; + +message RecycleInventoryItemMessage { + .POGOProtos.Inventory.Item.ItemId item_id = 1; + int32 count = 2; +} diff --git a/POGOProtos/Networking/Requests/Messages/ReleasePokemonMessage.proto b/POGOProtos/Networking/Requests/Messages/ReleasePokemonMessage.proto new file mode 100644 index 0000000..aeea111 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/ReleasePokemonMessage.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message ReleasePokemonMessage { + fixed64 pokemon_id = 1; +} diff --git a/POGOProtos/Networking/Requests/Messages/SetAvatarMessage.proto b/POGOProtos/Networking/Requests/Messages/SetAvatarMessage.proto new file mode 100644 index 0000000..c54bdd2 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/SetAvatarMessage.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +import "POGOProtos/Data/Player/PlayerAvatar.proto"; + +message SetAvatarMessage { + .POGOProtos.Data.Player.PlayerAvatar player_avatar = 2; +} diff --git a/POGOProtos/Networking/Requests/Messages/SetContactSettingsMessage.proto b/POGOProtos/Networking/Requests/Messages/SetContactSettingsMessage.proto new file mode 100644 index 0000000..e533d14 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/SetContactSettingsMessage.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +import "POGOProtos/Data/Player/ContactSettings.proto"; + +message SetContactSettingsMessage { + .POGOProtos.Data.Player.ContactSettings contact_settings = 1; +} diff --git a/POGOProtos/Networking/Requests/Messages/SetFavoritePokemonMessage.proto b/POGOProtos/Networking/Requests/Messages/SetFavoritePokemonMessage.proto new file mode 100644 index 0000000..64b52b3 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/SetFavoritePokemonMessage.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message SetFavoritePokemonMessage { + int64 pokemon_id = 1; // Do not change https://github.com/AeonLucid/POGOProtos/pull/126 + bool is_favorite = 2; +} diff --git a/POGOProtos/Networking/Requests/Messages/SetPlayerTeamMessage.proto b/POGOProtos/Networking/Requests/Messages/SetPlayerTeamMessage.proto new file mode 100644 index 0000000..1efdcf8 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/SetPlayerTeamMessage.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +import "POGOProtos/Enums/TeamColor.proto"; + +message SetPlayerTeamMessage { + .POGOProtos.Enums.TeamColor team = 1; +} diff --git a/POGOProtos/Networking/Requests/Messages/SfidaActionLogMessage.proto b/POGOProtos/Networking/Requests/Messages/SfidaActionLogMessage.proto new file mode 100644 index 0000000..1d9da3f --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/SfidaActionLogMessage.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message SfidaActionLogMessage { + // No message needed. +} diff --git a/POGOProtos/Networking/Requests/Messages/StartGymBattleMessage.proto b/POGOProtos/Networking/Requests/Messages/StartGymBattleMessage.proto new file mode 100644 index 0000000..7b80201 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/StartGymBattleMessage.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message StartGymBattleMessage { + string gym_id = 1; + repeated fixed64 attacking_pokemon_ids = 2; + fixed64 defending_pokemon_id = 3; // needs to be fixed64, tested by Grover + double player_latitude = 4; + double player_longitude = 5; +} diff --git a/POGOProtos/Networking/Requests/Messages/UpgradePokemonMessage.proto b/POGOProtos/Networking/Requests/Messages/UpgradePokemonMessage.proto new file mode 100644 index 0000000..427e6bf --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/UpgradePokemonMessage.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message UpgradePokemonMessage { + fixed64 pokemon_id = 1; +} diff --git a/POGOProtos/Networking/Requests/Messages/UseIncenseMessage.proto b/POGOProtos/Networking/Requests/Messages/UseIncenseMessage.proto new file mode 100644 index 0000000..990cc3e --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/UseIncenseMessage.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +import "POGOProtos/Inventory/Item/ItemId.proto"; + +message UseIncenseMessage { + .POGOProtos.Inventory.Item.ItemId incense_type = 1; +} diff --git a/POGOProtos/Networking/Requests/Messages/UseItemCaptureMessage.proto b/POGOProtos/Networking/Requests/Messages/UseItemCaptureMessage.proto new file mode 100644 index 0000000..77e20f6 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/UseItemCaptureMessage.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +import "POGOProtos/Inventory/Item/ItemId.proto"; + +message UseItemCaptureMessage { + .POGOProtos.Inventory.Item.ItemId item_id = 1; + fixed64 encounter_id = 2; + string spawn_point_id = 3; +} diff --git a/POGOProtos/Networking/Requests/Messages/UseItemEggIncubatorMessage.proto b/POGOProtos/Networking/Requests/Messages/UseItemEggIncubatorMessage.proto new file mode 100644 index 0000000..aa43123 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/UseItemEggIncubatorMessage.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +message UseItemEggIncubatorMessage { + string item_id = 1; + uint64 pokemon_id = 2; +} diff --git a/POGOProtos/Networking/Requests/Messages/UseItemGymMessage.proto b/POGOProtos/Networking/Requests/Messages/UseItemGymMessage.proto new file mode 100644 index 0000000..16b454f --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/UseItemGymMessage.proto @@ -0,0 +1,11 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +import "POGOProtos/Inventory/Item/ItemId.proto"; + +message UseItemGymMessage { + .POGOProtos.Inventory.Item.ItemId item_id = 1; + string gym_id = 2; + double player_latitude = 3; + double player_longitude = 4; +} diff --git a/POGOProtos/Networking/Requests/Messages/UseItemPotionMessage.proto b/POGOProtos/Networking/Requests/Messages/UseItemPotionMessage.proto new file mode 100644 index 0000000..8d882c2 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/UseItemPotionMessage.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +import "POGOProtos/Inventory/Item/ItemId.proto"; + +message UseItemPotionMessage { + .POGOProtos.Inventory.Item.ItemId item_id = 1; + fixed64 pokemon_id = 2; +} \ No newline at end of file diff --git a/POGOProtos/Networking/Requests/Messages/UseItemReviveMessage.proto b/POGOProtos/Networking/Requests/Messages/UseItemReviveMessage.proto new file mode 100644 index 0000000..c72f6a6 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/UseItemReviveMessage.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +import "POGOProtos/Inventory/Item/ItemId.proto"; + +message UseItemReviveMessage { + .POGOProtos.Inventory.Item.ItemId item_id = 1; + fixed64 pokemon_id = 2; +} \ No newline at end of file diff --git a/POGOProtos/Networking/Requests/Messages/UseItemXpBoostMessage.proto b/POGOProtos/Networking/Requests/Messages/UseItemXpBoostMessage.proto new file mode 100644 index 0000000..74975e9 --- /dev/null +++ b/POGOProtos/Networking/Requests/Messages/UseItemXpBoostMessage.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests.Messages; + +import "POGOProtos/Inventory/Item/ItemId.proto"; + +message UseItemXpBoostMessage { + .POGOProtos.Inventory.Item.ItemId item_id = 1; +} diff --git a/POGOProtos/Networking/Requests/Request.proto b/POGOProtos/Networking/Requests/Request.proto new file mode 100644 index 0000000..a5c3c60 --- /dev/null +++ b/POGOProtos/Networking/Requests/Request.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests; + +import "POGOProtos/Networking/Requests/RequestType.proto"; + +message Request { + .POGOProtos.Networking.Requests.RequestType request_type = 1; + bytes request_message = 2; +} diff --git a/POGOProtos/Networking/Requests/RequestType.proto b/POGOProtos/Networking/Requests/RequestType.proto new file mode 100644 index 0000000..3779cf2 --- /dev/null +++ b/POGOProtos/Networking/Requests/RequestType.proto @@ -0,0 +1,79 @@ +syntax = "proto3"; +package POGOProtos.Networking.Requests; + +// R = Response +// M = Message + +enum RequestType { + METHOD_UNSET = 0; // No implementation required + PLAYER_UPDATE = 1; // Implemented [R & M] + GET_PLAYER = 2; // Implemented [R & M] + GET_INVENTORY = 4; // Implemented [R & M] + DOWNLOAD_SETTINGS = 5; // Implemented [R & M] + DOWNLOAD_ITEM_TEMPLATES = 6; // Implemented [R & M] + DOWNLOAD_REMOTE_CONFIG_VERSION = 7; // Implemented [R & M] + FORT_SEARCH = 101; // Implemented [R & M] + ENCOUNTER = 102; // Implemented [R & M] + CATCH_POKEMON = 103; // Implemented [R & M] + FORT_DETAILS = 104; // Implemented [R & M] + ITEM_USE = 105; // Can't find this one + GET_MAP_OBJECTS = 106; // Implemented [R & M] + FORT_DEPLOY_POKEMON = 110; // Implemented [R & M] + FORT_RECALL_POKEMON = 111; // Implemented [R & M] + RELEASE_POKEMON = 112; // Implemented [R & M] + USE_ITEM_POTION = 113; // Implemented [R & M] + USE_ITEM_CAPTURE = 114; // Implemented [R & M] + USE_ITEM_FLEE = 115; // Can't find this one + USE_ITEM_REVIVE = 116; // Implemented [R & M] + TRADE_SEARCH = 117; // Not yet implemented in the game + TRADE_OFFER = 118; // Not yet implemented in the game + TRADE_RESPONSE = 119; // Not yet implemented in the game + TRADE_RESULT = 120; // Not yet implemented in the game + GET_PLAYER_PROFILE = 121; // Implemented [R & M] + GET_ITEM_PACK = 122; // Can't find this one + BUY_ITEM_PACK = 123; // Can't find this one + BUY_GEM_PACK = 124; // Can't find this one + EVOLVE_POKEMON = 125; // Implemented [R & M] + GET_HATCHED_EGGS = 126; // Implemented [R & M] + ENCOUNTER_TUTORIAL_COMPLETE = 127; // Implemented [R & M] + LEVEL_UP_REWARDS = 128; // Implemented [R & M] + CHECK_AWARDED_BADGES = 129; // Implemented [R & M] + USE_ITEM_GYM = 133; // Implemented [R & M] + GET_GYM_DETAILS = 134; // Implemented [R & M] + START_GYM_BATTLE = 135; // Implemented [R & M] + ATTACK_GYM = 136; // Implemented [R & M] + RECYCLE_INVENTORY_ITEM = 137; // Implemented [R & M] + COLLECT_DAILY_BONUS = 138; // Implemented [R & M] + USE_ITEM_XP_BOOST = 139; // Implemented [R & M] + USE_ITEM_EGG_INCUBATOR = 140; // Implemented [R & M] + USE_INCENSE = 141; // Implemented [R & M] + GET_INCENSE_POKEMON = 142; // Implemented [R & M] + INCENSE_ENCOUNTER = 143; // Implemented [R & M] + ADD_FORT_MODIFIER = 144; // Implemented [R & M] + DISK_ENCOUNTER = 145; // Implemented [R & M] + COLLECT_DAILY_DEFENDER_BONUS = 146; // Implemented [R & M] + UPGRADE_POKEMON = 147; // Implemented [R & M] + SET_FAVORITE_POKEMON = 148; // Implemented [R & M] + NICKNAME_POKEMON = 149; // Implemented [R & M] + EQUIP_BADGE = 150; // Implemented [R & M] + SET_CONTACT_SETTINGS = 151; // Implemented [R & M] + GET_ASSET_DIGEST = 300; // Implemented [R & M] + GET_DOWNLOAD_URLS = 301; // Implemented [R & M] + GET_SUGGESTED_CODENAMES = 401; // Implemented [R & M] + CHECK_CODENAME_AVAILABLE = 402; // Implemented [R & M] TEST RESPONSE + CLAIM_CODENAME = 403; // Implemented [R & M] TEST RESPONSE + SET_AVATAR = 404; // Implemented [R & M] + SET_PLAYER_TEAM = 405; // Implemented [R & M] + MARK_TUTORIAL_COMPLETE = 406; // Implemented [R & M] + LOAD_SPAWN_POINTS = 500; // Can't find this one + ECHO = 666; // Implemented [R & M] + DEBUG_UPDATE_INVENTORY = 700; + DEBUG_DELETE_PLAYER = 701; + SFIDA_REGISTRATION = 800; // Not yet released. + SFIDA_ACTION_LOG = 801; // Implemented [R & M] + SFIDA_CERTIFICATION = 802; // Not yet released. + SFIDA_UPDATE = 803; // Not yet released. + SFIDA_ACTION = 804; // Not yet released. + SFIDA_DOWSER = 805; // Not yet released. + SFIDA_CAPTURE = 806; // Not yet released. +} \ No newline at end of file diff --git a/POGOProtos/Networking/Responses/AddFortModifierResponse.proto b/POGOProtos/Networking/Responses/AddFortModifierResponse.proto new file mode 100644 index 0000000..cffb327 --- /dev/null +++ b/POGOProtos/Networking/Responses/AddFortModifierResponse.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +message AddFortModifierResponse { + // Initialized by assist.py +} diff --git a/POGOProtos/Networking/Responses/AttackGymResponse.proto b/POGOProtos/Networking/Responses/AttackGymResponse.proto new file mode 100644 index 0000000..3f3f2ac --- /dev/null +++ b/POGOProtos/Networking/Responses/AttackGymResponse.proto @@ -0,0 +1,20 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/Battle/BattleLog.proto"; +import "POGOProtos/Data/Battle/BattlePokemonInfo.proto"; + +message AttackGymResponse { + .POGOProtos.Networking.Responses.AttackGymResponse.Result result = 1; + .POGOProtos.Data.Battle.BattleLog battle_log = 2; + string battle_id = 3; + .POGOProtos.Data.Battle.BattlePokemonInfo active_defender = 4; + .POGOProtos.Data.Battle.BattlePokemonInfo active_attacker = 5; + + enum Result { + UNSET = 0; + SUCCESS = 1; + ERROR_INVALID_ATTACK_ACTIONS = 2; + ERROR_NOT_IN_RANGE = 3; + } +} diff --git a/POGOProtos/Networking/Responses/CatchPokemonResponse.proto b/POGOProtos/Networking/Responses/CatchPokemonResponse.proto new file mode 100644 index 0000000..b810236 --- /dev/null +++ b/POGOProtos/Networking/Responses/CatchPokemonResponse.proto @@ -0,0 +1,19 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/Capture/CaptureAward.proto"; + +message CatchPokemonResponse { + .POGOProtos.Networking.Responses.CatchPokemonResponse.CatchStatus status = 1; + double miss_percent = 2; + fixed64 captured_pokemon_id = 3; + .POGOProtos.Data.Capture.CaptureAward capture_award = 4; + + enum CatchStatus { + CATCH_ERROR = 0; + CATCH_SUCCESS = 1; + CATCH_ESCAPE = 2; + CATCH_FLEE = 3; + CATCH_MISSED = 4; + } +} \ No newline at end of file diff --git a/POGOProtos/Networking/Responses/CheckAwardedBadgesResponse.proto b/POGOProtos/Networking/Responses/CheckAwardedBadgesResponse.proto new file mode 100644 index 0000000..0ff0bbb --- /dev/null +++ b/POGOProtos/Networking/Responses/CheckAwardedBadgesResponse.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Enums/BadgeType.proto"; + +message CheckAwardedBadgesResponse { + bool success = 1; + repeated .POGOProtos.Enums.BadgeType awarded_badges = 2; + repeated int32 awarded_badge_levels = 3; +} diff --git a/POGOProtos/Networking/Responses/CheckCodenameAvailableResponse.proto b/POGOProtos/Networking/Responses/CheckCodenameAvailableResponse.proto new file mode 100644 index 0000000..c228166 --- /dev/null +++ b/POGOProtos/Networking/Responses/CheckCodenameAvailableResponse.proto @@ -0,0 +1,19 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +// TODO: Might be incorrect, please test. +message CheckCodenameAvailableResponse { + string codename = 1; + string user_message = 2; + bool is_assignable = 3; + .POGOProtos.Networking.Responses.CheckCodenameAvailableResponse.Status status = 4; + + enum Status { + UNSET = 0; + SUCCESS = 1; + CODENAME_NOT_AVAILABLE = 2; + CODENAME_NOT_VALID = 3; + CURRENT_OWNER = 4; + CODENAME_CHANGE_NOT_ALLOWED = 5; + } +} diff --git a/POGOProtos/Networking/Responses/ClaimCodenameResponse.proto b/POGOProtos/Networking/Responses/ClaimCodenameResponse.proto new file mode 100644 index 0000000..686d4ff --- /dev/null +++ b/POGOProtos/Networking/Responses/ClaimCodenameResponse.proto @@ -0,0 +1,19 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +// TODO: Might be incorrect, please test. +message ClaimCodenameResponse { + string codename = 1; + string user_message = 2; + bool is_assignable = 3; + .POGOProtos.Networking.Responses.ClaimCodenameResponse.Status status = 4; + + enum Status { + UNSET = 0; + SUCCESS = 1; + CODENAME_NOT_AVAILABLE = 2; + CODENAME_NOT_VALID = 3; + CURRENT_OWNER = 4; + CODENAME_CHANGE_NOT_ALLOWED = 5; + } +} diff --git a/POGOProtos/Networking/Responses/CollectDailyBonusResponse.proto b/POGOProtos/Networking/Responses/CollectDailyBonusResponse.proto new file mode 100644 index 0000000..fa2a8f0 --- /dev/null +++ b/POGOProtos/Networking/Responses/CollectDailyBonusResponse.proto @@ -0,0 +1,13 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +message CollectDailyBonusResponse { + .POGOProtos.Networking.Responses.CollectDailyBonusResponse.Result result = 1; + + enum Result { + UNSET = 0; + SUCCESS = 1; + FAILURE = 2; + TOO_SOON = 3; + } +} diff --git a/POGOProtos/Networking/Responses/CollectDailyDefenderBonusResponse.proto b/POGOProtos/Networking/Responses/CollectDailyDefenderBonusResponse.proto new file mode 100644 index 0000000..db334d0 --- /dev/null +++ b/POGOProtos/Networking/Responses/CollectDailyDefenderBonusResponse.proto @@ -0,0 +1,17 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +message CollectDailyDefenderBonusResponse { + .POGOProtos.Networking.Responses.CollectDailyDefenderBonusResponse.Result result = 1; + repeated string currency_type = 2; + repeated int32 currency_awarded = 3; + int32 defenders_count = 4; + + enum Result { + UNSET = 0; + SUCCESS = 1; + FAILURE = 2; + TOO_SOON = 3; + NO_DEFENDERS = 4; + } +} diff --git a/POGOProtos/Networking/Responses/DiskEncounterResponse.proto b/POGOProtos/Networking/Responses/DiskEncounterResponse.proto new file mode 100644 index 0000000..6678f2d --- /dev/null +++ b/POGOProtos/Networking/Responses/DiskEncounterResponse.proto @@ -0,0 +1,20 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/PokemonData.proto"; +import "POGOProtos/Data/Capture/CaptureProbability.proto"; + +message DiskEncounterResponse { + Result result = 1; + .POGOProtos.Data.PokemonData pokemon_data = 2; + .POGOProtos.Data.Capture.CaptureProbability capture_probability = 3; + + enum Result { + UNKNOWN = 0; + SUCCESS = 1; + NOT_AVAILABLE = 2; + NOT_IN_RANGE = 3; + ENCOUNTER_ALREADY_FINISHED = 4; + POKEMON_INVENTORY_FULL = 5; + } +} diff --git a/POGOProtos/Networking/Responses/DownloadItemTemplatesResponse.proto b/POGOProtos/Networking/Responses/DownloadItemTemplatesResponse.proto new file mode 100644 index 0000000..be924f1 --- /dev/null +++ b/POGOProtos/Networking/Responses/DownloadItemTemplatesResponse.proto @@ -0,0 +1,45 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Settings/Master/ItemSettings.proto"; +import "POGOProtos/Settings/Master/MoveSettings.proto"; +import "POGOProtos/Settings/Master/BadgeSettings.proto"; +import "POGOProtos/Settings/Master/PokemonSettings.proto"; +import "POGOProtos/Settings/Master/MoveSequenceSettings.proto"; +import "POGOProtos/Settings/Master/TypeEffectiveSettings.proto"; +import "POGOProtos/Settings/Master/CameraSettings.proto"; +import "POGOProtos/Settings/Master/PlayerLevelSettings.proto"; +import "POGOProtos/Settings/Master/GymLevelSettings.proto"; +import "POGOProtos/Settings/Master/GymBattleSettings.proto"; +import "POGOProtos/Settings/Master/EncounterSettings.proto"; +import "POGOProtos/Settings/Master/IapItemDisplay.proto"; +import "POGOProtos/Settings/Master/IapSettings.proto"; +import "POGOProtos/Settings/Master/PokemonUpgradeSettings.proto"; +import "POGOProtos/Settings/Master/EquippedBadgeSettings.proto"; + + + +message DownloadItemTemplatesResponse { + bool success = 1; + repeated .POGOProtos.Networking.Responses.DownloadItemTemplatesResponse.ItemTemplate item_templates = 2; + uint64 timestamp_ms = 3; + + message ItemTemplate { + string template_id = 1; + .POGOProtos.Settings.Master.PokemonSettings pokemon_settings = 2; + .POGOProtos.Settings.Master.ItemSettings item_settings = 3; + .POGOProtos.Settings.Master.MoveSettings move_settings = 4; + .POGOProtos.Settings.Master.MoveSequenceSettings move_sequence_settings = 5; + .POGOProtos.Settings.Master.TypeEffectiveSettings type_effective = 8; + .POGOProtos.Settings.Master.BadgeSettings badge_settings = 10; + .POGOProtos.Settings.Master.CameraSettings camera = 11; + .POGOProtos.Settings.Master.PlayerLevelSettings player_level = 12; + .POGOProtos.Settings.Master.GymLevelSettings gym_level = 13; + .POGOProtos.Settings.Master.GymBattleSettings battle_settings = 14; + .POGOProtos.Settings.Master.EncounterSettings encounter_settings = 15; + .POGOProtos.Settings.Master.IapItemDisplay iap_item_display = 16; + .POGOProtos.Settings.Master.IapSettings iap_settings = 17; + .POGOProtos.Settings.Master.PokemonUpgradeSettings pokemon_upgrades = 18; + .POGOProtos.Settings.Master.EquippedBadgeSettings equipped_badges = 19; + } +} \ No newline at end of file diff --git a/POGOProtos/Networking/Responses/DownloadRemoteConfigVersionResponse.proto b/POGOProtos/Networking/Responses/DownloadRemoteConfigVersionResponse.proto new file mode 100644 index 0000000..f77369e --- /dev/null +++ b/POGOProtos/Networking/Responses/DownloadRemoteConfigVersionResponse.proto @@ -0,0 +1,13 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +message DownloadRemoteConfigVersionResponse { + .POGOProtos.Networking.Responses.DownloadRemoteConfigVersionResponse.Result result = 1; + uint64 item_templates_timestamp_ms = 2; // Latest available? + uint64 asset_digest_timestamp_ms = 3; + + enum Result { + UNSET = 0; + SUCCESS = 1; + } +} \ No newline at end of file diff --git a/POGOProtos/Networking/Responses/DownloadSettingsResponse.proto b/POGOProtos/Networking/Responses/DownloadSettingsResponse.proto new file mode 100644 index 0000000..abe09d0 --- /dev/null +++ b/POGOProtos/Networking/Responses/DownloadSettingsResponse.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Settings/GlobalSettings.proto"; + +message DownloadSettingsResponse { + string error = 1; + string hash = 2; + .POGOProtos.Settings.GlobalSettings settings = 3; +} diff --git a/POGOProtos/Networking/Responses/EchoResponse.proto b/POGOProtos/Networking/Responses/EchoResponse.proto new file mode 100644 index 0000000..504bc64 --- /dev/null +++ b/POGOProtos/Networking/Responses/EchoResponse.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +message EchoResponse { + string context = 1; +} diff --git a/POGOProtos/Networking/Responses/EncounterResponse.proto b/POGOProtos/Networking/Responses/EncounterResponse.proto new file mode 100644 index 0000000..258df1d --- /dev/null +++ b/POGOProtos/Networking/Responses/EncounterResponse.proto @@ -0,0 +1,28 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/Capture/CaptureProbability.proto"; +import "POGOProtos/Map/Pokemon/WildPokemon.proto"; + +message EncounterResponse { + .POGOProtos.Map.Pokemon.WildPokemon wild_pokemon = 1; + Background background = 2; + Status status = 3; + .POGOProtos.Data.Capture.CaptureProbability capture_probability = 4; + + 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; + } +} diff --git a/POGOProtos/Networking/Responses/EncounterTutorialCompleteResponse.proto b/POGOProtos/Networking/Responses/EncounterTutorialCompleteResponse.proto new file mode 100644 index 0000000..4b44c96 --- /dev/null +++ b/POGOProtos/Networking/Responses/EncounterTutorialCompleteResponse.proto @@ -0,0 +1,17 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/PokemonData.proto"; +import "POGOProtos/Data/Capture/CaptureAward.proto"; + +message EncounterTutorialCompleteResponse { + .POGOProtos.Networking.Responses.EncounterTutorialCompleteResponse.Result result = 1; + .POGOProtos.Data.PokemonData pokemon_data = 2; + .POGOProtos.Data.Capture.CaptureAward capture_award = 3; + + enum Result { + UNSET = 0; + SUCCESS = 1; + ERROR_INVALID_POKEMON = 2; + } +} \ No newline at end of file diff --git a/POGOProtos/Networking/Responses/EquipBadgeResponse.proto b/POGOProtos/Networking/Responses/EquipBadgeResponse.proto new file mode 100644 index 0000000..3a83d98 --- /dev/null +++ b/POGOProtos/Networking/Responses/EquipBadgeResponse.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/Player/EquippedBadge.proto"; + +message EquipBadgeResponse { + .POGOProtos.Networking.Responses.EquipBadgeResponse.Result result = 1; + .POGOProtos.Data.Player.EquippedBadge equipped = 2; + + enum Result { + UNSET = 0; + SUCCESS = 1; + COOLDOWN_ACTIVE = 2; + NOT_QUALIFIED = 3; + } +} diff --git a/POGOProtos/Networking/Responses/EvolvePokemonResponse.proto b/POGOProtos/Networking/Responses/EvolvePokemonResponse.proto new file mode 100644 index 0000000..57c5730 --- /dev/null +++ b/POGOProtos/Networking/Responses/EvolvePokemonResponse.proto @@ -0,0 +1,20 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/PokemonData.proto"; + +message EvolvePokemonResponse { + .POGOProtos.Networking.Responses.EvolvePokemonResponse.Result result = 1; + .POGOProtos.Data.PokemonData evolved_pokemon_data = 2; + int32 experience_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; + } +} diff --git a/POGOProtos/Networking/Responses/FortDeployPokemonResponse.proto b/POGOProtos/Networking/Responses/FortDeployPokemonResponse.proto new file mode 100644 index 0000000..b3da619 --- /dev/null +++ b/POGOProtos/Networking/Responses/FortDeployPokemonResponse.proto @@ -0,0 +1,25 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/PokemonData.proto"; +import "POGOProtos/Data/Gym/GymState.proto"; +import "POGOProtos/Networking/Responses/FortDetailsResponse.proto"; + +message FortDeployPokemonResponse { + .POGOProtos.Networking.Responses.FortDeployPokemonResponse.Result result = 1; + .POGOProtos.Networking.Responses.FortDetailsResponse fort_details = 2; + .POGOProtos.Data.PokemonData pokemon_data = 3; + .POGOProtos.Data.Gym.GymState gym_state = 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; + } +} \ No newline at end of file diff --git a/POGOProtos/Networking/Responses/FortDetailsResponse.proto b/POGOProtos/Networking/Responses/FortDetailsResponse.proto new file mode 100644 index 0000000..01bb62b --- /dev/null +++ b/POGOProtos/Networking/Responses/FortDetailsResponse.proto @@ -0,0 +1,23 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/PokemonData.proto"; +import "POGOProtos/Enums/TeamColor.proto"; +import "POGOProtos/Map/Fort/FortType.proto"; +import "POGOProtos/Map/Fort/FortModifier.proto"; + +message FortDetailsResponse { + string fort_id = 1; + .POGOProtos.Enums.TeamColor team_color = 2; + .POGOProtos.Data.PokemonData pokemon_data = 3; + string name = 4; + repeated string image_urls = 5; + int32 fp = 6; + int32 stamina = 7; + int32 max_stamina = 8; + .POGOProtos.Map.Fort.FortType type = 9; + double latitude = 10; + double longitude = 11; + string description = 12; + repeated .POGOProtos.Map.Fort.FortModifier modifiers = 13; +} diff --git a/POGOProtos/Networking/Responses/FortRecallPokemonResponse.proto b/POGOProtos/Networking/Responses/FortRecallPokemonResponse.proto new file mode 100644 index 0000000..e698d4b --- /dev/null +++ b/POGOProtos/Networking/Responses/FortRecallPokemonResponse.proto @@ -0,0 +1,17 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Networking/Responses/FortDetailsResponse.proto"; + +message FortRecallPokemonResponse { + .POGOProtos.Networking.Responses.FortRecallPokemonResponse.Result result = 1; + .POGOProtos.Networking.Responses.FortDetailsResponse fort_details = 2; + + enum Result { + NO_RESULT_SET = 0; + SUCCESS = 1; + ERROR_NOT_IN_RANGE = 2; + ERROR_POKEMON_NOT_ON_FORT = 3; + ERROR_NO_PLAYER = 4; + } +} \ No newline at end of file diff --git a/POGOProtos/Networking/Responses/FortSearchResponse.proto b/POGOProtos/Networking/Responses/FortSearchResponse.proto new file mode 100644 index 0000000..abf0f6f --- /dev/null +++ b/POGOProtos/Networking/Responses/FortSearchResponse.proto @@ -0,0 +1,23 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/PokemonData.proto"; +import "POGOProtos/Inventory/Item/ItemAward.proto"; + +message FortSearchResponse { + .POGOProtos.Networking.Responses.FortSearchResponse.Result result = 1; + repeated .POGOProtos.Inventory.Item.ItemAward items_awarded = 2; + int32 gems_awarded = 3; + .POGOProtos.Data.PokemonData pokemon_data_egg = 4; + int32 experience_awarded = 5; + int64 cooldown_complete_timestamp_ms = 6; + int32 chain_hack_sequence_number = 7; + + enum Result { + NO_RESULT_SET = 0; + SUCCESS = 1; + OUT_OF_RANGE = 2; + IN_COOLDOWN_PERIOD = 3; + INVENTORY_FULL = 4; + } +} diff --git a/POGOProtos/Networking/Responses/GetAssetDigestResponse.proto b/POGOProtos/Networking/Responses/GetAssetDigestResponse.proto new file mode 100644 index 0000000..f8858d5 --- /dev/null +++ b/POGOProtos/Networking/Responses/GetAssetDigestResponse.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/AssetDigestEntry.proto"; + +message GetAssetDigestResponse { + repeated .POGOProtos.Data.AssetDigestEntry digest = 1; + uint64 timestamp_ms = 2; +} diff --git a/POGOProtos/Networking/Responses/GetDownloadUrlsResponse.proto b/POGOProtos/Networking/Responses/GetDownloadUrlsResponse.proto new file mode 100644 index 0000000..c6db098 --- /dev/null +++ b/POGOProtos/Networking/Responses/GetDownloadUrlsResponse.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/DownloadUrlEntry.proto"; + +// UNTESTED +message GetDownloadUrlsResponse { + repeated .POGOProtos.Data.DownloadUrlEntry download_urls = 1; +} diff --git a/POGOProtos/Networking/Responses/GetGymDetailsResponse.proto b/POGOProtos/Networking/Responses/GetGymDetailsResponse.proto new file mode 100644 index 0000000..2a23962 --- /dev/null +++ b/POGOProtos/Networking/Responses/GetGymDetailsResponse.proto @@ -0,0 +1,18 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/Gym/GymState.proto"; + +message GetGymDetailsResponse { + .POGOProtos.Data.Gym.GymState gym_state = 1; + string name = 2; + repeated string urls = 3; + POGOProtos.Networking.Responses.GetGymDetailsResponse.Result result = 4; + string description = 5; + + enum Result { + UNSET = 0; + SUCCESS = 1; + ERROR_NOT_IN_RANGE = 2; + } +} diff --git a/POGOProtos/Networking/Responses/GetHatchedEggsResponse.proto b/POGOProtos/Networking/Responses/GetHatchedEggsResponse.proto new file mode 100644 index 0000000..574c87f --- /dev/null +++ b/POGOProtos/Networking/Responses/GetHatchedEggsResponse.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +message GetHatchedEggsResponse { + bool success = 1; + repeated fixed64 pokemon_id = 2 [packed=true]; + repeated int32 experience_awarded = 3; + repeated int32 candy_awarded = 4; + repeated int32 stardust_awarded = 5; +} diff --git a/POGOProtos/Networking/Responses/GetIncensePokemonResponse.proto b/POGOProtos/Networking/Responses/GetIncensePokemonResponse.proto new file mode 100644 index 0000000..b731d08 --- /dev/null +++ b/POGOProtos/Networking/Responses/GetIncensePokemonResponse.proto @@ -0,0 +1,20 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Enums/PokemonId.proto"; + +message GetIncensePokemonResponse { + .POGOProtos.Networking.Responses.GetIncensePokemonResponse.Result result = 1; + .POGOProtos.Enums.PokemonId pokemon_id = 2; + double latitude = 3; + double longitude = 4; + string encounter_location = 5; + fixed64 encounter_id = 6; + int64 disappear_timestamp_ms = 7; + + enum Result { + INCENSE_ENCOUNTER_UNKNOWN = 0; + INCENSE_ENCOUNTER_AVAILABLE = 1; + INCENSE_ENCOUNTER_NOT_AVAILABLE = 2; + } +} diff --git a/POGOProtos/Networking/Responses/GetInventoryResponse.proto b/POGOProtos/Networking/Responses/GetInventoryResponse.proto new file mode 100644 index 0000000..f831f09 --- /dev/null +++ b/POGOProtos/Networking/Responses/GetInventoryResponse.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Inventory/InventoryDelta.proto"; + +message GetInventoryResponse { + bool success = 1; + .POGOProtos.Inventory.InventoryDelta inventory_delta = 2; +} diff --git a/POGOProtos/Networking/Responses/GetMapObjectsResponse.proto b/POGOProtos/Networking/Responses/GetMapObjectsResponse.proto new file mode 100644 index 0000000..06f25f3 --- /dev/null +++ b/POGOProtos/Networking/Responses/GetMapObjectsResponse.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Map/MapCell.proto"; +import "POGOProtos/Map/MapObjectsStatus.proto"; + +message GetMapObjectsResponse { + repeated .POGOProtos.Map.MapCell map_cells = 1; + .POGOProtos.Map.MapObjectsStatus status = 2; +} diff --git a/POGOProtos/Networking/Responses/GetPlayerProfileResponse.proto b/POGOProtos/Networking/Responses/GetPlayerProfileResponse.proto new file mode 100644 index 0000000..3ff224a --- /dev/null +++ b/POGOProtos/Networking/Responses/GetPlayerProfileResponse.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/PlayerBadge.proto"; + +message GetPlayerProfileResponse { + .POGOProtos.Networking.Responses.GetPlayerProfileResponse.Result result = 1; + int64 start_time = 2; + repeated .POGOProtos.Data.PlayerBadge badges = 3; + + enum Result { + UNSET = 0; + SUCCESS = 1; + } +} diff --git a/POGOProtos/Networking/Responses/GetPlayerResponse.proto b/POGOProtos/Networking/Responses/GetPlayerResponse.proto new file mode 100644 index 0000000..abb70e9 --- /dev/null +++ b/POGOProtos/Networking/Responses/GetPlayerResponse.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/PlayerData.proto"; + +message GetPlayerResponse { + bool success = 1; + .POGOProtos.Data.PlayerData player_data = 2; +} diff --git a/POGOProtos/Networking/Responses/GetSuggestedCodenamesResponse.proto b/POGOProtos/Networking/Responses/GetSuggestedCodenamesResponse.proto new file mode 100644 index 0000000..32c9029 --- /dev/null +++ b/POGOProtos/Networking/Responses/GetSuggestedCodenamesResponse.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +message GetSuggestedCodenamesResponse { + repeated string codenames = 1; + bool success = 2; +} diff --git a/POGOProtos/Networking/Responses/IncenseEncounterResponse.proto b/POGOProtos/Networking/Responses/IncenseEncounterResponse.proto new file mode 100644 index 0000000..3ae5c34 --- /dev/null +++ b/POGOProtos/Networking/Responses/IncenseEncounterResponse.proto @@ -0,0 +1,18 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/PokemonData.proto"; +import "POGOProtos/Data/Capture/CaptureProbability.proto"; + +message IncenseEncounterResponse { + .POGOProtos.Networking.Responses.IncenseEncounterResponse.Result result = 1; + .POGOProtos.Data.PokemonData pokemon_data = 2; + .POGOProtos.Data.Capture.CaptureProbability capture_probability = 3; + + enum Result { + INCENSE_ENCOUNTER_UNKNOWN = 0; + INCENSE_ENCOUNTER_SUCCESS = 1; + INCENSE_ENCOUNTER_NOT_AVAILABLE = 2; + POKEMON_INVENTORY_FULL = 3; + } +} diff --git a/POGOProtos/Networking/Responses/LevelUpRewardsResponse.proto b/POGOProtos/Networking/Responses/LevelUpRewardsResponse.proto new file mode 100644 index 0000000..70afc71 --- /dev/null +++ b/POGOProtos/Networking/Responses/LevelUpRewardsResponse.proto @@ -0,0 +1,17 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Inventory/Item/ItemId.proto"; +import "POGOProtos/Inventory/Item/ItemAward.proto"; + +message LevelUpRewardsResponse { + .POGOProtos.Networking.Responses.LevelUpRewardsResponse.Result result = 1; + repeated .POGOProtos.Inventory.Item.ItemAward items_awarded = 2; + repeated .POGOProtos.Inventory.Item.ItemId items_unlocked = 4; + + enum Result { + UNSET = 0; + SUCCESS = 1; + AWARDED_ALREADY = 2; + } +} \ No newline at end of file diff --git a/POGOProtos/Networking/Responses/MarkTutorialCompleteResponse.proto b/POGOProtos/Networking/Responses/MarkTutorialCompleteResponse.proto new file mode 100644 index 0000000..f39c5e9 --- /dev/null +++ b/POGOProtos/Networking/Responses/MarkTutorialCompleteResponse.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/PlayerData.proto"; + +message MarkTutorialCompleteResponse { + bool success = 1; + .POGOProtos.Data.PlayerData player_data = 2; +} diff --git a/POGOProtos/Networking/Responses/NicknamePokemonResponse.proto b/POGOProtos/Networking/Responses/NicknamePokemonResponse.proto new file mode 100644 index 0000000..e00cfc2 --- /dev/null +++ b/POGOProtos/Networking/Responses/NicknamePokemonResponse.proto @@ -0,0 +1,14 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +message NicknamePokemonResponse { + .POGOProtos.Networking.Responses.NicknamePokemonResponse.Result result = 1; + + enum Result { + UNSET = 0; + SUCCESS = 1; + ERROR_INVALID_NICKNAME = 2; + ERROR_POKEMON_NOT_FOUND = 3; + ERROR_POKEMON_IS_EGG = 4; + } +} diff --git a/POGOProtos/Networking/Responses/PlayerUpdateResponse.proto b/POGOProtos/Networking/Responses/PlayerUpdateResponse.proto new file mode 100644 index 0000000..0260755 --- /dev/null +++ b/POGOProtos/Networking/Responses/PlayerUpdateResponse.proto @@ -0,0 +1,11 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Map/Fort/FortData.proto"; +import "POGOProtos/Map/Pokemon/WildPokemon.proto"; + +message PlayerUpdateResponse { + repeated .POGOProtos.Map.Pokemon.WildPokemon wild_pokemons = 1; + repeated .POGOProtos.Map.Fort.FortData forts = 2; + int32 forts_nearby = 3; +} \ No newline at end of file diff --git a/POGOProtos/Networking/Responses/README.txt b/POGOProtos/Networking/Responses/README.txt new file mode 100644 index 0000000..dd9dec1 --- /dev/null +++ b/POGOProtos/Networking/Responses/README.txt @@ -0,0 +1 @@ +Response message name should be the "RequestType" in camelcase with "Response" as suffix. \ No newline at end of file diff --git a/POGOProtos/Networking/Responses/RecycleInventoryItemResponse.proto b/POGOProtos/Networking/Responses/RecycleInventoryItemResponse.proto new file mode 100644 index 0000000..7d31939 --- /dev/null +++ b/POGOProtos/Networking/Responses/RecycleInventoryItemResponse.proto @@ -0,0 +1,14 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +message RecycleInventoryItemResponse { + .POGOProtos.Networking.Responses.RecycleInventoryItemResponse.Result result = 1; + int32 new_count = 2; + + enum Result { + UNSET = 0; + SUCCESS = 1; + ERROR_NOT_ENOUGH_COPIES = 2; + ERROR_CANNOT_RECYCLE_INCUBATORS = 3; + } +} diff --git a/POGOProtos/Networking/Responses/ReleasePokemonResponse.proto b/POGOProtos/Networking/Responses/ReleasePokemonResponse.proto new file mode 100644 index 0000000..dc161b0 --- /dev/null +++ b/POGOProtos/Networking/Responses/ReleasePokemonResponse.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +message ReleasePokemonResponse { + .POGOProtos.Networking.Responses.ReleasePokemonResponse.Result result = 1; + int32 candy_awarded = 2; + + enum Result { + UNSET = 0; + SUCCESS = 1; + POKEMON_DEPLOYED = 2; + FAILED = 3; + ERROR_POKEMON_IS_EGG = 4; + } +} diff --git a/POGOProtos/Networking/Responses/SetAvatarResponse.proto b/POGOProtos/Networking/Responses/SetAvatarResponse.proto new file mode 100644 index 0000000..93ab2c9 --- /dev/null +++ b/POGOProtos/Networking/Responses/SetAvatarResponse.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/PlayerData.proto"; + +message SetAvatarResponse { + .POGOProtos.Networking.Responses.SetAvatarResponse.Status status = 1; + .POGOProtos.Data.PlayerData player_data = 2; + + enum Status { + UNSET = 0; + SUCCESS = 1; + AVATAR_ALREADY_SET = 2; + FAILURE = 3; + } +} diff --git a/POGOProtos/Networking/Responses/SetContactSettingsResponse.proto b/POGOProtos/Networking/Responses/SetContactSettingsResponse.proto new file mode 100644 index 0000000..d17f401 --- /dev/null +++ b/POGOProtos/Networking/Responses/SetContactSettingsResponse.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/PlayerData.proto"; + +message SetContactSettingsResponse { + .POGOProtos.Networking.Responses.SetContactSettingsResponse.Status status = 1; + .POGOProtos.Data.PlayerData player_data = 2; + + enum Status { + UNSET = 0; + SUCCESS = 1; + FAILURE = 2; + } +} diff --git a/POGOProtos/Networking/Responses/SetFavoritePokemonResponse.proto b/POGOProtos/Networking/Responses/SetFavoritePokemonResponse.proto new file mode 100644 index 0000000..851e741 --- /dev/null +++ b/POGOProtos/Networking/Responses/SetFavoritePokemonResponse.proto @@ -0,0 +1,13 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +message SetFavoritePokemonResponse { + .POGOProtos.Networking.Responses.SetFavoritePokemonResponse.Result result = 1; + + enum Result { + UNSET = 0; + SUCCESS = 1; + ERROR_POKEMON_NOT_FOUND = 2; + ERROR_POKEMON_IS_EGG = 3; + } +} diff --git a/POGOProtos/Networking/Responses/SetPlayerTeamResponse.proto b/POGOProtos/Networking/Responses/SetPlayerTeamResponse.proto new file mode 100644 index 0000000..47aff06 --- /dev/null +++ b/POGOProtos/Networking/Responses/SetPlayerTeamResponse.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/PlayerData.proto"; + +message SetPlayerTeamResponse { + .POGOProtos.Networking.Responses.SetPlayerTeamResponse.Status status = 1; + .POGOProtos.Data.PlayerData player_data = 2; + + enum Status { + UNSET = 0; + SUCCESS = 1; + TEAM_ALREADY_SET = 2; + FAILURE = 3; + } +} diff --git a/POGOProtos/Networking/Responses/SfidaActionLogResponse.proto b/POGOProtos/Networking/Responses/SfidaActionLogResponse.proto new file mode 100644 index 0000000..40a91fb --- /dev/null +++ b/POGOProtos/Networking/Responses/SfidaActionLogResponse.proto @@ -0,0 +1,14 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/Logs/ActionLogEntry.proto"; + +message SfidaActionLogResponse { + .POGOProtos.Networking.Responses.SfidaActionLogResponse.Result result = 1; + repeated .POGOProtos.Data.Logs.ActionLogEntry log_entries = 2; + + enum Result { + UNSET = 0; + SUCCESS = 1; + } +} diff --git a/POGOProtos/Networking/Responses/StartGymBattleResponse.proto b/POGOProtos/Networking/Responses/StartGymBattleResponse.proto new file mode 100644 index 0000000..9d63f4a --- /dev/null +++ b/POGOProtos/Networking/Responses/StartGymBattleResponse.proto @@ -0,0 +1,31 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/Battle/BattleLog.proto"; +import "POGOProtos/Data/Battle/BattleParticipant.proto"; + +message StartGymBattleResponse { + .POGOProtos.Networking.Responses.StartGymBattleResponse.Result result = 1; + int64 battle_start_timestamp_ms = 2; + int64 battle_end_timestamp_ms = 3; + string battle_id = 4; + .POGOProtos.Data.Battle.BattleParticipant defender = 5; + .POGOProtos.Data.Battle.BattleLog battle_log = 6; + + 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; + } +} diff --git a/POGOProtos/Networking/Responses/UpgradePokemonResponse.proto b/POGOProtos/Networking/Responses/UpgradePokemonResponse.proto new file mode 100644 index 0000000..16ed570 --- /dev/null +++ b/POGOProtos/Networking/Responses/UpgradePokemonResponse.proto @@ -0,0 +1,18 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Data/PokemonData.proto"; + +message UpgradePokemonResponse { + .POGOProtos.Networking.Responses.UpgradePokemonResponse.Result result = 1; + .POGOProtos.Data.PokemonData 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; + } +} diff --git a/POGOProtos/Networking/Responses/UseIncenseResponse.proto b/POGOProtos/Networking/Responses/UseIncenseResponse.proto new file mode 100644 index 0000000..424f53d --- /dev/null +++ b/POGOProtos/Networking/Responses/UseIncenseResponse.proto @@ -0,0 +1,17 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Inventory/AppliedItem.proto"; + +message UseIncenseResponse { + .POGOProtos.Networking.Responses.UseIncenseResponse.Result result = 1; + .POGOProtos.Inventory.AppliedItem applied_incense = 2; + + enum Result { + UNKNOWN = 0; + SUCCESS = 1; + INCENSE_ALREADY_ACTIVE = 2; + NONE_IN_INVENTORY = 3; + LOCATION_UNSET = 4; + } +} diff --git a/POGOProtos/Networking/Responses/UseItemCaptureResponse.proto b/POGOProtos/Networking/Responses/UseItemCaptureResponse.proto new file mode 100644 index 0000000..86d9c85 --- /dev/null +++ b/POGOProtos/Networking/Responses/UseItemCaptureResponse.proto @@ -0,0 +1,12 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +message UseItemCaptureResponse { + 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; +} diff --git a/POGOProtos/Networking/Responses/UseItemEggIncubatorResponse.proto b/POGOProtos/Networking/Responses/UseItemEggIncubatorResponse.proto new file mode 100644 index 0000000..f3a1715 --- /dev/null +++ b/POGOProtos/Networking/Responses/UseItemEggIncubatorResponse.proto @@ -0,0 +1,20 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Inventory/EggIncubator.proto"; + +message UseItemEggIncubatorResponse { + .POGOProtos.Networking.Responses.UseItemEggIncubatorResponse.Result result = 1; + .POGOProtos.Inventory.EggIncubator 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; + } +} diff --git a/POGOProtos/Networking/Responses/UseItemGymResponse.proto b/POGOProtos/Networking/Responses/UseItemGymResponse.proto new file mode 100644 index 0000000..da48dd9 --- /dev/null +++ b/POGOProtos/Networking/Responses/UseItemGymResponse.proto @@ -0,0 +1,14 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +message UseItemGymResponse { + POGOProtos.Networking.Responses.UseItemGymResponse.Result result = 1; + int64 updated_gp = 2; // Gym Points (?) + + enum Result { + UNSET = 0; + SUCCESS = 1; + ERROR_CANNOT_USE = 2; + ERROR_NOT_IN_RANGE = 3; + } +} diff --git a/POGOProtos/Networking/Responses/UseItemPotionResponse.proto b/POGOProtos/Networking/Responses/UseItemPotionResponse.proto new file mode 100644 index 0000000..cffd1e5 --- /dev/null +++ b/POGOProtos/Networking/Responses/UseItemPotionResponse.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +message UseItemPotionResponse { + .POGOProtos.Networking.Responses.UseItemPotionResponse.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; + } +} \ No newline at end of file diff --git a/POGOProtos/Networking/Responses/UseItemReviveResponse.proto b/POGOProtos/Networking/Responses/UseItemReviveResponse.proto new file mode 100644 index 0000000..828cd7e --- /dev/null +++ b/POGOProtos/Networking/Responses/UseItemReviveResponse.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +message UseItemReviveResponse { + .POGOProtos.Networking.Responses.UseItemReviveResponse.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; + } +} \ No newline at end of file diff --git a/POGOProtos/Networking/Responses/UseItemXpBoostResponse.proto b/POGOProtos/Networking/Responses/UseItemXpBoostResponse.proto new file mode 100644 index 0000000..ad3f68c --- /dev/null +++ b/POGOProtos/Networking/Responses/UseItemXpBoostResponse.proto @@ -0,0 +1,18 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; + +import "POGOProtos/Inventory/AppliedItems.proto"; + +message UseItemXpBoostResponse { + .POGOProtos.Networking.Responses.UseItemXpBoostResponse.Result result = 1; + .POGOProtos.Inventory.AppliedItems 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; + } +} diff --git a/POGOProtos/Networking/Responses/base.proto.txt b/POGOProtos/Networking/Responses/base.proto.txt new file mode 100644 index 0000000..a186ac4 --- /dev/null +++ b/POGOProtos/Networking/Responses/base.proto.txt @@ -0,0 +1,2 @@ +syntax = "proto3"; +package POGOProtos.Networking.Responses; diff --git a/POGOProtos/POGOProtos.proto b/POGOProtos/POGOProtos.proto new file mode 100644 index 0000000..02832a2 --- /dev/null +++ b/POGOProtos/POGOProtos.proto @@ -0,0 +1,121 @@ +syntax = "proto3"; +package POGOProtos; + + +//Envelopes +import public "POGOProtos/Networking/Envelopes/AuthTicket.proto"; +import public "POGOProtos/Networking/Envelopes/RequestEnvelope.proto"; +import public "POGOProtos/Networking/Envelopes/ResponseEnvelope.proto"; +import public "POGOProtos/Networking/Envelopes/Unknown6.proto"; +import public "POGOProtos/Networking/Envelopes/Unknown6Response.proto"; + +//Requests +import public "POGOProtos/Networking/Requests/Request.proto"; +import public "POGOProtos/Networking/Requests/RequestType.proto"; + +//Messages +import public "POGOProtos/Networking/Requests/Messages/AddFortModifierMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/AttackGymMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/CatchPokemonMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/CheckAwardedBadgesMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/CheckCodenameAvailableMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/ClaimCodenameMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/CollectDailyBonusMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/CollectDailyDefenderBonusMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/DiskEncounterMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/DownloadItemTemplatesMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/DownloadRemoteConfigVersionMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/DownloadSettingsMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/EchoMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/EncounterMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/EncounterTutorialCompleteMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/EquipBadgeMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/EvolvePokemonMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/FortDeployPokemonMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/FortDetailsMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/FortRecallPokemonMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/FortSearchMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/GetAssetDigestMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/GetDownloadUrlsMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/GetGymDetailsMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/GetHatchedEggsMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/GetIncensePokemonMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/GetInventoryMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/GetMapObjectsMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/GetPlayerMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/GetPlayerProfileMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/GetSuggestedCodenamesMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/IncenseEncounterMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/LevelUpRewardsMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/MarkTutorialCompleteMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/NicknamePokemonMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/PlayerUpdateMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/RecycleInventoryItemMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/ReleasePokemonMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/SetAvatarMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/SetContactSettingsMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/SetFavoritePokemonMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/SetPlayerTeamMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/StartGymBattleMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/UpgradePokemonMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/UseIncenseMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/UseItemCaptureMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/UseItemEggIncubatorMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/UseItemGymMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/UseItemPotionMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/UseItemReviveMessage.proto"; +import public "POGOProtos/Networking/Requests/Messages/UseItemXpBoostMessage.proto"; + + +//Responses +import public "POGOProtos/Networking/Responses/AddFortModifierResponse.proto"; +import public "POGOProtos/Networking/Responses/AttackGymResponse.proto"; +import public "POGOProtos/Networking/Responses/CatchPokemonResponse.proto"; +import public "POGOProtos/Networking/Responses/CheckAwardedBadgesResponse.proto"; +import public "POGOProtos/Networking/Responses/CheckCodenameAvailableResponse.proto"; +import public "POGOProtos/Networking/Responses/ClaimCodenameResponse.proto"; +import public "POGOProtos/Networking/Responses/CollectDailyBonusResponse.proto"; +import public "POGOProtos/Networking/Responses/CollectDailyDefenderBonusResponse.proto"; +import public "POGOProtos/Networking/Responses/DiskEncounterResponse.proto"; +import public "POGOProtos/Networking/Responses/DownloadItemTemplatesResponse.proto"; +import public "POGOProtos/Networking/Responses/DownloadRemoteConfigVersionResponse.proto"; +import public "POGOProtos/Networking/Responses/DownloadSettingsResponse.proto"; +import public "POGOProtos/Networking/Responses/EchoResponse.proto"; +import public "POGOProtos/Networking/Responses/EncounterResponse.proto"; +import public "POGOProtos/Networking/Responses/EncounterTutorialCompleteResponse.proto"; +import public "POGOProtos/Networking/Responses/EquipBadgeResponse.proto"; +import public "POGOProtos/Networking/Responses/EvolvePokemonResponse.proto"; +import public "POGOProtos/Networking/Responses/FortDeployPokemonResponse.proto"; +import public "POGOProtos/Networking/Responses/FortDetailsResponse.proto"; +import public "POGOProtos/Networking/Responses/FortRecallPokemonResponse.proto"; +import public "POGOProtos/Networking/Responses/FortSearchResponse.proto"; +import public "POGOProtos/Networking/Responses/GetAssetDigestResponse.proto"; +import public "POGOProtos/Networking/Responses/GetDownloadUrlsResponse.proto"; +import public "POGOProtos/Networking/Responses/GetGymDetailsResponse.proto"; +import public "POGOProtos/Networking/Responses/GetHatchedEggsResponse.proto"; +import public "POGOProtos/Networking/Responses/GetIncensePokemonResponse.proto"; +import public "POGOProtos/Networking/Responses/GetInventoryResponse.proto"; +import public "POGOProtos/Networking/Responses/GetMapObjectsResponse.proto"; +import public "POGOProtos/Networking/Responses/GetPlayerProfileResponse.proto"; +import public "POGOProtos/Networking/Responses/GetPlayerResponse.proto"; +import public "POGOProtos/Networking/Responses/GetSuggestedCodenamesResponse.proto"; +import public "POGOProtos/Networking/Responses/IncenseEncounterResponse.proto"; +import public "POGOProtos/Networking/Responses/LevelUpRewardsResponse.proto"; +import public "POGOProtos/Networking/Responses/MarkTutorialCompleteResponse.proto"; +import public "POGOProtos/Networking/Responses/NicknamePokemonResponse.proto"; +import public "POGOProtos/Networking/Responses/PlayerUpdateResponse.proto"; +import public "POGOProtos/Networking/Responses/RecycleInventoryItemResponse.proto"; +import public "POGOProtos/Networking/Responses/ReleasePokemonResponse.proto"; +import public "POGOProtos/Networking/Responses/SetAvatarResponse.proto"; +import public "POGOProtos/Networking/Responses/SetContactSettingsResponse.proto"; +import public "POGOProtos/Networking/Responses/SetFavoritePokemonResponse.proto"; +import public "POGOProtos/Networking/Responses/SetPlayerTeamResponse.proto"; +import public "POGOProtos/Networking/Responses/StartGymBattleResponse.proto"; +import public "POGOProtos/Networking/Responses/UpgradePokemonResponse.proto"; +import public "POGOProtos/Networking/Responses/UseIncenseResponse.proto"; +import public "POGOProtos/Networking/Responses/UseItemCaptureResponse.proto"; +import public "POGOProtos/Networking/Responses/UseItemEggIncubatorResponse.proto"; +import public "POGOProtos/Networking/Responses/UseItemGymResponse.proto"; +import public "POGOProtos/Networking/Responses/UseItemPotionResponse.proto"; +import public "POGOProtos/Networking/Responses/UseItemReviveResponse.proto"; +import public "POGOProtos/Networking/Responses/UseItemXpBoostResponse.proto"; diff --git a/POGOProtos/Settings/DownloadSettingsAction.proto b/POGOProtos/Settings/DownloadSettingsAction.proto new file mode 100644 index 0000000..f6a0f1e --- /dev/null +++ b/POGOProtos/Settings/DownloadSettingsAction.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Settings; + +message DownloadSettingsAction { + string hash = 1; +} diff --git a/POGOProtos/Settings/FortSettings.proto b/POGOProtos/Settings/FortSettings.proto new file mode 100644 index 0000000..c8a6592 --- /dev/null +++ b/POGOProtos/Settings/FortSettings.proto @@ -0,0 +1,11 @@ +syntax = "proto3"; +package POGOProtos.Settings; + +message FortSettings { + 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; +} diff --git a/POGOProtos/Settings/GlobalSettings.proto b/POGOProtos/Settings/GlobalSettings.proto new file mode 100644 index 0000000..215379a --- /dev/null +++ b/POGOProtos/Settings/GlobalSettings.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; +package POGOProtos.Settings; + +import "POGOProtos/Settings/FortSettings.proto"; +import "POGOProtos/Settings/MapSettings.proto"; +import "POGOProtos/Settings/LevelSettings.proto"; +import "POGOProtos/Settings/InventorySettings.proto"; + +message GlobalSettings { + .POGOProtos.Settings.FortSettings fort_settings = 2; + .POGOProtos.Settings.MapSettings map_settings = 3; + .POGOProtos.Settings.LevelSettings level_settings = 4; + .POGOProtos.Settings.InventorySettings inventory_settings = 5; + string minimum_client_version = 6; +} diff --git a/POGOProtos/Settings/InventorySettings.proto b/POGOProtos/Settings/InventorySettings.proto new file mode 100644 index 0000000..a7e9de7 --- /dev/null +++ b/POGOProtos/Settings/InventorySettings.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Settings; + +message InventorySettings { + int32 max_pokemon = 1; + int32 max_bag_items = 2; + int32 base_pokemon = 3; + int32 base_bag_items = 4; + int32 base_eggs = 5; +} diff --git a/POGOProtos/Settings/LevelSettings.proto b/POGOProtos/Settings/LevelSettings.proto new file mode 100644 index 0000000..b22bdb6 --- /dev/null +++ b/POGOProtos/Settings/LevelSettings.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Settings; + +message LevelSettings { + double trainer_cp_modifier = 2; + double trainer_difficulty_modifier = 3; +} diff --git a/POGOProtos/Settings/MapSettings.proto b/POGOProtos/Settings/MapSettings.proto new file mode 100644 index 0000000..e496490 --- /dev/null +++ b/POGOProtos/Settings/MapSettings.proto @@ -0,0 +1,12 @@ +syntax = "proto3"; +package POGOProtos.Settings; + +message MapSettings { + 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; +} diff --git a/POGOProtos/Settings/Master/BadgeSettings.proto b/POGOProtos/Settings/Master/BadgeSettings.proto new file mode 100644 index 0000000..a8de75c --- /dev/null +++ b/POGOProtos/Settings/Master/BadgeSettings.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master; + +import "POGOProtos/Enums/BadgeType.proto"; + +message BadgeSettings { + .POGOProtos.Enums.BadgeType badge_type = 1; + int32 badge_rank = 2; + repeated int32 targets = 3; +} diff --git a/POGOProtos/Settings/Master/CameraSettings.proto b/POGOProtos/Settings/Master/CameraSettings.proto new file mode 100644 index 0000000..d798c0d --- /dev/null +++ b/POGOProtos/Settings/Master/CameraSettings.proto @@ -0,0 +1,24 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master; + +import "POGOProtos/Enums/CameraTarget.proto"; +import "POGOProtos/Enums/CameraInterpolation.proto"; + +message CameraSettings { + string next_camera = 1; + repeated .POGOProtos.Enums.CameraInterpolation interpolation = 2; + repeated .POGOProtos.Enums.CameraTarget target_type = 3; + repeated float ease_in_speed = 4; + repeated float east_out_speed = 5; + repeated float duration_seconds = 6; + repeated float wait_seconds = 7; + repeated float transition_seconds = 8; + repeated float angle_degree = 9; + repeated float angle_offset_degree = 10; + repeated float pitch_degree = 11; + repeated float pitch_offset_degree = 12; + repeated float roll_degree = 13; + repeated float distance_meters = 14; + repeated float height_percent = 15; + repeated float vert_ctr_ratio = 16; +} diff --git a/POGOProtos/Settings/Master/EncounterSettings.proto b/POGOProtos/Settings/Master/EncounterSettings.proto new file mode 100644 index 0000000..0c1eaa6 --- /dev/null +++ b/POGOProtos/Settings/Master/EncounterSettings.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master; + +message EncounterSettings { + float spin_bonus_threshold = 1; + float excellent_throw_threshold = 2; + float great_throw_threshold = 3; + float nice_throw_threshold = 4; + int32 milestone_threshold = 5; +} diff --git a/POGOProtos/Settings/Master/EquippedBadgeSettings.proto b/POGOProtos/Settings/Master/EquippedBadgeSettings.proto new file mode 100644 index 0000000..677087e --- /dev/null +++ b/POGOProtos/Settings/Master/EquippedBadgeSettings.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master; + +message EquippedBadgeSettings { + int64 equip_badge_cooldown_ms = 1; + repeated float catch_probability_bonus = 2; + repeated float flee_probability_bonus = 3; +} diff --git a/POGOProtos/Settings/Master/GymBattleSettings.proto b/POGOProtos/Settings/Master/GymBattleSettings.proto new file mode 100644 index 0000000..695e676 --- /dev/null +++ b/POGOProtos/Settings/Master/GymBattleSettings.proto @@ -0,0 +1,19 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master; + +message GymBattleSettings { + 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; +} diff --git a/POGOProtos/Settings/Master/GymLevelSettings.proto b/POGOProtos/Settings/Master/GymLevelSettings.proto new file mode 100644 index 0000000..40dedf8 --- /dev/null +++ b/POGOProtos/Settings/Master/GymLevelSettings.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master; + +message GymLevelSettings { + repeated int32 required_experience = 1; + repeated int32 leader_slots = 2; + repeated int32 trainer_slots = 3; + repeated int32 search_roll_bonus = 4; +} diff --git a/POGOProtos/Settings/Master/IapItemDisplay.proto b/POGOProtos/Settings/Master/IapItemDisplay.proto new file mode 100644 index 0000000..5cbcc5f --- /dev/null +++ b/POGOProtos/Settings/Master/IapItemDisplay.proto @@ -0,0 +1,13 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master; + +import "POGOProtos/Enums/IapItemCategory.proto"; +import "POGOProtos/Inventory/Item/ItemId.proto"; + +message IapItemDisplay { + string sku = 1; + .POGOProtos.Enums.HoloIapItemCategory category = 2; + int32 sort_order = 3; + repeated .POGOProtos.Inventory.Item.ItemId item_ids = 4; + repeated int32 counts = 5; +} diff --git a/POGOProtos/Settings/Master/IapSettings.proto b/POGOProtos/Settings/Master/IapSettings.proto new file mode 100644 index 0000000..3b1dd92 --- /dev/null +++ b/POGOProtos/Settings/Master/IapSettings.proto @@ -0,0 +1,12 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master; + +message IapSettings { + 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; +} diff --git a/POGOProtos/Settings/Master/Item/BattleAttributes.proto b/POGOProtos/Settings/Master/Item/BattleAttributes.proto new file mode 100644 index 0000000..91a9687 --- /dev/null +++ b/POGOProtos/Settings/Master/Item/BattleAttributes.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master.Item; + +message BattleAttributes { + float sta_percent = 1; +} diff --git a/POGOProtos/Settings/Master/Item/EggIncubatorAttributes.proto b/POGOProtos/Settings/Master/Item/EggIncubatorAttributes.proto new file mode 100644 index 0000000..5b1e333 --- /dev/null +++ b/POGOProtos/Settings/Master/Item/EggIncubatorAttributes.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master.Item; + +import "POGOProtos/Inventory/EggIncubatorType.proto"; + +message EggIncubatorAttributes { + .POGOProtos.Inventory.EggIncubatorType incubator_type = 1; + int32 uses = 2; + float distance_multiplier = 3; +} diff --git a/POGOProtos/Settings/Master/Item/ExperienceBoostAttributes.proto b/POGOProtos/Settings/Master/Item/ExperienceBoostAttributes.proto new file mode 100644 index 0000000..325e964 --- /dev/null +++ b/POGOProtos/Settings/Master/Item/ExperienceBoostAttributes.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master.Item; + +message ExperienceBoostAttributes { + float xp_multiplier = 1; + int32 boost_duration_ms = 2; +} diff --git a/POGOProtos/Settings/Master/Item/FoodAttributes.proto b/POGOProtos/Settings/Master/Item/FoodAttributes.proto new file mode 100644 index 0000000..97d90bf --- /dev/null +++ b/POGOProtos/Settings/Master/Item/FoodAttributes.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master.Item; + +import "POGOProtos/Enums/ItemEffect.proto"; + +message FoodAttributes { + repeated POGOProtos.Enums.ItemEffect item_effect = 1; + repeated float item_effect_percent = 2; + float growth_percent = 3; +} diff --git a/POGOProtos/Settings/Master/Item/FortModifierAttributes.proto b/POGOProtos/Settings/Master/Item/FortModifierAttributes.proto new file mode 100644 index 0000000..74be007 --- /dev/null +++ b/POGOProtos/Settings/Master/Item/FortModifierAttributes.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master.Item; + +message FortModifierAttributes { + int32 modifier_lifetime_seconds = 1; + int32 troy_disk_num_pokemon_spawned = 2; +} diff --git a/POGOProtos/Settings/Master/Item/IncenseAttributes.proto b/POGOProtos/Settings/Master/Item/IncenseAttributes.proto new file mode 100644 index 0000000..71b46d5 --- /dev/null +++ b/POGOProtos/Settings/Master/Item/IncenseAttributes.proto @@ -0,0 +1,14 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master.Item; + +import "POGOProtos/Enums/PokemonType.proto"; + +message IncenseAttributes { + int32 incense_lifetime_seconds = 1; + repeated .POGOProtos.Enums.PokemonType pokemon_type = 2; + float pokemon_incense_type_probability = 3; + int32 standing_time_between_encounters_seconds = 4; + int32 moving_time_between_encounter_seconds = 5; + int32 distance_required_for_shorter_interval_meters = 6; + int32 pokemon_attracted_length_sec = 7; +} diff --git a/POGOProtos/Settings/Master/Item/InventoryUpgradeAttributes.proto b/POGOProtos/Settings/Master/Item/InventoryUpgradeAttributes.proto new file mode 100644 index 0000000..fca137e --- /dev/null +++ b/POGOProtos/Settings/Master/Item/InventoryUpgradeAttributes.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master.Item; + +import "POGOProtos/Inventory/InventoryUpgradeType.proto"; + +message InventoryUpgradeAttributes { + int32 additional_storage = 1; + .POGOProtos.Inventory.InventoryUpgradeType upgrade_type = 2; +} diff --git a/POGOProtos/Settings/Master/Item/PokeballAttributes.proto b/POGOProtos/Settings/Master/Item/PokeballAttributes.proto new file mode 100644 index 0000000..e206f7d --- /dev/null +++ b/POGOProtos/Settings/Master/Item/PokeballAttributes.proto @@ -0,0 +1,11 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master.Item; + +import "POGOProtos/Enums/ItemEffect.proto"; + +message PokeballAttributes { + .POGOProtos.Enums.ItemEffect item_effect = 1; + float capture_multi = 2; + float capture_multi_effect = 3; + float item_effect_mod = 4; +} diff --git a/POGOProtos/Settings/Master/Item/PotionAttributes.proto b/POGOProtos/Settings/Master/Item/PotionAttributes.proto new file mode 100644 index 0000000..cc9c01b --- /dev/null +++ b/POGOProtos/Settings/Master/Item/PotionAttributes.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master.Item; + +message PotionAttributes { + float sta_percent = 1; + int32 sta_amount = 2; +} diff --git a/POGOProtos/Settings/Master/Item/ReviveAttributes.proto b/POGOProtos/Settings/Master/Item/ReviveAttributes.proto new file mode 100644 index 0000000..309c30e --- /dev/null +++ b/POGOProtos/Settings/Master/Item/ReviveAttributes.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master.Item; + +message ReviveAttributes { + float sta_percent = 1; +} diff --git a/POGOProtos/Settings/Master/ItemSettings.proto b/POGOProtos/Settings/Master/ItemSettings.proto new file mode 100644 index 0000000..15f0b8b --- /dev/null +++ b/POGOProtos/Settings/Master/ItemSettings.proto @@ -0,0 +1,38 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master; + +import "POGOProtos/Enums/ItemCategory.proto"; +import "POGOProtos/Inventory/Item/ItemId.proto"; +import "POGOProtos/Inventory/Item/ItemType.proto"; + +import "POGOProtos/Settings/Master/Item/FoodAttributes.proto"; +import "POGOProtos/Settings/Master/Item/PotionAttributes.proto"; +import "POGOProtos/Settings/Master/Item/ReviveAttributes.proto"; +import "POGOProtos/Settings/Master/Item/BattleAttributes.proto"; +import "POGOProtos/Settings/Master/Item/IncenseAttributes.proto"; +import "POGOProtos/Settings/Master/Item/PokeballAttributes.proto"; +import "POGOProtos/Settings/Master/Item/FortModifierAttributes.proto"; +import "POGOProtos/Settings/Master/Item/EggIncubatorAttributes.proto"; +import "POGOProtos/Settings/Master/Item/ExperienceBoostAttributes.proto"; +import "POGOProtos/Settings/Master/Item/InventoryUpgradeAttributes.proto"; + +message ItemSettings { + .POGOProtos.Inventory.Item.ItemId item_id = 1; + .POGOProtos.Inventory.Item.ItemType item_type = 2; + .POGOProtos.Enums.ItemCategory category = 3; + float drop_freq = 4; + int32 drop_trainer_level = 5; + + // One of the below attributes will be set in the response, the others will be null. + + .POGOProtos.Settings.Master.Item.PokeballAttributes pokeball = 6; + .POGOProtos.Settings.Master.Item.PotionAttributes potion = 7; + .POGOProtos.Settings.Master.Item.ReviveAttributes revive = 8; + .POGOProtos.Settings.Master.Item.BattleAttributes battle = 9; + .POGOProtos.Settings.Master.Item.FoodAttributes food = 10; + .POGOProtos.Settings.Master.Item.InventoryUpgradeAttributes inventory_upgrade = 11; + .POGOProtos.Settings.Master.Item.ExperienceBoostAttributes xp_boost = 12; + .POGOProtos.Settings.Master.Item.IncenseAttributes incense = 13; + .POGOProtos.Settings.Master.Item.EggIncubatorAttributes egg_incubator = 14; + .POGOProtos.Settings.Master.Item.FortModifierAttributes fort_modifier = 15; +} diff --git a/POGOProtos/Settings/Master/MoveSequenceSettings.proto b/POGOProtos/Settings/Master/MoveSequenceSettings.proto new file mode 100644 index 0000000..24ad7bf --- /dev/null +++ b/POGOProtos/Settings/Master/MoveSequenceSettings.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master; + +message MoveSequenceSettings { + repeated string sequence = 1; +} diff --git a/POGOProtos/Settings/Master/MoveSettings.proto b/POGOProtos/Settings/Master/MoveSettings.proto new file mode 100644 index 0000000..1cca3ae --- /dev/null +++ b/POGOProtos/Settings/Master/MoveSettings.proto @@ -0,0 +1,23 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master; + +import "POGOProtos/Enums/PokemonType.proto"; +import "POGOProtos/Enums/PokemonMove.proto"; + +message MoveSettings { + .POGOProtos.Enums.PokemonMove movement_id = 1; + int32 animation_id = 2; + .POGOProtos.Enums.PokemonType pokemon_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; +} diff --git a/POGOProtos/Settings/Master/PlayerLevelSettings.proto b/POGOProtos/Settings/Master/PlayerLevelSettings.proto new file mode 100644 index 0000000..adc91cf --- /dev/null +++ b/POGOProtos/Settings/Master/PlayerLevelSettings.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master; + +message PlayerLevelSettings { + repeated int32 rank_num = 1; + repeated int32 required_experience = 2; + repeated float cp_multiplier = 3; + int32 max_egg_player_level = 4; + int32 max_encounter_player_level = 5; +} diff --git a/POGOProtos/Settings/Master/Pokemon/CameraAttributes.proto b/POGOProtos/Settings/Master/Pokemon/CameraAttributes.proto new file mode 100644 index 0000000..deb0216 --- /dev/null +++ b/POGOProtos/Settings/Master/Pokemon/CameraAttributes.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master.Pokemon; + +message CameraAttributes { + float disk_radius_m = 1; + float cylinder_radius_m = 2; + float cylinder_height_m = 3; + float cylinder_ground_m = 4; + float shoulder_mode_scale = 5; +} diff --git a/POGOProtos/Settings/Master/Pokemon/EncounterAttributes.proto b/POGOProtos/Settings/Master/Pokemon/EncounterAttributes.proto new file mode 100644 index 0000000..e8885f1 --- /dev/null +++ b/POGOProtos/Settings/Master/Pokemon/EncounterAttributes.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master.Pokemon; + +import "POGOProtos/Enums/PokemonMovementType.proto"; + +message EncounterAttributes { + 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; + .POGOProtos.Enums.PokemonMovementType movement_type = 6; + float movement_timer_s = 7; + float jump_time_s = 8; + float attack_timer_s = 9; +} diff --git a/POGOProtos/Settings/Master/Pokemon/StatsAttributes.proto b/POGOProtos/Settings/Master/Pokemon/StatsAttributes.proto new file mode 100644 index 0000000..be37a99 --- /dev/null +++ b/POGOProtos/Settings/Master/Pokemon/StatsAttributes.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master.Pokemon; + +message StatsAttributes { + int32 base_stamina = 1; + int32 base_attack = 2; + int32 base_defense = 3; + int32 dodge_energy_delta = 8; +} diff --git a/POGOProtos/Settings/Master/PokemonSettings.proto b/POGOProtos/Settings/Master/PokemonSettings.proto new file mode 100644 index 0000000..d14a46b --- /dev/null +++ b/POGOProtos/Settings/Master/PokemonSettings.proto @@ -0,0 +1,35 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master; + +import "POGOProtos/Enums/PokemonId.proto"; +import "POGOProtos/Enums/PokemonRarity.proto"; +import "POGOProtos/Enums/PokemonType.proto"; +import "POGOProtos/Enums/PokemonMove.proto"; +import "POGOProtos/Enums/PokemonFamilyId.proto"; +import "POGOProtos/Settings/Master/Pokemon/StatsAttributes.proto"; +import "POGOProtos/Settings/Master/Pokemon/CameraAttributes.proto"; +import "POGOProtos/Settings/Master/Pokemon/EncounterAttributes.proto"; + +message PokemonSettings { + .POGOProtos.Enums.PokemonId pokemon_id = 1; + float model_scale = 3; + .POGOProtos.Enums.PokemonType type = 4; + .POGOProtos.Enums.PokemonType type_2 = 5; + .POGOProtos.Settings.Master.Pokemon.CameraAttributes camera = 6; + .POGOProtos.Settings.Master.Pokemon.EncounterAttributes encounter = 7; + .POGOProtos.Settings.Master.Pokemon.StatsAttributes stats = 8; + repeated .POGOProtos.Enums.PokemonMove quick_moves = 9; + repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10; + repeated float animation_time = 11; + repeated .POGOProtos.Enums.PokemonId evolution_ids = 12; + int32 evolution_pips = 13; + .POGOProtos.Enums.PokemonRarity rarity = 14; + float pokedex_height_m = 15; + float pokedex_weight_kg = 16; + .POGOProtos.Enums.PokemonId parent_pokemon_id = 17; + float height_std_dev = 18; + float weight_std_dev = 19; + float km_distance_to_hatch = 20; + .POGOProtos.Enums.PokemonFamilyId family_id = 21; + int32 candy_to_evolve = 22; +} diff --git a/POGOProtos/Settings/Master/PokemonUpgradeSettings.proto b/POGOProtos/Settings/Master/PokemonUpgradeSettings.proto new file mode 100644 index 0000000..9fc36cc --- /dev/null +++ b/POGOProtos/Settings/Master/PokemonUpgradeSettings.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master; + +message PokemonUpgradeSettings { + int32 upgrades_per_level = 1; + int32 allowed_levels_above_player = 2; + repeated int32 candy_cost = 3; + repeated int32 stardust_cost = 4; +} diff --git a/POGOProtos/Settings/Master/TypeEffectiveSettings.proto b/POGOProtos/Settings/Master/TypeEffectiveSettings.proto new file mode 100644 index 0000000..ed0ec1c --- /dev/null +++ b/POGOProtos/Settings/Master/TypeEffectiveSettings.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package POGOProtos.Settings.Master; + +import "POGOProtos/Enums/PokemonType.proto"; + +message TypeEffectiveSettings { + repeated float attack_scalar = 1; + .POGOProtos.Enums.PokemonType attack_type = 2; +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..f6c041f --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# POGOServer +Pokemon GO server emulation \ No newline at end of file diff --git a/asset_digest b/asset_digest new file mode 100644 index 0000000..27fbb7f --- /dev/null +++ b/asset_digest @@ -0,0 +1,334 @@ + +c +5030a3476-668a-47fb-95ed-2bcfc5c15637/1467338129695000pm0094˜Âñ¿”ÑÍ%%èA(õ½2 + ’M퓯’ö2€G"·¤ +c +50425019c-3e6a-4317-960d-2e7324b3e744/1467337885130000pm0002º¢Ë“ÑÍ%ºW;K(…ì 2$s†'S±²ÊgóŸjhàÅ? +c +5075f80e6-760e-4553-96ef-6e117b933969/1467337919227000pm0015øÈÃÛ“ÑÍ%Mú¬(µÆ2´žk—ÃÍUjKÐýhcn +c +50788eb46-368c-480c-bec2-f9709a25caf0/1467338000489000pm0045¨´£‚”ÑÍ%ÅGtë(õ±2lúõ%”°ºªÞ>YÝj1 +c +509493d46-29b4-476d-8b4d-fdb152251ec6/1467338194462000pm0120°ÊâÞ”ÑÍ%cOd(…á2o]¢ðס"ñŒk┄!8£ +c +50bd50fd0-3d5f-4a1c-98af-88b6ec74a1bd/1467337882194000pm0001РïÉ“ÑÍ%'cÍ(õô 2¥ëkÂø®þ‹Œ¥Ýƒ%êØ¨ +c +50d68da6c-ab76-4c31-b3df-4068a8764a12/1467338113910000pm0088ð‰®¸”ÑÍ%ø#[n(¥ö42œŒk0Õ鿆&oHù øƒ +c +50ddf030f-2060-4982-a31c-6b90bcc36918/1467337909222000pm0011ðôàÖ“ÑÍ% +ZÉÍ(Õµ 2–Go á1G?%ó-`krÛ +c +50fc10c28-3391-496b-bf21-4998855cc68d/1467338266042000pm0147½ó€•ÑÍ%E¸9#(õô24‰¦gÜ»oœªãŸíÌr +c +510531b61-bb47-41d2-8a8e-1d1639112419/1467337976073000pm0036¨–Ñö“ÑÍ%І’@(åÂ2ìiÞ-ç!‘Ÿž1+†Š +c +510d55042-2573-4150-881d-24ce2104c821/1467338091293000pm0079ÈÒÉ­”ÑÍ%‘Ølp(åê2–›üûqù€9€e?‡ +c +5113c720a-2bac-4417-b1cf-e095b7ded5f9/1467338069977000pm0071¨Ï´£”ÑÍ%ì„x(Ų)2€t©š?¹`?ídÔðô8ì +c +513cfc96d-78a5-4c2e-b7da-bcb12b96aaf8/1467338174844000pm0112à˜µÕ”ÑÍ%†4«(¥Í2]á› +­y!‡KŠÇëÍ´ +c +5144e2ec2-4ce6-4c0c-8fca-fa7e2ae3322c/1467338268569000pm0148¨Û‚•ÑÍ%¹Zµ(å¯2Z¦*X¦ncaê/ChÒ} +c +51512005a-ca80-443d-b1e3-db95bb786718/1467337987049000pm0040¨Œïû“ÑÍ%: (Õî2·jÈ‹ø÷?½,é돧 +c +517e94739-b461-45b2-bba2-254e8b6ebe0e/1467337899180000pm0007àÿûÑ“ÑÍ%¦jX¬(¥©2ù,ÞÀôˆ¦`]Ïýîê¶ÅY +c +5192d950c-765e-426c-8861-f60d0f7883f3/1467338008565000pm0048ˆª†”ÑÍ%mliÇ(ÅÐ2heü<ç–æ:¢kê³ÇŸpð +c +51a8d8b21-83e5-47e9-8d80-9523f3ad202d/1467337964453000pm0032ˆù‹ñ“ÑÍ%.“’%(Åã2måñ®J3¥¶þLQ!š +c +51cab52c2-fd34-42f5-81fb-160d559ec52c/1467338086041000pm0077¨‹‰«”ÑÍ%@5sÕ(Ž*2¯3þJwÎH>V5!iØ +c +51de61775-066c-467b-9d15-bba848613582/1467338189393000pm0118蘭ܔÑÍ%H¢ÚB(¥Ü2÷ÅÔÙ& ZwÃ"ª,r +c +51e15c63a-9a35-4089-b89e-ac43a7acd75f/1467337951277000pm0027Èßçê“ÑÍ%6|˜O(Åþ2]>^šàì#ãÇ>χè[é +c +51e4961be-4396-42ee-b40d-1a2fb5ec5a80/1467337971773000pm0035ÈÜÊô“ÑÍ%MÑù(Å“2‡WszS(ýç¿,lÊ Ñu +c +51e564e4d-a0ff-44fb-928a-23c0f1f5848a/1467337958911000pm0030˜Ø¹î“ÑÍ%|Å;ˆ(õË27G¦5»gge<8†† +c +522104024-0f79-4adb-9b0e-c710e0a7301f/1467338229269000pm0133ˆ„¯ï”ÑÍ%…tŸ(µÒ!2Q â‰éÉý;à꽋 +c +5253d320c-a865-4dac-b7fc-65b48f51104c/1467338202540000pm0123àÏÏâ”ÑÍ%|)¢Ó(Ŭ28$ð)åÃäg>þè]Ü®" +c +52727cac4-4bfe-4021-b15f-01e4ac5b66a3/1467337916776000pm0014Àü­Ú“ÑÍ%邬j(• +2þáÈ’aEÜ9&s^°- +c +52a17e985-e3be-4e32-bebd-3d9c21a080bc/1467338205053000pm0124È€éã”ÑÍ%…+Z(•š/2Ô9(TÍÑ…´»&æ‰ËQ +c +52b57e336-fd00-4f4b-9ff8-fe0b39c1b2ad/1467338213134000pm0127°Öç”ÑÍ%,*U²(…Ð2²óù¨Wk#e`ìZ; +c +52f001c1d-5f65-416a-a062-bbd53b5dcc36/1467338052077000pm0064È‹ðš”ÑÍ%BÿTR(Õ˜2ür㭏wÖ—zVêél<|ù +c +52fbef411-bc29-44c4-b988-fb2b37227082/1467338172347000pm0111øäœÔ”ÑÍ% v_(•²2„Üùz6ËÃReæ5fD +c +53106cff7-3cbb-488b-87de-851782cf7514/1467338096154000pm0081«ò¯”ÑÍ%b™l(åš +2¶`ÆÕÖþ \( ™TÁ²¦ +c +531e4001a-6636-4e37-8f4f-83ec44efabaf/1467337984615000pm0039ØÄÚú“ÑÍ%!Ä›ª(å¾2÷Eûr„ï|}&øû +c +5324622df-707d-4916-8498-427306552469/1467338098389000pm0082ˆàú°”ÑÍ%ßê;·(µ‰2bE•>å2„xùÀˆ`è¼"• +c +5373af218-ca36-4648-a72b-b0f7ae8bf2e9/1467338135579000pm0096øÒØÂ”ÑÍ%"å(¥ð 2ò³ ´Æçÿ +ºÔß>I +c +53918f249-3ad9-4dee-a073-9d1ecada65d1/1467338240434000pm0137оØô”ÑÍ%Àq(µµ2ø«ò¿­¸·¿” ¥Íbº-â +c +53a5b0f0a-bfac-4009-a263-60f5cbd52a0f/1467337904532000pm0009 ÔÂÔ“ÑÍ%„„K(ÕÀ#2q¨²Ê¯:h@~ˆ©§„ +c +53c50d5e8-a587-42a6-bb9b-37fba81cf199/1467338020497000pm0052èÌè‹”ÑÍ%*0ŒI(µü2%9ßì´µ0ˆ!à~ q% +c +53c75b9ce-d9c0-4646-b175-fe25f1dc9d9d/1467338207442000pm0125Ðèúä”ÑÍ%[ËŸ (…õ"2z{æ~í×f–\--å…Æ +c +53d1a2fbe-0223-488c-a0f0-aca878917bf4/1467337997895000pm0044ØŠ…”ÑÍ%ñ{‰+(Å—2Ñ Ù?pFð>ïÌ[¬8‡Å +c +53d3f7e51-d1a2-4697-9644-5c935e781b8f/1467338011578000pm0049È‡”ÑÍ%ÇýÍM(µ¾2±ÝÏír‘î¦)_øF? +c +5445b414e-c2ac-4e4f-b038-d4370e0f0197/1467337961777000pm0031èÎèï“ÑÍ%#Oÿ(•Ë2Œ+q½˜¦»‚“—ËûiT +c +54d9a5912-a0f7-4bb2-8248-b0021e54d471/1467338165109000pm0108ˆ‚ãДÑÍ%¨&*O(õ“2’<)êJÃ88E+ÔMk›·" +c +54fbc5a41-fa6f-4b6a-aaa1-19028c3d80ff/1467338177160000pm0113ÀÆÂÖ”ÑÍ%Ϗ…(•…25®¹Me[E£â‹Jñ… +œ +c +55052b740-eb53-4d43-b626-7a8446c209a4/1467338044503000pm0061Øç¡—”ÑÍ%äÕü~(…Ó2&Ÿ+á^\„ˆ‡ÂxŒ¶¼ +c +5509a4b03-21bb-4648-8ec9-13acaa6acd2a/1467338248318000pm0140°Ø¹ø”ÑÍ%ûü®ì(ź2PÜ·ß`:˜,§WÓà„KG +c +55150fb96-23b5-4e13-b700-14d34a91c609/1467338002945000pm0046è§¹ƒ”ÑÍ%ŸnÆ5(¥‡2×ùœwO䙏­þÔêý¯ +c +5539ce0fa-01f9-4800-b3f5-52ea25038c6e/1467337943229000pm0024ÈÄüæ“ÑÍ%7ä(Õº2× ‰*±uê´‹Œú{ êÝ +c +553b9b877-3496-499f-9268-f493fe6fb423/1467338215957000pm0128ˆÄ‚é”ÑÍ%ÛôÔ‚(¥³!2í v$‹0n²ÑQØ(4½ç +c +5586bafd6-675a-4799-9ea3-529f205db205/1467338046999000pm0062Ø“º˜”ÑÍ%$¢(¥ö2å^â~{oÀëÖ;îݐ٠+c +55a1ad400-947b-468f-aff5-4ee74b488da1/1467338162694000pm0107ðÎÏÏ”ÑÍ%“_ª(õ¢2Wà °¿}¹ÅRÂéiÔm”N +c +55be4c90f-8b4b-49ce-92a1-6e1ffd591fda/1467338152232000pm0103ÀˆÑÊ”ÑÍ%)ÚD(õò#2€‘xb#ôî@àyô¬l +c +55c0a5e50-9ea2-4a9a-b450-313faa60fc30/1467337906920000pm0010À´ÔÕ“ÑÍ%†‘,þ(¥© +2*ÇSDÆ +À m‹ ˆ +c +55cbcb961-13dc-440c-a474-50212e6ff120/1467338119418000pm0090¡þº”ÑÍ%@é‚(µ¶2¦úP Ÿ +VLøœî­ DTÌ +c +55f96120d-3c3d-49f0-9e37-a32ea310c90f/1467338179500000pm0114à¯Ñ×”ÑÍ%ØLøÉ(•†2+¦úåF·}E1Ð5Tcµ? +c +560f5f204-b8ef-4ebe-9bdd-e22f5e201ac6/1467338080582000pm0075ðò»¨”ÑÍ%¤û¸ (åŽ2I_° V@"]`üÍ—°Ð}³ +c +5656e67b5-45c5-4a97-bf61-ccd460fd0711/1467338026213000pm0054ˆ½ÅŽ”ÑÍ%®¾ ¯(…þ2v)qíì­µ¤ ÔÏÞy +c +565c79d4f-ce78-492f-9f44-39a387e8e06d/1467337935414000pm0021ðÅŸã“ÑÍ%ÃgϏ(•‘2ÀêüÛr`fΚ !ÇyŸi +c +56650afba-2aa8-45b3-874c-e54983595633/1467338088555000pm0078øÃ¢¬”ÑÍ%'V‰Ð(Õ·;2˼úŒ6A ‡;PmDK… +c +5668a3f63-9fd5-41b4-9964-532f467ad1c4/1467338039593000pm0059¨ö””ÑÍ%ñ¨?(õî)2¾áÔ˜‰ÞªR;•6ƒWé +c +567bd4c6f-dcff-4f03-b90b-4a3713284945/1467337932685000pm0020Èýøá“ÑÍ%Êã +û(•é 2!k@e–EyÕVp²)ï +c +568d7da67-b04a-43e8-82bf-6b5b414c5c15/1467338157779000pm0105¸Ð£Í”ÑÍ%ÛTÖ(•»22–tEÀì6/ƒ ¨3úò& +c +56a30858b-c6a8-4e4c-a353-4cfc8f4433d4/1467338167524000pm0109 µöÑ”ÑÍ%ˆ§îÎ(•Œ2Ÿ‘4–Oм §Y“ã®Ø +c +56a7f5aad-3513-4a84-b106-d1e739929e7c/1467338160277000pm0106ˆŒ¼Î”ÑÍ%;혶(•”2Z*øYöeŠŠæ$`+ã +c +56d2993b7-7fb3-43b2-8a33-0605c11b0f22/1467338124329000pm0092¨€ª½”ÑÍ%½TcY(…Ä +2Ü„Ú ï}üb +¸È/Ц +c +56e6b531b-e153-4f70-831a-afed68fdafdb/1467337992497000pm0042èλþ“ÑÍ%û+ö‚(Õã2¢ÜÞpv^ÀÄÉîóÀ +c +56f941a3b-9802-4357-bc8e-b5e5dbec4c15/1467338258380000pm0144àéŸý”ÑÍ%ö`Q»(ÕŽ(2?¶s½.9ú„ËzA5Çl +c +57085574b-c71c-41f4-a698-9099b00bb8e7/1467338263523000pm0146¸ÝÙÿ”ÑÍ%à&W(•/2t +ŒÅr&MH;çÕÕÊÁ +c +571adbf99-2bd1-441f-91b4-ae9a1a8150d6/1467338145315000pm0100¸ñªÇ”ÑÍ%…J >(¥î 2´OçĤú9`÷~Rè +c +575f18b3a-b8ce-43f4-a964-3d6f634a9ffb/1467338067552000pm0070€Î ¢”ÑÍ% þº(¥ÿ +2“OE“΀bçɳbÊé¤ +c +5761bb130-8d7e-49fa-b8f0-9350cfec3b75/1467337966785000pm0033裚ò“ÑÍ%X‡(åä2‘óÏÄ“³BuT{Æ'íBö +c +57b212dc7-0fe9-4ffd-b817-f84f8c736c1e/1467337995444000pm0043 ¾ïÿ“ÑÍ%¸hZ0(Å‘2ÖÌn-÷šÞNª>ëÛ¹0× +c +57e362dac-1743-49e9-a8e2-090b179d7554/1467338186871000pm0117Ø¡“Û”ÑÍ%VŽØ(õî2I° IÃy☌Ç‘²“pÄ +c +57e8de255-1002-4a48-9f5a-84f9fd5510f0/1467338126821000pm0093ˆÂ¾”ÑÍ%‹%“*(¥š2h`÷Âq,)ØB®r‚#Ä +c +57fd908f9-dc2a-44a5-81fd-ebb5b8092b75/1467337927308000pm0018àå°ß“ÑÍ%Zû¼¶(µ¶%2ÎÊO3¬]w}‹ïQ Ýƒç +c +582749335-10dc-4c1f-8fae-c49f4bfb852a/1467338142911000pm0099˜”˜Æ”ÑÍ%´ FÃ(õä2åï†ÍAƒG»ú–x£xó¨ +c +583086d0b-cd24-4d3f-9bb3-f749c7e650db/1467337945855000pm0025˜èœè“ÑÍ%š.)(µ¶2Ýžÿ +$bÈÀäƒ ¶s +c +5849a5f10-3566-4614-984e-b80ed981cd8a/1467338234893000pm0135È¥†ò”ÑÍ%ñ õ•(ÅÎ#2¾ÆÞ,Jq,èƒ`£ù‹Ç˜ +c +5867591c6-7692-42d4-a0a8-4222f23b7862/1467338093814000pm0080ðÁã®”ÑÍ%Ý–xY(Õå2GWðR_½ÛòÁfJ¶òCŠ +c +58677857d-a049-4da0-930c-66368372b8a9/1467337981363000pm0038¸†”ù“ÑÍ%¤Äy(Õà/27®viœ"tÚZY‡>Ï_à +c +586c68f51-75a7-460b-9874-b3b3b21305b0/1467338181900000pm0115àíãØ”ÑÍ%Œ +g7(•Õ"2ä_v‡ÈŸE/~];4v +c +586f48900-288a-4ec4-be07-2f3594bd3e4b/1467338034062000pm0057°Å¤’”ÑÍ%^¼W4(•±2JlörÔ\At³hÊ­ù‰ +c +5872f637f-ff47-42de-a3c1-6d3b59f27462/1467338138100000pm0097 ÂòÔÑÍ%o`àˆ(Õâ2?ÂBÃCßšÒžY,ÕÀ +c +588cac46d-1a49-4856-b032-1aebd7c6b381/1467337896420000pm0006 ÅÓГÑÍ%tn(Õû"2¿ /WñR¯RØa`, +c +58cc5523b-411e-46fd-a9e5-ff23a99a3ab8/1467338100922000pm0083­•²”ÑÍ%Ÿ;Þ“(µò2ø:èá7ÈW\ÇY²úÖnƒ +c +590f8eb5d-c398-4e9e-a53d-82c6367521db/1467338255908000pm0143 ùˆü”ÑÍ%v1ÿ(•î2‚VfC€+EËÏ1{gÆd +c +591bf0b0e-f0b9-44cf-bc2d-aae6521238aa/1467338017489000pm0051è€±Š”ÑÍ%¬‘p(å³2.Óv™AáC#ʲjÌZq +c +59204b839-1500-4081-9636-92da623bc180/1467338036790000pm0058ð…Ë“”ÑÍ%P*ÅV(ÕÉ'2±ˆÈ¬Tãœý8#w&áK +c +595f269e8-dcbf-4b44-b119-3778a3ca01a8/1467338116951000pm0089Ø×ç¹”ÑÍ%·ÂùÑ(Õü;2°a>yÉÅãöåc…Ø= +c +59649e04b-ccd8-4b1c-b066-cc75ed4c0976/1467338147687000pm0101ØÔ»È”ÑÍ%%Ù0¾(õ© +2‡¬ûeÏ”*÷ÇY{ +c +59782fac9-55ef-4e4d-be9a-81817056c1cb/1467337940860000pm0023àøëå“ÑÍ%2okM(õ’2 ù’iBA³2y\çtUd +c +59798a501-8ad0-485f-8cd4-709551b3758d/1467337969283000pm0034¸ß²ó“ÑÍ%¹°Ì¶(µŸ2ý~²¶êtk[WWìÍ—> +c +5982db0ce-e85c-4991-a7ea-c6bfc431d6df/1467338232272000pm0134€©æð”ÑÍ%6›ˆ(ÕÁ2·WRŸ?­ÓÅ Cå]°£} +c +59a7d43d7-f59e-4187-8fe5-d9b51512f73b/1467338149748000pm0102 º¹É”ÑÍ%ᐕL(ÅØ2?žg§÷Vøy8jª°I‘c +c +59f845f0c-f0b5-4c54-bc6a-de6b3724dac6/1467337978708000pm0037 €ò÷“ÑÍ%¸àŒÚ(åì2ÐJ“¹[c&–•˜[œ²× +c +59ffa2321-4d32-49d3-925e-655eb95b1dab/1467338062038000pm0068ð‡ÐŸ”ÑÍ%ܸ¤+(åÆ-2•P%Û61[Ú©¼…B +c +5a2199b3b-8e52-4cdb-b6a6-fb24cc682d03/1467338140520000pm0098Àœ†Å”ÑÍ%ßü(õ¥2>I¾Ú÷æVó›e Õܱ +c +5a3ce2768-59fd-4bd4-8401-91fdae046c41/1467338014401000pm0050èÃôˆ”ÑÍ%!!>6(õå +2šVäuígA…æåŒ?² +c +5a3fafe10-33e1-43f1-8535-711d81918852/1467338108798000pm0086°ˆöµ”ÑÍ%^&—(•î2e2®… g +ØÈq× +c +5a6d5d201-4e4c-4d71-9319-56f62e25882f/1467338054656000pm0065€Àœ”ÑÍ%Â=˜<(µÀ$2ù摜ÏËÄšs™È×æÝ“ +c +5a6eb9e98-0aa3-48bb-998a-6b329801b2ad/1467337911447000pm0012ØÛèדÑÍ%õHn(Åý2¶#9>4±¸CÏ”XLñàñ +c +5a7083104-fe2b-44c9-9155-4decaababcfc/1467338271291000pm0149øì³ƒ•ÑÍ%Žq—(å“2ÂmUèH75¹c½>CÇyf€ +c +5a915ef31-bbfb-4fc9-a035-fdc38bd58a24/1467337930032000pm0019€‡×à“ÑÍ%– Àè(Õ¦20‘HЖ/£íe6kJâÛó +c +5a9d06dc8-0750-4629-bc8f-9a11345b558f/1467337948760000pm0026ÀÎé“ÑÍ% +‹(•®#2Ÿ^ +?jÙë¼þC›Æ‡Ñ +c +5ae51a22a-731b-49d2-950e-449fa67f6927/1467338192115000pm0119¸ªÓÝ”ÑÍ%­yAš(µ¦2ˆ÷3ãïóJŽÌ–ð +c +5b1ff5ff8-1824-4d58-8cc7-29935f3bc4c6/1467337953914000pm0028Ùˆì“ÑÍ%ÃÕ~=(…—2O5Ç’+Šþ%:O“U• +c +5b446137a-d9b4-4d0b-b70f-f0b0b7e289e8/1467337901908000pm0008 À¢Ó“ÑÍ%_‹(ÕÝ2þ?#.5†à_Ó‰:Ïý +c +5b4fedf0e-bfd0-42c9-b264-6730b279bd1c/1467338111327000pm0087˜¶·”ÑÍ%¢ ç (ÅÜ2äRt+ØÉTQ¡Ÿ/·(EÆ +c +5b621414f-3577-4b98-b082-67c308be6bef/1467338028928000pm0055€˜ë”ÑÍ%…d*(¥Ì2Õ ³Ã{²/_Mc©•Ûœ Q +c +5b641049d-2f98-4b2d-9a6d-002d881c1baf/1467338049783000pm0063؉䙔ÑÍ%§=;(…·2ç"!!BÓÈ0€#O!âöª +c +5b8ee4922-043e-428f-badc-29086d57e469/1467338106393000pm0085¨£ã´”ÑÍ%ÌÏÉò(…ˆ'2Á¥sñcúO…YÄTù0 +c +5bd1d3e66-2bee-4d16-92c1-a8a4379b5450/1467338250695000pm0141ØâÊù”ÑÍ%Uns.(õâ2$o'M ¡õ° 5” +c +5be18774d-1d92-42eb-8115-fe9188b396be/1467338169880000pm0110À›†Ó”ÑÍ%éâ(µì2õŸ7F,]hµM¡å +c +5be947b4a-0ed8-46de-a204-b72527691591/1467338005667000pm0047¸¹ß„”ÑÍ%ågz!(õÑ2%$«DF¯ö6ð㈄\à +c +5c181116c-751a-486f-b0b4-b011a8185896/1467338155179000pm0104ø÷„Ì”ÑÍ%øÛÝ€(õú2óò‰ù%óöua‹v‰®h +c +5c202565e-effb-41bd-8c5a-af3cd7c2eaf3/1467338276561000pm0151èÀõ…•ÑÍ%™Àc(õø2>ižn6v>y}žɬ +c +5c2fcd247-eb50-4aff-a1f6-986efc110547/1467338078050000pm0074Э¡§”ÑÍ%‡Äð(õØ2!๐%ÑÔ³¹Æ8EKr] +c +5c3fa7137-ad8e-4bcf-afde-420236d60577/1467337914235000pm0013øð’Ù“ÑÍ%%!ñÐ(Åñ +2±u‚¨½é¾.™˜baMÎÊ… +c +5c6348525-ea4e-4b89-a3ed-6a8c65dc74bf/1467338121786000pm0091å޼”ÑÍ%õá(õØ2 à4 +×;7AH4øj@Ë +c +5c8d5aa13-d467-4564-97d7-ea5d51b1f4bf/1467338184556000pm0116àû…Ú”ÑÍ%¾¼íŠ(Ų2w›ƒ“ž£‡%lI¡Ô +c +5c8e96216-f9cd-4982-94f9-c41f0e0494b2/1467338065163000pm0069øåŽ¡”ÑÍ%|0ZX(Åõ2í-†<Aè+´LÅÁdëû +c +5c918d441-8f37-4155-b824-0ed67f64cb5b/1467338237623000pm0136Øõ¬ó”ÑÍ%Öÿ)N(Å®#21>IQ¥ +ÁŸSfô +c +5ca81f72e-4db5-44c9-a293-087344b9ed2c/1467338226487000pm0132؝…î”ÑÍ%ïI™Ì(•€2¿¤RjÎK:‰ZÓèp ¾ +c +5cabf7f29-494e-4ef6-8f8f-0faa1b504316/1467338253248000pm0142€Ìæú”ÑÍ% 9¡Œ(ż!2SJýâòUCÖħKó@¶ +c +5cc508127-5b49-4ca8-9cf7-8201ba4a0c40/1467337887933000pm0003ÈÄÍÌ“ÑÍ%Ë;F(ÅÜ2ÿ  ägÊñº{QÝZ×ï +c +5ce9f53bb-fb8d-4f6a-bd14-b45e6d8d29b6/1467337921866000pm0016ÒäÜ“ÑÍ%Tå©ç(¥2ýÌp +´Ç'lŒû¥EF=;× +c +5cec1b247-61a2-44ca-a4ca-8ff5563d6c80/1467338031373000pm0056ȵ€‘”ÑÍ%ö舝(…¼2æjD¹"°OSÚ¦eý6>í +c +5cf10bb9b-cde8-40b4-b48f-8cf7250ccb8f/1467338260989000pm0145Ȉ¿þ”ÑÍ%c,(µ… 2u P ™GMv¨9w~ +c +5d31f77fd-da42-4b98-807d-578b3297a155/1467338132818000pm0095А°Á”ÑÍ%¿äaÏ(¥À2ÛQ€ôÍPž—Ãõ#Øé˜ +c +5d449b9b0-2f5b-4148-9de5-a7cc45483d39/1467338057204000pm0066 ‚©”ÑÍ%ÑŽú5(…©2òì +ËÔt²S¼]ŽiŸƒ>Š +c +5d86c65f7-d521-4aa1-9324-d2690d8a61a0/1467337989725000pm0041ȶ’ý“ÑÍ%²Ó…q(å¦2ÊSÈ Ý4˜æßÿ^J +c +5d9e0e2c6-eead-4037-b387-b004446ae72e/1467338218551000pm0129Øí ê”ÑÍ%~‡k:(õÐ2Ñ= Ç.ã=•.¢u„ŸL +c +5dcd89218-66fa-4ea3-a549-7d49df98b5d1/1467338199666000pm0122К á”ÑÍ%çjê‡(µî$2ÈצŒÍë+xœìGQ¦ +c +5df8ecae4-0e86-4a72-863c-7d77b6616082/1467337893350000pm0005ð”˜Ï“ÑÍ%ÊpÝV(ÕÄ 2Q# ñ›¨!Eõ|ºç +c +5e43f5bcd-e16e-47aa-aca3-10f3d1933c6f/1467338042090000pm0060ÄŽ–”ÑÍ%Yèß(Õ™2*7AþOkG +Ô:†è +c +5e5804dfa-9982-4930-8ef3-2a97d09531b3/1467338210041000pm0126¨¹™æ”ÑÍ%d›ø'(¥î/2u9=2ÜâÞª¶x8šÙþb +c +5e6e133f7-fd03-458b-90d7-f870346afd9d/1467338075280000pm0073€¥ø¥”ÑÍ%'RÓ(•Ø2d +{B•÷i ž±Ð¿Þ02æ +c +5eb7ef4bc-25b0-4421-a41e-782c3c22a931/1467338223728000pm0131€ëÜì”ÑÍ%oE2H(µž2¿‚s“B›oï=»æ· +c +5eba66e6c-ae77-4e10-8441-375219929090/1467338072670000pm0072°þؤ”ÑÍ%EØ(Õ§2Ïñ‚MÛ$ò”rYE¤r +c +5ebbd93a9-ee72-4a43-bd45-a69d68e52082/1467338245369000pm0139¨Ù…÷”ÑÍ%ñòíu(µÂ2~v“­èÚ'¯ °'’`J +c +5ecc76b6a-25de-4aa8-a5f0-2c1271986c9c/1467337938081000pm0022è©Âä“ÑÍ%Y‡©ç(Å´*2µÙ/ZELŒÕáÜã4ç +c +5ece95758-618b-40f4-92b8-97015de97e12/1467338083406000pm0076°¡è©”ÑÍ%©vÔJ(…Ç#2Uu]ÈÞY&ÄF’¬ÿ× +c +5ed66ce66-3013-4a4e-99ea-564351cdddd1/1467338023538000pm0053К¢”ÑÍ%êéù(Õ÷2h@¬k¸ùçs†ª‰ó· +c +5ef4b7240-51a4-4e6a-aba2-c50b3db87e8a/1467338220999000pm0130Ø¢¶ë”ÑÍ%–,uÔ(µø2ƒ¯[D˧|õ*j!þiŠq +c +5f03b2196-af8b-48cc-b908-33726f87c2cb/1467338196940000pm0121àéùß”ÑÍ%¢Eñs(Õ¼2 +þx(†¬änylhÐ÷‹‘ +c +5f1e99bfb-f316-473d-a587-88fbeed3c61d/1467337924726000pm0017ð™“Þ“ÑÍ%œ¹N7(åç2Í"£5¿Iï^ʧ’G?õn +c +5f2e3b179-4d37-493e-a5ee-2504d8cd4c7f/1467338059623000pm0067ØÔ¼ž”ÑÍ%5§c(Õû2ŒØUG¼,q¯©76¾™ +c +5f3a3150a-9cf9-4adf-9b9c-1fc1dd88a31a/1467337890581000pm0004ˆ”ïÍ“ÑÍ%lΗ(•ç2§âWß’ýÚ^´ËZ'b +c +5f65cd1c3-d38c-4eaf-a6d0-731c679a51c9/1467338103657000pm0084¨¤¼³”ÑÍ%,KB·(ÅÇ2µ9q%eab›M<ÅÇ|,Û +c +5f9196986-24e0-4ed6-9ab4-da74c18df074/1467337956406000pm0029ðå í“ÑÍ%þ©Þ(õú2ô +žÚ̝ðQXS»FæÏö +c +5faab237d-cf8a-4c73-b5fe-4c04a7acb77e/1467338242729000pm0138¨Èäõ”ÑÍ%§àÈä(ÕÐ2~ߝ²I*j¤Qùt,‘N< +c +5fc7d2574-7176-4c18-ba33-9090a0df84d0/1467338274036000pm0150 ²Û„•ÑÍ%“´›(õø2ó',[,òØÎoïòV®<ÈèÀõ…•ÑÍ \ No newline at end of file diff --git a/cfg.js b/cfg.js index b464f92..768dc5a 100644 --- a/cfg.js +++ b/cfg.js @@ -4,4 +4,6 @@ export const SERVER_TICK_INTERVAL = 1; // better dont change export const SERVER_SAVE_INTERVAL = 120000; // all 120s export const SERVER_MAX_CONNECTIONS = 64; -export const SERVER_DEFAULT_CONSOLE_COLOR = 32; \ No newline at end of file +export const SERVER_DEFAULT_CONSOLE_COLOR = 32; + +export const ASSET_DIGEST_PATH = "../../asset_digest"; \ No newline at end of file diff --git a/dumps/dump.json b/dumps/dump.json new file mode 100644 index 0000000..621178b --- /dev/null +++ b/dumps/dump.json @@ -0,0 +1,17378 @@ +{ + "success": true, + "item_templates": [{ + "template_id": "BATTLE_SETTINGS", + "battle_settings": { + "energy_per_sec": 0, + "dodge_energy_cost": 0, + "retarget_seconds": 0.5, + "enemy_attack_interval": 1.5, + "attack_server_interval": 5, + "round_duration_seconds": 99, + "bonus_time_per_ally_seconds": 10, + "maximum_attackers_per_battle": 20, + "same_type_attack_bonus_multiplier": 1.25, + "maximum_energy": 100, + "energy_delta_per_health_lost": 0.5, + "dodge_duration_ms": 500, + "minimum_player_level": 5, + "swap_duration_ms": 1000 + } + }, { + "template_id": "ENCOUNTER_SETTINGS", + "encounter_settings": { + "spin_bonus_threshold": 0.5, + "excellent_throw_threshold": 1.7000000476837158, + "great_throw_threshold": 1.2999999523162842, + "nice_throw_threshold": 1, + "milestone_threshold": 100 + } + }, { + "template_id": "GYM_LEVEL_SETTINGS", + "gym_level": { + "required_experience": [0, 2000, 4000, 8000, 12000, 16000, 20000, 30000, 40000, 50000], + "leader_slots": [1, 1, 1, 2, 2, 2, 3, 3, 3, 4], + "trainer_slots": [0, 1, 2, 2, 3, 4, 4, 5, 6, 6], + "search_roll_bonus": [] + } + }, { + "template_id": "IAP_SETTINGS", + "iap_settings": { + "daily_bonus_coins": 0, + "daily_defender_bonus_per_pokemon": [500, 10], + "daily_defender_bonus_max_defenders": 10, + "daily_defender_bonus_currency": ["STARDUST", "POKECOIN"], + "min_time_between_claims_ms": { + "low": 75600000, + "high": 0, + "unsigned": false + }, + "daily_bonus_enabled": false, + "daily_defender_bonus_enabled": true + } + }, { + "template_id": "ITEM_BLUK_BERRY", + "item_settings": { + "item_id": 702, + "item_type": 6, + "category": 2, + "drop_freq": 0, + "drop_trainer_level": 0 + } + }, { + "template_id": "ITEM_GREAT_BALL", + "item_settings": { + "item_id": 2, + "item_type": 1, + "category": 1, + "drop_freq": 0, + "drop_trainer_level": 0 + } + }, { + "template_id": "ITEM_HYPER_POTION", + "item_settings": { + "item_id": 103, + "item_type": 2, + "category": 3, + "drop_freq": 0, + "drop_trainer_level": 0, + "potion": { + "sta_percent": 0, + "sta_amount": 200 + } + } + }, { + "template_id": "ITEM_INCENSE_ORDINARY", + "item_settings": { + "item_id": 401, + "item_type": 10, + "category": 9, + "drop_freq": 0, + "drop_trainer_level": 0, + "incense": { + "incense_lifetime_seconds": 1800, + "pokemon_type": [], + "pokemon_incense_type_probability": 0, + "standing_time_between_encounters_seconds": 300, + "moving_time_between_encounter_seconds": 60, + "distance_required_for_shorter_interval_meters": 200, + "pokemon_attracted_length_sec": 0 + } + } + }, { + "template_id": "ITEM_INCUBATOR_BASIC", + "item_settings": { + "item_id": 902, + "item_type": 9, + "category": 8, + "drop_freq": 0, + "drop_trainer_level": 0, + "egg_incubator": { + "incubator_type": 1, + "uses": 3, + "distance_multiplier": 1 + } + } + }, { + "template_id": "ITEM_INCUBATOR_BASIC_UNLIMITED", + "item_settings": { + "item_id": 901, + "item_type": 9, + "category": 8, + "drop_freq": 0, + "drop_trainer_level": 0, + "egg_incubator": { + "incubator_type": 1, + "uses": 0, + "distance_multiplier": 1 + } + } + }, { + "template_id": "ITEM_ITEM_STORAGE_UPGRADE", + "item_settings": { + "item_id": 1002, + "item_type": 12, + "category": 11, + "drop_freq": 0, + "drop_trainer_level": 0, + "inventory_upgrade": { + "additional_storage": 50, + "upgrade_type": 1 + } + } + }, { + "template_id": "ITEM_LUCKY_EGG", + "item_settings": { + "item_id": 301, + "item_type": 11, + "category": 10, + "drop_freq": 0, + "drop_trainer_level": 0, + "xp_boost": { + "xp_multiplier": 2, + "boost_duration_ms": 1800000 + } + } + }, { + "template_id": "ITEM_MASTER_BALL", + "item_settings": { + "item_id": 4, + "item_type": 1, + "category": 1, + "drop_freq": 0, + "drop_trainer_level": 0 + } + }, { + "template_id": "ITEM_MAX_POTION", + "item_settings": { + "item_id": 104, + "item_type": 2, + "category": 3, + "drop_freq": 0, + "drop_trainer_level": 0, + "potion": { + "sta_percent": 1, + "sta_amount": 0 + } + } + }, { + "template_id": "ITEM_MAX_REVIVE", + "item_settings": { + "item_id": 202, + "item_type": 3, + "category": 3, + "drop_freq": 0, + "drop_trainer_level": 0, + "revive": { + "sta_percent": 1 + } + } + }, { + "template_id": "ITEM_NANAB_BERRY", + "item_settings": { + "item_id": 703, + "item_type": 6, + "category": 2, + "drop_freq": 0, + "drop_trainer_level": 0 + } + }, { + "template_id": "ITEM_PINAP_BERRY", + "item_settings": { + "item_id": 705, + "item_type": 6, + "category": 2, + "drop_freq": 0, + "drop_trainer_level": 0 + } + }, { + "template_id": "ITEM_POKEMON_STORAGE_UPGRADE", + "item_settings": { + "item_id": 1001, + "item_type": 12, + "category": 11, + "drop_freq": 0, + "drop_trainer_level": 0, + "inventory_upgrade": { + "additional_storage": 50, + "upgrade_type": 2 + } + } + }, { + "template_id": "ITEM_POKE_BALL", + "item_settings": { + "item_id": 1, + "item_type": 1, + "category": 1, + "drop_freq": 0, + "drop_trainer_level": 0 + } + }, { + "template_id": "ITEM_POTION", + "item_settings": { + "item_id": 101, + "item_type": 2, + "category": 3, + "drop_freq": 0, + "drop_trainer_level": 0, + "potion": { + "sta_percent": 0, + "sta_amount": 20 + } + } + }, { + "template_id": "ITEM_RAZZ_BERRY", + "item_settings": { + "item_id": 701, + "item_type": 6, + "category": 2, + "drop_freq": 0, + "drop_trainer_level": 0 + } + }, { + "template_id": "ITEM_REVIVE", + "item_settings": { + "item_id": 201, + "item_type": 3, + "category": 3, + "drop_freq": 0, + "drop_trainer_level": 0, + "revive": { + "sta_percent": 0.5 + } + } + }, { + "template_id": "ITEM_SPECIAL_CAMERA", + "item_settings": { + "item_id": 801, + "item_type": 7, + "category": 6, + "drop_freq": 0, + "drop_trainer_level": 0 + } + }, { + "template_id": "ITEM_SUPER_POTION", + "item_settings": { + "item_id": 102, + "item_type": 2, + "category": 3, + "drop_freq": 0, + "drop_trainer_level": 0, + "potion": { + "sta_percent": 0, + "sta_amount": 50 + } + } + }, { + "template_id": "ITEM_TROY_DISK", + "item_settings": { + "item_id": 501, + "item_type": 8, + "category": 7, + "drop_freq": 0, + "drop_trainer_level": 0 + } + }, { + "template_id": "ITEM_ULTRA_BALL", + "item_settings": { + "item_id": 3, + "item_type": 1, + "category": 1, + "drop_freq": 0, + "drop_trainer_level": 0 + } + }, { + "template_id": "ITEM_WEPAR_BERRY", + "item_settings": { + "item_id": 704, + "item_type": 6, + "category": 2, + "drop_freq": 0, + "drop_trainer_level": 0 + } + }, { + "template_id": "ITEM_X_ATTACK", + "item_settings": { + "item_id": 602, + "item_type": 5, + "category": 4, + "drop_freq": 0, + "drop_trainer_level": 0 + } + }, { + "template_id": "ITEM_X_DEFENSE", + "item_settings": { + "item_id": 603, + "item_type": 5, + "category": 4, + "drop_freq": 0, + "drop_trainer_level": 0 + } + }, { + "template_id": "ITEM_X_MIRACLE", + "item_settings": { + "item_id": 604, + "item_type": 5, + "category": 4, + "drop_freq": 0, + "drop_trainer_level": 0 + } + }, { + "template_id": "PLAYER_LEVEL_SETTINGS", + "player_level": { + "rank_num": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + "required_experience": [0, 1000, 3000, 6000, 10000, 15000, 21000, 28000, 36000, 45000, 55000, 65000, 75000, 85000, 100000, 120000, 140000, 160000, 185000, 210000, 260000, 335000, 435000, 560000, 710000, 900000, 1100000, 1350000, 1650000, 2000000, 2500000, 3000000, 3750000, 4750000, 6000000, 7500000, 9500000, 12000000, 15000000, 20000000], + "cp_multiplier": [0.09399999678134918, 0.16639786958694458, 0.21573247015476227, 0.2557200491428375, 0.29024988412857056, 0.3210875988006592, 0.3492126762866974, 0.37523558735847473, 0.39956727623939514, 0.42250001430511475, 0.443107545375824, 0.4627983868122101, 0.48168495297431946, 0.49985843896865845, 0.517393946647644, 0.5343543291091919, 0.5507926940917969, 0.5667545199394226, 0.5822789072990417, 0.5974000096321106, 0.6121572852134705, 0.6265671253204346, 0.6406529545783997, 0.6544356346130371, 0.667934000492096, 0.6811649203300476, 0.6941436529159546, 0.7068842053413391, 0.719399094581604, 0.7317000031471252, 0.7377694845199585, 0.7437894344329834, 0.7497610449790955, 0.7556855082511902, 0.7615638375282288, 0.7673971652984619, 0.7731865048408508, 0.7789327502250671, 0.7846369743347168, 0.7903000116348267], + "max_egg_player_level": 20, + "max_encounter_player_level": 30 + } + }, { + "template_id": "POKEMON_TYPE_BUG", + "type_effective": { + "attack_scalar": [1, 0.800000011920929, 0.800000011920929, 0.800000011920929, 1, 1, 1, 0.800000011920929, 0.800000011920929, 0.800000011920929, 1, 1.25, 1, 1.25, 1, 1, 1.25, 0.800000011920929], + "attack_type": 7 + } + }, { + "template_id": "POKEMON_TYPE_DARK", + "type_effective": { + "attack_scalar": [1, 0.800000011920929, 1, 1, 1, 1, 1, 1.25, 1, 1, 1, 1, 1, 1.25, 1, 1, 0.800000011920929, 0.800000011920929], + "attack_type": 17 + } + }, { + "template_id": "POKEMON_TYPE_DRAGON", + "type_effective": { + "attack_scalar": [1, 1, 1, 1, 1, 1, 1, 1, 0.800000011920929, 1, 1, 1, 1, 1, 1, 1.25, 1, 0.800000011920929], + "attack_type": 16 + } + }, { + "template_id": "POKEMON_TYPE_ELECTRIC", + "type_effective": { + "attack_scalar": [1, 1, 1.25, 1, 0.800000011920929, 1, 1, 1, 1, 1, 1.25, 0.800000011920929, 0.800000011920929, 1, 1, 0.800000011920929, 1, 1], + "attack_type": 13 + } + }, { + "template_id": "POKEMON_TYPE_FAIRY", + "type_effective": { + "attack_scalar": [1, 1.25, 1, 0.800000011920929, 1, 1, 1, 1, 0.800000011920929, 0.800000011920929, 1, 1, 1, 1, 1, 1.25, 1.25, 1], + "attack_type": 18 + } + }, { + "template_id": "POKEMON_TYPE_FIGHTING", + "type_effective": { + "attack_scalar": [1.25, 1, 0.800000011920929, 0.800000011920929, 1, 1.25, 0.800000011920929, 0.800000011920929, 1.25, 1, 1, 1, 1, 0.800000011920929, 1.25, 1, 1.25, 0.800000011920929], + "attack_type": 2 + } + }, { + "template_id": "POKEMON_TYPE_FIRE", + "type_effective": { + "attack_scalar": [1, 1, 1, 1, 1, 0.800000011920929, 1.25, 1, 1.25, 0.800000011920929, 0.800000011920929, 1.25, 1, 1, 1.25, 0.800000011920929, 1, 1], + "attack_type": 10 + } + }, { + "template_id": "POKEMON_TYPE_FLYING", + "type_effective": { + "attack_scalar": [1, 1.25, 1, 1, 1, 0.800000011920929, 1.25, 1, 0.800000011920929, 1, 1, 1.25, 0.800000011920929, 1, 1, 1, 1, 1], + "attack_type": 3 + } + }, { + "template_id": "POKEMON_TYPE_GHOST", + "type_effective": { + "attack_scalar": [0.800000011920929, 1, 1, 1, 1, 1, 1, 1.25, 1, 1, 1, 1, 1, 1.25, 1, 1, 0.800000011920929, 1], + "attack_type": 8 + } + }, { + "template_id": "POKEMON_TYPE_GRASS", + "type_effective": { + "attack_scalar": [1, 1, 0.800000011920929, 0.800000011920929, 1.25, 1.25, 0.800000011920929, 1, 0.800000011920929, 0.800000011920929, 1.25, 0.800000011920929, 1, 1, 1, 0.800000011920929, 1, 1], + "attack_type": 12 + } + }, { + "template_id": "POKEMON_TYPE_GROUND", + "type_effective": { + "attack_scalar": [1, 1, 0.800000011920929, 1.25, 1, 1.25, 0.800000011920929, 1, 1.25, 1.25, 1, 0.800000011920929, 1.25, 1, 1, 1, 1, 1], + "attack_type": 5 + } + }, { + "template_id": "POKEMON_TYPE_ICE", + "type_effective": { + "attack_scalar": [1, 1, 1.25, 1, 1.25, 1, 1, 1, 0.800000011920929, 0.800000011920929, 0.800000011920929, 1.25, 1, 1, 0.800000011920929, 1.25, 1, 1], + "attack_type": 15 + } + }, { + "template_id": "POKEMON_TYPE_NORMAL", + "type_effective": { + "attack_scalar": [1, 1, 1, 1, 1, 0.800000011920929, 1, 0.800000011920929, 0.800000011920929, 1, 1, 1, 1, 1, 1, 1, 1, 1], + "attack_type": 1 + } + }, { + "template_id": "POKEMON_TYPE_POISON", + "type_effective": { + "attack_scalar": [1, 1, 1, 0.800000011920929, 0.800000011920929, 0.800000011920929, 1, 0.800000011920929, 0.800000011920929, 1, 1, 1.25, 1, 1, 1, 1, 1, 1.25], + "attack_type": 4 + } + }, { + "template_id": "POKEMON_TYPE_PSYCHIC", + "type_effective": { + "attack_scalar": [1, 1.25, 1, 1.25, 1, 1, 1, 1, 0.800000011920929, 1, 1, 1, 1, 0.800000011920929, 1, 1, 0.800000011920929, 1], + "attack_type": 14 + } + }, { + "template_id": "POKEMON_TYPE_ROCK", + "type_effective": { + "attack_scalar": [1, 0.800000011920929, 1.25, 1, 0.800000011920929, 1, 1.25, 1, 0.800000011920929, 1.25, 1, 1, 1, 1, 1.25, 1, 1, 1], + "attack_type": 6 + } + }, { + "template_id": "POKEMON_TYPE_STEEL", + "type_effective": { + "attack_scalar": [1, 1, 1, 1, 1, 1.25, 1, 1, 0.800000011920929, 0.800000011920929, 0.800000011920929, 1, 0.800000011920929, 1, 1.25, 1, 1, 1.25], + "attack_type": 9 + } + }, { + "template_id": "POKEMON_TYPE_WATER", + "type_effective": { + "attack_scalar": [1, 1, 1, 1, 1.25, 1.25, 1, 1, 1, 1.25, 0.800000011920929, 0.800000011920929, 1, 1, 1, 0.800000011920929, 1, 1], + "attack_type": 11 + } + }, { + "template_id": "POKEMON_UPGRADE_SETTINGS", + "pokemon_upgrades": { + "upgrades_per_level": 2, + "allowed_levels_above_player": 2, + "candy_cost": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 15, 15], + "stardust_cost": [200, 200, 400, 400, 600, 600, 800, 800, 1000, 1000, 1300, 1300, 1600, 1600, 1900, 1900, 2200, 2200, 2500, 2500, 3000, 3000, 3500, 3500, 4000, 4000, 4500, 4500, 5000, 5000, 6000, 6000, 7000, 7000, 8000, 8000, 9000, 9000, 10000, 10000] + } + }, { + "template_id": "V0001_POKEMON_BULBASAUR", + "pokemon_settings": { + "pokemon_id": 1, + "model_scale": 1.090000033378601, + "type": 12, + "type_2": 4, + "camera": { + "disk_radius_m": 0.5723000168800354, + "cylinder_radius_m": 0.3815000057220459, + "cylinder_height_m": 0.7630000114440918, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.3815000057220459, + "collision_height_m": 0.6539999842643738, + "collision_head_radius_m": 0.27250000834465027, + "movement_type": 1, + "movement_timer_s": 10, + "jump_time_s": 1.149999976158142, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 90, + "base_attack": 126, + "base_defense": 126, + "dodge_energy_delta": 0 + }, + "quick_moves": [214, 221], + "cinematic_moves": [90, 59, 118], + "animation_time": [1.666700005531311, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 2.1666998863220215, 1.399999976158142, 1.4666670560836792], + "evolution_ids": [2], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.699999988079071, + "pokedex_weight_kg": 6.900000095367432, + "parent_pokemon_id": 0, + "height_std_dev": 0.08749999850988388, + "weight_std_dev": 0.862500011920929, + "km_distance_to_hatch": 0, + "family_id": 1, + "candy_to_evolve": 25 + } + }, { + "template_id": "V0002_POKEMON_IVYSAUR", + "pokemon_settings": { + "pokemon_id": 2, + "model_scale": 0.8500000238418579, + "type": 12, + "type_2": 4, + "camera": { + "disk_radius_m": 0.7649999856948853, + "cylinder_radius_m": 0.5099999904632568, + "cylinder_height_m": 1.0625, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.07999999821186066, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.3187499940395355, + "collision_height_m": 0.637499988079071, + "collision_head_radius_m": 0.2549999952316284, + "movement_type": 1, + "movement_timer_s": 23, + "jump_time_s": 1.5, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 120, + "base_attack": 156, + "base_defense": 158, + "dodge_energy_delta": 0 + }, + "quick_moves": [215, 214], + "cinematic_moves": [90, 116, 118], + "animation_time": [2.6666998863220215, 0.666700005531311, 1.666700005531311, 2.1666998863220215, 0, 2, 1.666700005531311, 1.7333329916000366], + "evolution_ids": [3], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1, + "pokedex_weight_kg": 13, + "parent_pokemon_id": 1, + "height_std_dev": 0.125, + "weight_std_dev": 1.625, + "km_distance_to_hatch": 0, + "family_id": 1, + "candy_to_evolve": 100 + } + }, { + "template_id": "V0003_POKEMON_VENUSAUR", + "pokemon_settings": { + "pokemon_id": 3, + "model_scale": 0.6899999976158142, + "type": 12, + "type_2": 4, + "camera": { + "disk_radius_m": 1.1384999752044678, + "cylinder_radius_m": 0.7590000033378601, + "cylinder_height_m": 1.2074999809265137, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.03999999910593033, + "base_flee_rate": 0.05000000074505806, + "collision_radius_m": 0.7590000033378601, + "collision_height_m": 1.034999966621399, + "collision_head_radius_m": 0.37950000166893005, + "movement_type": 1, + "movement_timer_s": 11, + "jump_time_s": 1.25, + "attack_timer_s": 4 + }, + "stats": { + "base_stamina": 160, + "base_attack": 198, + "base_defense": 200, + "dodge_energy_delta": 0 + }, + "quick_moves": [215, 214], + "cinematic_moves": [90, 47, 116], + "animation_time": [2.4667000770568848, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 2.1333000659942627, 2, 2.066667079925537], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 2, + "pokedex_weight_kg": 100, + "parent_pokemon_id": 2, + "height_std_dev": 0.25, + "weight_std_dev": 12.5, + "km_distance_to_hatch": 0, + "family_id": 1, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0004_POKEMON_CHARMANDER", + "pokemon_settings": { + "pokemon_id": 4, + "model_scale": 1.25, + "type": 10, + "type_2": 0, + "camera": { + "disk_radius_m": 0.46880000829696655, + "cylinder_radius_m": 0.3125, + "cylinder_height_m": 0.75, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.15625, + "collision_height_m": 0.46875, + "collision_head_radius_m": 0.15625, + "movement_type": 1, + "movement_timer_s": 29, + "jump_time_s": 1.25, + "attack_timer_s": 10 + }, + "stats": { + "base_stamina": 78, + "base_attack": 128, + "base_defense": 108, + "dodge_energy_delta": 0 + }, + "quick_moves": [209, 220], + "cinematic_moves": [101, 102, 24], + "animation_time": [2.1333000659942627, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 2.1333000659942627, 1.166700005531311, 1.3333330154418945], + "evolution_ids": [5], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.6000000238418579, + "pokedex_weight_kg": 8.5, + "parent_pokemon_id": 0, + "height_std_dev": 0.07500000298023224, + "weight_std_dev": 1.0625, + "km_distance_to_hatch": 0, + "family_id": 4, + "candy_to_evolve": 25 + } + }, { + "template_id": "V0005_POKEMON_CHARMELEON", + "pokemon_settings": { + "pokemon_id": 5, + "model_scale": 1.0299999713897705, + "type": 10, + "type_2": 0, + "camera": { + "disk_radius_m": 0.6952999830245972, + "cylinder_radius_m": 0.4634999930858612, + "cylinder_height_m": 1.1330000162124634, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.07999999821186066, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.2574999928474426, + "collision_height_m": 0.7724999785423279, + "collision_head_radius_m": 0.2317499965429306, + "movement_type": 1, + "movement_timer_s": 23, + "jump_time_s": 1, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 116, + "base_attack": 160, + "base_defense": 140, + "dodge_energy_delta": 0 + }, + "quick_moves": [209, 220], + "cinematic_moves": [115, 102, 24], + "animation_time": [1.8667000532150269, 0.666700005531311, 1.833299994468689, 1.5, 6.6666669845581055, 2.3333001136779785, 2, 2.5333340167999268], + "evolution_ids": [6], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.100000023841858, + "pokedex_weight_kg": 19, + "parent_pokemon_id": 4, + "height_std_dev": 0.13750000298023224, + "weight_std_dev": 2.375, + "km_distance_to_hatch": 0, + "family_id": 4, + "candy_to_evolve": 100 + } + }, { + "template_id": "V0006_POKEMON_CHARIZARD", + "pokemon_settings": { + "pokemon_id": 6, + "model_scale": 0.8100000023841858, + "type": 10, + "type_2": 3, + "camera": { + "disk_radius_m": 1.215000033378601, + "cylinder_radius_m": 0.8100000023841858, + "cylinder_height_m": 1.3769999742507935, + "cylinder_ground_m": 0.4050000011920929, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.03999999910593033, + "base_flee_rate": 0.05000000074505806, + "collision_radius_m": 0.4050000011920929, + "collision_height_m": 1.0125000476837158, + "collision_head_radius_m": 0.20250000059604645, + "movement_type": 5, + "movement_timer_s": 11, + "jump_time_s": 1, + "attack_timer_s": 4 + }, + "stats": { + "base_stamina": 156, + "base_attack": 212, + "base_defense": 182, + "dodge_energy_delta": 0 + }, + "quick_moves": [209, 210], + "cinematic_moves": [103, 83, 24], + "animation_time": [2.200000047683716, 0.666700005531311, 1.666700005531311, 0.8666999936103821, 6.6666669845581055, 2, 1.600000023841858, 2], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.7000000476837158, + "pokedex_weight_kg": 90.5, + "parent_pokemon_id": 5, + "height_std_dev": 0.21250000596046448, + "weight_std_dev": 11.3125, + "km_distance_to_hatch": 0, + "family_id": 4, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0007_POKEMON_SQUIRTLE", + "pokemon_settings": { + "pokemon_id": 7, + "model_scale": 1.5299999713897705, + "type": 11, + "type_2": 0, + "camera": { + "disk_radius_m": 0.5738000273704529, + "cylinder_radius_m": 0.3824999928474426, + "cylinder_height_m": 0.642599880695343, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.10000000149011612 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.22949999570846558, + "collision_height_m": 0.3824999928474426, + "collision_head_radius_m": 0.1912499964237213, + "movement_type": 1, + "movement_timer_s": 10, + "jump_time_s": 1, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 88, + "base_attack": 112, + "base_defense": 142, + "dodge_energy_delta": 0 + }, + "quick_moves": [237, 221], + "cinematic_moves": [57, 58, 105], + "animation_time": [1.733299970626831, 0.666700005531311, 1.666700005531311, 1.5, 0, 2.1666998863220215, 1, 1.3333330154418945], + "evolution_ids": [8], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.5, + "pokedex_weight_kg": 9, + "parent_pokemon_id": 0, + "height_std_dev": 0.0625, + "weight_std_dev": 1.125, + "km_distance_to_hatch": 0, + "family_id": 7, + "candy_to_evolve": 25 + } + }, { + "template_id": "V0008_POKEMON_WARTORTLE", + "pokemon_settings": { + "pokemon_id": 8, + "model_scale": 1, + "type": 11, + "type_2": 0, + "camera": { + "disk_radius_m": 0.5625, + "cylinder_radius_m": 0.375, + "cylinder_height_m": 1, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.07999999821186066, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.25, + "collision_height_m": 0.625, + "collision_head_radius_m": 0.1875, + "movement_type": 1, + "movement_timer_s": 23, + "jump_time_s": 1.25, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 118, + "base_attack": 144, + "base_defense": 176, + "dodge_energy_delta": 0 + }, + "quick_moves": [230, 202], + "cinematic_moves": [57, 39, 107], + "animation_time": [2, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 1.7999999523162842, 1.0666999816894531, 1.1333329677581787], + "evolution_ids": [9], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1, + "pokedex_weight_kg": 22.5, + "parent_pokemon_id": 7, + "height_std_dev": 0.125, + "weight_std_dev": 2.8125, + "km_distance_to_hatch": 0, + "family_id": 7, + "candy_to_evolve": 100 + } + }, { + "template_id": "V0009_POKEMON_BLASTOISE", + "pokemon_settings": { + "pokemon_id": 9, + "model_scale": 0.9399999976158142, + "type": 11, + "type_2": 0, + "camera": { + "disk_radius_m": 0.8460000157356262, + "cylinder_radius_m": 0.5640000104904175, + "cylinder_height_m": 1.2925000190734863, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.03999999910593033, + "base_flee_rate": 0.05000000074505806, + "collision_radius_m": 0.5640000104904175, + "collision_height_m": 1.1749999523162842, + "collision_head_radius_m": 0.28200000524520874, + "movement_type": 1, + "movement_timer_s": 14, + "jump_time_s": 1.25, + "attack_timer_s": 5 + }, + "stats": { + "base_stamina": 158, + "base_attack": 186, + "base_defense": 222, + "dodge_energy_delta": 0 + }, + "quick_moves": [230, 202], + "cinematic_moves": [36, 39, 107], + "animation_time": [2.1333000659942627, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 2, 2.6666998863220215, 1.3333330154418945], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.600000023841858, + "pokedex_weight_kg": 85.5, + "parent_pokemon_id": 8, + "height_std_dev": 0.20000000298023224, + "weight_std_dev": 10.6875, + "km_distance_to_hatch": 0, + "family_id": 7, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0010_POKEMON_CATERPIE", + "pokemon_settings": { + "pokemon_id": 10, + "model_scale": 2.0399999618530273, + "type": 7, + "type_2": 0, + "camera": { + "disk_radius_m": 0.45899999141693115, + "cylinder_radius_m": 0.3059999942779541, + "cylinder_height_m": 0.40799999237060547, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.20000000298023224, + "collision_radius_m": 0.10199999809265137, + "collision_height_m": 0.3059999942779541, + "collision_head_radius_m": 0.15299999713897705, + "movement_type": 1, + "movement_timer_s": 10, + "jump_time_s": 0, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 90, + "base_attack": 62, + "base_defense": 66, + "dodge_energy_delta": 0 + }, + "quick_moves": [201, 221], + "cinematic_moves": [133], + "animation_time": [0, 0.666700005531311, 1.666700005531311, 1.666700005531311, 0, 1.833299994468689, 1.666700005531311, 0], + "evolution_ids": [11], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.30000001192092896, + "pokedex_weight_kg": 2.9000000953674316, + "parent_pokemon_id": 0, + "height_std_dev": 0.03750000149011612, + "weight_std_dev": 0.36250001192092896, + "km_distance_to_hatch": 0, + "family_id": 10, + "candy_to_evolve": 12 + } + }, { + "template_id": "V0011_POKEMON_METAPOD", + "pokemon_settings": { + "pokemon_id": 11, + "model_scale": 1.1699999570846558, + "type": 7, + "type_2": 0, + "camera": { + "disk_radius_m": 0.5264999866485596, + "cylinder_radius_m": 0.35100001096725464, + "cylinder_height_m": 0.6434999704360962, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.20000000298023224, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.11699999868869781, + "collision_height_m": 0.6434999704360962, + "collision_head_radius_m": 0.17550000548362732, + "movement_type": 1, + "movement_timer_s": 3600, + "jump_time_s": 1, + "attack_timer_s": 3600 + }, + "stats": { + "base_stamina": 100, + "base_attack": 56, + "base_defense": 86, + "dodge_energy_delta": 0 + }, + "quick_moves": [201, 221], + "cinematic_moves": [133], + "animation_time": [1.333299994468689, 0.666700005531311, 1.833299994468689, 1.666700005531311, 0, 1.5666999816894531, 2, 0], + "evolution_ids": [12], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.699999988079071, + "pokedex_weight_kg": 9.899999618530273, + "parent_pokemon_id": 10, + "height_std_dev": 0.08749999850988388, + "weight_std_dev": 1.2374999523162842, + "km_distance_to_hatch": 0, + "family_id": 10, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0012_POKEMON_BUTTERFREE", + "pokemon_settings": { + "pokemon_id": 12, + "model_scale": 1.1100000143051147, + "type": 7, + "type_2": 3, + "camera": { + "disk_radius_m": 0.9990000128746033, + "cylinder_radius_m": 0.6660000085830688, + "cylinder_height_m": 1.1100000143051147, + "cylinder_ground_m": 0.5550000071525574, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.10000000149011612, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.1665000021457672, + "collision_height_m": 0.5550000071525574, + "collision_head_radius_m": 0.17759999632835388, + "movement_type": 5, + "movement_timer_s": 6, + "jump_time_s": 1, + "attack_timer_s": 17 + }, + "stats": { + "base_stamina": 120, + "base_attack": 144, + "base_defense": 144, + "dodge_energy_delta": 0 + }, + "quick_moves": [201, 235], + "cinematic_moves": [49, 108, 99], + "animation_time": [2, 0.666700005531311, 1.733299970626831, 0.666700005531311, 0, 2.4667000770568848, 2.1333000659942627, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.100000023841858, + "pokedex_weight_kg": 32, + "parent_pokemon_id": 11, + "height_std_dev": 0.13750000298023224, + "weight_std_dev": 4, + "km_distance_to_hatch": 0, + "family_id": 10, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0013_MOVE_WRAP", + "move_settings": { + "movement_id": 13, + "animation_id": 5, + "pokemon_type": 1, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.05999999865889549, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "wrap", + "duration_ms": 4000, + "damage_window_start_ms": 2800, + "damage_window_end_ms": 3400, + "energy_delta": -20 + } + }, { + "template_id": "V0013_POKEMON_WEEDLE", + "pokemon_settings": { + "pokemon_id": 13, + "model_scale": 2.0899999141693115, + "type": 7, + "type_2": 4, + "camera": { + "disk_radius_m": 0.31349998712539673, + "cylinder_radius_m": 0.20900000631809235, + "cylinder_height_m": 0.4180000126361847, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.20000000298023224, + "collision_radius_m": 0.10450000315904617, + "collision_height_m": 0.20900000631809235, + "collision_head_radius_m": 0.15674999356269836, + "movement_type": 1, + "movement_timer_s": 10, + "jump_time_s": 1.25, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 80, + "base_attack": 68, + "base_defense": 64, + "dodge_energy_delta": 0 + }, + "quick_moves": [201, 236], + "cinematic_moves": [133], + "animation_time": [0, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 1.666700005531311, 2, 0], + "evolution_ids": [14], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.30000001192092896, + "pokedex_weight_kg": 3.200000047683716, + "parent_pokemon_id": 0, + "height_std_dev": 0.03750000149011612, + "weight_std_dev": 0.4000000059604645, + "km_distance_to_hatch": 0, + "family_id": 13, + "candy_to_evolve": 12 + } + }, { + "template_id": "V0014_MOVE_HYPER_BEAM", + "move_settings": { + "movement_id": 14, + "animation_id": 5, + "pokemon_type": 1, + "power": 120, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.15000000596046448, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "hyper_beam", + "duration_ms": 5000, + "damage_window_start_ms": 4000, + "damage_window_end_ms": 4800, + "energy_delta": -100 + } + }, { + "template_id": "V0014_POKEMON_KAKUNA", + "pokemon_settings": { + "pokemon_id": 14, + "model_scale": 1.25, + "type": 7, + "type_2": 4, + "camera": { + "disk_radius_m": 0.375, + "cylinder_radius_m": 0.25, + "cylinder_height_m": 0.75, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.20000000298023224, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.25, + "collision_height_m": 0.75, + "collision_head_radius_m": 0.125, + "movement_type": 1, + "movement_timer_s": 3600, + "jump_time_s": 0, + "attack_timer_s": 3600 + }, + "stats": { + "base_stamina": 90, + "base_attack": 62, + "base_defense": 82, + "dodge_energy_delta": 0 + }, + "quick_moves": [201, 236], + "cinematic_moves": [133], + "animation_time": [0, 0.666700005531311, 0, 1.666700005531311, 0, 2, 2.5, 0], + "evolution_ids": [15], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.6000000238418579, + "pokedex_weight_kg": 10, + "parent_pokemon_id": 13, + "height_std_dev": 0.07500000298023224, + "weight_std_dev": 1.25, + "km_distance_to_hatch": 0, + "family_id": 13, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0015_POKEMON_BEEDRILL", + "pokemon_settings": { + "pokemon_id": 15, + "model_scale": 0.7699999809265137, + "type": 7, + "type_2": 4, + "camera": { + "disk_radius_m": 0.6930000185966492, + "cylinder_radius_m": 0.4620000123977661, + "cylinder_height_m": 0.7699999809265137, + "cylinder_ground_m": 0.38499999046325684, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.10000000149011612, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.30799999833106995, + "collision_height_m": 0.5774999856948853, + "collision_head_radius_m": 0.23100000619888306, + "movement_type": 4, + "movement_timer_s": 6, + "jump_time_s": 1, + "attack_timer_s": 17 + }, + "stats": { + "base_stamina": 130, + "base_attack": 144, + "base_defense": 130, + "dodge_energy_delta": 0 + }, + "quick_moves": [201, 224], + "cinematic_moves": [90, 45, 100], + "animation_time": [1.666700005531311, 0.666700005531311, 1.666700005531311, 0.666700005531311, 0.20000000298023224, 1.7999999523162842, 1.333299994468689, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1, + "pokedex_weight_kg": 29.5, + "parent_pokemon_id": 14, + "height_std_dev": 0.125, + "weight_std_dev": 3.6875, + "km_distance_to_hatch": 0, + "family_id": 13, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0016_MOVE_DARK_PULSE", + "move_settings": { + "movement_id": 16, + "animation_id": 5, + "pokemon_type": 17, + "power": 45, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07999999821186066, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "dark_pulse", + "duration_ms": 3500, + "damage_window_start_ms": 2300, + "damage_window_end_ms": 3400, + "energy_delta": -33 + } + }, { + "template_id": "V0016_POKEMON_PIDGEY", + "pokemon_settings": { + "pokemon_id": 16, + "model_scale": 1.6799999475479126, + "type": 1, + "type_2": 3, + "camera": { + "disk_radius_m": 0.3779999911785126, + "cylinder_radius_m": 0.25200000405311584, + "cylinder_height_m": 0.5040000081062317, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.20000000298023224, + "collision_radius_m": 0.13439999520778656, + "collision_height_m": 0.25200000405311584, + "collision_head_radius_m": 0.12600000202655792, + "movement_type": 1, + "movement_timer_s": 10, + "jump_time_s": 1.399999976158142, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 80, + "base_attack": 94, + "base_defense": 90, + "dodge_energy_delta": 0 + }, + "quick_moves": [219, 221], + "cinematic_moves": [80, 45, 121], + "animation_time": [1.666700005531311, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 1.833299994468689, 0.800000011920929, 1.3333330154418945], + "evolution_ids": [17], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.30000001192092896, + "pokedex_weight_kg": 1.7999999523162842, + "parent_pokemon_id": 0, + "height_std_dev": 0.03750000149011612, + "weight_std_dev": 0.22499999403953552, + "km_distance_to_hatch": 0, + "family_id": 16, + "candy_to_evolve": 12 + } + }, { + "template_id": "V0017_POKEMON_PIDGEOTTO", + "pokemon_settings": { + "pokemon_id": 17, + "model_scale": 0.7900000214576721, + "type": 1, + "type_2": 3, + "camera": { + "disk_radius_m": 0.7110000252723694, + "cylinder_radius_m": 0.4740000069141388, + "cylinder_height_m": 0.987500011920929, + "cylinder_ground_m": 0.39500001072883606, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.20000000298023224, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.3160000145435333, + "collision_height_m": 0.6912500262260437, + "collision_head_radius_m": 0.2370000034570694, + "movement_type": 5, + "movement_timer_s": 10, + "jump_time_s": 1, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 126, + "base_attack": 126, + "base_defense": 122, + "dodge_energy_delta": 0 + }, + "quick_moves": [210, 239], + "cinematic_moves": [80, 45, 121], + "animation_time": [2.6666998863220215, 0.666700005531311, 2, 0.800000011920929, 0, 2, 0.666700005531311, 0], + "evolution_ids": [18], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.100000023841858, + "pokedex_weight_kg": 30, + "parent_pokemon_id": 16, + "height_std_dev": 0.13750000298023224, + "weight_std_dev": 3.75, + "km_distance_to_hatch": 0, + "family_id": 16, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0018_MOVE_SLUDGE", + "move_settings": { + "movement_id": 18, + "animation_id": 5, + "pokemon_type": 4, + "power": 30, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.06499999761581421, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "sludge", + "duration_ms": 2600, + "damage_window_start_ms": 1850, + "damage_window_end_ms": 2350, + "energy_delta": -25 + } + }, { + "template_id": "V0018_POKEMON_PIDGEOT", + "pokemon_settings": { + "pokemon_id": 18, + "model_scale": 0.7200000286102295, + "type": 1, + "type_2": 3, + "camera": { + "disk_radius_m": 1.2960000038146973, + "cylinder_radius_m": 0.8640000224113464, + "cylinder_height_m": 1.440000057220459, + "cylinder_ground_m": 0.36000001430511475, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.10000000149011612, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.36000001430511475, + "collision_height_m": 1.0080000162124634, + "collision_head_radius_m": 0.2160000056028366, + "movement_type": 5, + "movement_timer_s": 6, + "jump_time_s": 1, + "attack_timer_s": 17 + }, + "stats": { + "base_stamina": 166, + "base_attack": 170, + "base_defense": 166, + "dodge_energy_delta": 0 + }, + "quick_moves": [210, 239], + "cinematic_moves": [122, 45, 121], + "animation_time": [2.066699981689453, 0.666700005531311, 1.666700005531311, 0.666700005531311, 0, 2, 1.7999999523162842, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.5, + "pokedex_weight_kg": 39.5, + "parent_pokemon_id": 17, + "height_std_dev": 0.1875, + "weight_std_dev": 4.9375, + "km_distance_to_hatch": 0, + "family_id": 16, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0019_POKEMON_RATTATA", + "pokemon_settings": { + "pokemon_id": 19, + "model_scale": 1.2599999904632568, + "type": 1, + "type_2": 0, + "camera": { + "disk_radius_m": 0.3779999911785126, + "cylinder_radius_m": 0.25200000405311584, + "cylinder_height_m": 0.3779999911785126, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.20000000298023224, + "collision_radius_m": 0.1889999955892563, + "collision_height_m": 0.25200000405311584, + "collision_head_radius_m": 0.12600000202655792, + "movement_type": 1, + "movement_timer_s": 10, + "jump_time_s": 0.8999999761581421, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 60, + "base_attack": 92, + "base_defense": 86, + "dodge_energy_delta": 0 + }, + "quick_moves": [221, 219], + "cinematic_moves": [26, 129, 131], + "animation_time": [1.899999976158142, 0.666700005531311, 1.7999999523162842, 1.766700029373169, 0, 2.4000000953674316, 0.8666999936103821, 0], + "evolution_ids": [20], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.30000001192092896, + "pokedex_weight_kg": 3.5, + "parent_pokemon_id": 0, + "height_std_dev": 0.03750000149011612, + "weight_std_dev": 0.4375, + "km_distance_to_hatch": 0, + "family_id": 19, + "candy_to_evolve": 25 + } + }, { + "template_id": "V0020_MOVE_VICE_GRIP", + "move_settings": { + "movement_id": 20, + "animation_id": 5, + "pokemon_type": 1, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.054999999701976776, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "vice_grip", + "duration_ms": 2100, + "damage_window_start_ms": 1850, + "damage_window_end_ms": 2100, + "energy_delta": -20 + } + }, { + "template_id": "V0020_POKEMON_RATICATE", + "pokemon_settings": { + "pokemon_id": 20, + "model_scale": 1.1699999570846558, + "type": 1, + "type_2": 0, + "camera": { + "disk_radius_m": 0.7897999882698059, + "cylinder_radius_m": 0.5264999866485596, + "cylinder_height_m": 0.9359999895095825, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.29249998927116394, + "collision_height_m": 0.5849999785423279, + "collision_head_radius_m": 0.2632499933242798, + "movement_type": 1, + "movement_timer_s": 23, + "jump_time_s": 1, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 110, + "base_attack": 146, + "base_defense": 150, + "dodge_energy_delta": 0 + }, + "quick_moves": [202, 219], + "cinematic_moves": [26, 129, 14], + "animation_time": [1.666700005531311, 0.666700005531311, 1.733299970626831, 1.666700005531311, 0, 2, 2.066699981689453, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.699999988079071, + "pokedex_weight_kg": 18.5, + "parent_pokemon_id": 19, + "height_std_dev": 0.08749999850988388, + "weight_std_dev": 2.3125, + "km_distance_to_hatch": 0, + "family_id": 19, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0021_MOVE_FLAME_WHEEL", + "move_settings": { + "movement_id": 21, + "animation_id": 5, + "pokemon_type": 10, + "power": 40, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.05999999865889549, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "flame_wheel", + "duration_ms": 4600, + "damage_window_start_ms": 2700, + "damage_window_end_ms": 3200, + "energy_delta": -25 + } + }, { + "template_id": "V0021_POKEMON_SPEAROW", + "pokemon_settings": { + "pokemon_id": 21, + "model_scale": 1.4800000190734863, + "type": 1, + "type_2": 3, + "camera": { + "disk_radius_m": 0.4440000057220459, + "cylinder_radius_m": 0.29600000381469727, + "cylinder_height_m": 0.5180000066757202, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.15000000596046448, + "collision_radius_m": 0.14800000190734863, + "collision_height_m": 0.266400009393692, + "collision_head_radius_m": 0.14800000190734863, + "movement_type": 1, + "movement_timer_s": 10, + "jump_time_s": 1.25, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 80, + "base_attack": 102, + "base_defense": 78, + "dodge_energy_delta": 0 + }, + "quick_moves": [211, 219], + "cinematic_moves": [45, 38, 80], + "animation_time": [1.5333000421524048, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 2.3333001136779785, 0.800000011920929, 0], + "evolution_ids": [22], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.30000001192092896, + "pokedex_weight_kg": 2, + "parent_pokemon_id": 0, + "height_std_dev": 0.03750000149011612, + "weight_std_dev": 0.25, + "km_distance_to_hatch": 0, + "family_id": 21, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0022_MOVE_MEGAHORN", + "move_settings": { + "movement_id": 22, + "animation_id": 5, + "pokemon_type": 7, + "power": 80, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.11999999731779099, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "megahorn", + "duration_ms": 3200, + "damage_window_start_ms": 2400, + "damage_window_end_ms": 2700, + "energy_delta": -100 + } + }, { + "template_id": "V0022_POKEMON_FEAROW", + "pokemon_settings": { + "pokemon_id": 22, + "model_scale": 0.8399999737739563, + "type": 1, + "type_2": 3, + "camera": { + "disk_radius_m": 1.2599999904632568, + "cylinder_radius_m": 0.5040000081062317, + "cylinder_height_m": 1.0499999523162842, + "cylinder_ground_m": 0.41999998688697815, + "shoulder_mode_scale": 0.375 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.25200000405311584, + "collision_height_m": 0.6299999952316284, + "collision_head_radius_m": 0.12600000202655792, + "movement_type": 5, + "movement_timer_s": 8, + "jump_time_s": 1, + "attack_timer_s": 23 + }, + "stats": { + "base_stamina": 130, + "base_attack": 168, + "base_defense": 146, + "dodge_energy_delta": 0 + }, + "quick_moves": [211, 239], + "cinematic_moves": [45, 46, 80], + "animation_time": [2.6666998863220215, 0.666700005531311, 1.666700005531311, 0.833299994468689, 0, 2.3333001136779785, 1.666700005531311, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.2000000476837158, + "pokedex_weight_kg": 38, + "parent_pokemon_id": 21, + "height_std_dev": 0.15000000596046448, + "weight_std_dev": 4.75, + "km_distance_to_hatch": 0, + "family_id": 21, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0023_POKEMON_EKANS", + "pokemon_settings": { + "pokemon_id": 23, + "model_scale": 1.7300000190734863, + "type": 4, + "type_2": 0, + "camera": { + "disk_radius_m": 0.6488000154495239, + "cylinder_radius_m": 0.4325000047683716, + "cylinder_height_m": 0.6054999828338623, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.375 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.15000000596046448, + "collision_radius_m": 0.25949999690055847, + "collision_height_m": 0.34599998593330383, + "collision_head_radius_m": 0.13840000331401825, + "movement_type": 1, + "movement_timer_s": 29, + "jump_time_s": 1.25, + "attack_timer_s": 10 + }, + "stats": { + "base_stamina": 70, + "base_attack": 112, + "base_defense": 112, + "dodge_energy_delta": 0 + }, + "quick_moves": [236, 225], + "cinematic_moves": [13, 90, 92], + "animation_time": [1.733299970626831, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 2.200000047683716, 1.600000023841858, 0], + "evolution_ids": [24], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 2, + "pokedex_weight_kg": 6.900000095367432, + "parent_pokemon_id": 0, + "height_std_dev": 0.25, + "weight_std_dev": 0.862500011920929, + "km_distance_to_hatch": 0, + "family_id": 23, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0024_MOVE_FLAMETHROWER", + "move_settings": { + "movement_id": 24, + "animation_id": 5, + "pokemon_type": 10, + "power": 55, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.09000000357627869, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "flamethrower", + "duration_ms": 2900, + "damage_window_start_ms": 1700, + "damage_window_end_ms": 2600, + "energy_delta": -50 + } + }, { + "template_id": "V0024_POKEMON_ARBOK", + "pokemon_settings": { + "pokemon_id": 24, + "model_scale": 0.8199999928474426, + "type": 4, + "type_2": 0, + "camera": { + "disk_radius_m": 0.9225000143051147, + "cylinder_radius_m": 0.6150000095367432, + "cylinder_height_m": 1.3530000448226929, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.4099999964237213, + "collision_height_m": 1.3530000448226929, + "collision_head_radius_m": 0.164000004529953, + "movement_type": 1, + "movement_timer_s": 23, + "jump_time_s": 1, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 120, + "base_attack": 166, + "base_defense": 166, + "dodge_energy_delta": 0 + }, + "quick_moves": [202, 225], + "cinematic_moves": [16, 91, 92], + "animation_time": [2.6666998863220215, 0.666700005531311, 1.666700005531311, 1.5, 0, 2.6666998863220215, 2.6666998863220215, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 3.5, + "pokedex_weight_kg": 65, + "parent_pokemon_id": 23, + "height_std_dev": 0.4375, + "weight_std_dev": 8.125, + "km_distance_to_hatch": 0, + "family_id": 23, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0025_POKEMON_PIKACHU", + "pokemon_settings": { + "pokemon_id": 25, + "model_scale": 1.4800000190734863, + "type": 13, + "type_2": 0, + "camera": { + "disk_radius_m": 0.5550000071525574, + "cylinder_radius_m": 0.3700000047683716, + "cylinder_height_m": 0.7400000095367432, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.1850000023841858, + "collision_height_m": 0.5180000066757202, + "collision_head_radius_m": 0.1850000023841858, + "movement_type": 0, + "movement_timer_s": 10, + "jump_time_s": 1, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 70, + "base_attack": 124, + "base_defense": 108, + "dodge_energy_delta": 0 + }, + "quick_moves": [205, 219], + "cinematic_moves": [35, 79, 78], + "animation_time": [1.833299994468689, 0.666700005531311, 1.600000023841858, 1.5666999816894531, 0, 1.7999999523162842, 1.1332999467849731, 1.0666669607162476], + "evolution_ids": [26], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.4000000059604645, + "pokedex_weight_kg": 6, + "parent_pokemon_id": 0, + "height_std_dev": 0.05000000074505806, + "weight_std_dev": 0.75, + "km_distance_to_hatch": 0, + "family_id": 25, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0026_MOVE_DIG", + "move_settings": { + "movement_id": 26, + "animation_id": 5, + "pokemon_type": 5, + "power": 70, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07999999821186066, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "dig", + "duration_ms": 5800, + "damage_window_start_ms": 4600, + "damage_window_end_ms": 5000, + "energy_delta": -33 + } + }, { + "template_id": "V0026_POKEMON_RAICHU", + "pokemon_settings": { + "pokemon_id": 26, + "model_scale": 1.0800000429153442, + "type": 13, + "type_2": 0, + "camera": { + "disk_radius_m": 0.7289999723434448, + "cylinder_radius_m": 0.4860000014305115, + "cylinder_height_m": 1.350000023841858, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.07999999821186066, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.27000001072883606, + "collision_height_m": 0.5400000214576721, + "collision_head_radius_m": 0.2160000056028366, + "movement_type": 1, + "movement_timer_s": 6, + "jump_time_s": 1.25, + "attack_timer_s": 17 + }, + "stats": { + "base_stamina": 120, + "base_attack": 200, + "base_defense": 154, + "dodge_energy_delta": 0 + }, + "quick_moves": [205, 206], + "cinematic_moves": [123, 77, 78], + "animation_time": [2.233299970626831, 0.666700005531311, 2, 2, 0, 2.6666998863220215, 1, 1.1333329677581787], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.800000011920929, + "pokedex_weight_kg": 30, + "parent_pokemon_id": 25, + "height_std_dev": 0.10000000149011612, + "weight_std_dev": 3.75, + "km_distance_to_hatch": 0, + "family_id": 25, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0027_POKEMON_SANDSHREW", + "pokemon_settings": { + "pokemon_id": 27, + "model_scale": 1.2899999618530273, + "type": 5, + "type_2": 0, + "camera": { + "disk_radius_m": 0.4837999939918518, + "cylinder_radius_m": 0.32249999046325684, + "cylinder_height_m": 0.7739999890327454, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.257999986410141, + "collision_height_m": 0.48374998569488525, + "collision_head_radius_m": 0.19349999725818634, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 1, + "attack_timer_s": 23 + }, + "stats": { + "base_stamina": 100, + "base_attack": 90, + "base_defense": 114, + "dodge_energy_delta": 0 + }, + "quick_moves": [220, 216], + "cinematic_moves": [26, 64, 63], + "animation_time": [1.7999999523162842, 0.666700005531311, 1.4666999578475952, 1.666700005531311, 0, 2.6666998863220215, 1, 0], + "evolution_ids": [28], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.6000000238418579, + "pokedex_weight_kg": 12, + "parent_pokemon_id": 0, + "height_std_dev": 0.07500000298023224, + "weight_std_dev": 1.5, + "km_distance_to_hatch": 0, + "family_id": 27, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0028_MOVE_CROSS_CHOP", + "move_settings": { + "movement_id": 28, + "animation_id": 5, + "pokemon_type": 2, + "power": 60, + "accuracy_chance": 1, + "critical_chance": 0.25, + "heal_scalar": 0, + "stamina_loss_scalar": 0.10000000149011612, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "cross_chop", + "duration_ms": 2000, + "damage_window_start_ms": 1500, + "damage_window_end_ms": 1800, + "energy_delta": -100 + } + }, { + "template_id": "V0028_POKEMON_SANDSLASH", + "pokemon_settings": { + "pokemon_id": 28, + "model_scale": 1, + "type": 5, + "type_2": 0, + "camera": { + "disk_radius_m": 0.6000000238418579, + "cylinder_radius_m": 0.4000000059604645, + "cylinder_height_m": 1, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.3499999940395355, + "collision_height_m": 0.8999999761581421, + "collision_head_radius_m": 0.3499999940395355, + "movement_type": 1, + "movement_timer_s": 11, + "jump_time_s": 1, + "attack_timer_s": 4 + }, + "stats": { + "base_stamina": 150, + "base_attack": 150, + "base_defense": 172, + "dodge_energy_delta": 0 + }, + "quick_moves": [228, 216], + "cinematic_moves": [31, 63, 95], + "animation_time": [1.733299970626831, 0.666700005531311, 1.666700005531311, 1.666700005531311, 0, 2, 1.600000023841858, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1, + "pokedex_weight_kg": 29.5, + "parent_pokemon_id": 27, + "height_std_dev": 0.125, + "weight_std_dev": 3.6875, + "km_distance_to_hatch": 0, + "family_id": 27, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0029_POKEMON_NIDORAN", + "pokemon_settings": { + "pokemon_id": 29, + "model_scale": 1.4800000190734863, + "type": 4, + "type_2": 0, + "camera": { + "disk_radius_m": 0.5550000071525574, + "cylinder_radius_m": 0.3700000047683716, + "cylinder_height_m": 0.6660000085830688, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.15000000596046448, + "collision_radius_m": 0.1850000023841858, + "collision_height_m": 0.3700000047683716, + "collision_head_radius_m": 0.1850000023841858, + "movement_type": 1, + "movement_timer_s": 29, + "jump_time_s": 1.25, + "attack_timer_s": 10 + }, + "stats": { + "base_stamina": 110, + "base_attack": 100, + "base_defense": 104, + "dodge_energy_delta": 0 + }, + "quick_moves": [202, 236], + "cinematic_moves": [50, 131, 90], + "animation_time": [1.333299994468689, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 1.666700005531311, 2.1333000659942627, 0], + "evolution_ids": [30], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.4000000059604645, + "pokedex_weight_kg": 7, + "parent_pokemon_id": 0, + "height_std_dev": 0.05000000074505806, + "weight_std_dev": 0.875, + "km_distance_to_hatch": 0, + "family_id": 29, + "candy_to_evolve": 25 + } + }, { + "template_id": "V0030_MOVE_PSYBEAM", + "move_settings": { + "movement_id": 30, + "animation_id": 5, + "pokemon_type": 14, + "power": 40, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.06499999761581421, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "psybeam", + "duration_ms": 3800, + "damage_window_start_ms": 2300, + "damage_window_end_ms": 3600, + "energy_delta": -25 + } + }, { + "template_id": "V0030_POKEMON_NIDORINA", + "pokemon_settings": { + "pokemon_id": 30, + "model_scale": 1.1699999570846558, + "type": 4, + "type_2": 0, + "camera": { + "disk_radius_m": 0.6581000089645386, + "cylinder_radius_m": 0.43880000710487366, + "cylinder_height_m": 0.8774998784065247, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.20000000298023224, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.29249998927116394, + "collision_height_m": 0.5849999785423279, + "collision_head_radius_m": 0.17550000548362732, + "movement_type": 1, + "movement_timer_s": 23, + "jump_time_s": 1, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 140, + "base_attack": 132, + "base_defense": 136, + "dodge_energy_delta": 0 + }, + "quick_moves": [202, 236], + "cinematic_moves": [50, 26, 90], + "animation_time": [1.666700005531311, 0.666700005531311, 1.766700029373169, 1.4666999578475952, 0, 2, 1.333299994468689, 0], + "evolution_ids": [31], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.800000011920929, + "pokedex_weight_kg": 20, + "parent_pokemon_id": 29, + "height_std_dev": 0.10000000149011612, + "weight_std_dev": 2.5, + "km_distance_to_hatch": 0, + "family_id": 29, + "candy_to_evolve": 100 + } + }, { + "template_id": "V0031_MOVE_EARTHQUAKE", + "move_settings": { + "movement_id": 31, + "animation_id": 5, + "pokemon_type": 5, + "power": 100, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.10000000149011612, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "earthquake", + "duration_ms": 4200, + "damage_window_start_ms": 2000, + "damage_window_end_ms": 3950, + "energy_delta": -100 + } + }, { + "template_id": "V0031_POKEMON_NIDOQUEEN", + "pokemon_settings": { + "pokemon_id": 31, + "model_scale": 0.9100000262260437, + "type": 4, + "type_2": 5, + "camera": { + "disk_radius_m": 0.614300012588501, + "cylinder_radius_m": 0.40950000286102295, + "cylinder_height_m": 1.1829999685287476, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.10000000149011612, + "base_flee_rate": 0.05000000074505806, + "collision_radius_m": 0.45500001311302185, + "collision_height_m": 0.7962499856948853, + "collision_head_radius_m": 0.22750000655651093, + "movement_type": 1, + "movement_timer_s": 14, + "jump_time_s": 1, + "attack_timer_s": 5 + }, + "stats": { + "base_stamina": 180, + "base_attack": 184, + "base_defense": 190, + "dodge_energy_delta": 0 + }, + "quick_moves": [224, 202], + "cinematic_moves": [31, 91, 32], + "animation_time": [1.833299994468689, 0.666700005531311, 1.666700005531311, 1.666700005531311, 0, 2, 1.666700005531311, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.2999999523162842, + "pokedex_weight_kg": 60, + "parent_pokemon_id": 30, + "height_std_dev": 0.16249999403953552, + "weight_std_dev": 7.5, + "km_distance_to_hatch": 0, + "family_id": 29, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0032_MOVE_STONE_EDGE", + "move_settings": { + "movement_id": 32, + "animation_id": 5, + "pokemon_type": 6, + "power": 80, + "accuracy_chance": 1, + "critical_chance": 0.5, + "heal_scalar": 0, + "stamina_loss_scalar": 0.10000000149011612, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "stone_edge", + "duration_ms": 3100, + "damage_window_start_ms": 1400, + "damage_window_end_ms": 1800, + "energy_delta": -100 + } + }, { + "template_id": "V0032_POKEMON_NIDORAN", + "pokemon_settings": { + "pokemon_id": 32, + "model_scale": 1.2599999904632568, + "type": 4, + "type_2": 0, + "camera": { + "disk_radius_m": 0.7088000178337097, + "cylinder_radius_m": 0.4724999964237213, + "cylinder_height_m": 0.7559999823570251, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.15000000596046448, + "collision_radius_m": 0.25200000405311584, + "collision_height_m": 0.3149999976158142, + "collision_head_radius_m": 0.1574999988079071, + "movement_type": 1, + "movement_timer_s": 29, + "jump_time_s": 1, + "attack_timer_s": 10 + }, + "stats": { + "base_stamina": 92, + "base_attack": 110, + "base_defense": 94, + "dodge_energy_delta": 0 + }, + "quick_moves": [211, 236], + "cinematic_moves": [126, 131, 90], + "animation_time": [1.833299994468689, 0.666700005531311, 1.666700005531311, 1.666700005531311, 0, 2, 1.666700005531311, 0], + "evolution_ids": [33], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.5, + "pokedex_weight_kg": 9, + "parent_pokemon_id": 0, + "height_std_dev": 0.0625, + "weight_std_dev": 1.125, + "km_distance_to_hatch": 0, + "family_id": 32, + "candy_to_evolve": 25 + } + }, { + "template_id": "V0033_MOVE_ICE_PUNCH", + "move_settings": { + "movement_id": 33, + "animation_id": 5, + "pokemon_type": 15, + "power": 45, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07500000298023224, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "ice_punch", + "duration_ms": 3500, + "damage_window_start_ms": 2100, + "damage_window_end_ms": 3200, + "energy_delta": -33 + } + }, { + "template_id": "V0033_POKEMON_NIDORINO", + "pokemon_settings": { + "pokemon_id": 33, + "model_scale": 0.9900000095367432, + "type": 4, + "type_2": 0, + "camera": { + "disk_radius_m": 0.7425000071525574, + "cylinder_radius_m": 0.4950000047683716, + "cylinder_height_m": 0.7919999957084656, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.20000000298023224, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.296999990940094, + "collision_height_m": 0.593999981880188, + "collision_head_radius_m": 0.2475000023841858, + "movement_type": 1, + "movement_timer_s": 23, + "jump_time_s": 1, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 122, + "base_attack": 142, + "base_defense": 128, + "dodge_energy_delta": 0 + }, + "quick_moves": [224, 236], + "cinematic_moves": [126, 26, 90], + "animation_time": [1.7999999523162842, 0.666700005531311, 1.666700005531311, 1.733299970626831, 0, 1.666700005531311, 1.666700005531311, 0], + "evolution_ids": [34], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.8999999761581421, + "pokedex_weight_kg": 19.5, + "parent_pokemon_id": 32, + "height_std_dev": 0.11249999701976776, + "weight_std_dev": 2.4375, + "km_distance_to_hatch": 0, + "family_id": 32, + "candy_to_evolve": 100 + } + }, { + "template_id": "V0034_MOVE_HEART_STAMP", + "move_settings": { + "movement_id": 34, + "animation_id": 5, + "pokemon_type": 14, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.05999999865889549, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "heart_stamp", + "duration_ms": 2550, + "damage_window_start_ms": 1950, + "damage_window_end_ms": 2250, + "energy_delta": -25 + } + }, { + "template_id": "V0034_POKEMON_NIDOKING", + "pokemon_settings": { + "pokemon_id": 34, + "model_scale": 0.8700000047683716, + "type": 4, + "type_2": 5, + "camera": { + "disk_radius_m": 0.8222000002861023, + "cylinder_radius_m": 0.5480999946594238, + "cylinder_height_m": 1.3049999475479126, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.10000000149011612, + "base_flee_rate": 0.05000000074505806, + "collision_radius_m": 0.5480999946594238, + "collision_height_m": 0.8700000047683716, + "collision_head_radius_m": 0.2740499973297119, + "movement_type": 1, + "movement_timer_s": 14, + "jump_time_s": 1, + "attack_timer_s": 5 + }, + "stats": { + "base_stamina": 162, + "base_attack": 204, + "base_defense": 170, + "dodge_energy_delta": 0 + }, + "quick_moves": [224, 200], + "cinematic_moves": [31, 91, 22], + "animation_time": [2, 0.666700005531311, 2, 1.5, 0, 2.1666998863220215, 1.399999976158142, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.399999976158142, + "pokedex_weight_kg": 62, + "parent_pokemon_id": 33, + "height_std_dev": 0.17499999701976776, + "weight_std_dev": 7.75, + "km_distance_to_hatch": 0, + "family_id": 32, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0035_MOVE_DISCHARGE", + "move_settings": { + "movement_id": 35, + "animation_id": 5, + "pokemon_type": 13, + "power": 35, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07999999821186066, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "discharge", + "duration_ms": 2500, + "damage_window_start_ms": 1600, + "damage_window_end_ms": 2300, + "energy_delta": -33 + } + }, { + "template_id": "V0035_POKEMON_CLEFAIRY", + "pokemon_settings": { + "pokemon_id": 35, + "model_scale": 1.25, + "type": 18, + "type_2": 0, + "camera": { + "disk_radius_m": 0.675000011920929, + "cylinder_radius_m": 0.44999998807907104, + "cylinder_height_m": 0.75, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.23999999463558197, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.3125, + "collision_height_m": 0.75, + "collision_head_radius_m": 0.22499999403953552, + "movement_type": 0, + "movement_timer_s": 8, + "jump_time_s": 1.25, + "attack_timer_s": 23 + }, + "stats": { + "base_stamina": 140, + "base_attack": 116, + "base_defense": 124, + "dodge_energy_delta": 0 + }, + "quick_moves": [222, 234], + "cinematic_moves": [84, 131, 87], + "animation_time": [2, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 2, 1.333299994468689, 1.6666669845581055], + "evolution_ids": [36], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.6000000238418579, + "pokedex_weight_kg": 7.5, + "parent_pokemon_id": 0, + "height_std_dev": 0.07500000298023224, + "weight_std_dev": 0.9375, + "km_distance_to_hatch": 0, + "family_id": 35, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0036_MOVE_FLASH_CANNON", + "move_settings": { + "movement_id": 36, + "animation_id": 5, + "pokemon_type": 9, + "power": 60, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07999999821186066, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "flash_cannon", + "duration_ms": 3900, + "damage_window_start_ms": 2400, + "damage_window_end_ms": 3500, + "energy_delta": -33 + } + }, { + "template_id": "V0036_POKEMON_CLEFABLE", + "pokemon_settings": { + "pokemon_id": 36, + "model_scale": 0.8899999856948853, + "type": 18, + "type_2": 0, + "camera": { + "disk_radius_m": 1.1680999994277954, + "cylinder_radius_m": 0.7120000123977661, + "cylinder_height_m": 1.4462499618530273, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.07999999821186066, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.4449999928474426, + "collision_height_m": 1.1124999523162842, + "collision_head_radius_m": 0.4449999928474426, + "movement_type": 1, + "movement_timer_s": 4, + "jump_time_s": 1.25, + "attack_timer_s": 11 + }, + "stats": { + "base_stamina": 190, + "base_attack": 178, + "base_defense": 178, + "dodge_energy_delta": 0 + }, + "quick_moves": [222, 234], + "cinematic_moves": [86, 108, 87], + "animation_time": [2.3333001136779785, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 2.6666998863220215, 1.333299994468689, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.2999999523162842, + "pokedex_weight_kg": 40, + "parent_pokemon_id": 35, + "height_std_dev": 0.16249999403953552, + "weight_std_dev": 5, + "km_distance_to_hatch": 0, + "family_id": 35, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0037_POKEMON_VULPIX", + "pokemon_settings": { + "pokemon_id": 37, + "model_scale": 1.2599999904632568, + "type": 10, + "type_2": 0, + "camera": { + "disk_radius_m": 0.8504999876022339, + "cylinder_radius_m": 0.5669999718666077, + "cylinder_height_m": 0.7559999823570251, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.23999999463558197, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.3149999976158142, + "collision_height_m": 0.6299999952316284, + "collision_head_radius_m": 0.25200000405311584, + "movement_type": 1, + "movement_timer_s": 10, + "jump_time_s": 1, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 76, + "base_attack": 106, + "base_defense": 118, + "dodge_energy_delta": 0 + }, + "quick_moves": [219, 209], + "cinematic_moves": [131, 24, 101], + "animation_time": [1.666700005531311, 0.666700005531311, 1.666700005531311, 1.600000023841858, 0, 2, 1.333299994468689, 2.200000047683716], + "evolution_ids": [38], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.6000000238418579, + "pokedex_weight_kg": 9.899999618530273, + "parent_pokemon_id": 0, + "height_std_dev": 0.07500000298023224, + "weight_std_dev": 1.2374999523162842, + "km_distance_to_hatch": 0, + "family_id": 37, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0038_MOVE_DRILL_PECK", + "move_settings": { + "movement_id": 38, + "animation_id": 5, + "pokemon_type": 3, + "power": 40, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07999999821186066, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "drill_peck", + "duration_ms": 2700, + "damage_window_start_ms": 1600, + "damage_window_end_ms": 2500, + "energy_delta": -33 + } + }, { + "template_id": "V0038_POKEMON_NINETALES", + "pokemon_settings": { + "pokemon_id": 38, + "model_scale": 0.9599999785423279, + "type": 10, + "type_2": 0, + "camera": { + "disk_radius_m": 1.2960000038146973, + "cylinder_radius_m": 0.8640000224113464, + "cylinder_height_m": 1.2000000476837158, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.07999999821186066, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.36000001430511475, + "collision_height_m": 0.9599999785423279, + "collision_head_radius_m": 0.23999999463558197, + "movement_type": 1, + "movement_timer_s": 5, + "jump_time_s": 1.25, + "attack_timer_s": 14 + }, + "stats": { + "base_stamina": 146, + "base_attack": 176, + "base_defense": 194, + "dodge_energy_delta": 0 + }, + "quick_moves": [238, 209], + "cinematic_moves": [42, 24, 103], + "animation_time": [2.6666998863220215, 0.666700005531311, 2, 2, 0, 2.1666998863220215, 2, 2], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.100000023841858, + "pokedex_weight_kg": 19.899999618530273, + "parent_pokemon_id": 37, + "height_std_dev": 0.13750000298023224, + "weight_std_dev": 2.487499952316284, + "km_distance_to_hatch": 0, + "family_id": 37, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0039_MOVE_ICE_BEAM", + "move_settings": { + "movement_id": 39, + "animation_id": 5, + "pokemon_type": 15, + "power": 65, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.09000000357627869, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "ice_beam", + "duration_ms": 3650, + "damage_window_start_ms": 2150, + "damage_window_end_ms": 3500, + "energy_delta": -50 + } + }, { + "template_id": "V0039_POKEMON_JIGGLYPUFF", + "pokemon_settings": { + "pokemon_id": 39, + "model_scale": 1.2799999713897705, + "type": 1, + "type_2": 18, + "camera": { + "disk_radius_m": 0.7680000066757202, + "cylinder_radius_m": 0.5120000243186951, + "cylinder_height_m": 0.9599999785423279, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.3199999928474426, + "collision_height_m": 0.6399999856948853, + "collision_head_radius_m": 0.25600001215934753, + "movement_type": 0, + "movement_timer_s": 10, + "jump_time_s": 3, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 230, + "base_attack": 98, + "base_defense": 54, + "dodge_energy_delta": 0 + }, + "quick_moves": [222, 238], + "cinematic_moves": [84, 131, 88], + "animation_time": [2.6666998863220215, 0.666700005531311, 1.666700005531311, 3.6666998863220215, 0, 2.6666998863220215, 1.666700005531311, 2], + "evolution_ids": [40], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.5, + "pokedex_weight_kg": 5.5, + "parent_pokemon_id": 0, + "height_std_dev": 0.0625, + "weight_std_dev": 0.6875, + "km_distance_to_hatch": 0, + "family_id": 39, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0040_MOVE_BLIZZARD", + "move_settings": { + "movement_id": 40, + "animation_id": 5, + "pokemon_type": 15, + "power": 100, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.10999999940395355, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "blizzard", + "duration_ms": 3900, + "damage_window_start_ms": 3600, + "damage_window_end_ms": 3600, + "energy_delta": -100 + } + }, { + "template_id": "V0040_POKEMON_WIGGLYTUFF", + "pokemon_settings": { + "pokemon_id": 40, + "model_scale": 0.8899999856948853, + "type": 1, + "type_2": 18, + "camera": { + "disk_radius_m": 1.0012999773025513, + "cylinder_radius_m": 0.4449999928474426, + "cylinder_height_m": 1.2237499952316284, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.4000000059604645 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.35600000619888306, + "collision_height_m": 0.8899999856948853, + "collision_head_radius_m": 0.2224999964237213, + "movement_type": 1, + "movement_timer_s": 4, + "jump_time_s": 1.25, + "attack_timer_s": 11 + }, + "stats": { + "base_stamina": 280, + "base_attack": 168, + "base_defense": 108, + "dodge_energy_delta": 0 + }, + "quick_moves": [222, 238], + "cinematic_moves": [86, 14, 88], + "animation_time": [1.666700005531311, 0.666700005531311, 1.6332999467849731, 1.833299994468689, 0, 1.833299994468689, 2, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1, + "pokedex_weight_kg": 12, + "parent_pokemon_id": 39, + "height_std_dev": 0.125, + "weight_std_dev": 1.5, + "km_distance_to_hatch": 0, + "family_id": 39, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0041_POKEMON_ZUBAT", + "pokemon_settings": { + "pokemon_id": 41, + "model_scale": 1.0700000524520874, + "type": 4, + "type_2": 3, + "camera": { + "disk_radius_m": 0.9629999995231628, + "cylinder_radius_m": 0.6420000195503235, + "cylinder_height_m": 0.6955000162124634, + "cylinder_ground_m": 0.5350000262260437, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.20000000298023224, + "collision_radius_m": 0.05350000038743019, + "collision_height_m": 0.05350000038743019, + "collision_head_radius_m": 0.16050000488758087, + "movement_type": 5, + "movement_timer_s": 10, + "jump_time_s": 1, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 80, + "base_attack": 88, + "base_defense": 90, + "dodge_energy_delta": 0 + }, + "quick_moves": [219, 202], + "cinematic_moves": [50, 121, 90], + "animation_time": [1.333299994468689, 0.666700005531311, 1.333299994468689, 0.666700005531311, 0, 1.5, 1.333299994468689, 0], + "evolution_ids": [42], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.800000011920929, + "pokedex_weight_kg": 7.5, + "parent_pokemon_id": 0, + "height_std_dev": 0.10000000149011612, + "weight_std_dev": 0.9375, + "km_distance_to_hatch": 0, + "family_id": 41, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0042_MOVE_HEAT_WAVE", + "move_settings": { + "movement_id": 42, + "animation_id": 5, + "pokemon_type": 10, + "power": 80, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.0949999988079071, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "heat_wave", + "duration_ms": 3800, + "damage_window_start_ms": 3000, + "damage_window_end_ms": 3400, + "energy_delta": -100 + } + }, { + "template_id": "V0042_POKEMON_GOLBAT", + "pokemon_settings": { + "pokemon_id": 42, + "model_scale": 0.7099999785423279, + "type": 4, + "type_2": 3, + "camera": { + "disk_radius_m": 1.597499966621399, + "cylinder_radius_m": 0.75, + "cylinder_height_m": 1.2424999475479126, + "cylinder_ground_m": 1.065000057220459, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.03550000116229057, + "collision_height_m": 0.03550000116229057, + "collision_head_radius_m": 0.35499998927116394, + "movement_type": 5, + "movement_timer_s": 6, + "jump_time_s": 1, + "attack_timer_s": 17 + }, + "stats": { + "base_stamina": 150, + "base_attack": 164, + "base_defense": 164, + "dodge_energy_delta": 0 + }, + "quick_moves": [210, 202], + "cinematic_moves": [50, 121, 69], + "animation_time": [1.5, 0.666700005531311, 1.333299994468689, 0.666700005531311, 0, 2, 2, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.600000023841858, + "pokedex_weight_kg": 55, + "parent_pokemon_id": 41, + "height_std_dev": 0.20000000298023224, + "weight_std_dev": 6.875, + "km_distance_to_hatch": 0, + "family_id": 41, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0043_POKEMON_ODDISH", + "pokemon_settings": { + "pokemon_id": 43, + "model_scale": 1.350000023841858, + "type": 12, + "type_2": 4, + "camera": { + "disk_radius_m": 0.6075000166893005, + "cylinder_radius_m": 0.4050000011920929, + "cylinder_height_m": 0.8100001215934753, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.47999998927116394, + "base_flee_rate": 0.15000000596046448, + "collision_radius_m": 0.20250000059604645, + "collision_height_m": 0.5062500238418579, + "collision_head_radius_m": 0.20250000059604645, + "movement_type": 1, + "movement_timer_s": 10, + "jump_time_s": 1, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 90, + "base_attack": 134, + "base_defense": 130, + "dodge_energy_delta": 0 + }, + "quick_moves": [215, 225], + "cinematic_moves": [59, 90, 87], + "animation_time": [1.4666999578475952, 0.666700005531311, 1.666700005531311, 1.666700005531311, 0, 2.5, 1.666700005531311, 0], + "evolution_ids": [44], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.5, + "pokedex_weight_kg": 5.400000095367432, + "parent_pokemon_id": 0, + "height_std_dev": 0.0625, + "weight_std_dev": 0.675000011920929, + "km_distance_to_hatch": 0, + "family_id": 43, + "candy_to_evolve": 25 + } + }, { + "template_id": "V0044_POKEMON_GLOOM", + "pokemon_settings": { + "pokemon_id": 44, + "model_scale": 1.100000023841858, + "type": 12, + "type_2": 4, + "camera": { + "disk_radius_m": 0.7425000071525574, + "cylinder_radius_m": 0.4950000047683716, + "cylinder_height_m": 0.880000114440918, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.23999999463558197, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.4124999940395355, + "collision_height_m": 0.880000114440918, + "collision_head_radius_m": 0.2475000023841858, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 1, + "attack_timer_s": 23 + }, + "stats": { + "base_stamina": 120, + "base_attack": 162, + "base_defense": 158, + "dodge_energy_delta": 0 + }, + "quick_moves": [215, 225], + "cinematic_moves": [47, 90, 87], + "animation_time": [1.833299994468689, 0.666700005531311, 1.666700005531311, 1.666700005531311, 0, 1.666700005531311, 1.266700029373169, 0], + "evolution_ids": [45], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.800000011920929, + "pokedex_weight_kg": 8.600000381469727, + "parent_pokemon_id": 43, + "height_std_dev": 0.10000000149011612, + "weight_std_dev": 1.0750000476837158, + "km_distance_to_hatch": 0, + "family_id": 43, + "candy_to_evolve": 100 + } + }, { + "template_id": "V0045_MOVE_AERIAL_ACE", + "move_settings": { + "movement_id": 45, + "animation_id": 5, + "pokemon_type": 3, + "power": 30, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.05999999865889549, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "aerial_ace", + "duration_ms": 2900, + "damage_window_start_ms": 2000, + "damage_window_end_ms": 2600, + "energy_delta": -25 + } + }, { + "template_id": "V0045_POKEMON_VILEPLUME", + "pokemon_settings": { + "pokemon_id": 45, + "model_scale": 0.9200000166893005, + "type": 12, + "type_2": 4, + "camera": { + "disk_radius_m": 1.2419999837875366, + "cylinder_radius_m": 0.828000009059906, + "cylinder_height_m": 1.1959999799728394, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.11999999731779099, + "base_flee_rate": 0.05000000074505806, + "collision_radius_m": 1.0119999647140503, + "collision_height_m": 1.1959999799728394, + "collision_head_radius_m": 0.5519999861717224, + "movement_type": 1, + "movement_timer_s": 11, + "jump_time_s": 1, + "attack_timer_s": 4 + }, + "stats": { + "base_stamina": 150, + "base_attack": 202, + "base_defense": 190, + "dodge_energy_delta": 0 + }, + "quick_moves": [215, 225], + "cinematic_moves": [47, 116, 87], + "animation_time": [2.1666998863220215, 0.666700005531311, 1.666700005531311, 1.5, 0, 2.1666998863220215, 0.96670001745224, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.2000000476837158, + "pokedex_weight_kg": 18.600000381469727, + "parent_pokemon_id": 44, + "height_std_dev": 0.15000000596046448, + "weight_std_dev": 2.325000047683716, + "km_distance_to_hatch": 0, + "family_id": 43, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0046_MOVE_DRILL_RUN", + "move_settings": { + "movement_id": 46, + "animation_id": 5, + "pokemon_type": 5, + "power": 50, + "accuracy_chance": 1, + "critical_chance": 0.25, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07999999821186066, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "drill_run", + "duration_ms": 3400, + "damage_window_start_ms": 2100, + "damage_window_end_ms": 2800, + "energy_delta": -33 + } + }, { + "template_id": "V0046_POKEMON_PARAS", + "pokemon_settings": { + "pokemon_id": 46, + "model_scale": 1.2799999713897705, + "type": 7, + "type_2": 12, + "camera": { + "disk_radius_m": 0.5759999752044678, + "cylinder_radius_m": 0.3840000033378601, + "cylinder_height_m": 0.4480000138282776, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.3199999928474426, + "base_flee_rate": 0.15000000596046448, + "collision_radius_m": 0.19200000166893005, + "collision_height_m": 0.3199999928474426, + "collision_head_radius_m": 0.19200000166893005, + "movement_type": 1, + "movement_timer_s": 29, + "jump_time_s": 1.100000023841858, + "attack_timer_s": 10 + }, + "stats": { + "base_stamina": 70, + "base_attack": 122, + "base_defense": 120, + "dodge_energy_delta": 0 + }, + "quick_moves": [220, 201], + "cinematic_moves": [89, 100, 59], + "animation_time": [1.666700005531311, 0.666700005531311, 1.766700029373169, 1.6332999467849731, 0, 2.3333001136779785, 1.333299994468689, 1.5333329439163208], + "evolution_ids": [47], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.30000001192092896, + "pokedex_weight_kg": 5.400000095367432, + "parent_pokemon_id": 0, + "height_std_dev": 0.03750000149011612, + "weight_std_dev": 0.675000011920929, + "km_distance_to_hatch": 0, + "family_id": 46, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0047_MOVE_PETAL_BLIZZARD", + "move_settings": { + "movement_id": 47, + "animation_id": 5, + "pokemon_type": 12, + "power": 65, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.09000000357627869, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "petal_blizzard", + "duration_ms": 3200, + "damage_window_start_ms": 2100, + "damage_window_end_ms": 3100, + "energy_delta": -50 + } + }, { + "template_id": "V0047_POKEMON_PARASECT", + "pokemon_settings": { + "pokemon_id": 47, + "model_scale": 1.0099999904632568, + "type": 7, + "type_2": 12, + "camera": { + "disk_radius_m": 0.9469000101089478, + "cylinder_radius_m": 0.6312999725341797, + "cylinder_height_m": 1.0099999904632568, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.4544999897480011, + "collision_height_m": 1.0099999904632568, + "collision_head_radius_m": 0.5049999952316284, + "movement_type": 1, + "movement_timer_s": 17, + "jump_time_s": 1.25, + "attack_timer_s": 6 + }, + "stats": { + "base_stamina": 120, + "base_attack": 162, + "base_defense": 170, + "dodge_energy_delta": 0 + }, + "quick_moves": [201, 200], + "cinematic_moves": [89, 100, 116], + "animation_time": [1.666700005531311, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 1.666700005531311, 2, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1, + "pokedex_weight_kg": 29.5, + "parent_pokemon_id": 46, + "height_std_dev": 0.125, + "weight_std_dev": 3.6875, + "km_distance_to_hatch": 0, + "family_id": 46, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0048_MOVE_MEGA_DRAIN", + "move_settings": { + "movement_id": 48, + "animation_id": 5, + "pokemon_type": 12, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0.5, + "stamina_loss_scalar": 0.03999999910593033, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "mega_drain", + "duration_ms": 3200, + "damage_window_start_ms": 1400, + "damage_window_end_ms": 2600, + "energy_delta": -20 + } + }, { + "template_id": "V0048_POKEMON_VENONAT", + "pokemon_settings": { + "pokemon_id": 48, + "model_scale": 0.7099999785423279, + "type": 7, + "type_2": 4, + "camera": { + "disk_radius_m": 0.798799991607666, + "cylinder_radius_m": 0.5325000286102295, + "cylinder_height_m": 1.1714999675750732, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.15000000596046448, + "collision_radius_m": 0.35499998927116394, + "collision_height_m": 0.7099999785423279, + "collision_head_radius_m": 0.26625001430511475, + "movement_type": 1, + "movement_timer_s": 10, + "jump_time_s": 1.25, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 120, + "base_attack": 108, + "base_defense": 118, + "dodge_energy_delta": 0 + }, + "quick_moves": [201, 235], + "cinematic_moves": [50, 30, 99], + "animation_time": [2, 0.666700005531311, 1.666700005531311, 2, 0, 2, 2, 0], + "evolution_ids": [49], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1, + "pokedex_weight_kg": 30, + "parent_pokemon_id": 0, + "height_std_dev": 0.125, + "weight_std_dev": 3.75, + "km_distance_to_hatch": 0, + "family_id": 48, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0049_MOVE_BUG_BUZZ", + "move_settings": { + "movement_id": 49, + "animation_id": 5, + "pokemon_type": 7, + "power": 75, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.09000000357627869, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "bug_buzz", + "duration_ms": 4250, + "damage_window_start_ms": 2600, + "damage_window_end_ms": 4100, + "energy_delta": -50 + } + }, { + "template_id": "V0049_POKEMON_VENOMOTH", + "pokemon_settings": { + "pokemon_id": 49, + "model_scale": 0.7200000286102295, + "type": 7, + "type_2": 4, + "camera": { + "disk_radius_m": 0.8640000224113464, + "cylinder_radius_m": 0.5759999752044678, + "cylinder_height_m": 1.0800000429153442, + "cylinder_ground_m": 0.36000001430511475, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.36000001430511475, + "collision_height_m": 0.7200000286102295, + "collision_head_radius_m": 0.2879999876022339, + "movement_type": 5, + "movement_timer_s": 6, + "jump_time_s": 1, + "attack_timer_s": 17 + }, + "stats": { + "base_stamina": 140, + "base_attack": 172, + "base_defense": 154, + "dodge_energy_delta": 0 + }, + "quick_moves": [201, 235], + "cinematic_moves": [50, 108, 49], + "animation_time": [0, 0.6000000238418579, 1.666700005531311, 0.6000000238418579, 0, 2.1333000659942627, 1.600000023841858, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.5, + "pokedex_weight_kg": 12.5, + "parent_pokemon_id": 48, + "height_std_dev": 0.1875, + "weight_std_dev": 1.5625, + "km_distance_to_hatch": 0, + "family_id": 48, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0050_MOVE_POISON_FANG", + "move_settings": { + "movement_id": 50, + "animation_id": 5, + "pokemon_type": 4, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.05000000074505806, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "poison_fang", + "duration_ms": 2400, + "damage_window_start_ms": 1650, + "damage_window_end_ms": 1850, + "energy_delta": -20 + } + }, { + "template_id": "V0050_POKEMON_DIGLETT", + "pokemon_settings": { + "pokemon_id": 50, + "model_scale": 2, + "type": 5, + "type_2": 0, + "camera": { + "disk_radius_m": 0.44999998807907104, + "cylinder_radius_m": 0.30000001192092896, + "cylinder_height_m": 0.4000000059604645, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.1599999964237213, + "collision_height_m": 0.4000000059604645, + "collision_head_radius_m": 0.18000000715255737, + "movement_type": 0, + "movement_timer_s": 29, + "jump_time_s": 0, + "attack_timer_s": 10 + }, + "stats": { + "base_stamina": 20, + "base_attack": 108, + "base_defense": 86, + "dodge_energy_delta": 0 + }, + "quick_moves": [216, 220], + "cinematic_moves": [26, 96, 63], + "animation_time": [1.4333000183105469, 0.666700005531311, 2, 0.8666999936103821, 0, 2.1666998863220215, 1.333299994468689, 1.3333330154418945], + "evolution_ids": [51], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.20000000298023224, + "pokedex_weight_kg": 0.800000011920929, + "parent_pokemon_id": 0, + "height_std_dev": 0.02500000037252903, + "weight_std_dev": 0.10000000149011612, + "km_distance_to_hatch": 0, + "family_id": 50, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0051_MOVE_NIGHT_SLASH", + "move_settings": { + "movement_id": 51, + "animation_id": 5, + "pokemon_type": 17, + "power": 30, + "accuracy_chance": 1, + "critical_chance": 0.25, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07000000029802322, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "night_slash", + "duration_ms": 2700, + "damage_window_start_ms": 2400, + "damage_window_end_ms": 2600, + "energy_delta": -25 + } + }, { + "template_id": "V0051_POKEMON_DUGTRIO", + "pokemon_settings": { + "pokemon_id": 51, + "model_scale": 1.1200000047683716, + "type": 5, + "type_2": 0, + "camera": { + "disk_radius_m": 1.0080000162124634, + "cylinder_radius_m": 0.671999990940094, + "cylinder_height_m": 0.8399999737739563, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.4480000138282776, + "collision_height_m": 0.8399999737739563, + "collision_head_radius_m": 0.335999995470047, + "movement_type": 0, + "movement_timer_s": 29, + "jump_time_s": 0, + "attack_timer_s": 10 + }, + "stats": { + "base_stamina": 70, + "base_attack": 148, + "base_defense": 140, + "dodge_energy_delta": 0 + }, + "quick_moves": [203, 216], + "cinematic_moves": [31, 96, 32], + "animation_time": [1.733299970626831, 0.666700005531311, 1.666700005531311, 0.8999999761581421, 0, 2.1333000659942627, 2, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.699999988079071, + "pokedex_weight_kg": 33.29999923706055, + "parent_pokemon_id": 50, + "height_std_dev": 0.08749999850988388, + "weight_std_dev": 4.162499904632568, + "km_distance_to_hatch": 0, + "family_id": 50, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0052_POKEMON_MEOWTH", + "pokemon_settings": { + "pokemon_id": 52, + "model_scale": 1.600000023841858, + "type": 1, + "type_2": 0, + "camera": { + "disk_radius_m": 0.6000000238418579, + "cylinder_radius_m": 0.4000000059604645, + "cylinder_height_m": 0.6399999856948853, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.15000000596046448, + "collision_radius_m": 0.12800000607967377, + "collision_height_m": 0.4000000059604645, + "collision_head_radius_m": 0.20000000298023224, + "movement_type": 1, + "movement_timer_s": 29, + "jump_time_s": 1, + "attack_timer_s": 10 + }, + "stats": { + "base_stamina": 80, + "base_attack": 104, + "base_defense": 94, + "dodge_energy_delta": 0 + }, + "quick_moves": [220, 202], + "cinematic_moves": [51, 16, 131], + "animation_time": [2, 0.666700005531311, 1.733299970626831, 1.5, 0, 2, 1.399999976158142, 2], + "evolution_ids": [53], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.4000000059604645, + "pokedex_weight_kg": 4.199999809265137, + "parent_pokemon_id": 0, + "height_std_dev": 0.05000000074505806, + "weight_std_dev": 0.5249999761581421, + "km_distance_to_hatch": 0, + "family_id": 52, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0053_MOVE_BUBBLE_BEAM", + "move_settings": { + "movement_id": 53, + "animation_id": 5, + "pokemon_type": 11, + "power": 30, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.06499999761581421, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "bubble_beam", + "duration_ms": 2900, + "damage_window_start_ms": 2600, + "damage_window_end_ms": 2800, + "energy_delta": -25 + } + }, { + "template_id": "V0053_POKEMON_PERSIAN", + "pokemon_settings": { + "pokemon_id": 53, + "model_scale": 0.8199999928474426, + "type": 1, + "type_2": 0, + "camera": { + "disk_radius_m": 0.7994999885559082, + "cylinder_radius_m": 0.5329999923706055, + "cylinder_height_m": 0.9020000100135803, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.328000009059906, + "collision_height_m": 0.6150000095367432, + "collision_head_radius_m": 0.164000004529953, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 1.25, + "attack_timer_s": 23 + }, + "stats": { + "base_stamina": 130, + "base_attack": 156, + "base_defense": 146, + "dodge_energy_delta": 0 + }, + "quick_moves": [220, 238], + "cinematic_moves": [51, 65, 88], + "animation_time": [2, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 1.666700005531311, 1.666700005531311, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1, + "pokedex_weight_kg": 32, + "parent_pokemon_id": 52, + "height_std_dev": 0.125, + "weight_std_dev": 4, + "km_distance_to_hatch": 0, + "family_id": 52, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0054_MOVE_SUBMISSION", + "move_settings": { + "movement_id": 54, + "animation_id": 5, + "pokemon_type": 2, + "power": 30, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07999999821186066, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "submission", + "duration_ms": 2100, + "damage_window_start_ms": 1850, + "damage_window_end_ms": 2000, + "energy_delta": -33 + } + }, { + "template_id": "V0054_POKEMON_PSYDUCK", + "pokemon_settings": { + "pokemon_id": 54, + "model_scale": 0.9700000286102295, + "type": 11, + "type_2": 0, + "camera": { + "disk_radius_m": 0.5455999970436096, + "cylinder_radius_m": 0.3637999892234802, + "cylinder_height_m": 0.9700000286102295, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.29100000858306885, + "collision_height_m": 0.606249988079071, + "collision_head_radius_m": 0.3395000100135803, + "movement_type": 1, + "movement_timer_s": 10, + "jump_time_s": 1, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 100, + "base_attack": 132, + "base_defense": 112, + "dodge_energy_delta": 0 + }, + "quick_moves": [230, 234], + "cinematic_moves": [30, 58, 28], + "animation_time": [1.833299994468689, 0.666700005531311, 1.666700005531311, 1.5, 0, 2.5999999046325684, 1.666700005531311, 0], + "evolution_ids": [55], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.800000011920929, + "pokedex_weight_kg": 19.600000381469727, + "parent_pokemon_id": 0, + "height_std_dev": 0.10000000149011612, + "weight_std_dev": 2.450000047683716, + "km_distance_to_hatch": 0, + "family_id": 54, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0055_POKEMON_GOLDUCK", + "pokemon_settings": { + "pokemon_id": 55, + "model_scale": 0.9300000071525574, + "type": 11, + "type_2": 0, + "camera": { + "disk_radius_m": 0.9764999747276306, + "cylinder_radius_m": 0.4650000035762787, + "cylinder_height_m": 1.3485000133514404, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.23250000178813934, + "collision_height_m": 0.8137500286102295, + "collision_head_radius_m": 0.23250000178813934, + "movement_type": 1, + "movement_timer_s": 5, + "jump_time_s": 1, + "attack_timer_s": 14 + }, + "stats": { + "base_stamina": 160, + "base_attack": 194, + "base_defense": 176, + "dodge_energy_delta": 0 + }, + "quick_moves": [230, 235], + "cinematic_moves": [108, 107, 39], + "animation_time": [1.666700005531311, 0.666700005531311, 1.666700005531311, 1.666700005531311, 0, 2, 1.666700005531311, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.7000000476837158, + "pokedex_weight_kg": 76.5999984741211, + "parent_pokemon_id": 54, + "height_std_dev": 0.21250000596046448, + "weight_std_dev": 9.574999809265137, + "km_distance_to_hatch": 0, + "family_id": 54, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0056_MOVE_LOW_SWEEP", + "move_settings": { + "movement_id": 56, + "animation_id": 5, + "pokemon_type": 2, + "power": 30, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.06499999761581421, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "low_sweep", + "duration_ms": 2250, + "damage_window_start_ms": 2000, + "damage_window_end_ms": 2150, + "energy_delta": -25 + } + }, { + "template_id": "V0056_POKEMON_MANKEY", + "pokemon_settings": { + "pokemon_id": 56, + "model_scale": 1.2899999618530273, + "type": 2, + "type_2": 0, + "camera": { + "disk_radius_m": 0.725600004196167, + "cylinder_radius_m": 0.4837999939918518, + "cylinder_height_m": 0.8062499761581421, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.19349999725818634, + "collision_height_m": 0.6449999809265137, + "collision_head_radius_m": 0.1289999932050705, + "movement_type": 1, + "movement_timer_s": 29, + "jump_time_s": 1, + "attack_timer_s": 10 + }, + "stats": { + "base_stamina": 80, + "base_attack": 122, + "base_defense": 96, + "dodge_energy_delta": 0 + }, + "quick_moves": [208, 220], + "cinematic_moves": [28, 56, 123], + "animation_time": [1.5, 0.6000000238418579, 1.333299994468689, 1.6332999467849731, 0, 1.9666999578475952, 0.9333000183105469, 0], + "evolution_ids": [57], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.5, + "pokedex_weight_kg": 28, + "parent_pokemon_id": 0, + "height_std_dev": 0.0625, + "weight_std_dev": 3.5, + "km_distance_to_hatch": 0, + "family_id": 56, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0057_MOVE_AQUA_JET", + "move_settings": { + "movement_id": 57, + "animation_id": 5, + "pokemon_type": 11, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.03999999910593033, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "aqua_jet", + "duration_ms": 2350, + "damage_window_start_ms": 1700, + "damage_window_end_ms": 2100, + "energy_delta": -20 + } + }, { + "template_id": "V0057_POKEMON_PRIMEAPE", + "pokemon_settings": { + "pokemon_id": 57, + "model_scale": 0.9200000166893005, + "type": 2, + "type_2": 0, + "camera": { + "disk_radius_m": 0.6899999976158142, + "cylinder_radius_m": 0.46000000834465027, + "cylinder_height_m": 1.149999976158142, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.46000000834465027, + "collision_height_m": 1.1039999723434448, + "collision_head_radius_m": 0.23000000417232513, + "movement_type": 1, + "movement_timer_s": 17, + "jump_time_s": 1, + "attack_timer_s": 6 + }, + "stats": { + "base_stamina": 130, + "base_attack": 178, + "base_defense": 150, + "dodge_energy_delta": 0 + }, + "quick_moves": [207, 208], + "cinematic_moves": [28, 56, 51], + "animation_time": [1.333299994468689, 0.666700005531311, 1.5, 1.333299994468689, 0, 1.666700005531311, 1.333299994468689, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1, + "pokedex_weight_kg": 32, + "parent_pokemon_id": 56, + "height_std_dev": 0.125, + "weight_std_dev": 4, + "km_distance_to_hatch": 0, + "family_id": 56, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0058_MOVE_AQUA_TAIL", + "move_settings": { + "movement_id": 58, + "animation_id": 5, + "pokemon_type": 11, + "power": 45, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.09000000357627869, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "aqua_tail", + "duration_ms": 2350, + "damage_window_start_ms": 2050, + "damage_window_end_ms": 2250, + "energy_delta": -50 + } + }, { + "template_id": "V0058_POKEMON_GROWLITHE", + "pokemon_settings": { + "pokemon_id": 58, + "model_scale": 1.1699999570846558, + "type": 10, + "type_2": 0, + "camera": { + "disk_radius_m": 0.8774999976158142, + "cylinder_radius_m": 0.5849999785423279, + "cylinder_height_m": 1.0237499475479126, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.23999999463558197, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.23399999737739563, + "collision_height_m": 0.5849999785423279, + "collision_head_radius_m": 0.17550000548362732, + "movement_type": 1, + "movement_timer_s": 10, + "jump_time_s": 1, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 110, + "base_attack": 156, + "base_defense": 110, + "dodge_energy_delta": 0 + }, + "quick_moves": [209, 202], + "cinematic_moves": [21, 131, 24], + "animation_time": [2.0332999229431152, 0.666700005531311, 1.7999999523162842, 1.5, 0, 2.266700029373169, 0.800000011920929, 1.7999999523162842], + "evolution_ids": [59], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.699999988079071, + "pokedex_weight_kg": 19, + "parent_pokemon_id": 0, + "height_std_dev": 0.08749999850988388, + "weight_std_dev": 2.375, + "km_distance_to_hatch": 0, + "family_id": 58, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0059_MOVE_SEED_BOMB", + "move_settings": { + "movement_id": 59, + "animation_id": 5, + "pokemon_type": 12, + "power": 40, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07999999821186066, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "seed_bomb", + "duration_ms": 2400, + "damage_window_start_ms": 1300, + "damage_window_end_ms": 1800, + "energy_delta": -33 + } + }, { + "template_id": "V0059_POKEMON_ARCANINE", + "pokemon_settings": { + "pokemon_id": 59, + "model_scale": 0.7400000095367432, + "type": 10, + "type_2": 0, + "camera": { + "disk_radius_m": 0.9990000128746033, + "cylinder_radius_m": 0.6660000085830688, + "cylinder_height_m": 1.4800000190734863, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.07999999821186066, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.3700000047683716, + "collision_height_m": 0.7400000095367432, + "collision_head_radius_m": 0.3330000042915344, + "movement_type": 1, + "movement_timer_s": 4, + "jump_time_s": 1.25, + "attack_timer_s": 11 + }, + "stats": { + "base_stamina": 180, + "base_attack": 230, + "base_defense": 180, + "dodge_energy_delta": 0 + }, + "quick_moves": [240, 202], + "cinematic_moves": [103, 24, 95], + "animation_time": [2.1333000659942627, 0.666700005531311, 1.733299970626831, 1.833299994468689, 0, 1.8667000532150269, 1.733299970626831, 2], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.899999976158142, + "pokedex_weight_kg": 155, + "parent_pokemon_id": 58, + "height_std_dev": 0.23749999701976776, + "weight_std_dev": 19.375, + "km_distance_to_hatch": 0, + "family_id": 58, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0060_MOVE_PSYSHOCK", + "move_settings": { + "movement_id": 60, + "animation_id": 5, + "pokemon_type": 14, + "power": 40, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07999999821186066, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "psyshock", + "duration_ms": 2700, + "damage_window_start_ms": 2200, + "damage_window_end_ms": 2700, + "energy_delta": -33 + } + }, { + "template_id": "V0060_POKEMON_POLIWAG", + "pokemon_settings": { + "pokemon_id": 60, + "model_scale": 1.25, + "type": 11, + "type_2": 0, + "camera": { + "disk_radius_m": 0.75, + "cylinder_radius_m": 0.5, + "cylinder_height_m": 0.875, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.15000000596046448, + "collision_radius_m": 0.3125, + "collision_height_m": 0.75, + "collision_head_radius_m": 0.3125, + "movement_type": 1, + "movement_timer_s": 10, + "jump_time_s": 1, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 80, + "base_attack": 108, + "base_defense": 98, + "dodge_energy_delta": 0 + }, + "quick_moves": [237, 216], + "cinematic_moves": [53, 96, 131], + "animation_time": [1.666700005531311, 0.666700005531311, 2, 1.5, 0, 1.666700005531311, 1.5, 0], + "evolution_ids": [61], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.6000000238418579, + "pokedex_weight_kg": 12.399999618530273, + "parent_pokemon_id": 0, + "height_std_dev": 0.07500000298023224, + "weight_std_dev": 1.5499999523162842, + "km_distance_to_hatch": 0, + "family_id": 60, + "candy_to_evolve": 25 + } + }, { + "template_id": "V0061_POKEMON_POLIWHIRL", + "pokemon_settings": { + "pokemon_id": 61, + "model_scale": 0.9800000190734863, + "type": 11, + "type_2": 0, + "camera": { + "disk_radius_m": 1.1024999618530273, + "cylinder_radius_m": 0.7350000143051147, + "cylinder_height_m": 1.0779999494552612, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.20000000298023224, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.49000000953674316, + "collision_height_m": 0.8820000290870667, + "collision_head_radius_m": 0.3675000071525574, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 0.800000011920929, + "attack_timer_s": 23 + }, + "stats": { + "base_stamina": 130, + "base_attack": 132, + "base_defense": 132, + "dodge_energy_delta": 0 + }, + "quick_moves": [237, 216], + "cinematic_moves": [106, 96, 53], + "animation_time": [1.333299994468689, 0.666700005531311, 2.1666998863220215, 1.5, 0, 2, 1.333299994468689, 0], + "evolution_ids": [62], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1, + "pokedex_weight_kg": 20, + "parent_pokemon_id": 60, + "height_std_dev": 0.125, + "weight_std_dev": 2.5, + "km_distance_to_hatch": 0, + "family_id": 60, + "candy_to_evolve": 100 + } + }, { + "template_id": "V0062_MOVE_ANCIENT_POWER", + "move_settings": { + "movement_id": 62, + "animation_id": 5, + "pokemon_type": 6, + "power": 35, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.05999999865889549, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "ancient_power", + "duration_ms": 3600, + "damage_window_start_ms": 2900, + "damage_window_end_ms": 3250, + "energy_delta": -25 + } + }, { + "template_id": "V0062_POKEMON_POLIWRATH", + "pokemon_settings": { + "pokemon_id": 62, + "model_scale": 0.8600000143051147, + "type": 11, + "type_2": 2, + "camera": { + "disk_radius_m": 1.2254999876022339, + "cylinder_radius_m": 0.8169999718666077, + "cylinder_height_m": 1.2039999961853027, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.10000000149011612, + "base_flee_rate": 0.05000000074505806, + "collision_radius_m": 0.6449999809265137, + "collision_height_m": 1.1180000305175781, + "collision_head_radius_m": 0.3440000116825104, + "movement_type": 1, + "movement_timer_s": 11, + "jump_time_s": 1.0499999523162842, + "attack_timer_s": 4 + }, + "stats": { + "base_stamina": 180, + "base_attack": 180, + "base_defense": 202, + "dodge_energy_delta": 0 + }, + "quick_moves": [237, 216], + "cinematic_moves": [107, 54, 33], + "animation_time": [2, 0.666700005531311, 1.666700005531311, 1.666700005531311, 0, 2, 1.233299970626831, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.2999999523162842, + "pokedex_weight_kg": 54, + "parent_pokemon_id": 61, + "height_std_dev": 0.16249999403953552, + "weight_std_dev": 6.75, + "km_distance_to_hatch": 0, + "family_id": 60, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0063_MOVE_ROCK_TOMB", + "move_settings": { + "movement_id": 63, + "animation_id": 5, + "pokemon_type": 6, + "power": 30, + "accuracy_chance": 1, + "critical_chance": 0.25, + "heal_scalar": 0, + "stamina_loss_scalar": 0.05999999865889549, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "rock_tomb", + "duration_ms": 3400, + "damage_window_start_ms": 2300, + "damage_window_end_ms": 3200, + "energy_delta": -25 + } + }, { + "template_id": "V0063_POKEMON_ABRA", + "pokemon_settings": { + "pokemon_id": 63, + "model_scale": 1.1200000047683716, + "type": 14, + "type_2": 0, + "camera": { + "disk_radius_m": 0.671999990940094, + "cylinder_radius_m": 0.4480000138282776, + "cylinder_height_m": 0.7839999794960022, + "cylinder_ground_m": 0.1679999977350235, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.9900000095367432, + "collision_radius_m": 0.2800000011920929, + "collision_height_m": 0.5600000023841858, + "collision_head_radius_m": 0.2800000011920929, + "movement_type": 3, + "movement_timer_s": 29, + "jump_time_s": 1, + "attack_timer_s": 10 + }, + "stats": { + "base_stamina": 50, + "base_attack": 110, + "base_defense": 76, + "dodge_energy_delta": 0 + }, + "quick_moves": [234], + "cinematic_moves": [60, 99, 70], + "animation_time": [0, 0.666700005531311, 1.666700005531311, 0.666700005531311, 0, 2.1666998863220215, 2.6666998863220215, 0], + "evolution_ids": [64], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.8999999761581421, + "pokedex_weight_kg": 19.5, + "parent_pokemon_id": 0, + "height_std_dev": 0.11249999701976776, + "weight_std_dev": 2.4375, + "km_distance_to_hatch": 0, + "family_id": 63, + "candy_to_evolve": 25 + } + }, { + "template_id": "V0064_MOVE_ROCK_SLIDE", + "move_settings": { + "movement_id": 64, + "animation_id": 5, + "pokemon_type": 6, + "power": 50, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07500000298023224, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "rock_slide", + "duration_ms": 3200, + "damage_window_start_ms": 1500, + "damage_window_end_ms": 2900, + "energy_delta": -33 + } + }, { + "template_id": "V0064_POKEMON_KADABRA", + "pokemon_settings": { + "pokemon_id": 64, + "model_scale": 0.8899999856948853, + "type": 14, + "type_2": 0, + "camera": { + "disk_radius_m": 1.0012999773025513, + "cylinder_radius_m": 0.6675000190734863, + "cylinder_height_m": 1.156999945640564, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.20000000298023224, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.4449999928474426, + "collision_height_m": 0.8899999856948853, + "collision_head_radius_m": 0.33375000953674316, + "movement_type": 1, + "movement_timer_s": 6, + "jump_time_s": 1.25, + "attack_timer_s": 17 + }, + "stats": { + "base_stamina": 80, + "base_attack": 150, + "base_defense": 112, + "dodge_energy_delta": 0 + }, + "quick_moves": [226, 235], + "cinematic_moves": [30, 86, 70], + "animation_time": [1.733299970626831, 0.666700005531311, 1.666700005531311, 1.8667000532150269, 0, 2.0999999046325684, 1.733299970626831, 0], + "evolution_ids": [65], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.2999999523162842, + "pokedex_weight_kg": 56.5, + "parent_pokemon_id": 63, + "height_std_dev": 0.16249999403953552, + "weight_std_dev": 7.0625, + "km_distance_to_hatch": 0, + "family_id": 63, + "candy_to_evolve": 100 + } + }, { + "template_id": "V0065_MOVE_POWER_GEM", + "move_settings": { + "movement_id": 65, + "animation_id": 5, + "pokemon_type": 6, + "power": 40, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07999999821186066, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "power_gem", + "duration_ms": 2900, + "damage_window_start_ms": 2000, + "damage_window_end_ms": 2800, + "energy_delta": -33 + } + }, { + "template_id": "V0065_POKEMON_ALAKAZAM", + "pokemon_settings": { + "pokemon_id": 65, + "model_scale": 0.8500000238418579, + "type": 14, + "type_2": 0, + "camera": { + "disk_radius_m": 0.7649999856948853, + "cylinder_radius_m": 0.5099999904632568, + "cylinder_height_m": 1.274999976158142, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.10000000149011612, + "base_flee_rate": 0.05000000074505806, + "collision_radius_m": 0.42500001192092896, + "collision_height_m": 0.9350001215934753, + "collision_head_radius_m": 0.2549999952316284, + "movement_type": 1, + "movement_timer_s": 4, + "jump_time_s": 1, + "attack_timer_s": 11 + }, + "stats": { + "base_stamina": 110, + "base_attack": 186, + "base_defense": 152, + "dodge_energy_delta": 0 + }, + "quick_moves": [226, 235], + "cinematic_moves": [108, 86, 70], + "animation_time": [2, 0.666700005531311, 1.666700005531311, 1.5, 0, 2.3333001136779785, 2.5, 2], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.5, + "pokedex_weight_kg": 48, + "parent_pokemon_id": 64, + "height_std_dev": 0.1875, + "weight_std_dev": 6, + "km_distance_to_hatch": 0, + "family_id": 63, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0066_MOVE_SHADOW_SNEAK", + "move_settings": { + "movement_id": 66, + "animation_id": 5, + "pokemon_type": 8, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.03999999910593033, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "shadow_sneak", + "duration_ms": 3100, + "damage_window_start_ms": 2300, + "damage_window_end_ms": 2900, + "energy_delta": -20 + } + }, { + "template_id": "V0066_POKEMON_MACHOP", + "pokemon_settings": { + "pokemon_id": 66, + "model_scale": 1.100000023841858, + "type": 2, + "type_2": 0, + "camera": { + "disk_radius_m": 0.6187999844551086, + "cylinder_radius_m": 0.4124999940395355, + "cylinder_height_m": 0.880000114440918, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.2199999988079071, + "collision_height_m": 0.550000011920929, + "collision_head_radius_m": 0.20624999701976776, + "movement_type": 1, + "movement_timer_s": 23, + "jump_time_s": 1, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 140, + "base_attack": 118, + "base_defense": 96, + "dodge_energy_delta": 0 + }, + "quick_moves": [207, 208], + "cinematic_moves": [56, 123, 28], + "animation_time": [2.266700029373169, 0.666700005531311, 2, 1.733299970626831, 0, 2.1666998863220215, 1, 0], + "evolution_ids": [67], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.800000011920929, + "pokedex_weight_kg": 19.5, + "parent_pokemon_id": 0, + "height_std_dev": 0.10000000149011612, + "weight_std_dev": 2.4375, + "km_distance_to_hatch": 0, + "family_id": 66, + "candy_to_evolve": 25 + } + }, { + "template_id": "V0067_MOVE_SHADOW_PUNCH", + "move_settings": { + "movement_id": 67, + "animation_id": 5, + "pokemon_type": 8, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.05999999865889549, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "shadow_punch", + "duration_ms": 2100, + "damage_window_start_ms": 1400, + "damage_window_end_ms": 1700, + "energy_delta": -25 + } + }, { + "template_id": "V0067_POKEMON_MACHOKE", + "pokemon_settings": { + "pokemon_id": 67, + "model_scale": 0.9100000262260437, + "type": 2, + "type_2": 0, + "camera": { + "disk_radius_m": 0.8190000057220459, + "cylinder_radius_m": 0.5460000038146973, + "cylinder_height_m": 1.2740000486373901, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.20000000298023224, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.5460001230239868, + "collision_height_m": 1.0920000076293945, + "collision_head_radius_m": 0.13650000095367432, + "movement_type": 1, + "movement_timer_s": 14, + "jump_time_s": 1, + "attack_timer_s": 5 + }, + "stats": { + "base_stamina": 160, + "base_attack": 154, + "base_defense": 144, + "dodge_energy_delta": 0 + }, + "quick_moves": [207, 208], + "cinematic_moves": [54, 123, 28], + "animation_time": [1.5, 0.666700005531311, 1.666700005531311, 1.666700005531311, 0, 2.1666998863220215, 1.0666999816894531, 0], + "evolution_ids": [68], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.5, + "pokedex_weight_kg": 70.5, + "parent_pokemon_id": 66, + "height_std_dev": 0.1875, + "weight_std_dev": 8.8125, + "km_distance_to_hatch": 0, + "family_id": 66, + "candy_to_evolve": 100 + } + }, { + "template_id": "V0068_POKEMON_MACHAMP", + "pokemon_settings": { + "pokemon_id": 68, + "model_scale": 0.8899999856948853, + "type": 2, + "type_2": 0, + "camera": { + "disk_radius_m": 0.8677999973297119, + "cylinder_radius_m": 0.578499972820282, + "cylinder_height_m": 1.4240000247955322, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.10000000149011612, + "base_flee_rate": 0.05000000074505806, + "collision_radius_m": 0.578499972820282, + "collision_height_m": 1.246000051498413, + "collision_head_radius_m": 0.13349999487400055, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 1, + "attack_timer_s": 3 + }, + "stats": { + "base_stamina": 180, + "base_attack": 198, + "base_defense": 180, + "dodge_energy_delta": 0 + }, + "quick_moves": [229, 208], + "cinematic_moves": [32, 54, 28], + "animation_time": [1.666700005531311, 0.666700005531311, 1.666700005531311, 1.666700005531311, 0, 1.666700005531311, 1.333299994468689, 1.3333330154418945], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.600000023841858, + "pokedex_weight_kg": 130, + "parent_pokemon_id": 67, + "height_std_dev": 0.20000000298023224, + "weight_std_dev": 16.25, + "km_distance_to_hatch": 0, + "family_id": 66, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0069_MOVE_OMINOUS_WIND", + "move_settings": { + "movement_id": 69, + "animation_id": 5, + "pokemon_type": 8, + "power": 30, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.05999999865889549, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "ominous_wind", + "duration_ms": 3100, + "damage_window_start_ms": 1850, + "damage_window_end_ms": 2100, + "energy_delta": -25 + } + }, { + "template_id": "V0069_POKEMON_BELLSPROUT", + "pokemon_settings": { + "pokemon_id": 69, + "model_scale": 1.2899999618530273, + "type": 12, + "type_2": 4, + "camera": { + "disk_radius_m": 0.677299976348877, + "cylinder_radius_m": 0.4514999985694885, + "cylinder_height_m": 0.9029998779296875, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.15000000596046448, + "collision_radius_m": 0.19349999725818634, + "collision_height_m": 0.4514999985694885, + "collision_head_radius_m": 0.22574999928474426, + "movement_type": 1, + "movement_timer_s": 10, + "jump_time_s": 1.2000000476837158, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 100, + "base_attack": 158, + "base_defense": 78, + "dodge_energy_delta": 0 + }, + "quick_moves": [214, 225], + "cinematic_moves": [118, 90, 13], + "animation_time": [1.7000000476837158, 0.666700005531311, 2.5, 1.833299994468689, 0, 2, 2, 0], + "evolution_ids": [70], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.699999988079071, + "pokedex_weight_kg": 4, + "parent_pokemon_id": 0, + "height_std_dev": 0.08749999850988388, + "weight_std_dev": 0.5, + "km_distance_to_hatch": 0, + "family_id": 69, + "candy_to_evolve": 25 + } + }, { + "template_id": "V0070_MOVE_SHADOW_BALL", + "move_settings": { + "movement_id": 70, + "animation_id": 5, + "pokemon_type": 8, + "power": 45, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07999999821186066, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "shadow_ball", + "duration_ms": 3080, + "damage_window_start_ms": 2300, + "damage_window_end_ms": 2600, + "energy_delta": -33 + } + }, { + "template_id": "V0070_POKEMON_WEEPINBELL", + "pokemon_settings": { + "pokemon_id": 70, + "model_scale": 1, + "type": 12, + "type_2": 4, + "camera": { + "disk_radius_m": 0.9750000238418579, + "cylinder_radius_m": 0.6499999761581421, + "cylinder_height_m": 1, + "cylinder_ground_m": 0.375, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.20000000298023224, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.25, + "collision_height_m": 0.949999988079071, + "collision_head_radius_m": 0.25, + "movement_type": 6, + "movement_timer_s": 8, + "jump_time_s": 1, + "attack_timer_s": 23 + }, + "stats": { + "base_stamina": 130, + "base_attack": 190, + "base_defense": 110, + "dodge_energy_delta": 0 + }, + "quick_moves": [215, 225], + "cinematic_moves": [118, 90, 59], + "animation_time": [1.7999999523162842, 0.666700005531311, 1.5333000421524048, 0.666700005531311, 0, 2.266700029373169, 2, 0], + "evolution_ids": [71], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1, + "pokedex_weight_kg": 6.400000095367432, + "parent_pokemon_id": 69, + "height_std_dev": 0.125, + "weight_std_dev": 0.800000011920929, + "km_distance_to_hatch": 0, + "family_id": 69, + "candy_to_evolve": 100 + } + }, { + "template_id": "V0071_POKEMON_VICTREEBEL", + "pokemon_settings": { + "pokemon_id": 71, + "model_scale": 0.8399999737739563, + "type": 12, + "type_2": 4, + "camera": { + "disk_radius_m": 0.8190000057220459, + "cylinder_radius_m": 0.5460000038146973, + "cylinder_height_m": 1.4279999732971191, + "cylinder_ground_m": 0.41999998688697815, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.10000000149011612, + "base_flee_rate": 0.05000000074505806, + "collision_radius_m": 0.335999995470047, + "collision_height_m": 1.4279999732971191, + "collision_head_radius_m": 0.27300000190734863, + "movement_type": 6, + "movement_timer_s": 14, + "jump_time_s": 1, + "attack_timer_s": 5 + }, + "stats": { + "base_stamina": 160, + "base_attack": 222, + "base_defense": 152, + "dodge_energy_delta": 0 + }, + "quick_moves": [215, 225], + "cinematic_moves": [117, 90, 116], + "animation_time": [2, 0.666700005531311, 1.666700005531311, 0.666700005531311, 0, 2.1666998863220215, 2, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.7000000476837158, + "pokedex_weight_kg": 15.5, + "parent_pokemon_id": 70, + "height_std_dev": 0.21250000596046448, + "weight_std_dev": 1.9375, + "km_distance_to_hatch": 0, + "family_id": 69, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0072_MOVE_MAGNET_BOMB", + "move_settings": { + "movement_id": 72, + "animation_id": 5, + "pokemon_type": 9, + "power": 30, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.05999999865889549, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "magnet_bomb", + "duration_ms": 2800, + "damage_window_start_ms": 1750, + "damage_window_end_ms": 2300, + "energy_delta": -25 + } + }, { + "template_id": "V0072_POKEMON_TENTACOOL", + "pokemon_settings": { + "pokemon_id": 72, + "model_scale": 1.0499999523162842, + "type": 11, + "type_2": 4, + "camera": { + "disk_radius_m": 0.4724999964237213, + "cylinder_radius_m": 0.3149999976158142, + "cylinder_height_m": 0.9187499284744263, + "cylinder_ground_m": 0.26249998807907104, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.15000000596046448, + "collision_radius_m": 0.20999999344348907, + "collision_height_m": 0.9187499284744263, + "collision_head_radius_m": 0.1574999988079071, + "movement_type": 6, + "movement_timer_s": 23, + "jump_time_s": 1, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 80, + "base_attack": 106, + "base_defense": 136, + "dodge_energy_delta": 0 + }, + "quick_moves": [237, 236], + "cinematic_moves": [53, 105, 13], + "animation_time": [2.6666998863220215, 0.666700005531311, 1.666700005531311, 0.666700005531311, 0, 2.299999952316284, 2, 0], + "evolution_ids": [73], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.8999999761581421, + "pokedex_weight_kg": 45.5, + "parent_pokemon_id": 0, + "height_std_dev": 0.11249999701976776, + "weight_std_dev": 5.6875, + "km_distance_to_hatch": 0, + "family_id": 72, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0073_POKEMON_TENTACRUEL", + "pokemon_settings": { + "pokemon_id": 73, + "model_scale": 0.8199999928474426, + "type": 11, + "type_2": 4, + "camera": { + "disk_radius_m": 0.7379999756813049, + "cylinder_radius_m": 0.492000013589859, + "cylinder_height_m": 1.312000036239624, + "cylinder_ground_m": 0.20499999821186066, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.492000013589859, + "collision_height_m": 1.2300000190734863, + "collision_head_radius_m": 0.2460000067949295, + "movement_type": 6, + "movement_timer_s": 11, + "jump_time_s": 1, + "attack_timer_s": 4 + }, + "stats": { + "base_stamina": 160, + "base_attack": 170, + "base_defense": 196, + "dodge_energy_delta": 0 + }, + "quick_moves": [225, 224], + "cinematic_moves": [107, 91, 40], + "animation_time": [2.1666998863220215, 0.666700005531311, 1.333299994468689, 0.666700005531311, 0, 2, 2.6666998863220215, 2], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.600000023841858, + "pokedex_weight_kg": 55, + "parent_pokemon_id": 72, + "height_std_dev": 0.20000000298023224, + "weight_std_dev": 6.875, + "km_distance_to_hatch": 0, + "family_id": 72, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0074_MOVE_IRON_HEAD", + "move_settings": { + "movement_id": 74, + "animation_id": 5, + "pokemon_type": 9, + "power": 30, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07999999821186066, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "iron_head", + "duration_ms": 2000, + "damage_window_start_ms": 1550, + "damage_window_end_ms": 1800, + "energy_delta": -33 + } + }, { + "template_id": "V0074_POKEMON_GEODUDE", + "pokemon_settings": { + "pokemon_id": 74, + "model_scale": 0.8700000047683716, + "type": 6, + "type_2": 5, + "camera": { + "disk_radius_m": 0.5873000025749207, + "cylinder_radius_m": 0.39149999618530273, + "cylinder_height_m": 0.3479999899864197, + "cylinder_ground_m": 0.26100000739097595, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.39149999618530273, + "collision_height_m": 0.13050000369548798, + "collision_head_radius_m": 0.19574999809265137, + "movement_type": 6, + "movement_timer_s": 8, + "jump_time_s": 1, + "attack_timer_s": 23 + }, + "stats": { + "base_stamina": 80, + "base_attack": 106, + "base_defense": 118, + "dodge_energy_delta": 0 + }, + "quick_moves": [227, 221], + "cinematic_moves": [64, 63, 26], + "animation_time": [2.3333001136779785, 0.666700005531311, 1.666700005531311, 0.666700005531311, 0, 2, 1.666700005531311, 0], + "evolution_ids": [75], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.4000000059604645, + "pokedex_weight_kg": 20, + "parent_pokemon_id": 0, + "height_std_dev": 0.05000000074505806, + "weight_std_dev": 2.5, + "km_distance_to_hatch": 0, + "family_id": 74, + "candy_to_evolve": 25 + } + }, { + "template_id": "V0075_MOVE_PARABOLIC_CHARGE", + "move_settings": { + "movement_id": 75, + "animation_id": 5, + "pokemon_type": 13, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0.5, + "stamina_loss_scalar": 0.05000000074505806, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "parabolic_charge", + "duration_ms": 2100, + "damage_window_start_ms": 1300, + "damage_window_end_ms": 1700, + "energy_delta": -20 + } + }, { + "template_id": "V0075_POKEMON_GRAVELER", + "pokemon_settings": { + "pokemon_id": 75, + "model_scale": 0.8199999928474426, + "type": 6, + "type_2": 5, + "camera": { + "disk_radius_m": 1.0455000400543213, + "cylinder_radius_m": 0.6970000267028809, + "cylinder_height_m": 0.8199999928474426, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.20000000298023224, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.492000013589859, + "collision_height_m": 0.6970000267028809, + "collision_head_radius_m": 0.36899998784065247, + "movement_type": 1, + "movement_timer_s": 14, + "jump_time_s": 1.2000000476837158, + "attack_timer_s": 5 + }, + "stats": { + "base_stamina": 110, + "base_attack": 142, + "base_defense": 156, + "dodge_energy_delta": 0 + }, + "quick_moves": [227, 216], + "cinematic_moves": [26, 32, 64], + "animation_time": [2.3333001136779785, 0.666700005531311, 1.8667000532150269, 1.833299994468689, 0, 2, 1.666700005531311, 0], + "evolution_ids": [76], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1, + "pokedex_weight_kg": 105, + "parent_pokemon_id": 74, + "height_std_dev": 0.125, + "weight_std_dev": 13.125, + "km_distance_to_hatch": 0, + "family_id": 74, + "candy_to_evolve": 100 + } + }, { + "template_id": "V0076_POKEMON_GOLEM", + "pokemon_settings": { + "pokemon_id": 76, + "model_scale": 0.8399999737739563, + "type": 6, + "type_2": 5, + "camera": { + "disk_radius_m": 0.9449999928474426, + "cylinder_radius_m": 0.6299999952316284, + "cylinder_height_m": 1.0920000076293945, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.10000000149011612, + "base_flee_rate": 0.05000000074505806, + "collision_radius_m": 0.6299999952316284, + "collision_height_m": 1.0920000076293945, + "collision_head_radius_m": 0.3149999976158142, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 1.2000000476837158, + "attack_timer_s": 3 + }, + "stats": { + "base_stamina": 160, + "base_attack": 176, + "base_defense": 198, + "dodge_energy_delta": 0 + }, + "quick_moves": [227, 216], + "cinematic_moves": [32, 62, 31], + "animation_time": [2.6666998863220215, 0.666700005531311, 2, 2, 0, 2.1666998863220215, 2, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.399999976158142, + "pokedex_weight_kg": 300, + "parent_pokemon_id": 75, + "height_std_dev": 0.17499999701976776, + "weight_std_dev": 37.5, + "km_distance_to_hatch": 0, + "family_id": 74, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0077_MOVE_THUNDER_PUNCH", + "move_settings": { + "movement_id": 77, + "animation_id": 5, + "pokemon_type": 13, + "power": 40, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07500000298023224, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "thunder_punch", + "duration_ms": 2400, + "damage_window_start_ms": 1950, + "damage_window_end_ms": 2200, + "energy_delta": -33 + } + }, { + "template_id": "V0077_POKEMON_PONYTA", + "pokemon_settings": { + "pokemon_id": 77, + "model_scale": 1.0099999904632568, + "type": 10, + "type_2": 0, + "camera": { + "disk_radius_m": 0.5680999755859375, + "cylinder_radius_m": 0.37880000472068787, + "cylinder_height_m": 1.2625000476837158, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.3199999928474426, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.2524999976158142, + "collision_height_m": 0.6312500238418579, + "collision_head_radius_m": 0.20200000703334808, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 0.949999988079071, + "attack_timer_s": 23 + }, + "stats": { + "base_stamina": 100, + "base_attack": 168, + "base_defense": 138, + "dodge_energy_delta": 0 + }, + "quick_moves": [221, 209], + "cinematic_moves": [101, 21, 103], + "animation_time": [2.3333001136779785, 0.666700005531311, 1.666700005531311, 1.5, 5.3333330154418945, 2.3333001136779785, 1.666700005531311, 0], + "evolution_ids": [78], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1, + "pokedex_weight_kg": 30, + "parent_pokemon_id": 0, + "height_std_dev": 0.125, + "weight_std_dev": 3.75, + "km_distance_to_hatch": 0, + "family_id": 77, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0078_MOVE_THUNDER", + "move_settings": { + "movement_id": 78, + "animation_id": 5, + "pokemon_type": 13, + "power": 100, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.10999999940395355, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "thunder", + "duration_ms": 4300, + "damage_window_start_ms": 2550, + "damage_window_end_ms": 4100, + "energy_delta": -100 + } + }, { + "template_id": "V0078_POKEMON_RAPIDASH", + "pokemon_settings": { + "pokemon_id": 78, + "model_scale": 0.8100000023841858, + "type": 10, + "type_2": 0, + "camera": { + "disk_radius_m": 0.6075000166893005, + "cylinder_radius_m": 0.4050000011920929, + "cylinder_height_m": 1.7009999752044678, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.11999999731779099, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.3240000009536743, + "collision_height_m": 0.890999972820282, + "collision_head_radius_m": 0.24300000071525574, + "movement_type": 1, + "movement_timer_s": 6, + "jump_time_s": 1, + "attack_timer_s": 17 + }, + "stats": { + "base_stamina": 130, + "base_attack": 200, + "base_defense": 170, + "dodge_energy_delta": 0 + }, + "quick_moves": [207, 209], + "cinematic_moves": [103, 46, 42], + "animation_time": [2.066699981689453, 0.833299994468689, 2.3333001136779785, 1.8667000532150269, 0, 2.1666998863220215, 2.6666998863220215, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.7000000476837158, + "pokedex_weight_kg": 95, + "parent_pokemon_id": 77, + "height_std_dev": 0.21250000596046448, + "weight_std_dev": 11.875, + "km_distance_to_hatch": 0, + "family_id": 77, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0079_MOVE_THUNDERBOLT", + "move_settings": { + "movement_id": 79, + "animation_id": 5, + "pokemon_type": 13, + "power": 55, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.09000000357627869, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "thunderbolt", + "duration_ms": 2700, + "damage_window_start_ms": 1900, + "damage_window_end_ms": 2700, + "energy_delta": -50 + } + }, { + "template_id": "V0079_POKEMON_SLOWPOKE", + "pokemon_settings": { + "pokemon_id": 79, + "model_scale": 0.7900000214576721, + "type": 11, + "type_2": 14, + "camera": { + "disk_radius_m": 1.184999942779541, + "cylinder_radius_m": 0.5924999713897705, + "cylinder_height_m": 0.9480000734329224, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.3160000145435333, + "collision_height_m": 0.5134999752044678, + "collision_head_radius_m": 0.29624998569488525, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 1, + "attack_timer_s": 23 + }, + "stats": { + "base_stamina": 180, + "base_attack": 110, + "base_defense": 110, + "dodge_energy_delta": 0 + }, + "quick_moves": [230, 235], + "cinematic_moves": [105, 60, 108], + "animation_time": [3, 0.666700005531311, 2, 1.666700005531311, 0, 2, 1.666700005531311, 0], + "evolution_ids": [80], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.2000000476837158, + "pokedex_weight_kg": 36, + "parent_pokemon_id": 0, + "height_std_dev": 0.15000000596046448, + "weight_std_dev": 4.5, + "km_distance_to_hatch": 0, + "family_id": 79, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0080_MOVE_TWISTER", + "move_settings": { + "movement_id": 80, + "animation_id": 5, + "pokemon_type": 16, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.03999999910593033, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "twister", + "duration_ms": 2700, + "damage_window_start_ms": 850, + "damage_window_end_ms": 2600, + "energy_delta": -20 + } + }, { + "template_id": "V0080_POKEMON_SLOWBRO", + "pokemon_settings": { + "pokemon_id": 80, + "model_scale": 0.8500000238418579, + "type": 11, + "type_2": 14, + "camera": { + "disk_radius_m": 0.7013000249862671, + "cylinder_radius_m": 0.4675000011920929, + "cylinder_height_m": 1.274999976158142, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.42500001192092896, + "collision_height_m": 0.8500000238418579, + "collision_head_radius_m": 0.2549999952316284, + "movement_type": 1, + "movement_timer_s": 3, + "jump_time_s": 1, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 190, + "base_attack": 184, + "base_defense": 198, + "dodge_energy_delta": 0 + }, + "quick_moves": [230, 235], + "cinematic_moves": [105, 108, 39], + "animation_time": [2.3333001136779785, 0.666700005531311, 1.666700005531311, 2.0999999046325684, 0, 1.833299994468689, 2, 3], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.600000023841858, + "pokedex_weight_kg": 78.5, + "parent_pokemon_id": 79, + "height_std_dev": 0.20000000298023224, + "weight_std_dev": 9.8125, + "km_distance_to_hatch": 0, + "family_id": 79, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0081_POKEMON_MAGNEMITE", + "pokemon_settings": { + "pokemon_id": 81, + "model_scale": 1.5199999809265137, + "type": 13, + "type_2": 9, + "camera": { + "disk_radius_m": 0.6840000152587891, + "cylinder_radius_m": 0.4560000002384186, + "cylinder_height_m": 0.4560000002384186, + "cylinder_ground_m": 0.9120000004768372, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.4560000002384186, + "collision_height_m": 0.4560000002384186, + "collision_head_radius_m": 0.2280000001192093, + "movement_type": 4, + "movement_timer_s": 8, + "jump_time_s": 1, + "attack_timer_s": 23 + }, + "stats": { + "base_stamina": 50, + "base_attack": 128, + "base_defense": 138, + "dodge_energy_delta": 0 + }, + "quick_moves": [206, 205], + "cinematic_moves": [35, 72, 79], + "animation_time": [1.333299994468689, 0.666700005531311, 1.233299970626831, 0.666700005531311, 0, 2, 1.166700005531311, 1.1666669845581055], + "evolution_ids": [82], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.30000001192092896, + "pokedex_weight_kg": 6, + "parent_pokemon_id": 0, + "height_std_dev": 0.03750000149011612, + "weight_std_dev": 0.75, + "km_distance_to_hatch": 0, + "family_id": 81, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0082_MOVE_DRAGON_PULSE", + "move_settings": { + "movement_id": 82, + "animation_id": 5, + "pokemon_type": 16, + "power": 65, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.08500000089406967, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "dragon_pulse", + "duration_ms": 3600, + "damage_window_start_ms": 2100, + "damage_window_end_ms": 3300, + "energy_delta": -50 + } + }, { + "template_id": "V0082_POKEMON_MAGNETON", + "pokemon_settings": { + "pokemon_id": 82, + "model_scale": 1.100000023841858, + "type": 13, + "type_2": 9, + "camera": { + "disk_radius_m": 0.6600000262260437, + "cylinder_radius_m": 0.4399999976158142, + "cylinder_height_m": 1.100000023841858, + "cylinder_ground_m": 0.4399999976158142, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.4399999976158142, + "collision_height_m": 0.824999988079071, + "collision_head_radius_m": 0.2199999988079071, + "movement_type": 4, + "movement_timer_s": 5, + "jump_time_s": 1, + "attack_timer_s": 14 + }, + "stats": { + "base_stamina": 100, + "base_attack": 186, + "base_defense": 180, + "dodge_energy_delta": 0 + }, + "quick_moves": [206, 205], + "cinematic_moves": [35, 72, 36], + "animation_time": [1.5, 0.666700005531311, 1.333299994468689, 0.666700005531311, 0, 1.833299994468689, 2, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1, + "pokedex_weight_kg": 60, + "parent_pokemon_id": 81, + "height_std_dev": 0.125, + "weight_std_dev": 7.5, + "km_distance_to_hatch": 0, + "family_id": 81, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0083_MOVE_DRAGON_CLAW", + "move_settings": { + "movement_id": 83, + "animation_id": 5, + "pokemon_type": 16, + "power": 35, + "accuracy_chance": 1, + "critical_chance": 0.25, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07999999821186066, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "dragon_claw", + "duration_ms": 1500, + "damage_window_start_ms": 1200, + "damage_window_end_ms": 1400, + "energy_delta": -50 + } + }, { + "template_id": "V0083_POKEMON_FARFETCHD", + "pokemon_settings": { + "pokemon_id": 83, + "model_scale": 1.1299999952316284, + "type": 1, + "type_2": 3, + "camera": { + "disk_radius_m": 0.6779999732971191, + "cylinder_radius_m": 0.4519999921321869, + "cylinder_height_m": 0.8475000262260437, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.23999999463558197, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.2824999988079071, + "collision_height_m": 0.42375001311302185, + "collision_head_radius_m": 0.2824999988079071, + "movement_type": 1, + "movement_timer_s": 29, + "jump_time_s": 1.25, + "attack_timer_s": 10 + }, + "stats": { + "base_stamina": 104, + "base_attack": 138, + "base_defense": 132, + "dodge_energy_delta": 0 + }, + "quick_moves": [223, 200], + "cinematic_moves": [45, 121, 117], + "animation_time": [1.666700005531311, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 1.833299994468689, 1.600000023841858, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.800000011920929, + "pokedex_weight_kg": 15, + "parent_pokemon_id": 0, + "height_std_dev": 0.10000000149011612, + "weight_std_dev": 1.875, + "km_distance_to_hatch": 0, + "family_id": 83, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0084_MOVE_DISARMING_VOICE", + "move_settings": { + "movement_id": 84, + "animation_id": 5, + "pokemon_type": 18, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.03999999910593033, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "disarming_voice", + "duration_ms": 3900, + "damage_window_start_ms": 1800, + "damage_window_end_ms": 3600, + "energy_delta": -20 + } + }, { + "template_id": "V0084_POKEMON_DODUO", + "pokemon_settings": { + "pokemon_id": 84, + "model_scale": 0.8799999952316284, + "type": 1, + "type_2": 3, + "camera": { + "disk_radius_m": 0.593999981880188, + "cylinder_radius_m": 0.3959999978542328, + "cylinder_height_m": 1.2319999933242798, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.35199999809265137, + "collision_height_m": 1.2319999933242798, + "collision_head_radius_m": 0.1979999989271164, + "movement_type": 1, + "movement_timer_s": 10, + "jump_time_s": 1, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 70, + "base_attack": 126, + "base_defense": 96, + "dodge_energy_delta": 0 + }, + "quick_moves": [211, 219], + "cinematic_moves": [38, 45, 125], + "animation_time": [2, 0.666700005531311, 1.666700005531311, 1.5, 0, 2, 1.5333000421524048, 0], + "evolution_ids": [85], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.399999976158142, + "pokedex_weight_kg": 39.20000076293945, + "parent_pokemon_id": 0, + "height_std_dev": 0.17499999701976776, + "weight_std_dev": 4.900000095367432, + "km_distance_to_hatch": 0, + "family_id": 84, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0085_MOVE_DRAINING_KISS", + "move_settings": { + "movement_id": 85, + "animation_id": 5, + "pokemon_type": 18, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 1, + "stamina_loss_scalar": 0.05000000074505806, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "draining_kiss", + "duration_ms": 2800, + "damage_window_start_ms": 1000, + "damage_window_end_ms": 1100, + "energy_delta": -20 + } + }, { + "template_id": "V0085_POKEMON_DODRIO", + "pokemon_settings": { + "pokemon_id": 85, + "model_scale": 0.7799999713897705, + "type": 1, + "type_2": 3, + "camera": { + "disk_radius_m": 0.7721999883651733, + "cylinder_radius_m": 0.5148000121116638, + "cylinder_height_m": 1.2869999408721924, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.38999998569488525, + "collision_height_m": 1.2869999408721924, + "collision_head_radius_m": 0.2574000060558319, + "movement_type": 1, + "movement_timer_s": 6, + "jump_time_s": 1.25, + "attack_timer_s": 17 + }, + "stats": { + "base_stamina": 120, + "base_attack": 182, + "base_defense": 150, + "dodge_energy_delta": 0 + }, + "quick_moves": [238, 239], + "cinematic_moves": [38, 45, 121], + "animation_time": [1.333299994468689, 0.666700005531311, 1.666700005531311, 2, 0, 2, 2, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.7999999523162842, + "pokedex_weight_kg": 85.19999694824219, + "parent_pokemon_id": 84, + "height_std_dev": 0.22499999403953552, + "weight_std_dev": 10.649999618530273, + "km_distance_to_hatch": 0, + "family_id": 84, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0086_MOVE_DAZZLING_GLEAM", + "move_settings": { + "movement_id": 86, + "animation_id": 5, + "pokemon_type": 18, + "power": 55, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07999999821186066, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "dazzling_gleam", + "duration_ms": 4200, + "damage_window_start_ms": 3300, + "damage_window_end_ms": 4100, + "energy_delta": -33 + } + }, { + "template_id": "V0086_POKEMON_SEEL", + "pokemon_settings": { + "pokemon_id": 86, + "model_scale": 1.100000023841858, + "type": 11, + "type_2": 0, + "camera": { + "disk_radius_m": 0.4124999940395355, + "cylinder_radius_m": 0.2750000059604645, + "cylinder_height_m": 0.550000011920929, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.2750000059604645, + "collision_height_m": 0.4124999940395355, + "collision_head_radius_m": 0.2199999988079071, + "movement_type": 1, + "movement_timer_s": 10, + "jump_time_s": 0.8999999761581421, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 130, + "base_attack": 104, + "base_defense": 138, + "dodge_energy_delta": 0 + }, + "quick_moves": [217, 230], + "cinematic_moves": [57, 111, 58], + "animation_time": [2.6666998863220215, 0.666700005531311, 1.833299994468689, 1.666700005531311, 0, 2, 2, 0], + "evolution_ids": [87], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.100000023841858, + "pokedex_weight_kg": 90, + "parent_pokemon_id": 0, + "height_std_dev": 0.13750000298023224, + "weight_std_dev": 11.25, + "km_distance_to_hatch": 0, + "family_id": 86, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0087_MOVE_MOONBLAST", + "move_settings": { + "movement_id": 87, + "animation_id": 5, + "pokemon_type": 18, + "power": 85, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.0949999988079071, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "moonblast", + "duration_ms": 4100, + "damage_window_start_ms": 3500, + "damage_window_end_ms": 4100, + "energy_delta": -100 + } + }, { + "template_id": "V0087_POKEMON_DEWGONG", + "pokemon_settings": { + "pokemon_id": 87, + "model_scale": 1.0499999523162842, + "type": 11, + "type_2": 15, + "camera": { + "disk_radius_m": 0.7875000238418579, + "cylinder_radius_m": 0.5249999761581421, + "cylinder_height_m": 0.8399999737739563, + "cylinder_ground_m": 0.39375001192092896, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.3149999976158142, + "collision_height_m": 0.6299999952316284, + "collision_head_radius_m": 0.13124999403953552, + "movement_type": 6, + "movement_timer_s": 5, + "jump_time_s": 1, + "attack_timer_s": 14 + }, + "stats": { + "base_stamina": 180, + "base_attack": 156, + "base_defense": 192, + "dodge_energy_delta": 0 + }, + "quick_moves": [218, 217], + "cinematic_moves": [111, 57, 40], + "animation_time": [2.066699981689453, 0.833299994468689, 1.666700005531311, 0.666700005531311, 0, 2.3333001136779785, 2, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.7000000476837158, + "pokedex_weight_kg": 120, + "parent_pokemon_id": 86, + "height_std_dev": 0.21250000596046448, + "weight_std_dev": 15, + "km_distance_to_hatch": 0, + "family_id": 86, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0088_MOVE_PLAY_ROUGH", + "move_settings": { + "movement_id": 88, + "animation_id": 5, + "pokemon_type": 18, + "power": 55, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.10000000149011612, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "play_rough", + "duration_ms": 2900, + "damage_window_start_ms": 1400, + "damage_window_end_ms": 2700, + "energy_delta": -50 + } + }, { + "template_id": "V0088_POKEMON_GRIMER", + "pokemon_settings": { + "pokemon_id": 88, + "model_scale": 0.9800000190734863, + "type": 4, + "type_2": 0, + "camera": { + "disk_radius_m": 0.8820000290870667, + "cylinder_radius_m": 0.5879999995231628, + "cylinder_height_m": 0.9800000190734863, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.49000000953674316, + "collision_height_m": 0.833000123500824, + "collision_head_radius_m": 0.2939999997615814, + "movement_type": 1, + "movement_timer_s": 23, + "jump_time_s": 1, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 160, + "base_attack": 124, + "base_defense": 110, + "dodge_energy_delta": 0 + }, + "quick_moves": [225, 233], + "cinematic_moves": [18, 96, 90], + "animation_time": [1.666700005531311, 0.666700005531311, 1.666700005531311, 1.666700005531311, 10, 1.666700005531311, 2.6666998863220215, 0], + "evolution_ids": [89], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.8999999761581421, + "pokedex_weight_kg": 30, + "parent_pokemon_id": 0, + "height_std_dev": 0.11249999701976776, + "weight_std_dev": 3.75, + "km_distance_to_hatch": 0, + "family_id": 88, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0089_MOVE_CROSS_POISON", + "move_settings": { + "movement_id": 89, + "animation_id": 5, + "pokemon_type": 4, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0.25, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07000000029802322, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "cross_poison", + "duration_ms": 1500, + "damage_window_start_ms": 1200, + "damage_window_end_ms": 1500, + "energy_delta": -25 + } + }, { + "template_id": "V0089_POKEMON_MUK", + "pokemon_settings": { + "pokemon_id": 89, + "model_scale": 0.7599999904632568, + "type": 4, + "type_2": 0, + "camera": { + "disk_radius_m": 1.1399999856948853, + "cylinder_radius_m": 0.8600000143051147, + "cylinder_height_m": 0.9120000004768372, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.7599999904632568, + "collision_height_m": 0.5699999928474426, + "collision_head_radius_m": 0.3799999952316284, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 1.25, + "attack_timer_s": 3 + }, + "stats": { + "base_stamina": 210, + "base_attack": 180, + "base_defense": 188, + "dodge_energy_delta": 0 + }, + "quick_moves": [225, 224], + "cinematic_moves": [16, 92, 91], + "animation_time": [2, 1, 1.666700005531311, 2.1666998863220215, 10, 2, 2.6666998863220215, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.2000000476837158, + "pokedex_weight_kg": 30, + "parent_pokemon_id": 88, + "height_std_dev": 0.15000000596046448, + "weight_std_dev": 3.75, + "km_distance_to_hatch": 0, + "family_id": 88, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0090_MOVE_SLUDGE_BOMB", + "move_settings": { + "movement_id": 90, + "animation_id": 5, + "pokemon_type": 4, + "power": 55, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.09000000357627869, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "sludge_bomb", + "duration_ms": 2600, + "damage_window_start_ms": 1950, + "damage_window_end_ms": 2450, + "energy_delta": -50 + } + }, { + "template_id": "V0090_POKEMON_SHELLDER", + "pokemon_settings": { + "pokemon_id": 90, + "model_scale": 1.6799999475479126, + "type": 11, + "type_2": 0, + "camera": { + "disk_radius_m": 0.5795999765396118, + "cylinder_radius_m": 0.3864000141620636, + "cylinder_height_m": 0.5040000081062317, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.335999995470047, + "collision_height_m": 0.5040000081062317, + "collision_head_radius_m": 0.2939999997615814, + "movement_type": 1, + "movement_timer_s": 23, + "jump_time_s": 1.2000000476837158, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 60, + "base_attack": 120, + "base_defense": 112, + "dodge_energy_delta": 0 + }, + "quick_moves": [217, 221], + "cinematic_moves": [53, 105, 111], + "animation_time": [2, 0.666700005531311, 1.666700005531311, 1.666700005531311, 0, 1.666700005531311, 2.6666998863220215, 0], + "evolution_ids": [91], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.30000001192092896, + "pokedex_weight_kg": 4, + "parent_pokemon_id": 0, + "height_std_dev": 0.03750000149011612, + "weight_std_dev": 0.5, + "km_distance_to_hatch": 0, + "family_id": 90, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0091_MOVE_SLUDGE_WAVE", + "move_settings": { + "movement_id": 91, + "animation_id": 5, + "pokemon_type": 4, + "power": 70, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.0949999988079071, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "sludge_wave", + "duration_ms": 3400, + "damage_window_start_ms": 2400, + "damage_window_end_ms": 3300, + "energy_delta": -100 + } + }, { + "template_id": "V0091_POKEMON_CLOYSTER", + "pokemon_settings": { + "pokemon_id": 91, + "model_scale": 0.8399999737739563, + "type": 11, + "type_2": 15, + "camera": { + "disk_radius_m": 0.9449999928474426, + "cylinder_radius_m": 0.6299999952316284, + "cylinder_height_m": 1.0499999523162842, + "cylinder_ground_m": 0.41999998688697815, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.41999998688697815, + "collision_height_m": 1.0499999523162842, + "collision_head_radius_m": 0.5459998846054077, + "movement_type": 6, + "movement_timer_s": 3, + "jump_time_s": 1, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 100, + "base_attack": 196, + "base_defense": 196, + "dodge_energy_delta": 0 + }, + "quick_moves": [218, 217], + "cinematic_moves": [111, 107, 40], + "animation_time": [2.433300018310547, 0.666700005531311, 1.733299970626831, 0.666700005531311, 0, 2.3333001136779785, 1.9666999578475952, 3.799999952316284], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.5, + "pokedex_weight_kg": 132.5, + "parent_pokemon_id": 90, + "height_std_dev": 0.1875, + "weight_std_dev": 16.5625, + "km_distance_to_hatch": 0, + "family_id": 90, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0092_MOVE_GUNK_SHOT", + "move_settings": { + "movement_id": 92, + "animation_id": 5, + "pokemon_type": 4, + "power": 65, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.11999999731779099, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "gunk_shot", + "duration_ms": 3000, + "damage_window_start_ms": 2000, + "damage_window_end_ms": 2400, + "energy_delta": -100 + } + }, { + "template_id": "V0092_POKEMON_GASTLY", + "pokemon_settings": { + "pokemon_id": 92, + "model_scale": 1, + "type": 8, + "type_2": 4, + "camera": { + "disk_radius_m": 0.675000011920929, + "cylinder_radius_m": 0.44999998807907104, + "cylinder_height_m": 0.800000011920929, + "cylinder_ground_m": 0.6000000238418579, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.3199999928474426, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.25, + "collision_height_m": 0.6000000238418579, + "collision_head_radius_m": 0.30000001192092896, + "movement_type": 3, + "movement_timer_s": 29, + "jump_time_s": 1, + "attack_timer_s": 10 + }, + "stats": { + "base_stamina": 60, + "base_attack": 136, + "base_defense": 82, + "dodge_energy_delta": 0 + }, + "quick_moves": [212, 203], + "cinematic_moves": [69, 16, 90], + "animation_time": [0, 0.666700005531311, 1.666700005531311, 1, 0, 2.1333000659942627, 2.1333000659942627, 0], + "evolution_ids": [93], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.2999999523162842, + "pokedex_weight_kg": 0.10000000149011612, + "parent_pokemon_id": 0, + "height_std_dev": 0.16249999403953552, + "weight_std_dev": 0.012500000186264515, + "km_distance_to_hatch": 0, + "family_id": 92, + "candy_to_evolve": 25 + } + }, { + "template_id": "V0093_POKEMON_HAUNTER", + "pokemon_settings": { + "pokemon_id": 93, + "model_scale": 0.6800000071525574, + "type": 8, + "type_2": 4, + "camera": { + "disk_radius_m": 0.7649999856948853, + "cylinder_radius_m": 0.5099999904632568, + "cylinder_height_m": 1.0880000591278076, + "cylinder_ground_m": 0.3400000035762787, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.44200000166893005, + "collision_height_m": 1.156000018119812, + "collision_head_radius_m": 0.44200000166893005, + "movement_type": 3, + "movement_timer_s": 23, + "jump_time_s": 1, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 90, + "base_attack": 172, + "base_defense": 118, + "dodge_energy_delta": 0 + }, + "quick_moves": [213, 212], + "cinematic_moves": [70, 16, 90], + "animation_time": [2.1666998863220215, 0.666700005531311, 1.666700005531311, 0.666700005531311, 0, 2.3333001136779785, 2, 0], + "evolution_ids": [94], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.600000023841858, + "pokedex_weight_kg": 0.10000000149011612, + "parent_pokemon_id": 92, + "height_std_dev": 0.20000000298023224, + "weight_std_dev": 0.012500000186264515, + "km_distance_to_hatch": 0, + "family_id": 92, + "candy_to_evolve": 100 + } + }, { + "template_id": "V0094_MOVE_BONE_CLUB", + "move_settings": { + "movement_id": 94, + "animation_id": 5, + "pokemon_type": 5, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.06499999761581421, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "bone_club", + "duration_ms": 1600, + "damage_window_start_ms": 1250, + "damage_window_end_ms": 1500, + "energy_delta": -25 + } + }, { + "template_id": "V0094_POKEMON_GENGAR", + "pokemon_settings": { + "pokemon_id": 94, + "model_scale": 0.8399999737739563, + "type": 8, + "type_2": 4, + "camera": { + "disk_radius_m": 0.6930000185966492, + "cylinder_radius_m": 0.4620000123977661, + "cylinder_height_m": 1.1759999990463257, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.07999999821186066, + "base_flee_rate": 0.05000000074505806, + "collision_radius_m": 0.4620000123977661, + "collision_height_m": 1.0920000076293945, + "collision_head_radius_m": 0.5040000081062317, + "movement_type": 1, + "movement_timer_s": 14, + "jump_time_s": 1.2999999523162842, + "attack_timer_s": 5 + }, + "stats": { + "base_stamina": 120, + "base_attack": 204, + "base_defense": 156, + "dodge_energy_delta": 0 + }, + "quick_moves": [203, 213], + "cinematic_moves": [70, 16, 91], + "animation_time": [1.666700005531311, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 1.666700005531311, 1.333299994468689, 1.6666669845581055], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.5, + "pokedex_weight_kg": 40.5, + "parent_pokemon_id": 93, + "height_std_dev": 0.1875, + "weight_std_dev": 5.0625, + "km_distance_to_hatch": 0, + "family_id": 92, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0095_MOVE_BULLDOZE", + "move_settings": { + "movement_id": 95, + "animation_id": 5, + "pokemon_type": 5, + "power": 35, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.05999999865889549, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "bulldoze", + "duration_ms": 3400, + "damage_window_start_ms": 1900, + "damage_window_end_ms": 3000, + "energy_delta": -25 + } + }, { + "template_id": "V0095_POKEMON_ONIX", + "pokemon_settings": { + "pokemon_id": 95, + "model_scale": 0.4699999988079071, + "type": 6, + "type_2": 5, + "camera": { + "disk_radius_m": 0.9869999885559082, + "cylinder_radius_m": 0.6579999923706055, + "cylinder_height_m": 1.409999966621399, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.6579999923706055, + "collision_height_m": 1.1749999523162842, + "collision_head_radius_m": 0.37599998712539673, + "movement_type": 1, + "movement_timer_s": 17, + "jump_time_s": 1, + "attack_timer_s": 6 + }, + "stats": { + "base_stamina": 70, + "base_attack": 90, + "base_defense": 186, + "dodge_energy_delta": 0 + }, + "quick_moves": [227, 221], + "cinematic_moves": [64, 32, 74], + "animation_time": [2.3333001136779785, 0.666700005531311, 1.733299970626831, 1.733299970626831, 0, 2.3333001136779785, 2.0332999229431152, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 8.800000190734863, + "pokedex_weight_kg": 210, + "parent_pokemon_id": 0, + "height_std_dev": 1.100000023841858, + "weight_std_dev": 26.25, + "km_distance_to_hatch": 0, + "family_id": 95, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0096_MOVE_MUD_BOMB", + "move_settings": { + "movement_id": 96, + "animation_id": 5, + "pokemon_type": 5, + "power": 30, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.06499999761581421, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "mud_bomb", + "duration_ms": 2600, + "damage_window_start_ms": 2050, + "damage_window_end_ms": 2500, + "energy_delta": -25 + } + }, { + "template_id": "V0096_POKEMON_DROWZEE", + "pokemon_settings": { + "pokemon_id": 96, + "model_scale": 1.0499999523162842, + "type": 14, + "type_2": 0, + "camera": { + "disk_radius_m": 0.6299999952316284, + "cylinder_radius_m": 0.41999998688697815, + "cylinder_height_m": 1.0499999523162842, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.3675000071525574, + "collision_height_m": 0.6299999952316284, + "collision_head_radius_m": 0.26249998807907104, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 1.25, + "attack_timer_s": 23 + }, + "stats": { + "base_stamina": 120, + "base_attack": 104, + "base_defense": 140, + "dodge_energy_delta": 0 + }, + "quick_moves": [222, 235], + "cinematic_moves": [30, 60, 108], + "animation_time": [1.833299994468689, 0.666700005531311, 1.666700005531311, 1.766700029373169, 0, 2, 2.3333001136779785, 0], + "evolution_ids": [97], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1, + "pokedex_weight_kg": 32.400001525878906, + "parent_pokemon_id": 0, + "height_std_dev": 0.125, + "weight_std_dev": 4.050000190734863, + "km_distance_to_hatch": 0, + "family_id": 96, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0097_POKEMON_HYPNO", + "pokemon_settings": { + "pokemon_id": 97, + "model_scale": 0.8299999833106995, + "type": 14, + "type_2": 0, + "camera": { + "disk_radius_m": 0.9337999820709229, + "cylinder_radius_m": 0.6225000023841858, + "cylinder_height_m": 1.3279999494552612, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.3319999873638153, + "collision_height_m": 0.8299999833106995, + "collision_head_radius_m": 0.3319999873638153, + "movement_type": 1, + "movement_timer_s": 11, + "jump_time_s": 0.800000011920929, + "attack_timer_s": 4 + }, + "stats": { + "base_stamina": 170, + "base_attack": 162, + "base_defense": 196, + "dodge_energy_delta": 0 + }, + "quick_moves": [234, 235], + "cinematic_moves": [60, 108, 70], + "animation_time": [1.8667000532150269, 0.666700005531311, 2, 1.4333000183105469, 0, 2.6666998863220215, 1.600000023841858, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.600000023841858, + "pokedex_weight_kg": 75.5999984741211, + "parent_pokemon_id": 96, + "height_std_dev": 0.20000000298023224, + "weight_std_dev": 9.449999809265137, + "km_distance_to_hatch": 0, + "family_id": 96, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0098_POKEMON_KRABBY", + "pokemon_settings": { + "pokemon_id": 98, + "model_scale": 1.159999966621399, + "type": 11, + "type_2": 0, + "camera": { + "disk_radius_m": 0.7829999923706055, + "cylinder_radius_m": 0.5220000147819519, + "cylinder_height_m": 0.8700000047683716, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.15000000596046448, + "collision_radius_m": 0.5220000147819519, + "collision_height_m": 0.8700000047683716, + "collision_head_radius_m": 0.26100000739097595, + "movement_type": 1, + "movement_timer_s": 23, + "jump_time_s": 1, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 60, + "base_attack": 116, + "base_defense": 110, + "dodge_energy_delta": 0 + }, + "quick_moves": [237, 216], + "cinematic_moves": [20, 53, 105], + "animation_time": [1.4333000183105469, 0.666700005531311, 1.666700005531311, 1.5, 0, 2.3333001136779785, 1.333299994468689, 0], + "evolution_ids": [99], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.4000000059604645, + "pokedex_weight_kg": 6.5, + "parent_pokemon_id": 0, + "height_std_dev": 0.05000000074505806, + "weight_std_dev": 0.8125, + "km_distance_to_hatch": 0, + "family_id": 98, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0099_MOVE_SIGNAL_BEAM", + "move_settings": { + "movement_id": 99, + "animation_id": 5, + "pokemon_type": 7, + "power": 45, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07500000298023224, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "signal_beam", + "duration_ms": 3100, + "damage_window_start_ms": 2000, + "damage_window_end_ms": 3000, + "energy_delta": -33 + } + }, { + "template_id": "V0099_POKEMON_KINGLER", + "pokemon_settings": { + "pokemon_id": 99, + "model_scale": 0.8700000047683716, + "type": 11, + "type_2": 0, + "camera": { + "disk_radius_m": 0.9787999987602234, + "cylinder_radius_m": 0.6524999737739563, + "cylinder_height_m": 1.000499963760376, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.6524999737739563, + "collision_height_m": 1.000499963760376, + "collision_head_radius_m": 0.32624998688697815, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 0.800000011920929, + "attack_timer_s": 3 + }, + "stats": { + "base_stamina": 110, + "base_attack": 178, + "base_defense": 168, + "dodge_energy_delta": 0 + }, + "quick_moves": [228, 216], + "cinematic_moves": [20, 100, 105], + "animation_time": [2.266700029373169, 0.666700005531311, 1.7999999523162842, 1.5666999816894531, 0, 2, 1.5333000421524048, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.2999999523162842, + "pokedex_weight_kg": 60, + "parent_pokemon_id": 98, + "height_std_dev": 0.16249999403953552, + "weight_std_dev": 7.5, + "km_distance_to_hatch": 0, + "family_id": 98, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0100_MOVE_X_SCISSOR", + "move_settings": { + "movement_id": 100, + "animation_id": 5, + "pokemon_type": 7, + "power": 35, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07999999821186066, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "x_scissor", + "duration_ms": 2100, + "damage_window_start_ms": 1350, + "damage_window_end_ms": 1600, + "energy_delta": -33 + } + }, { + "template_id": "V0100_POKEMON_VOLTORB", + "pokemon_settings": { + "pokemon_id": 100, + "model_scale": 1.350000023841858, + "type": 13, + "type_2": 0, + "camera": { + "disk_radius_m": 0.5062999725341797, + "cylinder_radius_m": 0.3375000059604645, + "cylinder_height_m": 0.675000011920929, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.3375000059604645, + "collision_height_m": 0.675000011920929, + "collision_head_radius_m": 0.16875000298023224, + "movement_type": 1, + "movement_timer_s": 10, + "jump_time_s": 1.2000000476837158, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 80, + "base_attack": 102, + "base_defense": 124, + "dodge_energy_delta": 0 + }, + "quick_moves": [206, 221], + "cinematic_moves": [35, 79, 99], + "animation_time": [2.6666998863220215, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 2.3333001136779785, 2, 2], + "evolution_ids": [101], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.5, + "pokedex_weight_kg": 10.399999618530273, + "parent_pokemon_id": 0, + "height_std_dev": 0.0625, + "weight_std_dev": 1.2999999523162842, + "km_distance_to_hatch": 0, + "family_id": 100, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0101_MOVE_FLAME_CHARGE", + "move_settings": { + "movement_id": 101, + "animation_id": 5, + "pokemon_type": 10, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.05000000074505806, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "flame_charge", + "duration_ms": 3100, + "damage_window_start_ms": 2700, + "damage_window_end_ms": 2900, + "energy_delta": -20 + } + }, { + "template_id": "V0101_POKEMON_ELECTRODE", + "pokemon_settings": { + "pokemon_id": 101, + "model_scale": 0.9200000166893005, + "type": 13, + "type_2": 0, + "camera": { + "disk_radius_m": 0.828000009059906, + "cylinder_radius_m": 0.5519999861717224, + "cylinder_height_m": 1.1039999723434448, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.5519999861717224, + "collision_height_m": 1.1039999723434448, + "collision_head_radius_m": 0.2759999930858612, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 1.2000000476837158, + "attack_timer_s": 23 + }, + "stats": { + "base_stamina": 120, + "base_attack": 150, + "base_defense": 174, + "dodge_energy_delta": 0 + }, + "quick_moves": [206, 221], + "cinematic_moves": [35, 79, 14], + "animation_time": [2.3333001136779785, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 2.3333001136779785, 3, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.2000000476837158, + "pokedex_weight_kg": 66.5999984741211, + "parent_pokemon_id": 100, + "height_std_dev": 0.15000000596046448, + "weight_std_dev": 8.324999809265137, + "km_distance_to_hatch": 0, + "family_id": 100, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0102_MOVE_FLAME_BURST", + "move_settings": { + "movement_id": 102, + "animation_id": 5, + "pokemon_type": 10, + "power": 30, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07000000029802322, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "flame_burst", + "duration_ms": 2100, + "damage_window_start_ms": 1200, + "damage_window_end_ms": 1600, + "energy_delta": -25 + } + }, { + "template_id": "V0102_POKEMON_EXEGGCUTE", + "pokemon_settings": { + "pokemon_id": 102, + "model_scale": 1.0299999713897705, + "type": 12, + "type_2": 14, + "camera": { + "disk_radius_m": 0.7724999785423279, + "cylinder_radius_m": 0.5149999856948853, + "cylinder_height_m": 0.41200000047683716, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.5149999856948853, + "collision_height_m": 0.41200000047683716, + "collision_head_radius_m": 0.2574999928474426, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 1, + "attack_timer_s": 23 + }, + "stats": { + "base_stamina": 120, + "base_attack": 110, + "base_defense": 132, + "dodge_energy_delta": 0 + }, + "quick_moves": [235], + "cinematic_moves": [59, 108, 62], + "animation_time": [2.5, 0.666700005531311, 1.666700005531311, 1.666700005531311, 0, 2, 2, 0], + "evolution_ids": [103], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.4000000059604645, + "pokedex_weight_kg": 2.5, + "parent_pokemon_id": 0, + "height_std_dev": 0.05000000074505806, + "weight_std_dev": 0.3125, + "km_distance_to_hatch": 0, + "family_id": 102, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0103_MOVE_FIRE_BLAST", + "move_settings": { + "movement_id": 103, + "animation_id": 5, + "pokemon_type": 10, + "power": 100, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.10999999940395355, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "fire_blast", + "duration_ms": 4100, + "damage_window_start_ms": 3600, + "damage_window_end_ms": 4000, + "energy_delta": -100 + } + }, { + "template_id": "V0103_POKEMON_EXEGGUTOR", + "pokemon_settings": { + "pokemon_id": 103, + "model_scale": 0.7799999713897705, + "type": 12, + "type_2": 14, + "camera": { + "disk_radius_m": 0.7605000138282776, + "cylinder_radius_m": 0.5070000290870667, + "cylinder_height_m": 1.3650000095367432, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.5070000290870667, + "collision_height_m": 1.3650000095367432, + "collision_head_radius_m": 0.2535000145435333, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 1, + "attack_timer_s": 3 + }, + "stats": { + "base_stamina": 190, + "base_attack": 232, + "base_defense": 164, + "dodge_energy_delta": 0 + }, + "quick_moves": [235, 234], + "cinematic_moves": [59, 108, 116], + "animation_time": [2.4667000770568848, 0.666700005531311, 1.666700005531311, 2, 0, 2.200000047683716, 1.600000023841858, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 2, + "pokedex_weight_kg": 120, + "parent_pokemon_id": 102, + "height_std_dev": 0.25, + "weight_std_dev": 15, + "km_distance_to_hatch": 0, + "family_id": 102, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0104_MOVE_BRINE", + "move_settings": { + "movement_id": 104, + "animation_id": 5, + "pokemon_type": 11, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.06499999761581421, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "brine", + "duration_ms": 2400, + "damage_window_start_ms": 1650, + "damage_window_end_ms": 2000, + "energy_delta": -25 + } + }, { + "template_id": "V0104_POKEMON_CUBONE", + "pokemon_settings": { + "pokemon_id": 104, + "model_scale": 1.4800000190734863, + "type": 5, + "type_2": 0, + "camera": { + "disk_radius_m": 0.4440000057220459, + "cylinder_radius_m": 0.29600000381469727, + "cylinder_height_m": 0.5920000076293945, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.3199999928474426, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.22200000286102295, + "collision_height_m": 0.3700000047683716, + "collision_head_radius_m": 0.22200000286102295, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 1, + "attack_timer_s": 23 + }, + "stats": { + "base_stamina": 100, + "base_attack": 102, + "base_defense": 150, + "dodge_energy_delta": 0 + }, + "quick_moves": [233, 241], + "cinematic_moves": [94, 26, 95], + "animation_time": [1.733299970626831, 0.666700005531311, 1.600000023841858, 1.600000023841858, 0, 1.833299994468689, 1.600000023841858, 0], + "evolution_ids": [105], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.4000000059604645, + "pokedex_weight_kg": 6.5, + "parent_pokemon_id": 0, + "height_std_dev": 0.05000000074505806, + "weight_std_dev": 0.8125, + "km_distance_to_hatch": 0, + "family_id": 104, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0105_MOVE_WATER_PULSE", + "move_settings": { + "movement_id": 105, + "animation_id": 5, + "pokemon_type": 11, + "power": 35, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.05999999865889549, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "water_pulse", + "duration_ms": 3300, + "damage_window_start_ms": 1900, + "damage_window_end_ms": 2900, + "energy_delta": -25 + } + }, { + "template_id": "V0105_POKEMON_MAROWAK", + "pokemon_settings": { + "pokemon_id": 105, + "model_scale": 1, + "type": 5, + "type_2": 0, + "camera": { + "disk_radius_m": 0.5249999761581421, + "cylinder_radius_m": 0.3499999940395355, + "cylinder_height_m": 1, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.11999999731779099, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.25, + "collision_height_m": 0.75, + "collision_head_radius_m": 0.25, + "movement_type": 1, + "movement_timer_s": 14, + "jump_time_s": 0.8500000238418579, + "attack_timer_s": 5 + }, + "stats": { + "base_stamina": 120, + "base_attack": 140, + "base_defense": 202, + "dodge_energy_delta": 0 + }, + "quick_moves": [233, 241], + "cinematic_moves": [94, 26, 31], + "animation_time": [2, 0.666700005531311, 1.666700005531311, 1.5, 0, 2, 1.399999976158142, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1, + "pokedex_weight_kg": 45, + "parent_pokemon_id": 104, + "height_std_dev": 0.125, + "weight_std_dev": 5.625, + "km_distance_to_hatch": 0, + "family_id": 104, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0106_MOVE_SCALD", + "move_settings": { + "movement_id": 106, + "animation_id": 5, + "pokemon_type": 11, + "power": 55, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07999999821186066, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "scald", + "duration_ms": 4000, + "damage_window_start_ms": 1800, + "damage_window_end_ms": 3900, + "energy_delta": -33 + } + }, { + "template_id": "V0106_POKEMON_HITMONLEE", + "pokemon_settings": { + "pokemon_id": 106, + "model_scale": 0.8299999833106995, + "type": 2, + "type_2": 0, + "camera": { + "disk_radius_m": 0.6225000023841858, + "cylinder_radius_m": 0.41499999165534973, + "cylinder_height_m": 1.2450000047683716, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.41499999165534973, + "collision_height_m": 1.2450000047683716, + "collision_head_radius_m": 0.20749999582767487, + "movement_type": 1, + "movement_timer_s": 11, + "jump_time_s": 0.800000011920929, + "attack_timer_s": 4 + }, + "stats": { + "base_stamina": 100, + "base_attack": 148, + "base_defense": 172, + "dodge_energy_delta": 0 + }, + "quick_moves": [207, 241], + "cinematic_moves": [127, 56, 32], + "animation_time": [1.666700005531311, 0.666700005531311, 1.666700005531311, 1.5, 0, 2, 0.9333000183105469, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.5, + "pokedex_weight_kg": 49.79999923706055, + "parent_pokemon_id": 0, + "height_std_dev": 0.1875, + "weight_std_dev": 6.224999904632568, + "km_distance_to_hatch": 0, + "family_id": 106, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0107_MOVE_HYDRO_PUMP", + "move_settings": { + "movement_id": 107, + "animation_id": 5, + "pokemon_type": 11, + "power": 90, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.10999999940395355, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "hydro_pump", + "duration_ms": 3800, + "damage_window_start_ms": 1500, + "damage_window_end_ms": 3600, + "energy_delta": -100 + } + }, { + "template_id": "V0107_POKEMON_HITMONCHAN", + "pokemon_settings": { + "pokemon_id": 107, + "model_scale": 1.0199999809265137, + "type": 2, + "type_2": 0, + "camera": { + "disk_radius_m": 0.6884999871253967, + "cylinder_radius_m": 0.45899999141693115, + "cylinder_height_m": 1.4279999732971191, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.33149999380111694, + "collision_height_m": 1.0199999809265137, + "collision_head_radius_m": 0.2549999952316284, + "movement_type": 1, + "movement_timer_s": 14, + "jump_time_s": 1.100000023841858, + "attack_timer_s": 5 + }, + "stats": { + "base_stamina": 100, + "base_attack": 138, + "base_defense": 204, + "dodge_energy_delta": 0 + }, + "quick_moves": [229, 241], + "cinematic_moves": [115, 33, 77, 123], + "animation_time": [1.5, 0.666700005531311, 1.666700005531311, 1.666700005531311, 0, 1.733299970626831, 0.666700005531311, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.399999976158142, + "pokedex_weight_kg": 50.20000076293945, + "parent_pokemon_id": 0, + "height_std_dev": 0.17499999701976776, + "weight_std_dev": 6.275000095367432, + "km_distance_to_hatch": 0, + "family_id": 107, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0108_MOVE_PSYCHIC", + "move_settings": { + "movement_id": 108, + "animation_id": 5, + "pokemon_type": 14, + "power": 55, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.09000000357627869, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "psychic", + "duration_ms": 2800, + "damage_window_start_ms": 1600, + "damage_window_end_ms": 2800, + "energy_delta": -50 + } + }, { + "template_id": "V0108_POKEMON_LICKITUNG", + "pokemon_settings": { + "pokemon_id": 108, + "model_scale": 0.9200000166893005, + "type": 1, + "type_2": 0, + "camera": { + "disk_radius_m": 0.6899999976158142, + "cylinder_radius_m": 0.46000000834465027, + "cylinder_height_m": 1.1039999723434448, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.46000000834465027, + "collision_height_m": 0.9200000166893005, + "collision_head_radius_m": 0.2529999911785126, + "movement_type": 1, + "movement_timer_s": 23, + "jump_time_s": 1.25, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 180, + "base_attack": 126, + "base_defense": 160, + "dodge_energy_delta": 0 + }, + "quick_moves": [212, 234], + "cinematic_moves": [14, 127, 118], + "animation_time": [1.666700005531311, 0.666700005531311, 1.666700005531311, 1.733299970626831, 0, 2, 0.800000011920929, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.2000000476837158, + "pokedex_weight_kg": 65.5, + "parent_pokemon_id": 0, + "height_std_dev": 0.15000000596046448, + "weight_std_dev": 8.1875, + "km_distance_to_hatch": 0, + "family_id": 108, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0109_MOVE_PSYSTRIKE", + "move_settings": { + "movement_id": 109, + "animation_id": 5, + "pokemon_type": 14, + "power": 100, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.10000000149011612, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "psystrike", + "duration_ms": 5100, + "damage_window_start_ms": 4400, + "damage_window_end_ms": 5300, + "energy_delta": -100 + } + }, { + "template_id": "V0109_POKEMON_KOFFING", + "pokemon_settings": { + "pokemon_id": 109, + "model_scale": 1.2000000476837158, + "type": 4, + "type_2": 0, + "camera": { + "disk_radius_m": 0.7200000286102295, + "cylinder_radius_m": 0.47999998927116394, + "cylinder_height_m": 0.7200000286102295, + "cylinder_ground_m": 0.6000000238418579, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.36000001430511475, + "collision_height_m": 0.6600000262260437, + "collision_head_radius_m": 0.6000000238418579, + "movement_type": 5, + "movement_timer_s": 8, + "jump_time_s": 1, + "attack_timer_s": 23 + }, + "stats": { + "base_stamina": 80, + "base_attack": 136, + "base_defense": 142, + "dodge_energy_delta": 0 + }, + "quick_moves": [225, 221], + "cinematic_moves": [18, 90, 16], + "animation_time": [1.333299994468689, 0.666700005531311, 1.5, 0.666700005531311, 6.6666669845581055, 2, 2, 0], + "evolution_ids": [110], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.6000000238418579, + "pokedex_weight_kg": 1, + "parent_pokemon_id": 0, + "height_std_dev": 0.07500000298023224, + "weight_std_dev": 0.125, + "km_distance_to_hatch": 0, + "family_id": 109, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0110_POKEMON_WEEZING", + "pokemon_settings": { + "pokemon_id": 110, + "model_scale": 1.2400000095367432, + "type": 4, + "type_2": 0, + "camera": { + "disk_radius_m": 0.9300000071525574, + "cylinder_radius_m": 0.6200000047683716, + "cylinder_height_m": 0.7440000176429749, + "cylinder_ground_m": 0.6200000047683716, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.6819999814033508, + "collision_height_m": 0.7440000176429749, + "collision_head_radius_m": 0.4650000035762787, + "movement_type": 5, + "movement_timer_s": 4, + "jump_time_s": 1, + "attack_timer_s": 11 + }, + "stats": { + "base_stamina": 130, + "base_attack": 190, + "base_defense": 198, + "dodge_energy_delta": 0 + }, + "quick_moves": [225, 221], + "cinematic_moves": [90, 70, 16], + "animation_time": [2, 0.666700005531311, 1.666700005531311, 0.666700005531311, 3.3333330154418945, 2.4667000770568848, 2.6666998863220215, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.2000000476837158, + "pokedex_weight_kg": 9.5, + "parent_pokemon_id": 109, + "height_std_dev": 0.15000000596046448, + "weight_std_dev": 1.1875, + "km_distance_to_hatch": 0, + "family_id": 109, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0111_MOVE_ICY_WIND", + "move_settings": { + "movement_id": 111, + "animation_id": 5, + "pokemon_type": 15, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.054999999701976776, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "icy_wind", + "duration_ms": 3800, + "damage_window_start_ms": 2000, + "damage_window_end_ms": 2700, + "energy_delta": -20 + } + }, { + "template_id": "V0111_POKEMON_RHYHORN", + "pokemon_settings": { + "pokemon_id": 111, + "model_scale": 1, + "type": 5, + "type_2": 6, + "camera": { + "disk_radius_m": 0.75, + "cylinder_radius_m": 0.5, + "cylinder_height_m": 0.8500000238418579, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.5, + "collision_height_m": 0.8500000238418579, + "collision_head_radius_m": 0.30000001192092896, + "movement_type": 1, + "movement_timer_s": 14, + "jump_time_s": 1.25, + "attack_timer_s": 5 + }, + "stats": { + "base_stamina": 160, + "base_attack": 110, + "base_defense": 116, + "dodge_energy_delta": 0 + }, + "quick_moves": [233, 241], + "cinematic_moves": [95, 126, 127], + "animation_time": [1.766700029373169, 1, 1.5, 1.833299994468689, 0, 2.6666998863220215, 2.4000000953674316, 0], + "evolution_ids": [112], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1, + "pokedex_weight_kg": 115, + "parent_pokemon_id": 0, + "height_std_dev": 0.125, + "weight_std_dev": 14.375, + "km_distance_to_hatch": 0, + "family_id": 111, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0112_POKEMON_RHYDON", + "pokemon_settings": { + "pokemon_id": 112, + "model_scale": 0.7900000214576721, + "type": 5, + "type_2": 6, + "camera": { + "disk_radius_m": 1.184999942779541, + "cylinder_radius_m": 0.7900000214576721, + "cylinder_height_m": 1.343000054359436, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.5924999713897705, + "collision_height_m": 1.184999942779541, + "collision_head_radius_m": 0.39500001072883606, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 1, + "attack_timer_s": 3 + }, + "stats": { + "base_stamina": 210, + "base_attack": 166, + "base_defense": 160, + "dodge_energy_delta": 0 + }, + "quick_moves": [233, 241], + "cinematic_moves": [22, 31, 32], + "animation_time": [1.7000000476837158, 0.666700005531311, 2.0999999046325684, 1.7000000476837158, 0, 2, 1.600000023841858, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.899999976158142, + "pokedex_weight_kg": 120, + "parent_pokemon_id": 111, + "height_std_dev": 0.23749999701976776, + "weight_std_dev": 15, + "km_distance_to_hatch": 0, + "family_id": 111, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0113_POKEMON_CHANSEY", + "pokemon_settings": { + "pokemon_id": 113, + "model_scale": 0.9599999785423279, + "type": 1, + "type_2": 0, + "camera": { + "disk_radius_m": 0.7200000286102295, + "cylinder_radius_m": 0.47999998927116394, + "cylinder_height_m": 1.055999994277954, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.47999998927116394, + "collision_height_m": 1.055999994277954, + "collision_head_radius_m": 0.23999999463558197, + "movement_type": 1, + "movement_timer_s": 3, + "jump_time_s": 1, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 500, + "base_attack": 40, + "base_defense": 60, + "dodge_energy_delta": 0 + }, + "quick_moves": [222, 234], + "cinematic_moves": [108, 30, 86], + "animation_time": [2.1666998863220215, 0.666700005531311, 2, 1.5666999816894531, 0, 2.1666998863220215, 1.733299970626831, 1.6666669845581055], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.100000023841858, + "pokedex_weight_kg": 34.599998474121094, + "parent_pokemon_id": 0, + "height_std_dev": 0.13750000298023224, + "weight_std_dev": 4.324999809265137, + "km_distance_to_hatch": 0, + "family_id": 113, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0114_MOVE_GIGA_DRAIN", + "move_settings": { + "movement_id": 114, + "animation_id": 5, + "pokemon_type": 12, + "power": 50, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0.5, + "stamina_loss_scalar": 0.07500000298023224, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "giga_drain", + "duration_ms": 3600, + "damage_window_start_ms": 350, + "damage_window_end_ms": 1500, + "energy_delta": -33 + } + }, { + "template_id": "V0114_POKEMON_TANGELA", + "pokemon_settings": { + "pokemon_id": 114, + "model_scale": 1, + "type": 12, + "type_2": 0, + "camera": { + "disk_radius_m": 1.0950000286102295, + "cylinder_radius_m": 0.7300000190734863, + "cylinder_height_m": 1, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.3199999928474426, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.5, + "collision_height_m": 0.8999999761581421, + "collision_head_radius_m": 0.36500000953674316, + "movement_type": 1, + "movement_timer_s": 4, + "jump_time_s": 1.25, + "attack_timer_s": 11 + }, + "stats": { + "base_stamina": 130, + "base_attack": 164, + "base_defense": 152, + "dodge_energy_delta": 0 + }, + "quick_moves": [214], + "cinematic_moves": [118, 90, 116], + "animation_time": [2, 0.666700005531311, 1.833299994468689, 1.833299994468689, 0, 2.5, 1.8667000532150269, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1, + "pokedex_weight_kg": 35, + "parent_pokemon_id": 0, + "height_std_dev": 0.125, + "weight_std_dev": 4.375, + "km_distance_to_hatch": 0, + "family_id": 114, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0115_MOVE_FIRE_PUNCH", + "move_settings": { + "movement_id": 115, + "animation_id": 5, + "pokemon_type": 10, + "power": 40, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07500000298023224, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "fire_punch", + "duration_ms": 2800, + "damage_window_start_ms": 1690, + "damage_window_end_ms": 2200, + "energy_delta": -33 + } + }, { + "template_id": "V0115_POKEMON_KANGASKHAN", + "pokemon_settings": { + "pokemon_id": 115, + "model_scale": 0.7200000286102295, + "type": 1, + "type_2": 0, + "camera": { + "disk_radius_m": 0.8640000224113464, + "cylinder_radius_m": 0.5759999752044678, + "cylinder_height_m": 1.5839999914169312, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.5040000081062317, + "collision_height_m": 1.2599999904632568, + "collision_head_radius_m": 0.36000001430511475, + "movement_type": 1, + "movement_timer_s": 11, + "jump_time_s": 0.699999988079071, + "attack_timer_s": 4 + }, + "stats": { + "base_stamina": 210, + "base_attack": 142, + "base_defense": 178, + "dodge_energy_delta": 0 + }, + "quick_moves": [233, 207], + "cinematic_moves": [123, 31, 127], + "animation_time": [2.1333000659942627, 0.666700005531311, 1.666700005531311, 1.5, 0, 2.3333001136779785, 2.3333001136779785, 2.3333330154418945], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 2.200000047683716, + "pokedex_weight_kg": 80, + "parent_pokemon_id": 0, + "height_std_dev": 0.2750000059604645, + "weight_std_dev": 10, + "km_distance_to_hatch": 0, + "family_id": 115, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0116_MOVE_SOLAR_BEAM", + "move_settings": { + "movement_id": 116, + "animation_id": 5, + "pokemon_type": 12, + "power": 120, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.11999999731779099, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "solar_beam", + "duration_ms": 4900, + "damage_window_start_ms": 3100, + "damage_window_end_ms": 4800, + "energy_delta": -100 + } + }, { + "template_id": "V0116_POKEMON_HORSEA", + "pokemon_settings": { + "pokemon_id": 116, + "model_scale": 1.4800000190734863, + "type": 11, + "type_2": 0, + "camera": { + "disk_radius_m": 0.2775000035762787, + "cylinder_radius_m": 0.25, + "cylinder_height_m": 0.7400000095367432, + "cylinder_ground_m": 0.1850000023841858, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.14800000190734863, + "collision_height_m": 0.4440000057220459, + "collision_head_radius_m": 0.1850000023841858, + "movement_type": 6, + "movement_timer_s": 10, + "jump_time_s": 1, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 60, + "base_attack": 122, + "base_defense": 100, + "dodge_energy_delta": 0 + }, + "quick_moves": [230, 237], + "cinematic_moves": [53, 82, 36], + "animation_time": [0, 0.666700005531311, 1.733299970626831, 0.833299994468689, 0.33333298563957214, 1.666700005531311, 2, 0], + "evolution_ids": [117], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.4000000059604645, + "pokedex_weight_kg": 8, + "parent_pokemon_id": 0, + "height_std_dev": 0.05000000074505806, + "weight_std_dev": 1, + "km_distance_to_hatch": 0, + "family_id": 116, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0117_MOVE_LEAF_BLADE", + "move_settings": { + "movement_id": 117, + "animation_id": 5, + "pokemon_type": 12, + "power": 55, + "accuracy_chance": 1, + "critical_chance": 0.25, + "heal_scalar": 0, + "stamina_loss_scalar": 0.09000000357627869, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "leaf_blade", + "duration_ms": 2800, + "damage_window_start_ms": 1200, + "damage_window_end_ms": 2200, + "energy_delta": -50 + } + }, { + "template_id": "V0117_POKEMON_SEADRA", + "pokemon_settings": { + "pokemon_id": 117, + "model_scale": 0.9200000166893005, + "type": 11, + "type_2": 0, + "camera": { + "disk_radius_m": 0.6899999976158142, + "cylinder_radius_m": 0.46000000834465027, + "cylinder_height_m": 1.149999976158142, + "cylinder_ground_m": 0.46000000834465027, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.32199999690055847, + "collision_height_m": 0.46000000834465027, + "collision_head_radius_m": 0.414000004529953, + "movement_type": 6, + "movement_timer_s": 6, + "jump_time_s": 1, + "attack_timer_s": 17 + }, + "stats": { + "base_stamina": 110, + "base_attack": 176, + "base_defense": 150, + "dodge_energy_delta": 0 + }, + "quick_moves": [230, 204], + "cinematic_moves": [40, 82, 107], + "animation_time": [0, 0.666700005531311, 1.666700005531311, 0.666700005531311, 0, 1.833299994468689, 2, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.2000000476837158, + "pokedex_weight_kg": 25, + "parent_pokemon_id": 116, + "height_std_dev": 0.15000000596046448, + "weight_std_dev": 3.125, + "km_distance_to_hatch": 0, + "family_id": 116, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0118_MOVE_POWER_WHIP", + "move_settings": { + "movement_id": 118, + "animation_id": 5, + "pokemon_type": 12, + "power": 70, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.11999999731779099, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "power_whip", + "duration_ms": 2800, + "damage_window_start_ms": 1500, + "damage_window_end_ms": 2800, + "energy_delta": -100 + } + }, { + "template_id": "V0118_POKEMON_GOLDEEN", + "pokemon_settings": { + "pokemon_id": 118, + "model_scale": 1.350000023841858, + "type": 11, + "type_2": 0, + "camera": { + "disk_radius_m": 0.4050000011920929, + "cylinder_radius_m": 0.27000001072883606, + "cylinder_height_m": 0.3375000059604645, + "cylinder_ground_m": 0.3375000059604645, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.15000000596046448, + "collision_radius_m": 0.13500000536441803, + "collision_height_m": 0.16875000298023224, + "collision_head_radius_m": 0.16875000298023224, + "movement_type": 6, + "movement_timer_s": 10, + "jump_time_s": 1, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 90, + "base_attack": 112, + "base_defense": 126, + "dodge_energy_delta": 0 + }, + "quick_moves": [211, 216], + "cinematic_moves": [105, 126, 58], + "animation_time": [3, 1, 1.666700005531311, 0.666700005531311, 0, 2.1666998863220215, 2.299999952316284, 0], + "evolution_ids": [119], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.6000000238418579, + "pokedex_weight_kg": 15, + "parent_pokemon_id": 0, + "height_std_dev": 0.07500000298023224, + "weight_std_dev": 1.875, + "km_distance_to_hatch": 0, + "family_id": 118, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0119_POKEMON_SEAKING", + "pokemon_settings": { + "pokemon_id": 119, + "model_scale": 0.8799999952316284, + "type": 11, + "type_2": 0, + "camera": { + "disk_radius_m": 0.593999981880188, + "cylinder_radius_m": 0.3959999978542328, + "cylinder_height_m": 0.7480000257492065, + "cylinder_ground_m": 0.33000001311302185, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.04399999976158142, + "collision_height_m": 0.04399999976158142, + "collision_head_radius_m": 0.24199999868869781, + "movement_type": 6, + "movement_timer_s": 14, + "jump_time_s": 1, + "attack_timer_s": 5 + }, + "stats": { + "base_stamina": 160, + "base_attack": 172, + "base_defense": 160, + "dodge_energy_delta": 0 + }, + "quick_moves": [211, 224], + "cinematic_moves": [111, 46, 22], + "animation_time": [3.5, 0.666700005531311, 1.666700005531311, 0.833299994468689, 0, 1.666700005531311, 2, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.2999999523162842, + "pokedex_weight_kg": 39, + "parent_pokemon_id": 118, + "height_std_dev": 0.16249999403953552, + "weight_std_dev": 4.875, + "km_distance_to_hatch": 0, + "family_id": 118, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0120_POKEMON_STARYU", + "pokemon_settings": { + "pokemon_id": 120, + "model_scale": 1.100000023841858, + "type": 11, + "type_2": 0, + "camera": { + "disk_radius_m": 0.6187999844551086, + "cylinder_radius_m": 0.4124999940395355, + "cylinder_height_m": 0.880000114440918, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.4000000059604645, + "base_flee_rate": 0.15000000596046448, + "collision_radius_m": 0.4124999940395355, + "collision_height_m": 0.880000114440918, + "collision_head_radius_m": 0.20624999701976776, + "movement_type": 1, + "movement_timer_s": 10, + "jump_time_s": 1.350000023841858, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 60, + "base_attack": 130, + "base_defense": 128, + "dodge_energy_delta": 0 + }, + "quick_moves": [219, 230], + "cinematic_moves": [125, 53, 65], + "animation_time": [1.333299994468689, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 1.666700005531311, 2, 2], + "evolution_ids": [121], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.800000011920929, + "pokedex_weight_kg": 34.5, + "parent_pokemon_id": 0, + "height_std_dev": 0.10000000149011612, + "weight_std_dev": 4.3125, + "km_distance_to_hatch": 0, + "family_id": 120, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0121_MOVE_AIR_CUTTER", + "move_settings": { + "movement_id": 121, + "animation_id": 5, + "pokemon_type": 3, + "power": 30, + "accuracy_chance": 1, + "critical_chance": 0.25, + "heal_scalar": 0, + "stamina_loss_scalar": 0.05999999865889549, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "air_cutter", + "duration_ms": 3300, + "damage_window_start_ms": 2200, + "damage_window_end_ms": 3100, + "energy_delta": -25 + } + }, { + "template_id": "V0121_POKEMON_STARMIE", + "pokemon_settings": { + "pokemon_id": 121, + "model_scale": 0.9700000286102295, + "type": 11, + "type_2": 14, + "camera": { + "disk_radius_m": 0.7275000214576721, + "cylinder_radius_m": 0.48500001430511475, + "cylinder_height_m": 1.0670000314712524, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.48500001430511475, + "collision_height_m": 1.0670000314712524, + "collision_head_radius_m": 0.24250000715255737, + "movement_type": 1, + "movement_timer_s": 6, + "jump_time_s": 1.600000023841858, + "attack_timer_s": 17 + }, + "stats": { + "base_stamina": 120, + "base_attack": 194, + "base_defense": 192, + "dodge_energy_delta": 0 + }, + "quick_moves": [219, 230], + "cinematic_moves": [107, 65, 30], + "animation_time": [1.733299970626831, 0.666700005531311, 1.8667000532150269, 2.0999999046325684, 0, 2.6666998863220215, 1.899999976158142, 2.0999999046325684], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.100000023841858, + "pokedex_weight_kg": 80, + "parent_pokemon_id": 120, + "height_std_dev": 0.13750000298023224, + "weight_std_dev": 10, + "km_distance_to_hatch": 0, + "family_id": 120, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0122_MOVE_HURRICANE", + "move_settings": { + "movement_id": 122, + "animation_id": 5, + "pokemon_type": 3, + "power": 80, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.10999999940395355, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "hurricane", + "duration_ms": 3200, + "damage_window_start_ms": 1030, + "damage_window_end_ms": 2800, + "energy_delta": -100 + } + }, { + "template_id": "V0122_POKEMON_MR_MIME", + "pokemon_settings": { + "pokemon_id": 122, + "model_scale": 0.8899999856948853, + "type": 14, + "type_2": 18, + "camera": { + "disk_radius_m": 0.6675000190734863, + "cylinder_radius_m": 0.4449999928474426, + "cylinder_height_m": 1.156999945640564, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.23999999463558197, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.2669999897480011, + "collision_height_m": 0.6675000190734863, + "collision_head_radius_m": 0.2669999897480011, + "movement_type": 1, + "movement_timer_s": 5, + "jump_time_s": 1, + "attack_timer_s": 14 + }, + "stats": { + "base_stamina": 80, + "base_attack": 154, + "base_defense": 196, + "dodge_energy_delta": 0 + }, + "quick_moves": [235, 234], + "cinematic_moves": [30, 108, 70], + "animation_time": [2.6666998863220215, 0.833299994468689, 1.833299994468689, 2, 0, 2, 2.5332999229431152, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.2999999523162842, + "pokedex_weight_kg": 54.5, + "parent_pokemon_id": 0, + "height_std_dev": 0.16249999403953552, + "weight_std_dev": 6.8125, + "km_distance_to_hatch": 0, + "family_id": 122, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0123_MOVE_BRICK_BREAK", + "move_settings": { + "movement_id": 123, + "animation_id": 5, + "pokemon_type": 2, + "power": 30, + "accuracy_chance": 1, + "critical_chance": 0.25, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07500000298023224, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "brick_break", + "duration_ms": 1600, + "damage_window_start_ms": 1100, + "damage_window_end_ms": 1500, + "energy_delta": -33 + } + }, { + "template_id": "V0123_POKEMON_SCYTHER", + "pokemon_settings": { + "pokemon_id": 123, + "model_scale": 0.800000011920929, + "type": 7, + "type_2": 3, + "camera": { + "disk_radius_m": 1.1399999856948853, + "cylinder_radius_m": 0.7599999904632568, + "cylinder_height_m": 1.2000000476837158, + "cylinder_ground_m": 0.4000000059604645, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.23999999463558197, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.4000000059604645, + "collision_height_m": 1, + "collision_head_radius_m": 0.20000000298023224, + "movement_type": 5, + "movement_timer_s": 14, + "jump_time_s": 1, + "attack_timer_s": 5 + }, + "stats": { + "base_stamina": 140, + "base_attack": 176, + "base_defense": 180, + "dodge_energy_delta": 0 + }, + "quick_moves": [200, 239], + "cinematic_moves": [51, 100, 49], + "animation_time": [1.733299970626831, 0.666700005531311, 1.666700005531311, 0.666700005531311, 0, 2, 2, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.5, + "pokedex_weight_kg": 56, + "parent_pokemon_id": 0, + "height_std_dev": 0.1875, + "weight_std_dev": 7, + "km_distance_to_hatch": 0, + "family_id": 123, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0124_POKEMON_JYNX", + "pokemon_settings": { + "pokemon_id": 124, + "model_scale": 0.8700000047683716, + "type": 15, + "type_2": 14, + "camera": { + "disk_radius_m": 0.9787999987602234, + "cylinder_radius_m": 0.6524999737739563, + "cylinder_height_m": 1.218000054359436, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.23999999463558197, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.4350000023841858, + "collision_height_m": 0.8700000047683716, + "collision_head_radius_m": 0.5220000147819519, + "movement_type": 1, + "movement_timer_s": 4, + "jump_time_s": 1.25, + "attack_timer_s": 11 + }, + "stats": { + "base_stamina": 130, + "base_attack": 172, + "base_defense": 134, + "dodge_energy_delta": 0 + }, + "quick_moves": [218, 222], + "cinematic_moves": [85, 33, 60], + "animation_time": [2.266700029373169, 0.666700005531311, 1.666700005531311, 1.766700029373169, 0, 1.8667000532150269, 2, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.399999976158142, + "pokedex_weight_kg": 40.599998474121094, + "parent_pokemon_id": 0, + "height_std_dev": 0.17499999701976776, + "weight_std_dev": 5.074999809265137, + "km_distance_to_hatch": 0, + "family_id": 124, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0125_MOVE_SWIFT", + "move_settings": { + "movement_id": 125, + "animation_id": 5, + "pokemon_type": 1, + "power": 30, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.05999999865889549, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "swift", + "duration_ms": 3000, + "damage_window_start_ms": 2300, + "damage_window_end_ms": 2800, + "energy_delta": -25 + } + }, { + "template_id": "V0125_POKEMON_ELECTABUZZ", + "pokemon_settings": { + "pokemon_id": 125, + "model_scale": 0.9800000190734863, + "type": 13, + "type_2": 0, + "camera": { + "disk_radius_m": 0.845300018787384, + "cylinder_radius_m": 0.5634999871253967, + "cylinder_height_m": 0.9800000190734863, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.23999999463558197, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.3919999897480011, + "collision_height_m": 0.7350000143051147, + "collision_head_radius_m": 0.28174999356269836, + "movement_type": 1, + "movement_timer_s": 6, + "jump_time_s": 1, + "attack_timer_s": 17 + }, + "stats": { + "base_stamina": 130, + "base_attack": 198, + "base_defense": 160, + "dodge_energy_delta": 0 + }, + "quick_moves": [205, 207], + "cinematic_moves": [77, 79, 78], + "animation_time": [1.5, 0.666700005531311, 1.5, 1.5, 0, 1.666700005531311, 1.333299994468689, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.100000023841858, + "pokedex_weight_kg": 30, + "parent_pokemon_id": 0, + "height_std_dev": 0.13750000298023224, + "weight_std_dev": 3.75, + "km_distance_to_hatch": 0, + "family_id": 125, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0126_MOVE_HORN_ATTACK", + "move_settings": { + "movement_id": 126, + "animation_id": 5, + "pokemon_type": 1, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.06499999761581421, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "horn_attack", + "duration_ms": 2200, + "damage_window_start_ms": 1600, + "damage_window_end_ms": 1900, + "energy_delta": -25 + } + }, { + "template_id": "V0126_POKEMON_MAGMAR", + "pokemon_settings": { + "pokemon_id": 126, + "model_scale": 0.8799999952316284, + "type": 10, + "type_2": 0, + "camera": { + "disk_radius_m": 0.9900000095367432, + "cylinder_radius_m": 0.6600000262260437, + "cylinder_height_m": 1.1440000534057617, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.23999999463558197, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.4399999976158142, + "collision_height_m": 0.8799999952316284, + "collision_head_radius_m": 0.33000001311302185, + "movement_type": 1, + "movement_timer_s": 14, + "jump_time_s": 1.25, + "attack_timer_s": 5 + }, + "stats": { + "base_stamina": 130, + "base_attack": 214, + "base_defense": 158, + "dodge_energy_delta": 0 + }, + "quick_moves": [209, 208], + "cinematic_moves": [103, 115, 24], + "animation_time": [1.666700005531311, 0.666700005531311, 1.666700005531311, 1.833299994468689, 8, 2, 2, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.2999999523162842, + "pokedex_weight_kg": 44.5, + "parent_pokemon_id": 0, + "height_std_dev": 0.16249999403953552, + "weight_std_dev": 5.5625, + "km_distance_to_hatch": 0, + "family_id": 126, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0127_MOVE_STOMP", + "move_settings": { + "movement_id": 127, + "animation_id": 5, + "pokemon_type": 1, + "power": 30, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.06499999761581421, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "stomp", + "duration_ms": 2100, + "damage_window_start_ms": 1200, + "damage_window_end_ms": 1900, + "energy_delta": -25 + } + }, { + "template_id": "V0127_POKEMON_PINSIR", + "pokemon_settings": { + "pokemon_id": 127, + "model_scale": 0.8700000047683716, + "type": 7, + "type_2": 0, + "camera": { + "disk_radius_m": 0.5220000147819519, + "cylinder_radius_m": 0.3479999899864197, + "cylinder_height_m": 1.13100004196167, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.23999999463558197, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.3479999899864197, + "collision_height_m": 0.8700000047683716, + "collision_head_radius_m": 0.3479999899864197, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 1.25, + "attack_timer_s": 3 + }, + "stats": { + "base_stamina": 130, + "base_attack": 184, + "base_defense": 186, + "dodge_energy_delta": 0 + }, + "quick_moves": [241, 200], + "cinematic_moves": [20, 100, 54], + "animation_time": [2, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 2, 1.333299994468689, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.5, + "pokedex_weight_kg": 55, + "parent_pokemon_id": 0, + "height_std_dev": 0.1875, + "weight_std_dev": 6.875, + "km_distance_to_hatch": 0, + "family_id": 127, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0128_POKEMON_TAUROS", + "pokemon_settings": { + "pokemon_id": 128, + "model_scale": 0.8700000047683716, + "type": 1, + "type_2": 0, + "camera": { + "disk_radius_m": 0.861299991607666, + "cylinder_radius_m": 0.5741999745368958, + "cylinder_height_m": 1.1962499618530273, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.23999999463558197, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.4350000023841858, + "collision_height_m": 1.1962499618530273, + "collision_head_radius_m": 0.2870999872684479, + "movement_type": 1, + "movement_timer_s": 4, + "jump_time_s": 1.2000000476837158, + "attack_timer_s": 11 + }, + "stats": { + "base_stamina": 150, + "base_attack": 148, + "base_defense": 184, + "dodge_energy_delta": 0 + }, + "quick_moves": [221, 234], + "cinematic_moves": [126, 74, 31], + "animation_time": [2.3333001136779785, 0.666700005531311, 1.666700005531311, 2, 0, 1.666700005531311, 1.600000023841858, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.399999976158142, + "pokedex_weight_kg": 88.4000015258789, + "parent_pokemon_id": 0, + "height_std_dev": 0.17499999701976776, + "weight_std_dev": 11.050000190734863, + "km_distance_to_hatch": 0, + "family_id": 128, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0129_MOVE_HYPER_FANG", + "move_settings": { + "movement_id": 129, + "animation_id": 5, + "pokemon_type": 1, + "power": 35, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07999999821186066, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "hyper_fang", + "duration_ms": 2100, + "damage_window_start_ms": 1700, + "damage_window_end_ms": 2000, + "energy_delta": -33 + } + }, { + "template_id": "V0129_POKEMON_MAGIKARP", + "pokemon_settings": { + "pokemon_id": 129, + "model_scale": 1.0700000524520874, + "type": 11, + "type_2": 0, + "camera": { + "disk_radius_m": 0.6420000195503235, + "cylinder_radius_m": 0.42800000309944153, + "cylinder_height_m": 0.5350000262260437, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.5600000023841858, + "base_flee_rate": 0.15000000596046448, + "collision_radius_m": 0.26750001311302185, + "collision_height_m": 0.4814999997615814, + "collision_head_radius_m": 0.32100000977516174, + "movement_type": 1, + "movement_timer_s": 3600, + "jump_time_s": 1.2999999523162842, + "attack_timer_s": 3600 + }, + "stats": { + "base_stamina": 40, + "base_attack": 42, + "base_defense": 84, + "dodge_energy_delta": 0 + }, + "quick_moves": [231], + "cinematic_moves": [133], + "animation_time": [1.333299994468689, 0.666700005531311, 0, 1.5, 0, 0, 1, 0], + "evolution_ids": [130], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.8999999761581421, + "pokedex_weight_kg": 10, + "parent_pokemon_id": 0, + "height_std_dev": 0.11249999701976776, + "weight_std_dev": 1.25, + "km_distance_to_hatch": 0, + "family_id": 129, + "candy_to_evolve": 400 + } + }, { + "template_id": "V0130_POKEMON_GYARADOS", + "pokemon_settings": { + "pokemon_id": 130, + "model_scale": 0.47999998927116394, + "type": 11, + "type_2": 3, + "camera": { + "disk_radius_m": 0.7200000286102295, + "cylinder_radius_m": 0.47999998927116394, + "cylinder_height_m": 1.2000000476837158, + "cylinder_ground_m": 0.47999998927116394, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.07999999821186066, + "base_flee_rate": 0.07000000029802322, + "collision_radius_m": 0.23999999463558197, + "collision_height_m": 0.47999998927116394, + "collision_head_radius_m": 0.36000001430511475, + "movement_type": 6, + "movement_timer_s": 8, + "jump_time_s": 1, + "attack_timer_s": 3 + }, + "stats": { + "base_stamina": 190, + "base_attack": 192, + "base_defense": 196, + "dodge_energy_delta": 0 + }, + "quick_moves": [204, 202], + "cinematic_moves": [107, 80, 82], + "animation_time": [2, 0.666700005531311, 1.5, 0.666700005531311, 0, 2.3333001136779785, 2, 2], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 6.5, + "pokedex_weight_kg": 235, + "parent_pokemon_id": 129, + "height_std_dev": 0.8125, + "weight_std_dev": 29.375, + "km_distance_to_hatch": 0, + "family_id": 129, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0131_MOVE_BODY_SLAM", + "move_settings": { + "movement_id": 131, + "animation_id": 5, + "pokemon_type": 1, + "power": 40, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.08500000089406967, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "body_slam", + "duration_ms": 1560, + "damage_window_start_ms": 1100, + "damage_window_end_ms": 1300, + "energy_delta": -50 + } + }, { + "template_id": "V0131_POKEMON_LAPRAS", + "pokemon_settings": { + "pokemon_id": 131, + "model_scale": 0.699999988079071, + "type": 11, + "type_2": 15, + "camera": { + "disk_radius_m": 1.0499999523162842, + "cylinder_radius_m": 0.699999988079071, + "cylinder_height_m": 1.75, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.5249999761581421, + "collision_height_m": 0.699999988079071, + "collision_head_radius_m": 0.3499999940395355, + "movement_type": 1, + "movement_timer_s": 3, + "jump_time_s": 1.2000000476837158, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 260, + "base_attack": 186, + "base_defense": 190, + "dodge_energy_delta": 0 + }, + "quick_moves": [218, 217], + "cinematic_moves": [82, 39, 40], + "animation_time": [2.6666998863220215, 0.666700005531311, 1.666700005531311, 1.899999976158142, 0, 2.4000000953674316, 3, 2.6666669845581055], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 2.5, + "pokedex_weight_kg": 220, + "parent_pokemon_id": 0, + "height_std_dev": 0.3125, + "weight_std_dev": 27.5, + "km_distance_to_hatch": 0, + "family_id": 131, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0132_MOVE_REST", + "move_settings": { + "movement_id": 132, + "animation_id": 5, + "pokemon_type": 1, + "power": 50, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 1, + "stamina_loss_scalar": 0, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "rest", + "duration_ms": 3100, + "damage_window_start_ms": 1395, + "damage_window_end_ms": 2691, + "energy_delta": -33 + } + }, { + "template_id": "V0132_POKEMON_DITTO", + "pokemon_settings": { + "pokemon_id": 132, + "model_scale": 1.6100000143051147, + "type": 1, + "type_2": 0, + "camera": { + "disk_radius_m": 0.6037999987602234, + "cylinder_radius_m": 0.4025000035762787, + "cylinder_height_m": 0.5232499837875366, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.4025000035762787, + "collision_height_m": 0.5232499837875366, + "collision_head_radius_m": 0.20125000178813934, + "movement_type": 1, + "movement_timer_s": 3600, + "jump_time_s": 1, + "attack_timer_s": 3600 + }, + "stats": { + "base_stamina": 96, + "base_attack": 110, + "base_defense": 110, + "dodge_energy_delta": 0 + }, + "quick_moves": [222], + "cinematic_moves": [133], + "animation_time": [0, 0.666700005531311, 1.666700005531311, 1.666700005531311, 0, 2, 2, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.30000001192092896, + "pokedex_weight_kg": 4, + "parent_pokemon_id": 0, + "height_std_dev": 0.03750000149011612, + "weight_std_dev": 0.5, + "km_distance_to_hatch": 0, + "family_id": 132, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0133_MOVE_STRUGGLE", + "move_settings": { + "movement_id": 133, + "animation_id": 5, + "pokemon_type": 1, + "power": 15, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.10000000149011612, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "struggle", + "duration_ms": 1695, + "damage_window_start_ms": 800, + "damage_window_end_ms": 1500, + "energy_delta": -20 + } + }, { + "template_id": "V0133_POKEMON_EEVEE", + "pokemon_settings": { + "pokemon_id": 133, + "model_scale": 1.6799999475479126, + "type": 1, + "type_2": 0, + "camera": { + "disk_radius_m": 0.6299999952316284, + "cylinder_radius_m": 0.41999998688697815, + "cylinder_height_m": 0.5040000081062317, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.3199999928474426, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.25200000405311584, + "collision_height_m": 0.335999995470047, + "collision_head_radius_m": 0.25200000405311584, + "movement_type": 1, + "movement_timer_s": 10, + "jump_time_s": 1.350000023841858, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 110, + "base_attack": 114, + "base_defense": 128, + "dodge_energy_delta": 0 + }, + "quick_moves": [219, 221], + "cinematic_moves": [26, 125, 131], + "animation_time": [2.4667000770568848, 0.666700005531311, 2.066699981689453, 1.833299994468689, 0, 2.3333001136779785, 0.8666999936103821, 1.2333329916000366], + "evolution_ids": [134, 135, 136], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.30000001192092896, + "pokedex_weight_kg": 6.5, + "parent_pokemon_id": 0, + "height_std_dev": 0.03750000149011612, + "weight_std_dev": 0.8125, + "km_distance_to_hatch": 0, + "family_id": 133, + "candy_to_evolve": 25 + } + }, { + "template_id": "V0134_MOVE_SCALD_BLASTOISE", + "move_settings": { + "movement_id": 134, + "animation_id": 5, + "pokemon_type": 11, + "power": 50, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.07999999821186066, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "scald_blastoise", + "duration_ms": 4000, + "damage_window_start_ms": 1800, + "damage_window_end_ms": 3900, + "energy_delta": -33 + } + }, { + "template_id": "V0134_POKEMON_VAPOREON", + "pokemon_settings": { + "pokemon_id": 134, + "model_scale": 1.0499999523162842, + "type": 11, + "type_2": 0, + "camera": { + "disk_radius_m": 0.5198000073432922, + "cylinder_radius_m": 0.3465000092983246, + "cylinder_height_m": 0.9449998736381531, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.4000000059604645 + }, + "encounter": { + "base_capture_rate": 0.11999999731779099, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.20999999344348907, + "collision_height_m": 0.5249999761581421, + "collision_head_radius_m": 0.26249998807907104, + "movement_type": 1, + "movement_timer_s": 3, + "jump_time_s": 1, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 260, + "base_attack": 186, + "base_defense": 168, + "dodge_energy_delta": 0 + }, + "quick_moves": [230], + "cinematic_moves": [105, 107, 58], + "animation_time": [1.8667000532150269, 0.666700005531311, 1.899999976158142, 1.7000000476837158, 0, 2, 2.1333000659942627, 2.1333329677581787], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1, + "pokedex_weight_kg": 29, + "parent_pokemon_id": 133, + "height_std_dev": 0.125, + "weight_std_dev": 3.625, + "km_distance_to_hatch": 0, + "family_id": 133, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0135_MOVE_HYDRO_PUMP_BLASTOISE", + "move_settings": { + "movement_id": 135, + "animation_id": 5, + "pokemon_type": 11, + "power": 90, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.10999999940395355, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "hydro_pump_blastoise", + "duration_ms": 3800, + "damage_window_start_ms": 1500, + "damage_window_end_ms": 3600, + "energy_delta": -100 + } + }, { + "template_id": "V0135_POKEMON_JOLTEON", + "pokemon_settings": { + "pokemon_id": 135, + "model_scale": 1.100000023841858, + "type": 13, + "type_2": 0, + "camera": { + "disk_radius_m": 0.4950000047683716, + "cylinder_radius_m": 0.33000001311302185, + "cylinder_height_m": 0.880000114440918, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.11999999731779099, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.2199999988079071, + "collision_height_m": 0.550000011920929, + "collision_head_radius_m": 0.2199999988079071, + "movement_type": 1, + "movement_timer_s": 4, + "jump_time_s": 1.2999999523162842, + "attack_timer_s": 11 + }, + "stats": { + "base_stamina": 130, + "base_attack": 192, + "base_defense": 174, + "dodge_energy_delta": 0 + }, + "quick_moves": [205], + "cinematic_moves": [35, 79, 78], + "animation_time": [2.6333000659942627, 0.666700005531311, 1.9333000183105469, 2.3333001136779785, 0, 2.6666998863220215, 1.333299994468689, 1.8666670322418213], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.800000011920929, + "pokedex_weight_kg": 24.5, + "parent_pokemon_id": 133, + "height_std_dev": 0.10000000149011612, + "weight_std_dev": 3.0625, + "km_distance_to_hatch": 0, + "family_id": 133, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0136_MOVE_WRAP_GREEN", + "move_settings": { + "movement_id": 136, + "animation_id": 5, + "pokemon_type": 1, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.05999999865889549, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "wrap_green", + "duration_ms": 3700, + "damage_window_start_ms": 2200, + "damage_window_end_ms": 3200, + "energy_delta": -20 + } + }, { + "template_id": "V0136_POKEMON_FLAREON", + "pokemon_settings": { + "pokemon_id": 136, + "model_scale": 0.8700000047683716, + "type": 10, + "type_2": 0, + "camera": { + "disk_radius_m": 0.45680001378059387, + "cylinder_radius_m": 0.304500013589859, + "cylinder_height_m": 0.7829999923706055, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.11999999731779099, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.2175000011920929, + "collision_height_m": 0.5220000147819519, + "collision_head_radius_m": 0.19574999809265137, + "movement_type": 1, + "movement_timer_s": 3, + "jump_time_s": 1.350000023841858, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 130, + "base_attack": 238, + "base_defense": 178, + "dodge_energy_delta": 0 + }, + "quick_moves": [209], + "cinematic_moves": [103, 24, 42], + "animation_time": [2.5, 0.666700005531311, 1.666700005531311, 2.066699981689453, 0, 2.3333001136779785, 1, 2.6666669845581055], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.8999999761581421, + "pokedex_weight_kg": 25, + "parent_pokemon_id": 133, + "height_std_dev": 0.11249999701976776, + "weight_std_dev": 3.125, + "km_distance_to_hatch": 0, + "family_id": 133, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0137_MOVE_WRAP_PINK", + "move_settings": { + "movement_id": 137, + "animation_id": 5, + "pokemon_type": 1, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0.05000000074505806, + "heal_scalar": 0, + "stamina_loss_scalar": 0.05999999865889549, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "wrap_pink", + "duration_ms": 3700, + "damage_window_start_ms": 2200, + "damage_window_end_ms": 3200, + "energy_delta": -20 + } + }, { + "template_id": "V0137_POKEMON_PORYGON", + "pokemon_settings": { + "pokemon_id": 137, + "model_scale": 1.100000023841858, + "type": 1, + "type_2": 0, + "camera": { + "disk_radius_m": 0.824999988079071, + "cylinder_radius_m": 0.550000011920929, + "cylinder_height_m": 0.9350001215934753, + "cylinder_ground_m": 0.550000011920929, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.3199999928474426, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.38499999046325684, + "collision_height_m": 0.550000011920929, + "collision_head_radius_m": 0.33000001311302185, + "movement_type": 6, + "movement_timer_s": 8, + "jump_time_s": 1, + "attack_timer_s": 23 + }, + "stats": { + "base_stamina": 130, + "base_attack": 156, + "base_defense": 158, + "dodge_energy_delta": 0 + }, + "quick_moves": [219, 221], + "cinematic_moves": [30, 99, 35], + "animation_time": [1.833299994468689, 0.666700005531311, 0, 0.666700005531311, 0, 2.6666998863220215, 1.600000023841858, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.800000011920929, + "pokedex_weight_kg": 36.5, + "parent_pokemon_id": 0, + "height_std_dev": 0.10000000149011612, + "weight_std_dev": 4.5625, + "km_distance_to_hatch": 0, + "family_id": 137, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0138_POKEMON_OMANYTE", + "pokemon_settings": { + "pokemon_id": 138, + "model_scale": 1.4800000190734863, + "type": 6, + "type_2": 11, + "camera": { + "disk_radius_m": 0.3330000042915344, + "cylinder_radius_m": 0.22200000286102295, + "cylinder_height_m": 0.5920000076293945, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.3199999928474426, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.22200000286102295, + "collision_height_m": 0.5920000076293945, + "collision_head_radius_m": 0.11100000143051147, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 1.2999999523162842, + "attack_timer_s": 23 + }, + "stats": { + "base_stamina": 70, + "base_attack": 132, + "base_defense": 160, + "dodge_energy_delta": 0 + }, + "quick_moves": [230, 216], + "cinematic_moves": [62, 104, 63], + "animation_time": [2, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 2.3333001136779785, 2.6666998863220215, 0], + "evolution_ids": [139], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.4000000059604645, + "pokedex_weight_kg": 7.5, + "parent_pokemon_id": 0, + "height_std_dev": 0.05000000074505806, + "weight_std_dev": 0.9375, + "km_distance_to_hatch": 0, + "family_id": 138, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0139_POKEMON_OMASTAR", + "pokemon_settings": { + "pokemon_id": 139, + "model_scale": 1, + "type": 6, + "type_2": 11, + "camera": { + "disk_radius_m": 0.5625, + "cylinder_radius_m": 0.375, + "cylinder_height_m": 1, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.11999999731779099, + "base_flee_rate": 0.05000000074505806, + "collision_radius_m": 0.25, + "collision_height_m": 0.8999999761581421, + "collision_head_radius_m": 0.1875, + "movement_type": 1, + "movement_timer_s": 3, + "jump_time_s": 1.25, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 140, + "base_attack": 180, + "base_defense": 202, + "dodge_energy_delta": 0 + }, + "quick_moves": [227, 230], + "cinematic_moves": [62, 107, 64], + "animation_time": [2, 0.666700005531311, 1.666700005531311, 1.833299994468689, 0, 2, 2.6666998863220215, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1, + "pokedex_weight_kg": 35, + "parent_pokemon_id": 138, + "height_std_dev": 0.125, + "weight_std_dev": 4.375, + "km_distance_to_hatch": 0, + "family_id": 138, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0140_POKEMON_KABUTO", + "pokemon_settings": { + "pokemon_id": 140, + "model_scale": 1.350000023841858, + "type": 6, + "type_2": 11, + "camera": { + "disk_radius_m": 0.5062999725341797, + "cylinder_radius_m": 0.3375000059604645, + "cylinder_height_m": 0.5062500238418579, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.3199999928474426, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.3375000059604645, + "collision_height_m": 0.5062500238418579, + "collision_head_radius_m": 0.16875000298023224, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 0.8999999761581421, + "attack_timer_s": 23 + }, + "stats": { + "base_stamina": 60, + "base_attack": 148, + "base_defense": 142, + "dodge_energy_delta": 0 + }, + "quick_moves": [220, 216], + "cinematic_moves": [62, 57, 63], + "animation_time": [0, 0.666700005531311, 0, 1.5, 0, 2, 2, 0], + "evolution_ids": [141], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 0.5, + "pokedex_weight_kg": 11.5, + "parent_pokemon_id": 0, + "height_std_dev": 0.0625, + "weight_std_dev": 1.4375, + "km_distance_to_hatch": 0, + "family_id": 140, + "candy_to_evolve": 50 + } + }, { + "template_id": "V0141_POKEMON_KABUTOPS", + "pokemon_settings": { + "pokemon_id": 141, + "model_scale": 0.9100000262260437, + "type": 6, + "type_2": 11, + "camera": { + "disk_radius_m": 0.6825000047683716, + "cylinder_radius_m": 0.45500001311302185, + "cylinder_height_m": 1.1375000476837158, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.11999999731779099, + "base_flee_rate": 0.05000000074505806, + "collision_radius_m": 0.36399999260902405, + "collision_height_m": 0.9100000262260437, + "collision_head_radius_m": 0.31850001215934753, + "movement_type": 1, + "movement_timer_s": 11, + "jump_time_s": 1, + "attack_timer_s": 4 + }, + "stats": { + "base_stamina": 120, + "base_attack": 190, + "base_defense": 190, + "dodge_energy_delta": 0 + }, + "quick_moves": [216, 200], + "cinematic_moves": [62, 105, 32], + "animation_time": [2.1666998863220215, 0.666700005531311, 1.666700005531311, 1.600000023841858, 0, 2.200000047683716, 1.2000000476837158, 0], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.2999999523162842, + "pokedex_weight_kg": 40.5, + "parent_pokemon_id": 140, + "height_std_dev": 0.16249999403953552, + "weight_std_dev": 5.0625, + "km_distance_to_hatch": 0, + "family_id": 140, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0142_POKEMON_AERODACTYL", + "pokemon_settings": { + "pokemon_id": 142, + "model_scale": 0.5699999928474426, + "type": 6, + "type_2": 3, + "camera": { + "disk_radius_m": 0.5985000133514404, + "cylinder_radius_m": 0.39899998903274536, + "cylinder_height_m": 0.9975000023841858, + "cylinder_ground_m": 0.8550000190734863, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.2849999964237213, + "collision_height_m": 0.9975000023841858, + "collision_head_radius_m": 0.2849999964237213, + "movement_type": 5, + "movement_timer_s": 5, + "jump_time_s": 1, + "attack_timer_s": 14 + }, + "stats": { + "base_stamina": 160, + "base_attack": 182, + "base_defense": 162, + "dodge_energy_delta": 0 + }, + "quick_moves": [239, 202], + "cinematic_moves": [62, 74, 14], + "animation_time": [2.1666998863220215, 0.8999999761581421, 1.5, 0.733299970626831, 0, 2, 1.333299994468689, 1.6666669845581055], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.7999999523162842, + "pokedex_weight_kg": 59, + "parent_pokemon_id": 0, + "height_std_dev": 0.22499999403953552, + "weight_std_dev": 7.375, + "km_distance_to_hatch": 0, + "family_id": 142, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0143_POKEMON_SNORLAX", + "pokemon_settings": { + "pokemon_id": 143, + "model_scale": 0.7400000095367432, + "type": 1, + "type_2": 0, + "camera": { + "disk_radius_m": 1.1100000143051147, + "cylinder_radius_m": 0.7400000095367432, + "cylinder_height_m": 1.4800000190734863, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.1599999964237213, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.7400000095367432, + "collision_height_m": 1.1100000143051147, + "collision_head_radius_m": 0.48100000619888306, + "movement_type": 1, + "movement_timer_s": 3, + "jump_time_s": 1, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 320, + "base_attack": 180, + "base_defense": 180, + "dodge_energy_delta": 0 + }, + "quick_moves": [234, 212], + "cinematic_moves": [131, 14, 31], + "animation_time": [2.4000000953674316, 0.666700005531311, 1.833299994468689, 1.666700005531311, 0, 2.5, 2.5, 2.3333330154418945], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 2.0999999046325684, + "pokedex_weight_kg": 460, + "parent_pokemon_id": 0, + "height_std_dev": 0.26249998807907104, + "weight_std_dev": 57.5, + "km_distance_to_hatch": 0, + "family_id": 143, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0144_POKEMON_ARTICUNO", + "pokemon_settings": { + "pokemon_id": 144, + "model_scale": 0.6600000262260437, + "type": 15, + "type_2": 3, + "camera": { + "disk_radius_m": 0.593999981880188, + "cylinder_radius_m": 0.3959999978542328, + "cylinder_height_m": 0.9900000095367432, + "cylinder_ground_m": 0.6600000262260437, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.23100000619888306, + "collision_height_m": 0.6600000262260437, + "collision_head_radius_m": 0.23100000619888306, + "movement_type": 5, + "movement_timer_s": 3, + "jump_time_s": 1, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 180, + "base_attack": 198, + "base_defense": 242, + "dodge_energy_delta": 0 + }, + "quick_moves": [218], + "cinematic_moves": [39, 111, 40], + "animation_time": [2.066699981689453, 1, 1.666700005531311, 0.666700005531311, 0, 2.4000000953674316, 1.333299994468689, 1.3333330154418945], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 1, + "pokedex_height_m": 1.7000000476837158, + "pokedex_weight_kg": 55.400001525878906, + "parent_pokemon_id": 0, + "height_std_dev": 0.21250000596046448, + "weight_std_dev": 6.925000190734863, + "km_distance_to_hatch": 0, + "family_id": 144, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0145_POKEMON_ZAPDOS", + "pokemon_settings": { + "pokemon_id": 145, + "model_scale": 0.6899999976158142, + "type": 13, + "type_2": 3, + "camera": { + "disk_radius_m": 0.7763000130653381, + "cylinder_radius_m": 0.5174999833106995, + "cylinder_height_m": 1.034999966621399, + "cylinder_ground_m": 0.862500011920929, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.44850000739097595, + "collision_height_m": 0.7590000033378601, + "collision_head_radius_m": 0.2759999930858612, + "movement_type": 4, + "movement_timer_s": 3, + "jump_time_s": 1, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 180, + "base_attack": 232, + "base_defense": 194, + "dodge_energy_delta": 0 + }, + "quick_moves": [205], + "cinematic_moves": [35, 79, 78], + "animation_time": [1.600000023841858, 0.833299994468689, 1.5, 0.833299994468689, 0, 2, 1, 1.6666669845581055], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 1, + "pokedex_height_m": 1.600000023841858, + "pokedex_weight_kg": 52.599998474121094, + "parent_pokemon_id": 0, + "height_std_dev": 0.20000000298023224, + "weight_std_dev": 6.574999809265137, + "km_distance_to_hatch": 0, + "family_id": 145, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0146_POKEMON_MOLTRES", + "pokemon_settings": { + "pokemon_id": 146, + "model_scale": 0.6200000047683716, + "type": 10, + "type_2": 3, + "camera": { + "disk_radius_m": 0.9300000071525574, + "cylinder_radius_m": 0.6200000047683716, + "cylinder_height_m": 1.3949999809265137, + "cylinder_ground_m": 0.9300000071525574, + "shoulder_mode_scale": 0.25 + }, + "encounter": { + "base_capture_rate": 0, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.40299999713897705, + "collision_height_m": 0.9300000071525574, + "collision_head_radius_m": 0.21699999272823334, + "movement_type": 5, + "movement_timer_s": 3, + "jump_time_s": 1, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 180, + "base_attack": 242, + "base_defense": 194, + "dodge_energy_delta": 0 + }, + "quick_moves": [209], + "cinematic_moves": [103, 42, 24], + "animation_time": [2.733299970626831, 1.333299994468689, 2, 1.166700005531311, 0, 2.5, 1.7999999523162842, 1.7999999523162842], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 1, + "pokedex_height_m": 2, + "pokedex_weight_kg": 60, + "parent_pokemon_id": 0, + "height_std_dev": 0.25, + "weight_std_dev": 7.5, + "km_distance_to_hatch": 0, + "family_id": 146, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0147_POKEMON_DRATINI", + "pokemon_settings": { + "pokemon_id": 147, + "model_scale": 1.1100000143051147, + "type": 16, + "type_2": 0, + "camera": { + "disk_radius_m": 0.4162999987602234, + "cylinder_radius_m": 0.2775000035762787, + "cylinder_height_m": 0.8324999809265137, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.3199999928474426, + "base_flee_rate": 0.09000000357627869, + "collision_radius_m": 0.2775000035762787, + "collision_height_m": 0.5550000071525574, + "collision_head_radius_m": 0.19425000250339508, + "movement_type": 1, + "movement_timer_s": 10, + "jump_time_s": 0.8500000238418579, + "attack_timer_s": 29 + }, + "stats": { + "base_stamina": 82, + "base_attack": 128, + "base_defense": 110, + "dodge_energy_delta": 0 + }, + "quick_moves": [204], + "cinematic_moves": [13, 80, 58], + "animation_time": [1.666700005531311, 0.666700005531311, 1.833299994468689, 1.4333000183105469, 0, 2, 1.600000023841858, 0], + "evolution_ids": [148], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 1.7999999523162842, + "pokedex_weight_kg": 3.299999952316284, + "parent_pokemon_id": 0, + "height_std_dev": 0.22499999403953552, + "weight_std_dev": 0.4124999940395355, + "km_distance_to_hatch": 0, + "family_id": 147, + "candy_to_evolve": 25 + } + }, { + "template_id": "V0148_POKEMON_DRAGONAIR", + "pokemon_settings": { + "pokemon_id": 148, + "model_scale": 0.75, + "type": 16, + "type_2": 0, + "camera": { + "disk_radius_m": 0.8438000082969666, + "cylinder_radius_m": 0.5625, + "cylinder_height_m": 1.5, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.07999999821186066, + "base_flee_rate": 0.05999999865889549, + "collision_radius_m": 0.375, + "collision_height_m": 1.125, + "collision_head_radius_m": 0.28125, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 1.25, + "attack_timer_s": 23 + }, + "stats": { + "base_stamina": 122, + "base_attack": 170, + "base_defense": 152, + "dodge_energy_delta": 0 + }, + "quick_moves": [204], + "cinematic_moves": [13, 58, 82], + "animation_time": [1.600000023841858, 0.666700005531311, 1.666700005531311, 2, 0, 2.5, 2, 2], + "evolution_ids": [149], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 4, + "pokedex_weight_kg": 16.5, + "parent_pokemon_id": 147, + "height_std_dev": 0.5, + "weight_std_dev": 2.0625, + "km_distance_to_hatch": 0, + "family_id": 147, + "candy_to_evolve": 100 + } + }, { + "template_id": "V0149_POKEMON_DRAGONITE", + "pokemon_settings": { + "pokemon_id": 149, + "model_scale": 0.699999988079071, + "type": 16, + "type_2": 3, + "camera": { + "disk_radius_m": 0.6299999952316284, + "cylinder_radius_m": 0.41999998688697815, + "cylinder_height_m": 1.4700000286102295, + "cylinder_ground_m": 0.5950000286102295, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0.03999999910593033, + "base_flee_rate": 0.05000000074505806, + "collision_radius_m": 0.41999998688697815, + "collision_height_m": 1.0499999523162842, + "collision_head_radius_m": 0.24500000476837158, + "movement_type": 5, + "movement_timer_s": 3, + "jump_time_s": 1, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 182, + "base_attack": 250, + "base_defense": 212, + "dodge_energy_delta": 0 + }, + "quick_moves": [204, 239], + "cinematic_moves": [82, 14, 83], + "animation_time": [2.6666998863220215, 0.666700005531311, 1.666700005531311, 0.833299994468689, 0, 2.6666998863220215, 1.5, 1.5], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 0, + "pokedex_height_m": 2.200000047683716, + "pokedex_weight_kg": 210, + "parent_pokemon_id": 148, + "height_std_dev": 0.2750000059604645, + "weight_std_dev": 26.25, + "km_distance_to_hatch": 0, + "family_id": 147, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0150_POKEMON_MEWTWO", + "pokemon_settings": { + "pokemon_id": 150, + "model_scale": 0.7400000095367432, + "type": 14, + "type_2": 0, + "camera": { + "disk_radius_m": 0.5550000071525574, + "cylinder_radius_m": 0.3700000047683716, + "cylinder_height_m": 1.4800000190734863, + "cylinder_ground_m": 0, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.3700000047683716, + "collision_height_m": 1.184000015258789, + "collision_head_radius_m": 0.1850000023841858, + "movement_type": 1, + "movement_timer_s": 8, + "jump_time_s": 1.2000000476837158, + "attack_timer_s": 3 + }, + "stats": { + "base_stamina": 212, + "base_attack": 284, + "base_defense": 202, + "dodge_energy_delta": 0 + }, + "quick_moves": [226, 235], + "cinematic_moves": [108, 70, 14], + "animation_time": [1.333299994468689, 0.666700005531311, 1.666700005531311, 2, 0, 2, 3, 3], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 1, + "pokedex_height_m": 2, + "pokedex_weight_kg": 122, + "parent_pokemon_id": 0, + "height_std_dev": 0.25, + "weight_std_dev": 15.25, + "km_distance_to_hatch": 0, + "family_id": 150, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0151_POKEMON_MEW", + "pokemon_settings": { + "pokemon_id": 151, + "model_scale": 1.409999966621399, + "type": 14, + "type_2": 0, + "camera": { + "disk_radius_m": 0.4230000078678131, + "cylinder_radius_m": 0.28200000524520874, + "cylinder_height_m": 0.7754999995231628, + "cylinder_ground_m": 0.07050000131130219, + "shoulder_mode_scale": 0.5 + }, + "encounter": { + "base_capture_rate": 0, + "base_flee_rate": 0.10000000149011612, + "collision_radius_m": 0.14100000262260437, + "collision_height_m": 0.5640000104904175, + "collision_head_radius_m": 0.17624999582767487, + "movement_type": 3, + "movement_timer_s": 3, + "jump_time_s": 1, + "attack_timer_s": 8 + }, + "stats": { + "base_stamina": 200, + "base_attack": 220, + "base_defense": 220, + "dodge_energy_delta": 0 + }, + "quick_moves": [222], + "cinematic_moves": [122, 31, 108, 82, 78, 87, 103, 116, 14], + "animation_time": [2.6666998863220215, 0.666700005531311, 1.666700005531311, 0.666700005531311, 0, 2.6666998863220215, 1.666700005531311, 2], + "evolution_ids": [], + "evolution_pips": 1, + "rarity": 2, + "pokedex_height_m": 0.4000000059604645, + "pokedex_weight_kg": 4, + "parent_pokemon_id": 0, + "height_std_dev": 0.05000000074505806, + "weight_std_dev": 0.5, + "km_distance_to_hatch": 0, + "family_id": 151, + "candy_to_evolve": 0 + } + }, { + "template_id": "V0200_MOVE_FURY_CUTTER_FAST", + "move_settings": { + "movement_id": 200, + "animation_id": 4, + "pokemon_type": 7, + "power": 3, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "fury_cutter_fast", + "duration_ms": 400, + "damage_window_start_ms": 200, + "damage_window_end_ms": 400, + "energy_delta": 6 + } + }, { + "template_id": "V0201_MOVE_BUG_BITE_FAST", + "move_settings": { + "movement_id": 201, + "animation_id": 4, + "pokemon_type": 7, + "power": 5, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "bug_bite_fast", + "duration_ms": 450, + "damage_window_start_ms": 250, + "damage_window_end_ms": 450, + "energy_delta": 7 + } + }, { + "template_id": "V0202_MOVE_BITE_FAST", + "move_settings": { + "movement_id": 202, + "animation_id": 4, + "pokemon_type": 17, + "power": 6, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "bite_fast", + "duration_ms": 500, + "damage_window_start_ms": 300, + "damage_window_end_ms": 500, + "energy_delta": 7 + } + }, { + "template_id": "V0203_MOVE_SUCKER_PUNCH_FAST", + "move_settings": { + "movement_id": 203, + "animation_id": 4, + "pokemon_type": 17, + "power": 7, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "sucker_punch_fast", + "duration_ms": 700, + "damage_window_start_ms": 500, + "damage_window_end_ms": 700, + "energy_delta": 9 + } + }, { + "template_id": "V0204_MOVE_DRAGON_BREATH_FAST", + "move_settings": { + "movement_id": 204, + "animation_id": 4, + "pokemon_type": 16, + "power": 6, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "dragon_breath_fast", + "duration_ms": 500, + "damage_window_start_ms": 300, + "damage_window_end_ms": 500, + "energy_delta": 7 + } + }, { + "template_id": "V0205_MOVE_THUNDER_SHOCK_FAST", + "move_settings": { + "movement_id": 205, + "animation_id": 4, + "pokemon_type": 13, + "power": 5, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "thunder_shock_fast", + "duration_ms": 600, + "damage_window_start_ms": 400, + "damage_window_end_ms": 600, + "energy_delta": 8 + } + }, { + "template_id": "V0206_MOVE_SPARK_FAST", + "move_settings": { + "movement_id": 206, + "animation_id": 4, + "pokemon_type": 13, + "power": 7, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "spark_fast", + "duration_ms": 700, + "damage_window_start_ms": 500, + "damage_window_end_ms": 700, + "energy_delta": 8 + } + }, { + "template_id": "V0207_MOVE_LOW_KICK_FAST", + "move_settings": { + "movement_id": 207, + "animation_id": 4, + "pokemon_type": 2, + "power": 5, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "low_kick_fast", + "duration_ms": 600, + "damage_window_start_ms": 400, + "damage_window_end_ms": 600, + "energy_delta": 7 + } + }, { + "template_id": "V0208_MOVE_KARATE_CHOP_FAST", + "move_settings": { + "movement_id": 208, + "animation_id": 4, + "pokemon_type": 2, + "power": 6, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "karate_chop_fast", + "duration_ms": 800, + "damage_window_start_ms": 600, + "damage_window_end_ms": 800, + "energy_delta": 8 + } + }, { + "template_id": "V0209_MOVE_EMBER_FAST", + "move_settings": { + "movement_id": 209, + "animation_id": 4, + "pokemon_type": 10, + "power": 10, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "ember_fast", + "duration_ms": 1050, + "damage_window_start_ms": 850, + "damage_window_end_ms": 1050, + "energy_delta": 10 + } + }, { + "template_id": "V0210_MOVE_WING_ATTACK_FAST", + "move_settings": { + "movement_id": 210, + "animation_id": 4, + "pokemon_type": 3, + "power": 9, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "wing_attack_fast", + "duration_ms": 750, + "damage_window_start_ms": 550, + "damage_window_end_ms": 750, + "energy_delta": 7 + } + }, { + "template_id": "V0211_MOVE_PECK_FAST", + "move_settings": { + "movement_id": 211, + "animation_id": 4, + "pokemon_type": 3, + "power": 10, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "peck_fast", + "duration_ms": 1150, + "damage_window_start_ms": 950, + "damage_window_end_ms": 1150, + "energy_delta": 10 + } + }, { + "template_id": "V0212_MOVE_LICK_FAST", + "move_settings": { + "movement_id": 212, + "animation_id": 4, + "pokemon_type": 8, + "power": 5, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "lick_fast", + "duration_ms": 500, + "damage_window_start_ms": 300, + "damage_window_end_ms": 500, + "energy_delta": 6 + } + }, { + "template_id": "V0213_MOVE_SHADOW_CLAW_FAST", + "move_settings": { + "movement_id": 213, + "animation_id": 4, + "pokemon_type": 8, + "power": 11, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "shadow_claw_fast", + "duration_ms": 950, + "damage_window_start_ms": 750, + "damage_window_end_ms": 950, + "energy_delta": 8 + } + }, { + "template_id": "V0214_MOVE_VINE_WHIP_FAST", + "move_settings": { + "movement_id": 214, + "animation_id": 4, + "pokemon_type": 12, + "power": 7, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "vine_whip_fast", + "duration_ms": 650, + "damage_window_start_ms": 450, + "damage_window_end_ms": 650, + "energy_delta": 7 + } + }, { + "template_id": "V0215_MOVE_RAZOR_LEAF_FAST", + "move_settings": { + "movement_id": 215, + "animation_id": 4, + "pokemon_type": 12, + "power": 15, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "razor_leaf_fast", + "duration_ms": 1450, + "damage_window_start_ms": 1250, + "damage_window_end_ms": 1450, + "energy_delta": 12 + } + }, { + "template_id": "V0216_MOVE_MUD_SHOT_FAST", + "move_settings": { + "movement_id": 216, + "animation_id": 4, + "pokemon_type": 5, + "power": 6, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "mud_shot_fast", + "duration_ms": 550, + "damage_window_start_ms": 350, + "damage_window_end_ms": 550, + "energy_delta": 7 + } + }, { + "template_id": "V0217_MOVE_ICE_SHARD_FAST", + "move_settings": { + "movement_id": 217, + "animation_id": 4, + "pokemon_type": 15, + "power": 15, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "ice_shard_fast", + "duration_ms": 1400, + "damage_window_start_ms": 1200, + "damage_window_end_ms": 1400, + "energy_delta": 12 + } + }, { + "template_id": "V0218_MOVE_FROST_BREATH_FAST", + "move_settings": { + "movement_id": 218, + "animation_id": 4, + "pokemon_type": 15, + "power": 9, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "frost_breath_fast", + "duration_ms": 810, + "damage_window_start_ms": 610, + "damage_window_end_ms": 810, + "energy_delta": 7 + } + }, { + "template_id": "V0219_MOVE_QUICK_ATTACK_FAST", + "move_settings": { + "movement_id": 219, + "animation_id": 4, + "pokemon_type": 1, + "power": 10, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "quick_attack_fast", + "duration_ms": 1330, + "damage_window_start_ms": 1130, + "damage_window_end_ms": 1330, + "energy_delta": 12 + } + }, { + "template_id": "V0220_MOVE_SCRATCH_FAST", + "move_settings": { + "movement_id": 220, + "animation_id": 4, + "pokemon_type": 1, + "power": 6, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "scratch_fast", + "duration_ms": 500, + "damage_window_start_ms": 300, + "damage_window_end_ms": 500, + "energy_delta": 7 + } + }, { + "template_id": "V0221_MOVE_TACKLE_FAST", + "move_settings": { + "movement_id": 221, + "animation_id": 4, + "pokemon_type": 1, + "power": 12, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "tackle_fast", + "duration_ms": 1100, + "damage_window_start_ms": 900, + "damage_window_end_ms": 1100, + "energy_delta": 10 + } + }, { + "template_id": "V0222_MOVE_POUND_FAST", + "move_settings": { + "movement_id": 222, + "animation_id": 4, + "pokemon_type": 1, + "power": 7, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "pound_fast", + "duration_ms": 540, + "damage_window_start_ms": 340, + "damage_window_end_ms": 540, + "energy_delta": 7 + } + }, { + "template_id": "V0223_MOVE_CUT_FAST", + "move_settings": { + "movement_id": 223, + "animation_id": 4, + "pokemon_type": 1, + "power": 12, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "cut_fast", + "duration_ms": 1130, + "damage_window_start_ms": 930, + "damage_window_end_ms": 1130, + "energy_delta": 10 + } + }, { + "template_id": "V0224_MOVE_POISON_JAB_FAST", + "move_settings": { + "movement_id": 224, + "animation_id": 4, + "pokemon_type": 4, + "power": 12, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "poison_jab_fast", + "duration_ms": 1050, + "damage_window_start_ms": 850, + "damage_window_end_ms": 1050, + "energy_delta": 10 + } + }, { + "template_id": "V0225_MOVE_ACID_FAST", + "move_settings": { + "movement_id": 225, + "animation_id": 4, + "pokemon_type": 4, + "power": 10, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "acid_fast", + "duration_ms": 1050, + "damage_window_start_ms": 850, + "damage_window_end_ms": 1050, + "energy_delta": 10 + } + }, { + "template_id": "V0226_MOVE_PSYCHO_CUT_FAST", + "move_settings": { + "movement_id": 226, + "animation_id": 4, + "pokemon_type": 14, + "power": 7, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "psycho_cut_fast", + "duration_ms": 570, + "damage_window_start_ms": 370, + "damage_window_end_ms": 570, + "energy_delta": 7 + } + }, { + "template_id": "V0227_MOVE_ROCK_THROW_FAST", + "move_settings": { + "movement_id": 227, + "animation_id": 4, + "pokemon_type": 6, + "power": 12, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "rock_throw_fast", + "duration_ms": 1360, + "damage_window_start_ms": 1160, + "damage_window_end_ms": 1360, + "energy_delta": 15 + } + }, { + "template_id": "V0228_MOVE_METAL_CLAW_FAST", + "move_settings": { + "movement_id": 228, + "animation_id": 4, + "pokemon_type": 9, + "power": 8, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "metal_claw_fast", + "duration_ms": 630, + "damage_window_start_ms": 430, + "damage_window_end_ms": 630, + "energy_delta": 7 + } + }, { + "template_id": "V0229_MOVE_BULLET_PUNCH_FAST", + "move_settings": { + "movement_id": 229, + "animation_id": 4, + "pokemon_type": 9, + "power": 10, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "bullet_punch_fast", + "duration_ms": 1200, + "damage_window_start_ms": 1000, + "damage_window_end_ms": 1200, + "energy_delta": 10 + } + }, { + "template_id": "V0230_MOVE_WATER_GUN_FAST", + "move_settings": { + "movement_id": 230, + "animation_id": 4, + "pokemon_type": 11, + "power": 6, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "water_gun_fast", + "duration_ms": 500, + "damage_window_start_ms": 300, + "damage_window_end_ms": 500, + "energy_delta": 7 + } + }, { + "template_id": "V0231_MOVE_SPLASH_FAST", + "move_settings": { + "movement_id": 231, + "animation_id": 4, + "pokemon_type": 11, + "power": 0, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "splash_fast", + "duration_ms": 1230, + "damage_window_start_ms": 1030, + "damage_window_end_ms": 1230, + "energy_delta": 10 + } + }, { + "template_id": "V0232_MOVE_WATER_GUN_FAST_BLASTOISE", + "move_settings": { + "movement_id": 232, + "animation_id": 4, + "pokemon_type": 11, + "power": 6, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "water_gun_fast_blastoise", + "duration_ms": 500, + "damage_window_start_ms": 300, + "damage_window_end_ms": 500, + "energy_delta": 7 + } + }, { + "template_id": "V0233_MOVE_MUD_SLAP_FAST", + "move_settings": { + "movement_id": 233, + "animation_id": 4, + "pokemon_type": 5, + "power": 15, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "mud_slap_fast", + "duration_ms": 1350, + "damage_window_start_ms": 1150, + "damage_window_end_ms": 1350, + "energy_delta": 12 + } + }, { + "template_id": "V0234_MOVE_ZEN_HEADBUTT_FAST", + "move_settings": { + "movement_id": 234, + "animation_id": 4, + "pokemon_type": 14, + "power": 12, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "zen_headbutt_fast", + "duration_ms": 1050, + "damage_window_start_ms": 850, + "damage_window_end_ms": 1050, + "energy_delta": 9 + } + }, { + "template_id": "V0235_MOVE_CONFUSION_FAST", + "move_settings": { + "movement_id": 235, + "animation_id": 4, + "pokemon_type": 14, + "power": 15, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "confusion_fast", + "duration_ms": 1510, + "damage_window_start_ms": 1310, + "damage_window_end_ms": 1510, + "energy_delta": 14 + } + }, { + "template_id": "V0236_MOVE_POISON_STING_FAST", + "move_settings": { + "movement_id": 236, + "animation_id": 4, + "pokemon_type": 4, + "power": 6, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "poison_sting_fast", + "duration_ms": 575, + "damage_window_start_ms": 375, + "damage_window_end_ms": 575, + "energy_delta": 8 + } + }, { + "template_id": "V0237_MOVE_BUBBLE_FAST", + "move_settings": { + "movement_id": 237, + "animation_id": 4, + "pokemon_type": 11, + "power": 25, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "bubble_fast", + "duration_ms": 2300, + "damage_window_start_ms": 2100, + "damage_window_end_ms": 2300, + "energy_delta": 25 + } + }, { + "template_id": "V0238_MOVE_FEINT_ATTACK_FAST", + "move_settings": { + "movement_id": 238, + "animation_id": 4, + "pokemon_type": 17, + "power": 12, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "feint_attack_fast", + "duration_ms": 1040, + "damage_window_start_ms": 840, + "damage_window_end_ms": 1040, + "energy_delta": 10 + } + }, { + "template_id": "V0239_MOVE_STEEL_WING_FAST", + "move_settings": { + "movement_id": 239, + "animation_id": 4, + "pokemon_type": 9, + "power": 15, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "steel_wing_fast", + "duration_ms": 1330, + "damage_window_start_ms": 1130, + "damage_window_end_ms": 1330, + "energy_delta": 12 + } + }, { + "template_id": "V0240_MOVE_FIRE_FANG_FAST", + "move_settings": { + "movement_id": 240, + "animation_id": 4, + "pokemon_type": 10, + "power": 10, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "fire_fang_fast", + "duration_ms": 840, + "damage_window_start_ms": 640, + "damage_window_end_ms": 840, + "energy_delta": 8 + } + }, { + "template_id": "V0241_MOVE_ROCK_SMASH_FAST", + "move_settings": { + "movement_id": 241, + "animation_id": 4, + "pokemon_type": 2, + "power": 15, + "accuracy_chance": 1, + "critical_chance": 0, + "heal_scalar": 0, + "stamina_loss_scalar": 0.009999999776482582, + "trainer_level_min": 1, + "trainer_level_max": 100, + "vfx_name": "rock_smash_fast", + "duration_ms": 1410, + "damage_window_start_ms": 1210, + "damage_window_end_ms": 1410, + "energy_delta": 12 + } + }, { + "template_id": "android.test.canceled", + "iap_item_display": { + "sku": "android.test.canceled", + "category": 4, + "sort_order": 1002, + "item_ids": [], + "counts": [] + } + }, { + "template_id": "android.test.item_unavailable", + "iap_item_display": { + "sku": "android.test.item_unavailable", + "category": 4, + "sort_order": 1003, + "item_ids": [], + "counts": [] + } + }, { + "template_id": "android.test.purchased", + "iap_item_display": { + "sku": "android.test.purchased", + "category": 4, + "sort_order": 1001, + "item_ids": [], + "counts": [] + } + }, { + "template_id": "camera_aerialace", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [6, 3], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.20000000298023224], + "angle_degree": [-20, 170], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 20], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 1], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_aerialace_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [3, 3], + "ease_in_speed": [1, 0], + "east_out_speed": [1, 0], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.20000000298023224], + "angle_degree": [160, 160], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 10], + "pitch_offset_degree": [0, -5], + "roll_degree": [0, 0], + "distance_meters": [5, 1], + "height_percent": [0, 0.5], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_aerialace_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [3, 3], + "ease_in_speed": [1, 0], + "east_out_speed": [1, 0], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.20000000298023224], + "angle_degree": [-170, -170], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 10], + "pitch_offset_degree": [0, -5], + "roll_degree": [0, 0], + "distance_meters": [5, 1], + "height_percent": [0, 0.5], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_aerialace_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.20000000298023224], + "angle_degree": [-150], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [-5], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0.5], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_aerialace_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.20000000298023224], + "angle_degree": [150], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [-5], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0.5], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_aircutter", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [1], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0.75], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [5], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [0.800000011920929] + } + }, { + "template_id": "camera_aircutter_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [1], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0.75], + "angle_degree": [20], + "angle_offset_degree": [0], + "pitch_degree": [5], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [0.800000011920929] + } + }, { + "template_id": "camera_aircutter_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [1], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0.75], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [5], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [0.800000011920929] + } + }, { + "template_id": "camera_aircutter_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [1], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0.75], + "angle_degree": [-160], + "angle_offset_degree": [0], + "pitch_degree": [5], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [0.800000011920929] + } + }, { + "template_id": "camera_aircutter_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [1], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0.75], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [5], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [0.800000011920929] + } + }, { + "template_id": "camera_aircutterenter", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [1], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0.5], + "angle_degree": [-50], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_airslash", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [1], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.5], + "angle_degree": [-150], + "angle_offset_degree": [0], + "pitch_degree": [0], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_airslash_swp", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.4000000059604645], + "angle_degree": [170], + "angle_offset_degree": [0], + "pitch_degree": [15], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_ancientpower", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [6, 6, 3], + "ease_in_speed": [0.5, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0.5], + "duration_seconds": [0.4000000059604645, 2.0999999046325684, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0, 1.600000023841858, 0.4000000059604645], + "angle_degree": [-20, -10, 160], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [20, 45, 10], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [0, 1, 2.5], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 0.5] + } + }, { + "template_id": "camera_ancientpower_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [6, 3], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [1.899999976158142, 5], + "wait_seconds": [0, 0], + "transition_seconds": [1.25, 0.4000000059604645], + "angle_degree": [-10, 160], + "angle_offset_degree": [5, 0], + "pitch_degree": [45, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [1.5, 2.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_ancientpower_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [6, 3], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [1.899999976158142, 5], + "wait_seconds": [0, 0], + "transition_seconds": [1.25, 0.4000000059604645], + "angle_degree": [10, -160], + "angle_offset_degree": [-5, 0], + "pitch_degree": [45, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [1.5, 2.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_ancientpower_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [6, 3], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [1.899999976158142, 5], + "wait_seconds": [0, 0], + "transition_seconds": [1.25, 0.4000000059604645], + "angle_degree": [10, -160], + "angle_offset_degree": [0, 0], + "pitch_degree": [45, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [1.5, 2.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_ancientpower_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [6, 3], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [1.899999976158142, 5], + "wait_seconds": [0, 0], + "transition_seconds": [1.25, 0.4000000059604645], + "angle_degree": [-10, 160], + "angle_offset_degree": [0, 0], + "pitch_degree": [45, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [1.5, 2.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_aquajet", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [6, 0, 3], + "ease_in_speed": [0.5, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0.5], + "duration_seconds": [0, 0.5, 0.5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0, 0.33000001311302185, 0.5], + "angle_degree": [-20, -90, 165], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [20, 5, 5], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [0, 0.5, 3], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 0.5, 0.5] + } + }, { + "template_id": "camera_aquajet_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1], + "target_type": [2, 14, 14], + "ease_in_speed": [0.5, 0.5, 0], + "east_out_speed": [0.5, 0, 1], + "duration_seconds": [0.33000001311302185, 0.6600000262260437, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0.33000001311302185, 0.6600000262260437, 0.33000001311302185], + "angle_degree": [-150, -165, -165], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [10, 10, 10], + "pitch_offset_degree": [0, 2.5, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [1, 2, 2], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [0.5, 1, 1] + } + }, { + "template_id": "camera_aquajet_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1], + "target_type": [2, 14, 14], + "ease_in_speed": [0.5, 0.5, 0], + "east_out_speed": [0.5, 0, 1], + "duration_seconds": [0.33000001311302185, 0.6600000262260437, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0.33000001311302185, 0.6600000262260437, 0.33000001311302185], + "angle_degree": [150, 145, 145], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [10, 10, 10], + "pitch_offset_degree": [0, 2.5, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [1, 2, 2], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [0.5, 1, 1] + } + }, { + "template_id": "camera_aquajet_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1], + "target_type": [14, 5, 5], + "ease_in_speed": [0.5, 0.5, 0], + "east_out_speed": [0.5, 0, 1], + "duration_seconds": [0.33000001311302185, 0.6600000262260437, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0.33000001311302185, 0.6600000262260437, 0.33000001311302185], + "angle_degree": [-165, -165, -165], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [10, 10, 10], + "pitch_offset_degree": [0, 5, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [0, 3.5, 3.5], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 1] + } + }, { + "template_id": "camera_aquajet_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1], + "target_type": [14, 5, 5], + "ease_in_speed": [0.5, 0.5, 0], + "east_out_speed": [0.5, 0, 1], + "duration_seconds": [0.33000001311302185, 0.6600000262260437, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0.33000001311302185, 0.6600000262260437, 0.33000001311302185], + "angle_degree": [150, 150, 150], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [10, 10, 10], + "pitch_offset_degree": [0, 5, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [0, 3.5, 3.5], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 1] + } + }, { + "template_id": "camera_aquajetenter_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [2], + "ease_in_speed": [1], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [-150], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [-5], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_aquajetenter_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [2], + "ease_in_speed": [1], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [150], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [-5], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_aquajetenter_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [14], + "ease_in_speed": [0], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [-145], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [5], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_aquajetenter_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [14], + "ease_in_speed": [0], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [145], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [5], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_aquatail", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.15000000596046448], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_aquatailenter", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [6], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_battlefainted", + "camera": { + "next_camera": "battlefainted", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [2], + "wait_seconds": [0], + "transition_seconds": [2], + "angle_degree": [-160], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2.5], + "height_percent": [0], + "vert_ctr_ratio": [0.8500000238418579] + } + }, { + "template_id": "camera_battlewait", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [13], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_bodyslam", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0.25999999046325684], + "angle_degree": [170], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_boneclub", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [4], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0.25], + "transition_seconds": [0.25], + "angle_degree": [120], + "angle_offset_degree": [0], + "pitch_degree": [15], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [3], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_boneclubenter", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [9], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0.5], + "angle_degree": [140], + "angle_offset_degree": [0], + "pitch_degree": [15], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0.5], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_bothsidecut", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [6], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0], + "angle_degree": [-90], + "angle_offset_degree": [0], + "pitch_degree": [15], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1.5], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_brickbreak", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [10], + "wait_seconds": [0.10000000149011612], + "transition_seconds": [0.20000000298023224], + "angle_degree": [165], + "angle_offset_degree": [0], + "pitch_degree": [5], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [3], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_brickbreak_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [-5], + "angle_offset_degree": [0], + "pitch_degree": [25], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_brickbreak_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_brickbreak_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [-175], + "angle_offset_degree": [3], + "pitch_degree": [25], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [3], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_brickbreak_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [145], + "angle_offset_degree": [-5], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_brine", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [5], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0.25], + "transition_seconds": [0.30000001192092896], + "angle_degree": [155], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_bubblebeam", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1, 0], + "target_type": [1, 1, 1, 3], + "ease_in_speed": [0.5, 0.5, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0.5, 0.5], + "duration_seconds": [0, 0.5, 0.6700000166893005, 5], + "wait_seconds": [0, 0, 0, 0], + "transition_seconds": [0, 0.5, 0.6700000166893005, 0], + "angle_degree": [-135, -120, -160, 140], + "angle_offset_degree": [0, 0, 0, 0], + "pitch_degree": [20, 5, 0, 15], + "pitch_offset_degree": [0, 0, 0, 0], + "roll_degree": [0, 0, 5, 0], + "distance_meters": [2, -0.5, 2.5, 1], + "height_percent": [0.25, 0, 0, 0], + "vert_ctr_ratio": [1, 0.5, 0.5, 0.5] + } + }, { + "template_id": "camera_bugbuzz", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [6, 0, 3], + "ease_in_speed": [0.5, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0.5], + "duration_seconds": [0, 1.5, 1.6699999570846558], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0, 1, 0.33000001311302185], + "angle_degree": [-20, -20, 160], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [20, 15, 15], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [0, 3, 3], + "height_percent": [0, 0.15000000596046448, 0], + "vert_ctr_ratio": [1, 0.75, 0.5] + } + }, { + "template_id": "camera_crosschop", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [12, 3], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.30000001192092896], + "angle_degree": [-20, 165], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 15], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 2.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_crosspoison", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [6, 3, 3], + "ease_in_speed": [0.5, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0.5], + "duration_seconds": [0, 0.44999998807907104, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0, 0.15000000596046448, 0.10000000149011612], + "angle_degree": [-20, 160, 160], + "angle_offset_degree": [0, -5, -5], + "pitch_degree": [20, 5, 5], + "pitch_offset_degree": [0, 0, -3], + "roll_degree": [0, 0, 0], + "distance_meters": [0, 3, 3.5], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 0.5, 0.5] + } + }, { + "template_id": "camera_cutfromattacker_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [2], + "ease_in_speed": [1], + "east_out_speed": [1], + "duration_seconds": [0], + "wait_seconds": [0], + "transition_seconds": [0], + "angle_degree": [30], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_cutfromattacker_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [2], + "ease_in_speed": [1], + "east_out_speed": [1], + "duration_seconds": [0], + "wait_seconds": [0], + "transition_seconds": [0], + "angle_degree": [-30], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_cutfromdefender_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [2], + "ease_in_speed": [1], + "east_out_speed": [1], + "duration_seconds": [0], + "wait_seconds": [0], + "transition_seconds": [0], + "angle_degree": [-150], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_cutfromdefender_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [2], + "ease_in_speed": [1], + "east_out_speed": [1], + "duration_seconds": [0], + "wait_seconds": [0], + "transition_seconds": [0], + "angle_degree": [150], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_cutreturn", + "camera": { + "next_camera": "battlewait", + "interpolation": [0], + "target_type": [13], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_cuttofacedefender_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [3, 3], + "ease_in_speed": [1, 1], + "east_out_speed": [1, 0], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.33000001311302185], + "angle_degree": [150, 150], + "angle_offset_degree": [-5, -5], + "pitch_degree": [20, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [3.5, 2.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.75, 0.75] + } + }, { + "template_id": "camera_cuttofacedefender_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [3, 3], + "ease_in_speed": [1, 1], + "east_out_speed": [1, 0], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.33000001311302185], + "angle_degree": [-150, -150], + "angle_offset_degree": [5, 5], + "pitch_degree": [20, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [3.5, 2.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.75, 0.75] + } + }, { + "template_id": "camera_cuttofacedefender_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [3], + "ease_in_speed": [1], + "east_out_speed": [1], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0], + "angle_degree": [-140], + "angle_offset_degree": [5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1.5], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_cuttofacedefender_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [3], + "ease_in_speed": [1], + "east_out_speed": [1], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0], + "angle_degree": [140], + "angle_offset_degree": [-2.5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1.5], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_darkpulse", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [0, 6], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [0.44999998807907104, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.15000000596046448, 0.5], + "angle_degree": [-90, -90], + "angle_offset_degree": [0, 0], + "pitch_degree": [25, 15], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 1], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_dazzlinggleam", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [6, 0, 11], + "ease_in_speed": [0.5, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0.5], + "duration_seconds": [0, 1, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0, 0.4000000059604645, 0.30000001192092896], + "angle_degree": [-20, -160, -20], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [20, 20, 20], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [0, 0.75, 0], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 1] + } + }, { + "template_id": "camera_defaultattack", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [14], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_defaultattack_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [14], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [-145], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_defaultattack_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [14], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [145], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_defaultattack_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [14], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [-145], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_defaultattack_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [14], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [145], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_dig", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 0], + "target_type": [0, 0, 6], + "ease_in_speed": [0.5, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0.5], + "duration_seconds": [0, 2.299999952316284, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0, 0.8999999761581421, 0], + "angle_degree": [-135, -165, -20], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [20, 5, 20], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [2, 0.25, 0], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [0.5, 0.5, 1] + } + }, { + "template_id": "camera_disarmingvoice", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [11, 11], + "ease_in_speed": [0.5, 0], + "east_out_speed": [0.5, 0], + "duration_seconds": [0.4000000059604645, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.4000000059604645, 1.2000000476837158], + "angle_degree": [-20, -20], + "angle_offset_degree": [0, 5], + "pitch_degree": [20, 20], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [1, 0], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_disarmingvoiceenter", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [6, 0], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.6000000238418579], + "angle_degree": [-20, -160], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 0], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0.5, 1.75], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_discharge", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [0, 6], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [0.6000000238418579, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.6000000238418579, 0.15000000596046448], + "angle_degree": [-170, -40], + "angle_offset_degree": [0, 0], + "pitch_degree": [5, 0], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [2, 2], + "height_percent": [0.25, 0], + "vert_ctr_ratio": [1, 1] + } + }, { + "template_id": "camera_dischargeenter", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [0], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.4000000059604645], + "angle_degree": [-170], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_dragonbreath", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1, 1, 0, 1], + "target_type": [0, 0, 0, 0, 3, 3], + "ease_in_speed": [0.5, 0.5, 0.5, 0.5, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0.5, 0.5, 0.5, 0.5], + "duration_seconds": [0, 0.5, 0.33000001311302185, 0.5, 0, 5], + "wait_seconds": [0, 0, 0, 0, 0, 0], + "transition_seconds": [0, 0.5, 0.33000001311302185, 0.5, 0, 0.5], + "angle_degree": [-160, -160, -160, -135, 160, 175], + "angle_offset_degree": [0, 0, 0, 0, 0, 0], + "pitch_degree": [0, 0, 0, 0, 10, 0], + "pitch_offset_degree": [0, 0, 0, 0, 0, 0], + "roll_degree": [0, 0, 0, 0, 0, 0], + "distance_meters": [0.5, 0, 1.5, 2.5, 0, -0.5], + "height_percent": [0, 0, -0.25, 0, 0, 0], + "vert_ctr_ratio": [0.5, 0.5, 0, 0.5, 1, 1] + } + }, { + "template_id": "camera_dragonclaw", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [8], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.4000000059604645], + "angle_degree": [140], + "angle_offset_degree": [0], + "pitch_degree": [2], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_dragonpulse", + "camera": { + "next_camera": "", + "interpolation": [0, 0, 1], + "target_type": [0, 6, 6], + "ease_in_speed": [0, 0.5, 0.5], + "east_out_speed": [0, 0.5, 0.5], + "duration_seconds": [1, 0.5, 1.600000023841858], + "wait_seconds": [0.25, 0, 0], + "transition_seconds": [0.25, 0, 0.15000000596046448], + "angle_degree": [-160, -30, -30], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [0, 20, 20], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [1.5, -0.5, 1], + "height_percent": [0.25, 0, 0], + "vert_ctr_ratio": [0.5, 1, 1] + } + }, { + "template_id": "camera_drillpeck", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [4], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.15000000596046448], + "angle_degree": [150], + "angle_offset_degree": [0], + "pitch_degree": [15], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_drillrun", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [12, 7, 4], + "ease_in_speed": [0.5, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0.5], + "duration_seconds": [0, 0.9300000071525574, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0, 0.33000001311302185, 0.4000000059604645], + "angle_degree": [-20, -20, 100], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [20, 5, 15], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [0, 1.5, 0.5], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 0.5] + } + }, { + "template_id": "camera_drillrun_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [7, 7, 4], + "ease_in_speed": [1, 1, 0], + "east_out_speed": [1, 0, 1], + "duration_seconds": [0, 0.9300000071525574, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0, 0.33000001311302185, 0.4000000059604645], + "angle_degree": [-20, -20, 120], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [20, 5, 15], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [1.5, 1.5, 3], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 0.5] + } + }, { + "template_id": "camera_drillrun_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [6, 6, 3], + "ease_in_speed": [1, 1, 0], + "east_out_speed": [1, 0, 1], + "duration_seconds": [0, 0.9300000071525574, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0, 0.33000001311302185, 0.4000000059604645], + "angle_degree": [20, 20, -120], + "angle_offset_degree": [0, 0, 5], + "pitch_degree": [20, 5, 15], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [1.5, 1.5, 3], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 0.5] + } + }, { + "template_id": "camera_drillrun_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [6, 3], + "ease_in_speed": [1, 0], + "east_out_speed": [0, 1], + "duration_seconds": [0.9300000071525574, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.33000001311302185, 0.4000000059604645], + "angle_degree": [20, -100], + "angle_offset_degree": [0, 5], + "pitch_degree": [5, 15], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [1.5, 3], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_drillrun_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [7, 4], + "ease_in_speed": [1, 0], + "east_out_speed": [0, 1], + "duration_seconds": [0.9300000071525574, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.33000001311302185, 0.4000000059604645], + "angle_degree": [-20, 100], + "angle_offset_degree": [0, 0], + "pitch_degree": [5, 15], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [1.5, 3], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_earthquake", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [6, 6], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0, 0.5], + "duration_seconds": [0.5, 2.5], + "wait_seconds": [0.10000000149011612, 0], + "transition_seconds": [0.30000001192092896, 0.27000001072883606], + "angle_degree": [-20, 0], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 25], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 3.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_encounterintro", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [0, 0], + "ease_in_speed": [0.5, 1], + "east_out_speed": [0.5, 1], + "duration_seconds": [0, 3], + "wait_seconds": [0, 0], + "transition_seconds": [0, 3], + "angle_degree": [180, 180], + "angle_offset_degree": [0, 0], + "pitch_degree": [5, 5], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 0], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_enter", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [3, 6, 12], + "ease_in_speed": [0.5, 0, 0], + "east_out_speed": [0.5, 0, 0], + "duration_seconds": [0.25, 2.5, 1], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0, 1, 1], + "angle_degree": [180, -30, -20], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [0, 15, 20], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [0, 3.5, 0], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 1] + } + }, { + "template_id": "camera_enterbehindattacker_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [0, 0], + "ease_in_speed": [1, 1], + "east_out_speed": [1, 0], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.33000001311302185], + "angle_degree": [-20, -20], + "angle_offset_degree": [10, 10], + "pitch_degree": [20, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [3, 0.5], + "height_percent": [0, -0.25], + "vert_ctr_ratio": [0.75, 0.75] + } + }, { + "template_id": "camera_enterbehindattacker_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [0, 0], + "ease_in_speed": [1, 1], + "east_out_speed": [1, 0], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.33000001311302185], + "angle_degree": [15, 15], + "angle_offset_degree": [-5, -5], + "pitch_degree": [20, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [3, 0.5], + "height_percent": [0, -0.25], + "vert_ctr_ratio": [0.75, 0.75] + } + }, { + "template_id": "camera_enterbehindattacker_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [0, 0], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.15000000596046448, 0.33000001311302185], + "angle_degree": [20, 20], + "angle_offset_degree": [-5, -5], + "pitch_degree": [20, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [3, 1], + "height_percent": [0, -0.25], + "vert_ctr_ratio": [0.75, 0.75] + } + }, { + "template_id": "camera_enterbehindattacker_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [0, 0], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.15000000596046448, 0.33000001311302185], + "angle_degree": [-25, -25], + "angle_offset_degree": [10, 10], + "pitch_degree": [20, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [3, 1], + "height_percent": [0, -0.25], + "vert_ctr_ratio": [0.75, 0.75] + } + }, { + "template_id": "camera_enterbehindattackerfaraway_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [6, 6], + "ease_in_speed": [1, 0], + "east_out_speed": [1, 0], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.33000001311302185], + "angle_degree": [-20, -20], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 20], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [3.5, 1.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 1] + } + }, { + "template_id": "camera_enterbehindattackerfaraway_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [6, 6], + "ease_in_speed": [1, 0], + "east_out_speed": [1, 0], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.33000001311302185], + "angle_degree": [20, 20], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 20], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [3.5, 1.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 1] + } + }, { + "template_id": "camera_enterbehindattackerfaraway_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [6], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1.5], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_enterbehindattackerfaraway_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [6], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1.5], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_enterfaceattacker_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [2], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [-150], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [-5], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_enterfaceattacker_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [2], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [150], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [-5], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_enterfaceattacker_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [2, 2], + "ease_in_speed": [1, 1], + "east_out_speed": [1, 0], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.33000001311302185], + "angle_degree": [160, 150], + "angle_offset_degree": [-5, -5], + "pitch_degree": [20, 10], + "pitch_offset_degree": [-5, -5], + "roll_degree": [0, 0], + "distance_meters": [3.5, 1], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_enterfaceattacker_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [2], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [-150], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [-5], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_enterfacedefender_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [5, 5], + "ease_in_speed": [1, 1], + "east_out_speed": [1, 0], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.33000001311302185], + "angle_degree": [160, 150], + "angle_offset_degree": [-5, -5], + "pitch_degree": [20, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [3.5, 1], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.75, 0.75] + } + }, { + "template_id": "camera_enterfacedefender_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [-150], + "angle_offset_degree": [5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_enterfacedefender_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [-150], + "angle_offset_degree": [5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_enterfacedefender_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [150], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_enterfacedefenderfromfaraway_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [5, 5], + "ease_in_speed": [1, 1], + "east_out_speed": [1, 0], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.33000001311302185], + "angle_degree": [160, 150], + "angle_offset_degree": [-5, -5], + "pitch_degree": [20, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [5.5, 4], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.75, 0.75] + } + }, { + "template_id": "camera_enterfacedefenderfromfaraway_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [-150], + "angle_offset_degree": [5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_enterfacedefenderfromfaraway_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [-150], + "angle_offset_degree": [5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_enterfacedefenderfromfaraway_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [150], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_face", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [0], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [3], + "wait_seconds": [0], + "transition_seconds": [1], + "angle_degree": [180], + "angle_offset_degree": [0], + "pitch_degree": [0], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_faceattacker", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [0], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.5], + "angle_degree": [-150], + "angle_offset_degree": [0], + "pitch_degree": [0], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_faceattackertilt_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [0, 0], + "ease_in_speed": [1, 1], + "east_out_speed": [1, 0], + "duration_seconds": [0.30000001192092896, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.30000001192092896, 0.4000000059604645], + "angle_degree": [-150, -150], + "angle_offset_degree": [5, 5], + "pitch_degree": [0, 0], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, -45], + "distance_meters": [0, 4], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.75, 0.75] + } + }, { + "template_id": "camera_faceattackertilt_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [0, 0], + "ease_in_speed": [1, 1], + "east_out_speed": [1, 0], + "duration_seconds": [0.30000001192092896, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.30000001192092896, 0.4000000059604645], + "angle_degree": [150, 150], + "angle_offset_degree": [-5, -5], + "pitch_degree": [0, 0], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, -45], + "distance_meters": [0, 4], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.75, 0.75] + } + }, { + "template_id": "camera_faceattackertilt_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [0, 0], + "ease_in_speed": [1, 1], + "east_out_speed": [1, 0], + "duration_seconds": [0.30000001192092896, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.30000001192092896, 0.4000000059604645], + "angle_degree": [160, 160], + "angle_offset_degree": [-5, -5], + "pitch_degree": [0, 0], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, -45], + "distance_meters": [0, 4], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.75, 0.75] + } + }, { + "template_id": "camera_faceattackertilt_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [0, 0], + "ease_in_speed": [1, 1], + "east_out_speed": [1, 0], + "duration_seconds": [0.30000001192092896, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.30000001192092896, 0.4000000059604645], + "angle_degree": [-160, -160], + "angle_offset_degree": [5, 5], + "pitch_degree": [0, 0], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, -45], + "distance_meters": [0, 4], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.75, 0.75] + } + }, { + "template_id": "camera_facecut", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [0], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [10], + "wait_seconds": [60], + "transition_seconds": [0], + "angle_degree": [180], + "angle_offset_degree": [0], + "pitch_degree": [0], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_facecutdefender", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [3], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [10], + "wait_seconds": [60], + "transition_seconds": [0], + "angle_degree": [180], + "angle_offset_degree": [0], + "pitch_degree": [0], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_facedefenderzoomout_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.800000011920929], + "angle_degree": [160], + "angle_offset_degree": [-5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [8], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_facedefenderzoomout_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.800000011920929], + "angle_degree": [-175], + "angle_offset_degree": [5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [8], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_facedefenderzoomout_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.800000011920929], + "angle_degree": [-160], + "angle_offset_degree": [5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [8], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_facedefenderzoomout_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.800000011920929], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [8], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_faint", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1], + "target_type": [6, 2, 2], + "ease_in_speed": [1, 0, 1], + "east_out_speed": [0, 1, 0], + "duration_seconds": [1.25, 1.5, 10], + "wait_seconds": [0, 0, 0], + "transition_seconds": [1, 1.5, 6], + "angle_degree": [-90, -160, 30], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [5, 5, 10], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [0, 0, 0.5], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 1] + } + }, { + "template_id": "camera_fireblast", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [0, 3], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0.8500000238418579, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.4000000059604645], + "angle_degree": [-160, 160], + "angle_offset_degree": [0, 0], + "pitch_degree": [0, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [5, 0], + "distance_meters": [4, 3.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.75, 0.75] + } + }, { + "template_id": "camera_fireblast_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [0, 4], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0.800000011920929, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.15000000596046448, 0.4000000059604645], + "angle_degree": [-150, 60], + "angle_offset_degree": [0, 0], + "pitch_degree": [10, 20], + "pitch_offset_degree": [0, 0], + "roll_degree": [5, 0], + "distance_meters": [4, 3.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_fireblast_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [0, 6], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0.800000011920929, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.15000000596046448, 0.4000000059604645], + "angle_degree": [150, 120], + "angle_offset_degree": [0, 0], + "pitch_degree": [10, 20], + "pitch_offset_degree": [0, 0], + "roll_degree": [5, 0], + "distance_meters": [4, 3.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_fireblast_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [0, 3], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0.800000011920929, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.15000000596046448, 0.4000000059604645], + "angle_degree": [160, -145], + "angle_offset_degree": [0, 0], + "pitch_degree": [10, 20], + "pitch_offset_degree": [0, 0], + "roll_degree": [5, 0], + "distance_meters": [4, 3.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_fireblast_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [0, 3], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0.800000011920929, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.15000000596046448, 0.4000000059604645], + "angle_degree": [-160, 145], + "angle_offset_degree": [0, 0], + "pitch_degree": [10, 20], + "pitch_offset_degree": [0, 0], + "roll_degree": [5, 0], + "distance_meters": [4, 3.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_fireblastenter", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [6, 0, 0], + "ease_in_speed": [0, 0, 0.5], + "east_out_speed": [0, 0.5, 0], + "duration_seconds": [0.10000000149011612, 0.5, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0, 0.5, 0.30000001192092896], + "angle_degree": [-20, -160, -160], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [20, 0, 0], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 5], + "distance_meters": [0, 2, 4], + "height_percent": [0, 0.25, 0], + "vert_ctr_ratio": [1, 0.75, 0.75] + } + }, { + "template_id": "camera_firepunch_hit", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [7, 3], + "ease_in_speed": [0, 1], + "east_out_speed": [0, 0], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0.44999998807907104], + "transition_seconds": [0, 0.30000001192092896], + "angle_degree": [-20, 160], + "angle_offset_degree": [0, 0], + "pitch_degree": [10, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0.5, 2], + "height_percent": [-0.25, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_flameburst", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [4, 4], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [0.5, 10], + "wait_seconds": [0, 0], + "transition_seconds": [0.5, 0.15000000596046448], + "angle_degree": [140, 140], + "angle_offset_degree": [5, 5], + "pitch_degree": [5, 5], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [2, 3.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_flameburstenter", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [6, 6], + "ease_in_speed": [0.5, 1], + "east_out_speed": [0.5, 1], + "duration_seconds": [0.5, 10], + "wait_seconds": [0, 0], + "transition_seconds": [0.5, 0.5], + "angle_degree": [-20, -20], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 20], + "pitch_offset_degree": [0, -20], + "roll_degree": [0, 0], + "distance_meters": [0, 0], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 1] + } + }, { + "template_id": "camera_flamecharge", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [6, 6, 3], + "ease_in_speed": [0.5, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0.5], + "duration_seconds": [0.4000000059604645, 1.0499999523162842, 5], + "wait_seconds": [0, 0, 0.550000011920929], + "transition_seconds": [0.4000000059604645, 0.8999999761581421, 0.15000000596046448], + "angle_degree": [-25, -25, 160], + "angle_offset_degree": [3, 3, 0], + "pitch_degree": [20, 10, 10], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [1, 1.5, 3], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 0.5] + } + }, { + "template_id": "camera_flamecharge_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [6, 6, 3], + "ease_in_speed": [1, 0, 0.5], + "east_out_speed": [1, 0.5, 0], + "duration_seconds": [0.4000000059604645, 1.0499999523162842, 5], + "wait_seconds": [0, 0, 0.550000011920929], + "transition_seconds": [0, 0.8999999761581421, 0.4000000059604645], + "angle_degree": [-25, -25, 160], + "angle_offset_degree": [3, 3, 0], + "pitch_degree": [20, 10, 10], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [1, 1.5, 3], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 0.5] + } + }, { + "template_id": "camera_flamecharge_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [6, 6, 3], + "ease_in_speed": [1, 0, 0.5], + "east_out_speed": [1, 0.5, 0], + "duration_seconds": [0.4000000059604645, 1.0499999523162842, 5], + "wait_seconds": [0, 0, 0.550000011920929], + "transition_seconds": [0, 0.8999999761581421, 0.4000000059604645], + "angle_degree": [25, 25, -160], + "angle_offset_degree": [-3, -3, 0], + "pitch_degree": [20, 10, 10], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [1, 1.5, 3], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 0.5] + } + }, { + "template_id": "camera_flamecharge_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1], + "target_type": [6, 6, 3], + "ease_in_speed": [0, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0], + "duration_seconds": [0.4000000059604645, 1.0499999523162842, 5], + "wait_seconds": [0, 0, 0.550000011920929], + "transition_seconds": [0.4000000059604645, 0.8999999761581421, 0.4000000059604645], + "angle_degree": [25, 25, -160], + "angle_offset_degree": [-3, -3, 0], + "pitch_degree": [20, 10, 10], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [1, 1.5, 3], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 0.5] + } + }, { + "template_id": "camera_flamecharge_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1], + "target_type": [6, 6, 3], + "ease_in_speed": [0, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0], + "duration_seconds": [0.4000000059604645, 1.0499999523162842, 5], + "wait_seconds": [0, 0, 0.550000011920929], + "transition_seconds": [0.4000000059604645, 0.8999999761581421, 0.4000000059604645], + "angle_degree": [-25, -25, 160], + "angle_offset_degree": [3, 3, 0], + "pitch_degree": [20, 10, 10], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [1, 1.5, 3], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 0.5] + } + }, { + "template_id": "camera_flamethrower", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1, 0], + "target_type": [0, 0, 0, 6], + "ease_in_speed": [0.5, 0.5, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0.5, 0.5], + "duration_seconds": [0, 0.5699999928474426, 0.25, 1.600000023841858], + "wait_seconds": [0, 0, 0, 0], + "transition_seconds": [0, 0.5, 0.25, 0], + "angle_degree": [-160, -165, -150, -30], + "angle_offset_degree": [5, 5, 15, 0], + "pitch_degree": [20, 5, 5, 20], + "pitch_offset_degree": [0, 0, 0, 0], + "roll_degree": [0, 0, 0, 0], + "distance_meters": [2.5, 2, 4, 0], + "height_percent": [0, 0, 0, 0], + "vert_ctr_ratio": [0.75, 0.75, 0.5, 0.75] + } + }, { + "template_id": "camera_flamewheel", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 0, 1], + "target_type": [0, 0, 6, 3], + "ease_in_speed": [0.5, 0.5, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0.5, 0.5], + "duration_seconds": [0.6600000262260437, 1, 0.15000000596046448, 5], + "wait_seconds": [0, 0, 0, 0], + "transition_seconds": [0.44999998807907104, 1, 0.15000000596046448, 0.4000000059604645], + "angle_degree": [-170, -170, -20, 160], + "angle_offset_degree": [0, 0, 0, 0], + "pitch_degree": [0, 0, 20, 20], + "pitch_offset_degree": [0, 0, 0, 0], + "roll_degree": [0, 0, 0, 0], + "distance_meters": [0.5, 0, 4, 2.5], + "height_percent": [0, 0, 0, 0], + "vert_ctr_ratio": [0.5, 0.5, 1, 0.5] + } + }, { + "template_id": "camera_flashcannon", + "camera": { + "next_camera": "flashcannon_hit", + "interpolation": [0, 1], + "target_type": [1, 1], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [1.350000023841858, 0.550000011920929], + "wait_seconds": [0, 0], + "transition_seconds": [0.6100000143051147, 0.15000000596046448], + "angle_degree": [-120, -120], + "angle_offset_degree": [0, 0], + "pitch_degree": [0, 0], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [2, 3.5], + "height_percent": [0.15000000596046448, 0.15000000596046448], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_flashcannon_hit", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [3], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_followarcingprojectile_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [14, 5], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 1], + "duration_seconds": [0.5, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.5, 0.5], + "angle_degree": [-145, 30], + "angle_offset_degree": [0, 0], + "pitch_degree": [10, 10], + "pitch_offset_degree": [-10, 0], + "roll_degree": [0, 0], + "distance_meters": [-1, 3], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.75] + } + }, { + "template_id": "camera_followarcingprojectile_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [14, 5], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 1], + "duration_seconds": [0.5, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.5, 0.5], + "angle_degree": [135, -40], + "angle_offset_degree": [0, 5], + "pitch_degree": [10, 10], + "pitch_offset_degree": [-10, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 3], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.75] + } + }, { + "template_id": "camera_followarcingprojectile_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [14, 5], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 1], + "duration_seconds": [0.5, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.5, 0.5], + "angle_degree": [-145, -145], + "angle_offset_degree": [0, 5], + "pitch_degree": [10, 10], + "pitch_offset_degree": [-10, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 3], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.75] + } + }, { + "template_id": "camera_followarcingprojectile_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [14, 5], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 1], + "duration_seconds": [0.5, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.5, 0.5], + "angle_degree": [145, 145], + "angle_offset_degree": [0, -5], + "pitch_degree": [10, 10], + "pitch_offset_degree": [-10, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 3], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.75] + } + }, { + "template_id": "camera_fortbidle", + "camera": { + "next_camera": "fortbidle", + "interpolation": [1], + "target_type": [14], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [1], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [18], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_fortdeployintro", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [0, 0, 2], + "ease_in_speed": [1, 0, 0], + "east_out_speed": [0, 0, 0], + "duration_seconds": [0, 0.5, 2], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0, 0.5, 2], + "angle_degree": [-160, 180, 160], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [0, 0, 10], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [0, 0, 2.5], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [0.5, 0.5, 0.8500000238418579] + } + }, { + "template_id": "camera_fortfaint", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [6, 2], + "ease_in_speed": [1, 0], + "east_out_speed": [0, 1], + "duration_seconds": [1.25, 20], + "wait_seconds": [0, 0], + "transition_seconds": [1, 1.5], + "angle_degree": [-90, -160], + "angle_offset_degree": [0, 0], + "pitch_degree": [5, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 2.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 1] + } + }, { + "template_id": "camera_fortplayerfainted", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [3, 3], + "ease_in_speed": [1, 0], + "east_out_speed": [0, 0], + "duration_seconds": [1.5, 2], + "wait_seconds": [0, 0.25], + "transition_seconds": [1.5, 1.75], + "angle_degree": [-90, -160], + "angle_offset_degree": [0, 0], + "pitch_degree": [0, 5], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 0], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_gigadrain", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [5, 12, 12], + "ease_in_speed": [0.5, 0, 0], + "east_out_speed": [0.5, 0, 0], + "duration_seconds": [0.5, 1, 10], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0.25, 2, 1], + "angle_degree": [160, -40, -20], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [0, 3, 20], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [3, 0, 0], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [0.5, 1, 1] + } + }, { + "template_id": "camera_gunkshot", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [1, 4], + "ease_in_speed": [0, 0], + "east_out_speed": [0, 1], + "duration_seconds": [0.6700000166893005, 5], + "wait_seconds": [0, 0.20000000298023224], + "transition_seconds": [0.33000001311302185, 0.30000001192092896], + "angle_degree": [-160, 140], + "angle_offset_degree": [0, 3], + "pitch_degree": [20, 5], + "pitch_offset_degree": [-5, 0], + "roll_degree": [0, 0], + "distance_meters": [3, 3], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.8500000238418579] + } + }, { + "template_id": "camera_gunkshot_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [2, 5], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0.6700000166893005, 5], + "wait_seconds": [0, 0.20000000298023224], + "transition_seconds": [0.15000000596046448, 0.30000001192092896], + "angle_degree": [-160, 40], + "angle_offset_degree": [0, 0], + "pitch_degree": [10, 20], + "pitch_offset_degree": [-5, 0], + "roll_degree": [0, 0], + "distance_meters": [3, 4], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.8500000238418579] + } + }, { + "template_id": "camera_gunkshot_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [2, 5], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0.6700000166893005, 5], + "wait_seconds": [0, 0.20000000298023224], + "transition_seconds": [0.15000000596046448, 0.30000001192092896], + "angle_degree": [160, -40], + "angle_offset_degree": [0, 0], + "pitch_degree": [10, 20], + "pitch_offset_degree": [-5, 0], + "roll_degree": [0, 0], + "distance_meters": [3, 4], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.8500000238418579] + } + }, { + "template_id": "camera_gunkshot_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [2, 2, 5], + "ease_in_speed": [1, 0, 0.5], + "east_out_speed": [1, 0.5, 0], + "duration_seconds": [0, 0.6700000166893005, 5], + "wait_seconds": [0, 0, 0.20000000298023224], + "transition_seconds": [0, 0.15000000596046448, 0.30000001192092896], + "angle_degree": [170, 160, -140], + "angle_offset_degree": [0, 0, 5], + "pitch_degree": [20, 10, 20], + "pitch_offset_degree": [0, -5, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [4, 3, 4], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [0.5, 0.5, 0.8500000238418579] + } + }, { + "template_id": "camera_gunkshot_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [2, 5], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0.6700000166893005, 5], + "wait_seconds": [0, 0.20000000298023224], + "transition_seconds": [0.15000000596046448, 0.30000001192092896], + "angle_degree": [-160, 140], + "angle_offset_degree": [0, -5], + "pitch_degree": [10, 20], + "pitch_offset_degree": [-5, 0], + "roll_degree": [0, 0], + "distance_meters": [3, 4], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.8500000238418579] + } + }, { + "template_id": "camera_gymhi", + "camera": { + "next_camera": "gymhi", + "interpolation": [1], + "target_type": [14], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [1], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [30], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_gymlow", + "camera": { + "next_camera": "gymlow", + "interpolation": [1], + "target_type": [14], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [1], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [7], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_gymlowest", + "camera": { + "next_camera": "gymlowest", + "interpolation": [1], + "target_type": [14], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [1], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [3], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_gymmed", + "camera": { + "next_camera": "gymmed", + "interpolation": [1], + "target_type": [14], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [1], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_heartstamp", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [12, 3], + "ease_in_speed": [0, 1], + "east_out_speed": [0, 1], + "duration_seconds": [1, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.5, 0.4000000059604645], + "angle_degree": [-20, 160], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 20], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 1], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_heatwave", + "camera": { + "next_camera": "heatwave_hit", + "interpolation": [0, 1], + "target_type": [0, 0], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [0.30000001192092896, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.30000001192092896, 0.4000000059604645], + "angle_degree": [-150, -150], + "angle_offset_degree": [0, 0], + "pitch_degree": [0, 0], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, -45], + "distance_meters": [0, 4], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_heatwave_hit", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [6], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_hornattack", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [4], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.4000000059604645], + "angle_degree": [135], + "angle_offset_degree": [0], + "pitch_degree": [0], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_hornattackenter", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [6], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.4000000059604645], + "angle_degree": [-45], + "angle_offset_degree": [0], + "pitch_degree": [0], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_hurricane", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [6], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0.25], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_hydropump", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [3, 3], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [0.20000000298023224, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.20000000298023224, 1.5], + "angle_degree": [160, 160], + "angle_offset_degree": [0, 0], + "pitch_degree": [5, 5], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [3, 4.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_hydropumpenter", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [1], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.4000000059604645], + "angle_degree": [-130], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1.5], + "height_percent": [0.25], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_hyperbeam", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [0, 0], + "ease_in_speed": [0, 0], + "east_out_speed": [0, 0], + "duration_seconds": [0.5, 3.5], + "wait_seconds": [0, 0], + "transition_seconds": [0.25, 1], + "angle_degree": [-150, -160], + "angle_offset_degree": [0, 0], + "pitch_degree": [0, 0], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0.25, 0.25], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 1] + } + }, { + "template_id": "camera_hyperbeam_hit", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [13, 13], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0, 0.5], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 1], + "angle_degree": [-20, -40], + "angle_offset_degree": [0, 5], + "pitch_degree": [10, 15], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [1, 2], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.25] + } + }, { + "template_id": "camera_hyperbeam_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [3, 3, 3], + "ease_in_speed": [1, 1, 0.5], + "east_out_speed": [1, 0.5, 0.5], + "duration_seconds": [0, 0.33000001311302185, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0, 0.33000001311302185, 1.5], + "angle_degree": [150, 150, 140], + "angle_offset_degree": [-5, -5, -5], + "pitch_degree": [20, 0, 10], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [4, 3, 5], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [0.5, 0.5, 0.5] + } + }, { + "template_id": "camera_hyperbeam_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [3, 3, 3], + "ease_in_speed": [1, 1, 0.5], + "east_out_speed": [1, 0.5, 0.5], + "duration_seconds": [0, 0.33000001311302185, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0, 0.33000001311302185, 1.5], + "angle_degree": [-150, -150, -140], + "angle_offset_degree": [5, 5, 5], + "pitch_degree": [20, 0, 10], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [4, 3, 5], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [0.5, 0.5, 0.5] + } + }, { + "template_id": "camera_hyperbeam_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [3, 3], + "ease_in_speed": [1, 1], + "east_out_speed": [1, 0.5], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 1.5], + "angle_degree": [-140, -120], + "angle_offset_degree": [5, 5], + "pitch_degree": [10, 0], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [2, 4], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_hyperbeam_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [3, 3], + "ease_in_speed": [1, 1], + "east_out_speed": [1, 0.5], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 1.5], + "angle_degree": [140, 120], + "angle_offset_degree": [-5, -5], + "pitch_degree": [10, 0], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [2, 4], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_hyperfang", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0.25], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [15], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [3], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_hyperfang_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [1], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.15000000596046448], + "angle_degree": [150], + "angle_offset_degree": [-5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1.5], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_hyperfang_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [1], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.15000000596046448], + "angle_degree": [-160], + "angle_offset_degree": [5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1.5], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_hyperfang_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [1], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.15000000596046448], + "angle_degree": [-150], + "angle_offset_degree": [5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1.5], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_hyperfang_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [1], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.15000000596046448], + "angle_degree": [150], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1.5], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_icebeam", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [1, 4], + "ease_in_speed": [0, 1], + "east_out_speed": [0, 1], + "duration_seconds": [1.2000000476837158, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.3700000047683716, 0.15000000596046448], + "angle_degree": [-160, 150], + "angle_offset_degree": [0, 0], + "pitch_degree": [15, 5], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [1.5, 3.75], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_icebeam_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [4], + "ease_in_speed": [1], + "east_out_speed": [1], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.15000000596046448], + "angle_degree": [150], + "angle_offset_degree": [0], + "pitch_degree": [5], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [3.75], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_icebeam_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [1], + "east_out_speed": [1], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.15000000596046448], + "angle_degree": [-160], + "angle_offset_degree": [5], + "pitch_degree": [5], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [3.75], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_icebeam_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [1], + "east_out_speed": [1], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.15000000596046448], + "angle_degree": [-150], + "angle_offset_degree": [5], + "pitch_degree": [5], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [3.75], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_icebeam_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [4], + "ease_in_speed": [1], + "east_out_speed": [1], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.15000000596046448], + "angle_degree": [140], + "angle_offset_degree": [0], + "pitch_degree": [5], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [3.75], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_icepunch", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [7], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0.10000000149011612], + "transition_seconds": [0.30000001192092896], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0.5], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_icepunch_hit", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [7, 3], + "ease_in_speed": [0, 1], + "east_out_speed": [0, 0], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0.44999998807907104], + "transition_seconds": [0, 0.30000001192092896], + "angle_degree": [-20, 160], + "angle_offset_degree": [0, 0], + "pitch_degree": [10, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0.5, 2], + "height_percent": [-0.25, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_idle", + "camera": { + "next_camera": "", + "interpolation": [1, 0, 1, 1, 1], + "target_type": [0, 3, 3, 6, 6], + "ease_in_speed": [0, 0, 0, 0, 0], + "east_out_speed": [0, 0, 0, 0, 0], + "duration_seconds": [6, 0, 6, 6, 6], + "wait_seconds": [0, 0, 0, 0, 0], + "transition_seconds": [4, 0, 4, 4, 4], + "angle_degree": [-150, -90, 120, -120, -20], + "angle_offset_degree": [0, 0, 0, 0, 0], + "pitch_degree": [0, 0, 25, 25, 20], + "pitch_offset_degree": [0, 0, 0, 0, 0], + "roll_degree": [0, 0, 0, 0, 0], + "distance_meters": [1.5, 0, 2.5, 1.5, 0], + "height_percent": [0, 0, 0, 0, 0], + "vert_ctr_ratio": [0.5, 1, 0.5, 0.5, 1] + } + }, { + "template_id": "camera_ironhead", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0.20000000298023224], + "transition_seconds": [0.6000000238418579], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_ironhead_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.4000000059604645], + "angle_degree": [150], + "angle_offset_degree": [-5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_ironhead_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.4000000059604645], + "angle_degree": [-160], + "angle_offset_degree": [5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_ironhead_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.4000000059604645], + "angle_degree": [-150], + "angle_offset_degree": [5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_ironhead_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.4000000059604645], + "angle_degree": [150], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_ironheadenter", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [6], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_karatechop", + "camera": { + "next_camera": "", + "interpolation": [0, 0, 1], + "target_type": [12, 6, 3], + "ease_in_speed": [0.5, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0.5], + "duration_seconds": [0, 5, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0, 0.33000001311302185, 0.33000001311302185], + "angle_degree": [-20, -20, 160], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [20, 20, 20], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [0, 0, 0.5], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 1] + } + }, { + "template_id": "camera_leafblade", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0.25], + "angle_degree": [150], + "angle_offset_degree": [0], + "pitch_degree": [15], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [5], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_leafbladeenter", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [13], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [1], + "angle_degree": [-30], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_left", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [0], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [3], + "wait_seconds": [0], + "transition_seconds": [1], + "angle_degree": [90], + "angle_offset_degree": [0], + "pitch_degree": [0], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_lowsweep", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [6, 3], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [0, 1], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.4000000059604645], + "angle_degree": [-20, 160], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 20], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 3.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_magnetbomb", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [12, 4], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [1.399999976158142, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.800000011920929, 0.33000001311302185], + "angle_degree": [-20, 160], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 0], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 2], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.75] + } + }, { + "template_id": "camera_megadrain", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [5, 12, 12], + "ease_in_speed": [0.5, 0, 0], + "east_out_speed": [0.5, 0, 0], + "duration_seconds": [0, 1, 10], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0, 2, 1], + "angle_degree": [176, -40, -20], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [0, 3, 20], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [0, 0, 0], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [0.5, 1, 1] + } + }, { + "template_id": "camera_megahorn", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [1, 4], + "ease_in_speed": [0, 0], + "east_out_speed": [0, 0], + "duration_seconds": [1.149999976158142, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.4000000059604645, 0.4000000059604645], + "angle_degree": [-150, 135], + "angle_offset_degree": [0, 0], + "pitch_degree": [0, 0], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [1.5, 1], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 1] + } + }, { + "template_id": "camera_moonblast", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1], + "target_type": [6, 6, 3], + "ease_in_speed": [0, 0, 0], + "east_out_speed": [0, 0, 0], + "duration_seconds": [1.25, 0.75, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0.25, 0.33000001311302185, 0.5], + "angle_degree": [-20, -10, 165], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [20, 15, 10], + "pitch_offset_degree": [-85, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [-1.7999999523162842, 1, 3], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 0.6000000238418579] + } + }, { + "template_id": "camera_moonblast_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1], + "target_type": [6, 6, 3], + "ease_in_speed": [0, 0, 0], + "east_out_speed": [0, 0, 0], + "duration_seconds": [1.25, 0.75, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0.25, 0.33000001311302185, 0.6600000262260437], + "angle_degree": [-160, -140, 30], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [10, 15, 10], + "pitch_offset_degree": [-85, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [-3.799999952316284, -1, 3], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 0.6000000238418579] + } + }, { + "template_id": "camera_moonblast_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1], + "target_type": [6, 6, 3], + "ease_in_speed": [0, 0, 0], + "east_out_speed": [0, 0, 0], + "duration_seconds": [1.25, 0.75, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0.25, 0.33000001311302185, 0.6600000262260437], + "angle_degree": [160, 150, -25], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [10, 15, 10], + "pitch_offset_degree": [-85, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [-3.799999952316284, -1, 3], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 0.6000000238418579] + } + }, { + "template_id": "camera_moonblast_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1], + "target_type": [6, 6, 3], + "ease_in_speed": [0, 0, 0], + "east_out_speed": [0, 0, 0], + "duration_seconds": [1.25, 0.75, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0.25, 0.33000001311302185, 0.6600000262260437], + "angle_degree": [20, 15, -155], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [10, 15, 10], + "pitch_offset_degree": [-85, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [-3.799999952316284, 1, 1], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 0.6000000238418579] + } + }, { + "template_id": "camera_moonblast_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1], + "target_type": [6, 6, 3], + "ease_in_speed": [0, 0, 0], + "east_out_speed": [0, 0, 0], + "duration_seconds": [1.25, 0.75, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0.25, 0.33000001311302185, 0.6600000262260437], + "angle_degree": [-20, -15, 155], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [10, 15, 10], + "pitch_offset_degree": [-85, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [-3.799999952316284, 1, 1], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 0.6000000238418579] + } + }, { + "template_id": "camera_mudbomb", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [4], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0.25], + "transition_seconds": [0.75], + "angle_degree": [145], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_mudbombenter", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [12], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [1.5], + "wait_seconds": [0], + "transition_seconds": [0.5], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_mudshot", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [6, 3], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [1, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.4000000059604645], + "angle_degree": [-20, 160], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 0], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 1], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.8799999952316284] + } + }, { + "template_id": "camera_nightslash", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [12, 1, 6], + "ease_in_speed": [0.5, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0.5], + "duration_seconds": [0, 0.6000000238418579, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0, 0.4000000059604645, 0.10000000149011612], + "angle_degree": [-20, -160, -20], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [20, 20, 20], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [0, 2, 0], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 1] + } + }, { + "template_id": "camera_ominouswind", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [13], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [3], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1.5], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_overhead_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [14], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.6600000262260437], + "angle_degree": [-170], + "angle_offset_degree": [0], + "pitch_degree": [30], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_overhead_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [14], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.6600000262260437], + "angle_degree": [170], + "angle_offset_degree": [0], + "pitch_degree": [30], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_overhead_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [14], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.6600000262260437], + "angle_degree": [-170], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_overhead_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [14], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.6600000262260437], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_pantoattacker_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [6], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.6600000262260437], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1.5], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_pantoattacker_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [6], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.6600000262260437], + "angle_degree": [20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_pantoattacker_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [2], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.6600000262260437], + "angle_degree": [20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_pantoattacker_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [2], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.6600000262260437], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [3.5], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_pantodefender_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_pantodefender_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_pantodefender_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [-145], + "angle_offset_degree": [5], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_pantodefender_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [145], + "angle_offset_degree": [-5], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_pantofacedefender_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.800000011920929], + "angle_degree": [150], + "angle_offset_degree": [-5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [3.5], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_pantofacedefender_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.800000011920929], + "angle_degree": [-160], + "angle_offset_degree": [5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [3.5], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_pantofacedefender_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.800000011920929], + "angle_degree": [-150], + "angle_offset_degree": [5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2.5], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_pantofacedefender_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.800000011920929], + "angle_degree": [150], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2.5], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_paraboliccharge", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [12], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.5], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_paraboliccharge_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [6, 0], + "ease_in_speed": [0, 0], + "east_out_speed": [0, 0], + "duration_seconds": [0.5, 5], + "wait_seconds": [0, 1], + "transition_seconds": [0.5, 1.5], + "angle_degree": [-20, -20], + "angle_offset_degree": [0, 0], + "pitch_degree": [10, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [4, 3], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 1] + } + }, { + "template_id": "camera_paraboliccharge_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [6, 0], + "ease_in_speed": [0, 0], + "east_out_speed": [0, 0], + "duration_seconds": [0.5, 5], + "wait_seconds": [0, 1], + "transition_seconds": [0.5, 1.5], + "angle_degree": [20, 15], + "angle_offset_degree": [0, 0], + "pitch_degree": [10, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [4, 3], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 1] + } + }, { + "template_id": "camera_paraboliccharge_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [6, 0], + "ease_in_speed": [0, 0], + "east_out_speed": [0, 0], + "duration_seconds": [0.5, 5], + "wait_seconds": [0, 1], + "transition_seconds": [0.5, 1.5], + "angle_degree": [20, 20], + "angle_offset_degree": [0, 0], + "pitch_degree": [10, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [4, 3], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 1] + } + }, { + "template_id": "camera_paraboliccharge_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [6, 0], + "ease_in_speed": [0, 0], + "east_out_speed": [0, 0], + "duration_seconds": [0.5, 5], + "wait_seconds": [0, 1], + "transition_seconds": [0.5, 1.5], + "angle_degree": [-20, -25], + "angle_offset_degree": [0, 0], + "pitch_degree": [10, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [4, 3], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 1] + } + }, { + "template_id": "camera_petalblizzard", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0.5], + "angle_degree": [135], + "angle_offset_degree": [0], + "pitch_degree": [3], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0], + "vert_ctr_ratio": [0.800000011920929] + } + }, { + "template_id": "camera_playrough", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.12999999523162842], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2.5], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_playrough_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1, 1, 1, 1, 1, 1], + "target_type": [3, 3, 3, 3, 3, 3, 3, 3], + "ease_in_speed": [0, 1, 0, 1, 0, 1, 0, 0], + "east_out_speed": [1, 0, 1, 0, 1, 0, 0, 0], + "duration_seconds": [0.800000011920929, 0.09000000357627869, 0.11999999731779099, 0.09000000357627869, 0.11999999731779099, 0.09000000357627869, 0.11999999731779099, 5], + "wait_seconds": [0, 0, 0, 0, 0, 0, 0, 0], + "transition_seconds": [0.15000000596046448, 0.09000000357627869, 0.11999999731779099, 0.09000000357627869, 0.11999999731779099, 0.09000000357627869, 0.11999999731779099, 0.30000001192092896], + "angle_degree": [150, 150, 150, 150, 150, 150, 150, 150], + "angle_offset_degree": [-5, -5, -5, -5, -5, -5, -5, -5], + "pitch_degree": [10, 10, 10, 10, 10, 10, 10, 10], + "pitch_offset_degree": [0, 0, 0, 0, 0, 0, 0, 0], + "roll_degree": [0, 15, 10, -15, -10, 10, 5, 0], + "distance_meters": [1, 1, 1, 1, 1, 1, 1, 1], + "height_percent": [-0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25], + "vert_ctr_ratio": [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5] + } + }, { + "template_id": "camera_playrough_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1, 1, 1, 1, 1, 1], + "target_type": [3, 3, 3, 3, 3, 3, 3, 3], + "ease_in_speed": [0, 1, 0, 1, 0, 1, 0, 0], + "east_out_speed": [1, 0, 1, 0, 1, 0, 0, 0], + "duration_seconds": [0.800000011920929, 0.09000000357627869, 0.11999999731779099, 0.09000000357627869, 0.11999999731779099, 0.09000000357627869, 0.11999999731779099, 5], + "wait_seconds": [0, 0, 0, 0, 0, 0, 0, 0], + "transition_seconds": [0.15000000596046448, 0.09000000357627869, 0.11999999731779099, 0.09000000357627869, 0.11999999731779099, 0.09000000357627869, 0.11999999731779099, 0.30000001192092896], + "angle_degree": [-150, -150, -150, -150, -150, -150, -150, -150], + "angle_offset_degree": [5, 5, 5, 5, 5, 5, 5, 5], + "pitch_degree": [10, 10, 10, 10, 10, 10, 10, 10], + "pitch_offset_degree": [0, 0, 0, 0, 0, 0, 0, 0], + "roll_degree": [0, 15, 10, -15, -10, 10, 5, 0], + "distance_meters": [1, 1, 1, 1, 1, 1, 1, 1], + "height_percent": [-0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25], + "vert_ctr_ratio": [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5] + } + }, { + "template_id": "camera_playrough_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1, 1, 1, 1, 1, 1], + "target_type": [3, 3, 3, 3, 3, 3, 3, 3], + "ease_in_speed": [0, 1, 0, 1, 0, 1, 0, 0], + "east_out_speed": [1, 0, 1, 0, 1, 0, 0, 0], + "duration_seconds": [0.800000011920929, 0.09000000357627869, 0.11999999731779099, 0.09000000357627869, 0.11999999731779099, 0.09000000357627869, 0.11999999731779099, 5], + "wait_seconds": [0, 0, 0, 0, 0, 0, 0, 0], + "transition_seconds": [0.15000000596046448, 0.09000000357627869, 0.11999999731779099, 0.09000000357627869, 0.11999999731779099, 0.09000000357627869, 0.11999999731779099, 0.30000001192092896], + "angle_degree": [-150, -150, -150, -150, -150, -150, -150, -150], + "angle_offset_degree": [5, 5, 5, 5, 5, 5, 5, 5], + "pitch_degree": [10, 10, 10, 10, 10, 10, 10, 10], + "pitch_offset_degree": [0, 0, 0, 0, 0, 0, 0, 0], + "roll_degree": [0, 15, 10, -15, -10, 10, 5, 0], + "distance_meters": [1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25], + "height_percent": [-0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25], + "vert_ctr_ratio": [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5] + } + }, { + "template_id": "camera_playrough_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1, 1, 1, 1, 1, 1], + "target_type": [3, 3, 3, 3, 3, 3, 3, 3], + "ease_in_speed": [0, 1, 0, 1, 0, 1, 0, 0], + "east_out_speed": [1, 0, 1, 0, 1, 0, 0, 0], + "duration_seconds": [0.800000011920929, 0.09000000357627869, 0.11999999731779099, 0.09000000357627869, 0.11999999731779099, 0.09000000357627869, 0.11999999731779099, 5], + "wait_seconds": [0, 0, 0, 0, 0, 0, 0, 0], + "transition_seconds": [0.15000000596046448, 0.09000000357627869, 0.11999999731779099, 0.09000000357627869, 0.11999999731779099, 0.09000000357627869, 0.11999999731779099, 0.30000001192092896], + "angle_degree": [150, 150, 150, 150, 150, 150, 150, 150], + "angle_offset_degree": [0, 0, 0, 0, 0, 0, 0, 0], + "pitch_degree": [10, 10, 10, 10, 10, 10, 10, 10], + "pitch_offset_degree": [0, 0, 0, 0, 0, 0, 0, 0], + "roll_degree": [0, 15, 10, -15, -10, 10, 5, 0], + "distance_meters": [1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25], + "height_percent": [-0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25], + "vert_ctr_ratio": [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5] + } + }, { + "template_id": "camera_playroughenter", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [6, 0], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.12999999523162842], + "angle_degree": [-20, -20], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, -0.25], + "height_percent": [0, 0.25], + "vert_ctr_ratio": [1, 1] + } + }, { + "template_id": "camera_poisonfang", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [5], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_poisonjab", + "camera": { + "next_camera": "poisonjab_hit", + "interpolation": [1], + "target_type": [1], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5.800000190734863], + "wait_seconds": [0], + "transition_seconds": [1], + "angle_degree": [-135], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1.25], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_poisonjab_hit", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [3, 3], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [0.10000000149011612, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.10000000149011612, 0.8299999833106995], + "angle_degree": [135, 180], + "angle_offset_degree": [0, 0], + "pitch_degree": [0, 0.25], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0.25, 1], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_powerwhip", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [4], + "ease_in_speed": [0], + "east_out_speed": [1], + "duration_seconds": [3], + "wait_seconds": [0.20000000298023224], + "transition_seconds": [0.5], + "angle_degree": [90], + "angle_offset_degree": [0], + "pitch_degree": [15], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [4], + "height_percent": [0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_powerwhip_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [4], + "ease_in_speed": [0], + "east_out_speed": [1], + "duration_seconds": [5], + "wait_seconds": [0.20000000298023224], + "transition_seconds": [0.5], + "angle_degree": [90], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [5], + "height_percent": [0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_powerwhip_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [4], + "ease_in_speed": [0], + "east_out_speed": [1], + "duration_seconds": [5], + "wait_seconds": [0.20000000298023224], + "transition_seconds": [0.5], + "angle_degree": [90], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [5], + "height_percent": [0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_powerwhip_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [4], + "ease_in_speed": [0], + "east_out_speed": [1], + "duration_seconds": [5], + "wait_seconds": [0.20000000298023224], + "transition_seconds": [0.5], + "angle_degree": [100], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [5], + "height_percent": [0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_powerwhip_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [4], + "ease_in_speed": [0], + "east_out_speed": [1], + "duration_seconds": [5], + "wait_seconds": [0.20000000298023224], + "transition_seconds": [0.5], + "angle_degree": [80], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [5], + "height_percent": [0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_psybeam", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [3, 3], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.5], + "angle_degree": [170, 170], + "angle_offset_degree": [-5, -5], + "pitch_degree": [15, 15], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [5, 3], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_psybeamenter", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [0, 0], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [0.33000001311302185, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.33000001311302185, 0.8299999833106995], + "angle_degree": [-170, -165], + "angle_offset_degree": [0, 0], + "pitch_degree": [45, 0], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [1, 2.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_psybeamenter_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [2], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.8299999833106995], + "angle_degree": [-150], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_psybeamenter_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [2], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.8299999833106995], + "angle_degree": [150], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_psybeamenter_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [2, 2], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.8299999833106995], + "angle_degree": [160, 150], + "angle_offset_degree": [-5, -5], + "pitch_degree": [20, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [3.5, 1], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_psybeamenter_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [2], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.8299999833106995], + "angle_degree": [-150], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_psychic", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0.3499999940395355], + "angle_degree": [165], + "angle_offset_degree": [0], + "pitch_degree": [7.5], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2.5], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_psychicenter", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [1], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0.75], + "angle_degree": [-60], + "angle_offset_degree": [0], + "pitch_degree": [15], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1.75], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_psychocut", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [12, 3], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0, 0.5], + "duration_seconds": [0.6700000166893005, 1.4600000381469727], + "wait_seconds": [0, 0], + "transition_seconds": [0.44999998807907104, 0.6700000166893005], + "angle_degree": [-20, 160], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 5], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 3.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 1] + } + }, { + "template_id": "camera_psyshock", + "camera": { + "next_camera": "psyshock_hit", + "interpolation": [0], + "target_type": [12], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [1], + "wait_seconds": [0], + "transition_seconds": [0.25], + "angle_degree": [-20], + "angle_offset_degree": [3], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [-0.5], + "height_percent": [0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_psyshock_hit", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0.5], + "east_out_speed": [1], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.5], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [0], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2.75], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_psyshock_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0.5], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.5], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [0], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2.75], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_psyshock_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0.5], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.5], + "angle_degree": [-160], + "angle_offset_degree": [0], + "pitch_degree": [0], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2.75], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_psyshock_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0.5], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.5], + "angle_degree": [-160], + "angle_offset_degree": [0], + "pitch_degree": [0], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2.75], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_psyshock_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0.5], + "east_out_speed": [0], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.5], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [0], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2.75], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_psystrike", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1, 1, 1], + "target_type": [0, 3, 3, 3, 3], + "ease_in_speed": [0.5, 0.5, 0.5, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0.5, 0.5, 0.5], + "duration_seconds": [1.8300000429153442, 0.4000000059604645, 1.600000023841858, 0.20000000298023224, 1], + "wait_seconds": [0.5699999928474426, 0, 0, 0, 0], + "transition_seconds": [0.5299999713897705, 0.4000000059604645, 1.25, 0.20000000298023224, 1], + "angle_degree": [-120, 135, 160, 160, 160], + "angle_offset_degree": [0, 0, 0, 0, 0], + "pitch_degree": [10, 20, 60, 60, 20], + "pitch_offset_degree": [0, 0, 0, 0, 0], + "roll_degree": [0, 0, 0, 0, 0], + "distance_meters": [2, 0, 3, 0, 0], + "height_percent": [0, 0, 0, 0, 0], + "vert_ctr_ratio": [1, 0.5, 0.5, 0.5, 1] + } + }, { + "template_id": "camera_psystrike_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1, 1, 1, 1], + "target_type": [0, 3, 3, 3, 3, 3], + "ease_in_speed": [1, 0, 0.5, 0.5, 0.5, 0.5], + "east_out_speed": [1, 0.5, 0.5, 0.5, 0.5, 0], + "duration_seconds": [1.8300000429153442, 0.4000000059604645, 1.75, 0.15000000596046448, 0.15000000596046448, 5], + "wait_seconds": [0.5699999928474426, 0, 0, 0, 0, 0], + "transition_seconds": [0, 0.4000000059604645, 1.25, 0.15000000596046448, 0.15000000596046448, 1], + "angle_degree": [-120, 135, 160, 160, 160, 160], + "angle_offset_degree": [0, 0, 0, 0, 0, 0], + "pitch_degree": [10, 20, 30, 30, 30, 10], + "pitch_offset_degree": [0, 0, -5, 0, 0, 0], + "roll_degree": [0, 0, 0, 0, 0, 0], + "distance_meters": [2, 1.5, 4, 1.5, 1.899999976158142, 2], + "height_percent": [0, 0, 0, 0, 0, 0], + "vert_ctr_ratio": [1, 0.5, 0.5, 0.5, 0.5, 1] + } + }, { + "template_id": "camera_psystrike_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1, 1, 1, 1], + "target_type": [0, 3, 3, 3, 3, 3], + "ease_in_speed": [0, 0.5, 0.5, 0.5, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0.5, 0.5, 0.5, 0], + "duration_seconds": [1.8300000429153442, 0.4000000059604645, 1.75, 0.15000000596046448, 0.15000000596046448, 5], + "wait_seconds": [0.5699999928474426, 0, 0, 0, 0, 0], + "transition_seconds": [0.5299999713897705, 0.4000000059604645, 1.25, 0.15000000596046448, 0.15000000596046448, 1], + "angle_degree": [120, -135, -160, -160, -160, -160], + "angle_offset_degree": [0, 0, 0, 0, 0, 0], + "pitch_degree": [10, 20, 30, 30, 30, 10], + "pitch_offset_degree": [0, 0, -5, 0, 0, 0], + "roll_degree": [0, 0, 0, 0, 0, 0], + "distance_meters": [2, 1.5, 4, 1.5, 1.899999976158142, 2], + "height_percent": [0, 0, 0, 0, 0, 0], + "vert_ctr_ratio": [1, 0.5, 0.5, 0.5, 0.5, 1] + } + }, { + "template_id": "camera_psystrike_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1, 1, 1, 1], + "target_type": [0, 3, 3, 3, 3, 3], + "ease_in_speed": [1, 0, 0.5, 0.5, 0.5, 0.5], + "east_out_speed": [1, 0.5, 0.5, 0.5, 0.5, 0], + "duration_seconds": [1.8300000429153442, 0.4000000059604645, 1.75, 0.15000000596046448, 0.15000000596046448, 5], + "wait_seconds": [0.5699999928474426, 0, 0, 0, 0, 0], + "transition_seconds": [0, 0.4000000059604645, 1.25, 0.15000000596046448, 0.15000000596046448, 1], + "angle_degree": [120, -135, -160, -160, -160, -160], + "angle_offset_degree": [0, 0, 0, 0, 0, 0], + "pitch_degree": [10, 20, 30, 30, 30, 10], + "pitch_offset_degree": [0, 0, -5, 0, 0, 0], + "roll_degree": [0, 0, 0, 0, 0, 0], + "distance_meters": [2, 1.5, 4, 1.5, 1.899999976158142, 2], + "height_percent": [0, 0, 0, 0, 0, 0], + "vert_ctr_ratio": [1, 0.5, 0.5, 0.5, 0.5, 1] + } + }, { + "template_id": "camera_psystrike_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1, 1, 1, 1], + "target_type": [0, 3, 3, 3, 3, 3], + "ease_in_speed": [0, 0.5, 0.5, 0.5, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0.5, 0.5, 0.5, 0], + "duration_seconds": [1.8300000429153442, 0.4000000059604645, 1.75, 0.15000000596046448, 0.15000000596046448, 5], + "wait_seconds": [0.5699999928474426, 0, 0, 0, 0, 0], + "transition_seconds": [0.5299999713897705, 0.4000000059604645, 1.25, 0.15000000596046448, 0.15000000596046448, 1], + "angle_degree": [-120, 135, 160, 160, 160, 160], + "angle_offset_degree": [0, 0, 0, 0, 0, 0], + "pitch_degree": [10, 20, 30, 30, 30, 10], + "pitch_offset_degree": [0, 0, -5, 0, 0, 0], + "roll_degree": [0, 0, 0, 0, 0, 0], + "distance_meters": [2, 1.5, 4, 1.5, 1.899999976158142, 2], + "height_percent": [0, 0, 0, 0, 0, 0], + "vert_ctr_ratio": [1, 0.5, 0.5, 0.5, 0.5, 1] + } + }, { + "template_id": "camera_punchhit_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [1], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.15000000596046448], + "angle_degree": [150], + "angle_offset_degree": [-5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0.5], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_punchhit_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [1], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.15000000596046448], + "angle_degree": [-160], + "angle_offset_degree": [5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0.5], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_punchhit_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [1], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.15000000596046448], + "angle_degree": [-150], + "angle_offset_degree": [5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0.5], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_punchhit_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [1], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.15000000596046448], + "angle_degree": [150], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0.5], + "height_percent": [-0.25], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_quickattacker", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [0], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.25], + "angle_degree": [-160], + "angle_offset_degree": [0], + "pitch_degree": [15], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1.5], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_quickdefender", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.25], + "angle_degree": [-160], + "angle_offset_degree": [0], + "pitch_degree": [15], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [1.5], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_quickreturn", + "camera": { + "next_camera": "battlewait", + "interpolation": [1], + "target_type": [13], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [0.5], + "wait_seconds": [0], + "transition_seconds": [0.5], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_rear", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [0], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [1], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_rearcut", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [0], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_rearcutdefender", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [3], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_rockslide", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 0], + "target_type": [0, 0, 6], + "ease_in_speed": [0.5, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0.5], + "duration_seconds": [0, 1, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0, 1, 0], + "angle_degree": [-135, -115, -30], + "angle_offset_degree": [0, 0, 5], + "pitch_degree": [10, 10, 0], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [2, 1, -0.25], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 0.5, 1] + } + }, { + "template_id": "camera_rockthrow", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1], + "target_type": [6, 6, 3], + "ease_in_speed": [0.5, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0.5], + "duration_seconds": [5, 0.25, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0.12999999523162842, 0.25, 0.25], + "angle_degree": [-20, -20, 175], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [20, 10, 10], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [0, 0, 0], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 0.5, 0.5] + } + }, { + "template_id": "camera_scald", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [10], + "wait_seconds": [0.20000000298023224], + "transition_seconds": [0.4000000059604645], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [5], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [3], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_scaldenter", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [1], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [1.7000000476837158], + "wait_seconds": [0], + "transition_seconds": [0.5], + "angle_degree": [-100], + "angle_offset_degree": [0], + "pitch_degree": [0], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_seedbomb", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [7, 4], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0, 0.5], + "duration_seconds": [1, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.5, 0.5], + "angle_degree": [-20, 150], + "angle_offset_degree": [0, 5], + "pitch_degree": [10, 15], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [2.5, 2.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_seedbombenter_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [14], + "ease_in_speed": [0], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [-145], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_seedbombenter_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [14], + "ease_in_speed": [0], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [145], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_seedbombenter_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [14], + "ease_in_speed": [0], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [-145], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_seedbombenter_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [14], + "ease_in_speed": [0], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.33000001311302185], + "angle_degree": [145], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_seedefender", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [1], + "wait_seconds": [0], + "transition_seconds": [0.5], + "angle_degree": [150], + "angle_offset_degree": [0], + "pitch_degree": [0], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_shadowball", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [0, 4], + "ease_in_speed": [0.5, 0], + "east_out_speed": [0.5, 0], + "duration_seconds": [2, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.4000000059604645, 0.30000001192092896], + "angle_degree": [-170, 135], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [2, 1.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 1] + } + }, { + "template_id": "camera_shadowpunch_hit", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [7, 3], + "ease_in_speed": [0, 1], + "east_out_speed": [0, 0], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0.30000001192092896], + "transition_seconds": [0, 0.30000001192092896], + "angle_degree": [-20, 160], + "angle_offset_degree": [0, 0], + "pitch_degree": [10, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0.5, 2], + "height_percent": [-0.25, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_shadowsneak", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [1], + "duration_seconds": [10], + "wait_seconds": [0.20000000298023224], + "transition_seconds": [0.8500000238418579], + "angle_degree": [150], + "angle_offset_degree": [0], + "pitch_degree": [15], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_shadowsneak_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1], + "target_type": [6, 3, 3], + "ease_in_speed": [0, 0.5, 0], + "east_out_speed": [0.5, 0, 1], + "duration_seconds": [0.4000000059604645, 1.2000000476837158, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0.4000000059604645, 0.6000000238418579, 0.550000011920929], + "angle_degree": [-20, 150, 150], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [20, 15, 15], + "pitch_offset_degree": [3, 0, -5], + "roll_degree": [0, 0, 0], + "distance_meters": [0.5, 3, 4], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 1] + } + }, { + "template_id": "camera_shadowsneak_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1], + "target_type": [6, 3, 3], + "ease_in_speed": [0, 0.5, 0], + "east_out_speed": [0.5, 0, 1], + "duration_seconds": [0.4000000059604645, 1.2000000476837158, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0.4000000059604645, 0.6000000238418579, 0.550000011920929], + "angle_degree": [20, -150, -150], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [20, 15, 15], + "pitch_offset_degree": [3, 0, -5], + "roll_degree": [0, 0, 0], + "distance_meters": [0.5, 3, 4], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 1] + } + }, { + "template_id": "camera_shadowsneak_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1], + "target_type": [6, 3, 3], + "ease_in_speed": [0, 0.5, 0], + "east_out_speed": [0.5, 0, 1], + "duration_seconds": [0.4000000059604645, 1.2000000476837158, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0.4000000059604645, 0.6000000238418579, 0.550000011920929], + "angle_degree": [20, -150, -150], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [20, 15, 15], + "pitch_offset_degree": [3, 0, -5], + "roll_degree": [0, 0, 0], + "distance_meters": [0.5, 3, 3], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 1] + } + }, { + "template_id": "camera_shadowsneak_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1], + "target_type": [6, 3, 3], + "ease_in_speed": [0, 0.5, 0], + "east_out_speed": [0.5, 0, 1], + "duration_seconds": [0.4000000059604645, 1.2000000476837158, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0.4000000059604645, 0.6000000238418579, 0.550000011920929], + "angle_degree": [-20, 150, 150], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [20, 15, 15], + "pitch_offset_degree": [3, 0, -5], + "roll_degree": [0, 0, 0], + "distance_meters": [0.5, 3, 3], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [1, 1, 1] + } + }, { + "template_id": "camera_shadowsneakenter", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [9], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0.5], + "angle_degree": [150], + "angle_offset_degree": [0], + "pitch_degree": [25], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0.5], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_shoot", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [0, 0], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [0, 2], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.25], + "angle_degree": [180, 180], + "angle_offset_degree": [0, 0], + "pitch_degree": [15, 5], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [3, -1], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 1] + } + }, { + "template_id": "camera_signalbeam", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0.8500000238418579], + "transition_seconds": [0.25], + "angle_degree": [160], + "angle_offset_degree": [-5], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [3], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_signalbeamenter", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [6], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.5], + "angle_degree": [-20], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_sludgebomb", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [4], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0.25], + "transition_seconds": [0.75], + "angle_degree": [140], + "angle_offset_degree": [3], + "pitch_degree": [5], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [3], + "height_percent": [0], + "vert_ctr_ratio": [0.8500000238418579] + } + }, { + "template_id": "camera_sludgewave", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [4], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0.20000000298023224], + "transition_seconds": [1], + "angle_degree": [150], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_solarbeam", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [3, 4], + "ease_in_speed": [0, 0], + "east_out_speed": [0, 0], + "duration_seconds": [1.600000023841858, 5], + "wait_seconds": [1.350000023841858, 0.25], + "transition_seconds": [0.25, 0.8299999833106995], + "angle_degree": [120, 135], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 35], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [2, 4], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.6000000238418579] + } + }, { + "template_id": "camera_solarbeam_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [3, 3], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0.25, 5], + "wait_seconds": [0, 0.25], + "transition_seconds": [0.25, 0.8299999833106995], + "angle_degree": [130, 145], + "angle_offset_degree": [0, -5], + "pitch_degree": [20, 35], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [2, 4], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.6000000238418579] + } + }, { + "template_id": "camera_solarbeam_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [3, 3], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0.25, 5], + "wait_seconds": [0, 0.25], + "transition_seconds": [0.25, 0.8299999833106995], + "angle_degree": [-130, -145], + "angle_offset_degree": [0, 5], + "pitch_degree": [20, 35], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [2, 4], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.6000000238418579] + } + }, { + "template_id": "camera_solarbeam_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [3, 3], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0.25, 5], + "wait_seconds": [0, 0.25], + "transition_seconds": [0.25, 0.8299999833106995], + "angle_degree": [-120, -135], + "angle_offset_degree": [0, 5], + "pitch_degree": [20, 35], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [2, 4], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.6000000238418579] + } + }, { + "template_id": "camera_solarbeam_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [3, 3], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0.25, 5], + "wait_seconds": [0, 0.25], + "transition_seconds": [0.25, 0.8299999833106995], + "angle_degree": [120, 135], + "angle_offset_degree": [0, -5], + "pitch_degree": [20, 35], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [2, 4], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.6000000238418579] + } + }, { + "template_id": "camera_solarbeamenter", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [14], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0.23000000417232513], + "transition_seconds": [0.5], + "angle_degree": [-150], + "angle_offset_degree": [0], + "pitch_degree": [5], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_solarbeamenter_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [2, 2], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0.33000001311302185, 5], + "wait_seconds": [0, 1.159999966621399], + "transition_seconds": [0.33000001311302185, 0.5], + "angle_degree": [-150, -150], + "angle_offset_degree": [0, 0], + "pitch_degree": [10, 10], + "pitch_offset_degree": [0, -5], + "roll_degree": [0, 0], + "distance_meters": [3, 3], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_solarbeamenter_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [2, 2], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0.33000001311302185, 5], + "wait_seconds": [0, 1.159999966621399], + "transition_seconds": [0.33000001311302185, 0.5], + "angle_degree": [150, 150], + "angle_offset_degree": [0, 0], + "pitch_degree": [10, 10], + "pitch_offset_degree": [0, -5], + "roll_degree": [0, 0], + "distance_meters": [3, 3], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_solarbeamenter_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 1], + "target_type": [2, 2, 2], + "ease_in_speed": [1, 0, 0.5], + "east_out_speed": [1, 0.5, 0], + "duration_seconds": [0, 0.33000001311302185, 5], + "wait_seconds": [0, 0, 1.159999966621399], + "transition_seconds": [0, 0.33000001311302185, 0.5], + "angle_degree": [160, 150, 150], + "angle_offset_degree": [-5, -5, -5], + "pitch_degree": [20, 10, 10], + "pitch_offset_degree": [0, 0, -5], + "roll_degree": [0, 0, 0], + "distance_meters": [4, 3, 3], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [0.5, 0.5, 0.5] + } + }, { + "template_id": "camera_solarbeamenter_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [2, 2], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0.33000001311302185, 5], + "wait_seconds": [0, 1.159999966621399], + "transition_seconds": [0.33000001311302185, 0.5], + "angle_degree": [-150, -150], + "angle_offset_degree": [0, 0], + "pitch_degree": [10, 10], + "pitch_offset_degree": [0, -5], + "roll_degree": [0, 0], + "distance_meters": [3, 3], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_spark", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [0, 3], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [1, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.4000000059604645, 0.17000000178813934], + "angle_degree": [-170, 10], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 1], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_stoneedge", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [12, 12], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0, 0.5], + "duration_seconds": [0.5, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.3499999940395355, 0.15000000596046448], + "angle_degree": [-20, -20], + "angle_offset_degree": [0, 5], + "pitch_degree": [20, 20], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, -1], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_submission", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [6, 3], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.10000000149011612], + "angle_degree": [-20, 160], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 20], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 0.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 1] + } + }, { + "template_id": "camera_suckerpunch", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [12, 3], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [0.5, 2], + "wait_seconds": [0, 0], + "transition_seconds": [0, 0.75], + "angle_degree": [-20, 160], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 0], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 0.15000000596046448], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_swift", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [1], + "duration_seconds": [5], + "wait_seconds": [0.44999998807907104], + "transition_seconds": [0.30000001192092896], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2.5], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_tackle", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [6, 4], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [0.75, 1], + "wait_seconds": [0.20000000298023224, 0], + "transition_seconds": [0.5, 0.20000000298023224], + "angle_degree": [-20, 160], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 5], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 0.25], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_takedown", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [6, 3], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0, 0.5], + "duration_seconds": [5.599999904632568, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.4000000059604645, 0.75], + "angle_degree": [-20, 160], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 20], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [1, 1.5], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 1] + } + }, { + "template_id": "camera_thunder", + "camera": { + "next_camera": "", + "interpolation": [1, 1, 1], + "target_type": [3, 3, 3], + "ease_in_speed": [0.5, 0, 0.5], + "east_out_speed": [0.5, 0, 0.5], + "duration_seconds": [0.30000001192092896, 1.899999976158142, 1.8600000143051147], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0.25, 0.25, 0.10000000149011612], + "angle_degree": [175, 175, 170], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [10, 10, 20], + "pitch_offset_degree": [0, -35, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [3, 4, 6], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [0.5, 0.5, 1] + } + }, { + "template_id": "camera_thunder_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [6, 3], + "ease_in_speed": [1, 1], + "east_out_speed": [0, 1], + "duration_seconds": [2.1500000953674316, 1.8600000143051147], + "wait_seconds": [0.25, 0], + "transition_seconds": [0.25, 0.10000000149011612], + "angle_degree": [-160, 30], + "angle_offset_degree": [0, 0], + "pitch_degree": [0, 20], + "pitch_offset_degree": [-35, 0], + "roll_degree": [0, 0], + "distance_meters": [4, 6], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 1] + } + }, { + "template_id": "camera_thunder_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [6, 3], + "ease_in_speed": [1, 1], + "east_out_speed": [0, 1], + "duration_seconds": [2.1500000953674316, 1.8600000143051147], + "wait_seconds": [0.25, 0], + "transition_seconds": [0.25, 0.10000000149011612], + "angle_degree": [160, -25], + "angle_offset_degree": [0, 0], + "pitch_degree": [0, 20], + "pitch_offset_degree": [-35, 0], + "roll_degree": [0, 0], + "distance_meters": [4, 6], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 1] + } + }, { + "template_id": "camera_thunder_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [3, 3], + "ease_in_speed": [1, 1], + "east_out_speed": [0, 1], + "duration_seconds": [2.1500000953674316, 1.8600000143051147], + "wait_seconds": [0.25, 0], + "transition_seconds": [0.25, 0.10000000149011612], + "angle_degree": [-155, -155], + "angle_offset_degree": [0, 0], + "pitch_degree": [0, 20], + "pitch_offset_degree": [-30, 0], + "roll_degree": [0, 0], + "distance_meters": [2, 4], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 1] + } + }, { + "template_id": "camera_thunder_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [3, 3], + "ease_in_speed": [1, 1], + "east_out_speed": [0, 1], + "duration_seconds": [2.1500000953674316, 1.8600000143051147], + "wait_seconds": [0.25, 0], + "transition_seconds": [0.25, 0.10000000149011612], + "angle_degree": [155, 155], + "angle_offset_degree": [0, 0], + "pitch_degree": [0, 20], + "pitch_offset_degree": [-30, 0], + "roll_degree": [0, 0], + "distance_meters": [2, 4], + "height_percent": [0, 0], + "vert_ctr_ratio": [0.5, 1] + } + }, { + "template_id": "camera_thunderbolt", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [4], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0.20000000298023224], + "transition_seconds": [0.5], + "angle_degree": [135], + "angle_offset_degree": [5], + "pitch_degree": [5], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [3], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_thunderboltenter", + "camera": { + "next_camera": "", + "interpolation": [0], + "target_type": [6], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [5], + "wait_seconds": [0], + "transition_seconds": [0.6000000238418579], + "angle_degree": [-30], + "angle_offset_degree": [-5], + "pitch_degree": [15], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [0], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "camera_thunderpunch_hit", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [7, 3], + "ease_in_speed": [0, 1], + "east_out_speed": [0, 0], + "duration_seconds": [0, 5], + "wait_seconds": [0, 0.6000000238418579], + "transition_seconds": [0, 0.30000001192092896], + "angle_degree": [-20, 160], + "angle_offset_degree": [0, 0], + "pitch_degree": [10, 10], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0.5, 2], + "height_percent": [-0.25, 0], + "vert_ctr_ratio": [0.5, 0.5] + } + }, { + "template_id": "camera_twister", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0.30000001192092896], + "angle_degree": [165], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [3], + "height_percent": [0], + "vert_ctr_ratio": [0.800000011920929] + } + }, { + "template_id": "camera_vicegrip", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0], + "east_out_speed": [0], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0.20000000298023224], + "angle_degree": [160], + "angle_offset_degree": [0], + "pitch_degree": [20], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [3], + "height_percent": [0], + "vert_ctr_ratio": [0.5] + } + }, { + "template_id": "camera_watergun", + "camera": { + "next_camera": "", + "interpolation": [0, 1, 0], + "target_type": [0, 1, 3], + "ease_in_speed": [0.5, 0.5, 0.5], + "east_out_speed": [0.5, 0.5, 0.5], + "duration_seconds": [0, 1, 5], + "wait_seconds": [0, 0, 0], + "transition_seconds": [0, 1, 0], + "angle_degree": [-160, -170, 160], + "angle_offset_degree": [0, 0, 0], + "pitch_degree": [20, 10, 0], + "pitch_offset_degree": [0, 0, 0], + "roll_degree": [0, 0, 0], + "distance_meters": [0.4000000059604645, 0.5, 1.399999976158142], + "height_percent": [0, 0, 0], + "vert_ctr_ratio": [0.5, 0.5, 0.75] + } + }, { + "template_id": "camera_waterpulse", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [3], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0.75], + "angle_degree": [150], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [3], + "height_percent": [0], + "vert_ctr_ratio": [0.75] + } + }, { + "template_id": "camera_waterpulseenter", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [6, 6], + "ease_in_speed": [0.5, 0.5], + "east_out_speed": [0.5, 0.5], + "duration_seconds": [0.699999988079071, 10], + "wait_seconds": [0, 0], + "transition_seconds": [0.4000000059604645, 1], + "angle_degree": [-20, -25], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 35], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 0], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_waterpulseenter_leader_player_left_", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [6, 6], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0.699999988079071, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.4000000059604645, 0.3799999952316284], + "angle_degree": [-20, -25], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 35], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 0], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_waterpulseenter_leader_player_right_", + "camera": { + "next_camera": "", + "interpolation": [0, 1], + "target_type": [6, 6], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0.699999988079071, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.4000000059604645, 0.3799999952316284], + "angle_degree": [20, 25], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 35], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 0], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_waterpulseenter_player_left_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [6, 6], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0.699999988079071, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.4000000059604645, 0.3799999952316284], + "angle_degree": [20, 25], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 35], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 0], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_waterpulseenter_player_right_leader_", + "camera": { + "next_camera": "", + "interpolation": [1, 1], + "target_type": [6, 6], + "ease_in_speed": [0, 0.5], + "east_out_speed": [0.5, 0], + "duration_seconds": [0.699999988079071, 5], + "wait_seconds": [0, 0], + "transition_seconds": [0.4000000059604645, 0.3799999952316284], + "angle_degree": [-20, -25], + "angle_offset_degree": [0, 0], + "pitch_degree": [20, 35], + "pitch_offset_degree": [0, 0], + "roll_degree": [0, 0], + "distance_meters": [0, 0], + "height_percent": [0, 0], + "vert_ctr_ratio": [1, 0.5] + } + }, { + "template_id": "camera_xscissor", + "camera": { + "next_camera": "", + "interpolation": [1], + "target_type": [5], + "ease_in_speed": [0.5], + "east_out_speed": [0.5], + "duration_seconds": [10], + "wait_seconds": [0], + "transition_seconds": [0.25], + "angle_degree": [170], + "angle_offset_degree": [0], + "pitch_degree": [10], + "pitch_offset_degree": [0], + "roll_degree": [0], + "distance_meters": [2], + "height_percent": [0], + "vert_ctr_ratio": [1] + } + }, { + "template_id": "incenseordinary.1", + "iap_item_display": { + "sku": "incenseordinary.1", + "category": 2, + "sort_order": 7, + "item_ids": [401], + "counts": [1] + } + }, { + "template_id": "incenseordinary.4", + "iap_item_display": { + "sku": "incenseordinary.4", + "category": 2, + "sort_order": 8, + "item_ids": [401], + "counts": [4] + } + }, { + "template_id": "incenseordinary.8", + "iap_item_display": { + "sku": "incenseordinary.8", + "category": 2, + "sort_order": 9, + "item_ids": [401], + "counts": [8] + } + }, { + "template_id": "incubatorbasic.1", + "iap_item_display": { + "sku": "incubatorbasic.1", + "category": 2, + "sort_order": 3, + "item_ids": [902], + "counts": [1] + } + }, { + "template_id": "incubatorbasic.100", + "iap_item_display": { + "sku": "incubatorbasic.100", + "category": 2, + "sort_order": 10, + "item_ids": [902], + "counts": [100] + } + }, { + "template_id": "itemstorageupgrade.1", + "iap_item_display": { + "sku": "itemstorageupgrade.1", + "category": 3, + "sort_order": 2, + "item_ids": [1002], + "counts": [1] + } + }, { + "template_id": "luckyegg.1", + "iap_item_display": { + "sku": "luckyegg.1", + "category": 2, + "sort_order": 4, + "item_ids": [301], + "counts": [1] + } + }, { + "template_id": "luckyegg.20", + "iap_item_display": { + "sku": "luckyegg.20", + "category": 2, + "sort_order": 6, + "item_ids": [301], + "counts": [20] + } + }, { + "template_id": "luckyegg.5", + "iap_item_display": { + "sku": "luckyegg.5", + "category": 2, + "sort_order": 5, + "item_ids": [301], + "counts": [5] + } + }, { + "template_id": "pokeball.100", + "iap_item_display": { + "sku": "pokeball.100", + "category": 2, + "sort_order": 2, + "item_ids": [1], + "counts": [100] + } + }, { + "template_id": "pokeball.20", + "iap_item_display": { + "sku": "pokeball.20", + "category": 2, + "sort_order": 1, + "item_ids": [1], + "counts": [20] + } + }, { + "template_id": "pokecoin.100", + "iap_item_display": { + "sku": "pokecoin.100", + "category": 4, + "sort_order": 1, + "item_ids": [], + "counts": [] + } + }, { + "template_id": "pokecoin.1000", + "iap_item_display": { + "sku": "pokecoin.1000", + "category": 4, + "sort_order": 1, + "item_ids": [], + "counts": [] + } + }, { + "template_id": "pokecoin.1200", + "iap_item_display": { + "sku": "pokecoin.1200", + "category": 4, + "sort_order": 3, + "item_ids": [], + "counts": [] + } + }, { + "template_id": "pokecoin.14500", + "iap_item_display": { + "sku": "pokecoin.14500", + "category": 4, + "sort_order": 6, + "item_ids": [], + "counts": [] + } + }, { + "template_id": "pokecoin.2500", + "iap_item_display": { + "sku": "pokecoin.2500", + "category": 4, + "sort_order": 4, + "item_ids": [], + "counts": [] + } + }, { + "template_id": "pokecoin.5200", + "iap_item_display": { + "sku": "pokecoin.5200", + "category": 4, + "sort_order": 5, + "item_ids": [], + "counts": [] + } + }, { + "template_id": "pokecoin.550", + "iap_item_display": { + "sku": "pokecoin.550", + "category": 4, + "sort_order": 2, + "item_ids": [], + "counts": [] + } + }, { + "template_id": "pokemonstorageupgrade.1", + "iap_item_display": { + "sku": "pokemonstorageupgrade.1", + "category": 3, + "sort_order": 1, + "item_ids": [1001], + "counts": [1] + } + }, { + "template_id": "sequence_acid_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx attacker acid_fast", "sfx attacker 051-0_acid", "wait 0.15", "vfx defender acid_fast_hit", "anim defender damageS01", "wait 0.35", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_aerial_ace", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "wait 0.733", "cam AerialAce_ATKR_DFND_", "background attacker 0.5/0.75/1.0/0.0", "vfx camera camera_diagonal_vignette", "f2fvfx defender aerial_ace", "sfx attacker 332-0_aerial_ace", "wait 0.6", "anim defender damageS01", "wait 0.4", "anim defender damageS01", "reset_background attacker 0.5/0.75/1.0/0.0", "wait 0.25", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_air_cutter", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam DefaultAttack_ATKR_DFND_", "wait 0.25", "background attacker 0.0/0.25/0.5/0.5", "anim attacker atk-move", "event", "cam AirCutter_ATKR_DFND_", "vfx attacker air_cutter_ground", "sfx attacker 314-0_air_cutter", "wait 0.5", "f2fvfx attacker air_cutter_emit", "vfx defender air_cutter_hit", "wait 0.5", "anim defender damageS01", "wait 1.0", "reset_background attacker 0.0/0.25/0.5/0.5", "wait 0.5", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_ancient_power", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam EnterBehindAttackerFarAway_ATKR_DFND_", "anim attacker atk-move", "background attacker 0.5/0.2/0.5/0.25", "event", "cam AncientPower_ATKR_DFND_", "f2fvfx attacker ancient_power", "sfx attacker 246-0_ancient_power", "wait 2.1", "vfx defender ancient_power_hit", "wait 0.15", "shake SideToSide/0.45", "anim defender damageS01", "reset_background attacker 0.5/0.2/0.5/0.25", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_aqua_jet", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam AquaJetEnter_ATKR_DFND_", "anim attacker atk-move", "event", "vfx attacker aqua_jet_emit", "vfx defender aqua_jet_hit", "sfx attacker 453-0_aqua_jet", "cam AquaJet_ATKR_DFND_", "wait 0.2", "hide attacker", "wait 0.667", "anim defender damageS01", "wait 0.7", "unhide attacker", "wait 0.8", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_aqua_tail", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam EnterBehindAttacker_ATKR_DFND_", "anim attacker atk-move", "event", "background attacker 0.0/0.25/1.0/0.0", "vfx attacker aqua_tail_origin", "sfx attacker 401-0_aqua_tail", "wait 0.35", "cam PunchHit_ATKR_DFND_", "f2fvfx defender aqua_tail", "wait 0.3", "shake UpDown/0.67/0.5", "anim defender damageS01", "wait 0.5", "reset_background attacker 0.0/0.25/1.0/0.0", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_bite_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx defender bite_fast", "wait 0.25", "sfx attacker 044-0_bite", "wait 0.25", "sfx attacker 044-0_bite", "anim defender damageS01", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_blizzard", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_1s", "cam FaceAttackerTilt_ATKR_DFND_", "anim attacker atk-move", "event", "vfx attacker blizzard", "vfx camera blizzard_camera_ice", "sfx attacker 059-0_blizzard", "background attacker 1.0/1.0/1.0/0.25", "wait 1.0", "cam CutToFaceDefender_ATKR_DFND_", "vfx defender blizzard_hit", "wait 1.0", "anim defender damageS01", "reset_background attacker 1.0/1.0/1.0/0.25", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_body_slam", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_2s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "sfx attacker 034-0_body_slam", "sink attacker -4/12", "wait 0.5", "cam PanToDefender_ATKR_DFND_", "anim attacker atk-move", "wait 0.2", "vfx camera camera_speed_lines_short_lower_center", "vfx defender body_slam_hit", "squish defender 0.5", "anim defender damageS01", "shake UpDown/1.0/1.0/1.0", "wait 0.5", "sink attacker 0.0/8", "anim defender damageS01", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_bone_club", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_2s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "cam PanToDefender_ATKR_DFND_", "f2fvfx defender bone_club", "sfx attacker 125-0_bone_club", "wait 0.5", "shake UpDown/0.5/1.0", "anim defender damageS01", "sfx attacker 033-0_tackle", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_brick_break", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_2s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "cam BrickBreak_ATKR_DFND_", "f2fvfx defender brick_break", "sfx attacker 280-0_brick_break", "wait 0.35", "anim defender damageS01", "shake UpDown/0.5/0.5/2.0", "wait 0.5", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_brine", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "f2fvfx attacker brine", "sfx attacker 362-0_brine", "cam FollowArcingProjectile_ATKR_DFND_", "wait 0.75", "vfx defender brine_hit", "shake UpDown/0.5/1.0", "anim defender damageS01", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_bubble_beam", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam EnterFaceAttacker_ATKR_DFND_", "anim attacker atk-move", "event", "f2fvfx attacker bubble_beam", "sfx attacker 061-0_bubble_beam", "wait 0.74", "cam CutToFaceDefender_ATKR_DFND_", "shake BubbleBeam", "wait 0.26", "f2fvfx defender bubble_beam_hit", "vfx camera bubble_beam_camera", "wait 0.66", "anim defender damageS01", "wait 0.5", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_bubble_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx attacker bubble_fast_emit", "wait 0.65", "vfx defender bubble_fast_hit", "anim defender damageS01", "sfx attacker 061-0_bubble_beam", "wait 0.25", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_bug_bite_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx defender bug_bite_fast", "sfx attacker 450-0_bug_bite", "wait 0.15", "anim defender damageS01", "wait 0.35", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_bug_buzz", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "background attacker 0.0/0.0/0.0/0.5", "vfx attacker bug_buzz_waist:Origin/Waist", "sfx attacker 405-0_bug_buzz", "wait 0.25", "f2fvfx attacker bug_buzz", "wait 0.72", "cam EnterFaceDefender_ATKR_DFND_", "wait 0.33", "anim defender damageS01", "wait 1.0", "reset_background attacker 0.0/0.0/0.0/0.5", "wait 1.2", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_bulldoze", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_5s", "cam Overhead_ATKR_DFND_", "anim attacker atk-move", "wait 0.75", "background attacker 0.5/0.4/0.2/0.0", "shake UpDown/2.4/1.5", "vfx attacker bulldoze", "sfx attacker 523-0_bulldoze", "wait 1.0", "anim defender damageS01", "wait 0.5", "reset_background attacker 0.5/0.4/0.2/0.0", "wait 1.8", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_bullet_punch_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "wait 0.25", "anim defender damageS01", "f2fvfx defender bullet_punch_fast", "sfx attacker 418-0_bullet_punch", "wait 0.25", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_confusion_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx attacker confusion_fast_emit", "wait 0.5", "vfx defender confusion_fast_hit", "anim defender damageS01", "sfx attacker 466-0_ominous_wind", "wait 0.25", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_cross_chop", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam EnterFaceDefender_ATKR_DFND_", "anim attacker atk-move", "event", "f2fvfx defender cross_chop", "sfx attacker 238-0_cross_chop", "wait 0.25", "shake Medium/0.5/0.5/0.5", "anim defender damageS01", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_cross_poison", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_2s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "wait 0.25", "f2fvfx defender cross_poison", "sfx attacker 440-0_cross_poison", "wait 0.25", "shake SideToSide/0.2/0.5", "anim defender damageS01", "silhouette defender 0.6/0.0/1.0/0.0", "wait 0.25", "reset_silhouette defender 0.6/0.0/1.0/0.0", "wait 0.75", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_cut_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "sfx attacker 015-0_cut", "wait 0.15", "f2fvfx defender cut_fast", "wait 0.15", "anim defender damageS01", "wait 0.2", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_dark_pulse", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam EnterFaceAttacker_ATKR_DFND_", "background attacker 0.5/0.0/0.5/0.5", "wait 0.25", "vfx attacker dark_pulse_waist:Origin/Waist", "vfx attacker dark_pulse_origin", "sfx attacker 399-0_dark_pulse", "wait 0.1", "anim attacker atk-move", "wait 0.66", "cam PanToDefender_ATKR_DFND_", "f2fvfx attacker dark_pulse", "wait 0.2", "f2fvfx defender dark_pulse_hit", "anim defender damageS01", "wait 0.6", "anim defender damageS01", "wait 0.6", "reset_background attacker 0.5/0.0/0.5/0.5", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_dazzling_gleam", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "wait 0.6", "cam EnterFaceAttacker_ATKR_DFND_", "wait 0.5", "background attacker 1.0/1.0/1.0/0.0", "silhouette attacker 1.0/1.0/1.0/0.1", "f2fvfx attacker dazzling_gleam_emit", "vfx defender dazzling_gleam_hit", "vfx camera dazzling_gleam_camera", "sfx attacker 605-0_dazzling_gleam", "wait 0.5", "cam DefaultAttack_ATKR_DFND_", "reset_silhouette attacker 1.0/1.0/1.0/0.1", "wait 1.5", "anim defender damageS01", "wait 1.0", "reset_background attacker 0.2/0.2/0.2/0.0", "wait 0.5", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_default", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "wait 1.0", "anim defender damageS01", "sys ui-sync", "wait 1.0", "sys complete"] + } + }, { + "template_id": "sequence_dig", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_5s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "wait 1.0", "dscvfx attacker dig_burrow", "sfx attacker 091-0_dig", "sink attacker 1.5", "shake Medium/1.15/0.25", "wait 1.5", "dscvfx attacker dig_attack", "sfx attacker 091-1_dig", "wait 1.0", "anim defender damageS01", "dscvfx defender dig_hit_ground", "sink attacker 0.0", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_disarming_voice", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_5s", "cam EnterFaceAttacker_ATKR_DFND_", "background attacker 1.0/0.5/0.5/0.5", "wait 0.6", "anim attacker atk-move", "event", "f2fvfx attacker disarming_voice", "sfx attacker 574-0_disarming_voice", "wait 0.5", "cam PanToFaceDefender_ATKR_DFND_", "wait 1.5", "anim defender damageS01", "wait 0.5", "reset_background attacker 1.0/0.5/0.5/0.5", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_discharge", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_1s", "cam EnterFaceAttacker_ATKR_DFND_", "background attacker 1.0/0.9/0.6/0.5", "anim attacker atk-move", "event", "vfx attacker discharge_waist:Origin/Waist", "sfx attacker 435-0_discharge", "wait 0.5", "cam PanToDefender_ATKR_DFND_", "wait 0.5", "shake SideToSide/0.2/0.25/0.75", "anim defender damageS01", "reset_silhouette defender 1.0/1.0/1.0/0.0", "vfx defender discharge_hit_waist:Origin/Waist", "vfx camera camera_electric", "reset_background attacker 1.0/0.9/0.6/0.5", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_dragon_breath_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx attacker dragon_breath_fast", "sfx attacker 225-0_dragon_breath", "shake DragonBreath", "wait 0.25", "anim defender damageS01", "wait 0.25", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_dragon_claw", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_2s", "cam DefaultAttack_ATKR_DFND_", "vfx attacker dragon_claw_charge", "sfx attacker 337-0_dragon_claw", "wait 0.25", "background attacker 0.0/0.0/0.0/0.5", "anim attacker atk-move", "event", "f2fvfx defender dragon_claw", "wait 0.15", "shake SideToSide/0.333/1.5", "anim defender damageS01", "reset_background attacker 0.0/0.0/0.0/0.5", "wait 0.5", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_dragon_pulse", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam EnterFaceAttacker_ATKR_DFND_", "background attacker 0.0/0.0/0.0/0.5", "f2fvfx attacker dragon_pulse_charge_up", "sfx attacker 406-0_dragon_pulse", "wait 0.84", "shake SideToSide/0.66/0.5", "anim attacker atk-move", "wait 0.16", "cam DefaultAttack_ATKR_DFND_", "wait 0.25", "vfx attacker dragon_pulse_ground", "f2fvfx attacker dragon_pulse", "wait 0.25", "f2fvfx defender dragon_pulse_hit", "shake UpDown/1.66/1.5", "wait 0.25", "anim defender damageS01", "wait 0.33", "anim defender damageS01", "wait 0.33", "anim defender damageS01", "wait 0.5", "reset_background attacker 0.0/0.0/0.0/0.5", "wait 0.5", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_draining_kiss", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_1s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "f2fvfx defender draining_kiss", "sfx attacker 577-0_draining_kiss", "anim defender damageS01", "wait 0.3", "f2fvfx attacker draining_kiss_projectile", "wait 0.7", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_drill_peck", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_2s", "cam EnterBehindAttacker_ATKR_DFND_", "anim attacker atk-move", "event", "cam PunchHit_ATKR_DFND_", "vfx attacker speed_lines_short", "wait 0.15", "f2fvfx defender drill_peck", "sfx attacker 065-0_drill_peck", "anim defender damageS01", "wait 0.33", "anim defender damageS01", "wait 0.33", "anim defender damageS01", "wait 0.5", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_drill_run", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam DrillRun_ATKR_DFND_", "background attacker 0.5/0.4/0.2/0.5", "anim attacker atk-move", "spin attacker 0.7", "sfx attacker 529-0_drill_run", "wait 0.5", "scale attacker 0.0001", "vfx attacker drill_run_emit", "vfx defender drill_run_hit", "wait 0.833", "shake DrillRun", "anim defender damageS01", "reset_background attacker 1.0/1.0/0.75/0.0", "wait 1.0", "scale attacker 1.0", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_earthquake", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam Overhead_ATKR_DFND_", "anim attacker atk-move", "event", "background attacker 0.2/0.15/0.1/0.0", "vfx attacker earthquake", "sfx attacker 089-0_earthquake", "wait 0.5", "shake Earthquake", "wait 1.0", "anim defender damageS01", "wait 0.25", "reset_background attacker 0.2/0.15/0.1/0.0", "sys ui-sync", "wait 1.5", "sys complete"] + } + }, { + "template_id": "sequence_ember_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "sfx attacker 052-0_ember", "wait 0.1", "f2fvfx attacker ember_fast", "wait 0.4", "f2fvfx defender ember_fast_hit", "anim defender damageS01", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_feint_attack_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx attacker tackle_fast", "wait 0.65", "vfx defender feint_attack_fast", "anim defender damageS01", "sfx attacker 399-0_dark_pulse", "wait 0.25", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_fire_blast", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam EnterFaceAttacker_ATKR_DFND_", "sfx attacker 126-0_fire_blast", "background attacker 0.0/0.0/0.0/0.0", "wait 0.5", "anim attacker atk-move", "event", "cam FireBlast_ATKR_DFND_", "f2fvfx attacker fire_blast", "wait 0.15", "reset_background attacker 1.0/0.9/0.8/0.0", "wait 0.15", "background attacker 1.0/0.0/0.0/0.5", "wait 1.5", "shake UpDown/1.25/0.5", "vfx camera camera_speed_lines_short", "wait 0.2", "anim defender damageS01", "vfx defender flamethrower_hit_waist:Origin/Waist", "shake UpDownDecay/0.33", "reset_background attacker 1.0/0.0/0.0/0.5", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_fire_fang_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx attacker tackle_fast", "wait 0.25", "vfx defender fire_fang_fast", "anim defender damageS01", "sfx attacker 158-0_hyper_fang", "wait 0.25", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_fire_punch", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_1s", "cam EnterBehindAttacker_ATKR_DFND_", "background attacker 0.0/0.0/0.0/0.5", "anim attacker atk-move", "event", "sfx attacker 007-0_fire_punch", "wait 0.15", "f2fvfx defender fire_punch", "wait 0.45", "cam PunchHit_ATKR_DFND_", "wait 0.15", "anim defender damageS01", "shake SideToSideDecay/0.33", "vfx camera fire_punch_camera_flames", "reset_background attacker 1.0/0.25/0.0/0.5", "wait 1.5", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_flame_burst", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "f2fvfx attacker flame_burst", "sfx attacker 481-0_flame_burst", "wait 0.27", "cam PanToDefender_ATKR_DFND_", "wait 0.23", "shake UpDownDecay/1.0/0.5", "vfx defender flamethrower_hit_waist:Origin/Waist", "vfx defender flame_burst_hit", "wait 0.1", "anim defender damageS01", "wait 1.4", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_flame_charge", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam FlameCharge_ATKR_DFND_", "vfx attacker flame_charge", "wait 0.15", "sfx attacker 488-0_flame_charge", "wait 0.75", "anim attacker atk-move", "wait 0.25", "f2fvfx attacker flame_charge_projectile", "wait 0.15", "hide attacker", "wait 0.95", "anim defender damageS01", "vfx defender flamethrower_hit_waist:Origin/Waist", "shake UpDownDecay/0.33/0.5/0.5", "wait 0.9", "unhide attacker", "wait 0.25", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_flame_wheel", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam EnterFaceAttacker_ATKR_DFND_", "silhouette attacker 0.9/1.0/0.7/0.0", "wait 0.15", "anim attacker atk-move", "event", "vfx attacker flame_wheel", "wait 0.15", "sfx attacker 172-0_flame_wheel", "wait 0.2", "cam PanToDefender_ATKR_DFND_", "wait 1.0", "anim defender damageS01", "vfx defender flamethrower_hit_waist:Origin/Waist", "wait 1.0", "sys ui-sync", "sys complete", "sys complete"] + } + }, { + "template_id": "sequence_flamethrower", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam EnterFaceAttacker_ATKR_DFND_", "anim attacker atk-move", "event", "cam DefaultAttack_ATKR_DFND_", "f2fvfx attacker flamethrower", "sfx attacker 053-0_flamethrower", "background attacker 0.6/0.15/0.0/0.8", "wait 0.6", "shake Flamethrower", "wait 0.4", "anim defender damageS01", "vfx defender flamethrower_hit_waist:Origin/Waist", "reset_background attacker 0.6/0.15/0.0/0.8", "wait 1.6", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_flash_cannon", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam EnterFaceAttacker_ATKR_DFND_", "background attacker 0.0/0.0/0.0/0.5", "anim attacker atk-move", "event", "f2fvfx attacker flash_cannon", "sfx attacker 430-0_flash_cannon", "wait 0.9", "f2fvfx defender flash_cannon_hit", "wait 0.1", "cam CutToFaceDefender_ATKR_DFND_", "wait 0.1", "reset_background attacker 1.0/1.0/1.0/0.0", "anim defender damageS01", "shake UpDownDecay/0.333/0.5", "wait 0.9", "anim defender damageS01", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_frost_breath_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "sfx attacker 524-0_frost_breath", "wait 0.15", "f2fvfx attacker frost_breath_fast", "wait 0.25", "f2fvfx defender frost_breath_fast_hit", "vfx defender frost_breath_fast_hit", "wait 0.1", "anim defender damageS01", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_fury_cutter_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx defender fury_cutter_fast", "sfx attacker 210-0_fury_cutter", "wait 0.15", "anim defender damageS01", "wait 0.35", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_giga_drain", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam EnterFaceDefender_ATKR_DFND_", "background attacker 1.0/0.95/0.8/0.5", "wait 0.25", "f2fvfx attacker giga_drain", "vfx defender giga_drain_hit", "vfx defender giga_drain_hit_waist:Origin/Waist", "sfx attacker 030-0_horn_attack", "wait 0.15", "anim defender damageS01", "wait 0.5", "cam PanToAttacker_ATKR_DFND_", "sfx attacker 202-0_giga_drain", "wait 0.55", "anim attacker atk-move", "wait 0.3", "vfx attacker giga_drain_waist:Origin/Waist", "wait 0.5", "reset_background attacker 1.0/0.95/0.8/0.5", "wait 0.5", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_gunk_shot", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam GunkShot_ATKR_DFND_", "wait 0.333", "anim attacker atk-move", "wait 0.15", "f2fvfx attacker gunk_shot", "sfx attacker 441-0_gunk_shot", "wait 0.2", "shake UpDownDecay/0.15/0.5", "wait 0.25", "vfx camera camera_speed_lines_short", "wait 0.65", "anim defender damageS01", "vfx defender gunk_shot_hit", "shake UpDownDecay/0.667", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_heart_stamp", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_2s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "vfx attacker heart_stamp_waist:Origin/Waist", "sfx attacker 531-0_heart_stamp", "event", "vfx defender heart_stamp", "wait 0.27", "cam PanToDefender_ATKR_DFND_", "wait 0.33", "anim defender damageS01", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_heat_wave", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_1s", "cam FaceAttackerTilt_ATKR_DFND_", "anim attacker atk-move", "event", "vfx attacker heat_wave", "sfx attacker 257-0_heat_wave", "background attacker 1.0/0.25/0.0/0.5", "wait 1.0", "cam CutToFaceDefender_ATKR_DFND_", "wait 0.5", "f2fvfx defender heat_wave_hit", "wait 0.25", "anim defender damageS01", "wait 1.0", "reset_background attacker 1.0/0.25/0.0/0.5", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_horn_attack", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_2s", "cam DefaultAttack_ATKR_DFND_", "wait 0.4", "anim attacker atk-move", "event", "f2fvfx attacker horn_attack", "sfx attacker 030-0_horn_attack", "wait 0.25", "f2fvfx defender horn_attack_hit", "wait 0.1", "anim defender damageS01", "shake UpDown/0.5/0.25/2.0", "reset_background attacker 1.0/1.0/1.0/0.75", "wait 0.5", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_hurricane", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam EnterBehindAttackerFarAway_ATKR_DFND_", "background attacker 0.0/0.1/0.2/0.5", "anim attacker atk-move", "event", "cam FaceDefenderZoomOut_ATKR_DFND_", "vfx camera hurricane_camera", "vfx defender hurricane", "sfx attacker 542-0_hurricane", "shake SideToSide/1.5/2.0/0.5", "wait 0.33", "spin defender 1.0", "wait 0.33", "anim defender damageS01", "wait 0.33", "anim defender damageS01", "wait 0.33", "anim defender damageS01", "reset_background attacker 0.0/0.1/0.2/0.5", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_hydro_pump", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam EnterFaceAttacker_ATKR_DFND_", "wait 0.233", "anim attacker atk-move", "background attacker 0.0/0.2/0.5/0.5", "event", "f2fvfx attacker hydro_pump", "f2fvfx defender hydro_pump_beam_hit", "sfx attacker 056-0_hydro_pump", "wait 0.2", "cam CutToFaceDefender_ATKR_DFND_", "anim defender damageS01", "vfx defender hydro_pump_hit", "shake UpDown/0.85/0.5", "wait 0.2", "vfx camera camera_speed_lines", "wait 0.13", "anim defender damageS01", "wait 0.67", "anim defender damageS01", "vfx camera camera_speed_lines", "shake SideToSide/0.5/0.5", "wait 0.66", "anim defender damageS01", "shake UpDown/0.5/0.5", "reset_background attacker 0.0/0.2/0.5/0.5", "wait 0.83", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_hydro_pump_blastoise", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam EnterFaceAttacker_ATKR_DFND_", "wait 0.233", "anim attacker atk-move", "background attacker 0.0/0.2/0.5/0.5", "event", "vfx attacker hydro_pump_cannon:Origin/Waist/LFeelerA/LFeelerB/LFeelerC", "vfx attacker hydro_pump_cannon:Origin/Waist/RFeelerA/RFeelerB/RFeelerC", "f2fvfx attacker hydro_pump_double_beam", "sfx attacker 056-0_hydro_pump", "wait 0.2", "cam CutToFaceDefender_ATKR_DFND_", "anim defender damageS01", "vfx defender hydro_pump_hit", "shake UpDown/0.85/0.5", "wait 0.2", "vfx camera camera_speed_lines", "wait 0.13", "anim defender damageS01", "wait 0.67", "anim defender damageS01", "vfx camera camera_speed_lines", "shake SideToSide/0.5/0.5", "wait 0.66", "anim defender damageS01", "shake UpDown/0.5/0.5", "reset_background attacker 0.0/0.2/0.5/0.5", "wait 0.83", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_hyper_beam", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_5s", "cam EnterFaceAttacker_ATKR_DFND_", "background attacker 0.0/0.0/0.0/0.25", "wait 0.5", "f2fvfx attacker hyper_beam_charge_up", "sfx attacker 063-0_hyper_beam", "wait 1.0", "reset_background attacker 0.0/0.0/0.0/0.25", "wait 0.33", "anim attacker atk-move", "background attacker 1.0/1.0/1.0/0.0", "wait 0.67", "f2fvfx attacker hyper_beam", "f2fvfx defender hyper_beam_hit", "cam HyperBeam_ATKR_DFND_", "shake UpDown/0.5/0.5/2.0", "wait 0.15", "anim defender damageS01", "reset_background attacker 1.0/1.0/1.0/0.0", "wait 0.33", "anim defender damageS01", "reset_background attacker 1.0/1.0/1.0/0.0", "wait 0.66", "anim defender damageS01", "reset_background attacker 1.0/1.0/1.0/0.0", "shake UpDown/0.5/0.5/2.0", "wait 1.5", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_hyper_fang", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_2s", "cam EnterBehindAttacker_ATKR_DFND_", "background attacker 0.0/0.0/0.0/0.25", "wait 0.25", "sfx attacker 158-0_hyper_fang", "anim attacker atk-move", "vfx attacker speed_lines", "wait 0.75", "cam HyperFang_ATKR_DFND_", "wait 0.1", "f2fvfx defender hyper_fang", "vfx camera camera_speed_lines_short", "wait 0.15", "anim defender damageS01", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "reset_background attacker 0.0/0.0/0.0/0.25", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_ice_beam", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam EnterFaceAttacker_ATKR_DFND_", "wait 0.35", "f2fvfx attacker ice_beam_charge_up", "background attacker 0.0/0.25/0.25/0.75", "anim attacker atk-move", "event", "cam IceBeam_ATKR_DFND_", "f2fvfx attacker ice_beam", "sfx attacker 058-0_ice_beam", "wait 0.25", "vfx defender ice_beam_hit_waist:Origin/Waist", "wait 0.5", "vfx defender ice_beam_hit", "anim defender damageS01", "wait 0.5", "anim defender damageS01", "wait 0.8", "reset_background attacker 1.0/1.0/1.0/0.0", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_ice_punch", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_1s", "cam EnterBehindAttacker_ATKR_DFND_", "background attacker 0.0/0.0/0.0/0.5", "anim attacker atk-move", "event", "sfx attacker 008-0_ice_punch", "wait 0.15", "f2fvfx defender ice_punch", "wait 0.45", "cam Punch_ATKR_DFND_", "wait 0.15", "anim defender damageS01", "vfx camera ice_punch_camera_ice", "vfx defender ice_punch_hit", "reset_background attacker 1.0/1.0/1.0/0.0", "wait 0.75", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_ice_shard_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "sfx attacker 420-0_ice_shard", "wait 0.25", "f2fvfx attacker ice_shard_fast", "vfx defender ice_shard_fast_hit", "wait 0.25", "anim defender damageS01", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_icy_wind", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "f2fvfx attacker icy_wind", "sfx attacker 196-0_icy_wind", "background attacker 1.0/1.0/1.0/0.75", "wait 0.8", "cam PanToDefender_ATKR_DFND_", "wait 0.2", "vfx defender icy_wind_hit", "wait 0.5", "anim defender damageS01", "reset_background attacker 1.0/1.0/1.0/0.75", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_iron_head", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam EnterBehindAttacker_ATKR_DFND_", "background attacker 0.0/0.0/0.0/0.75", "anim attacker atk-move", "event", "sfx attacker 442-0_iron_head", "wait 0.4", "cam IronHead_ATKR_DFND_", "f2fvfx defender iron_head", "wait 0.3", "anim defender damageS01", "shake SideToSide/0.4/0.25/2.0", "wait 0.5", "reset_background attacker 0.0/0.0/0.0/0.75", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_karate_chop_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "wait 0.25", "f2fvfx defender karate_chop_fast", "sfx attacker 002-0_karate_chop", "wait 0.25", "anim defender damageS01", "shake UpDown/0.5/0.25/1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_leaf_blade", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam EnterBehindAttacker_ATKR_DFND_", "background attacker 0.0/0.0/0.0/0.5", "anim attacker atk-move", "event", "cam PanToFaceDefender_ATKR_DFND_", "sfx attacker 348-0_leaf_blade", "wait 0.25", "f2fvfx defender leaf_blade", "wait 0.33", "shake UpDown/0.25/0.25/0.5", "anim defender damageS01", "wait 0.33", "shake UpDown/0.25/0.25/0.5", "anim defender damageS01", "wait 0.33", "shake SideToSide/0.25/0.25/0.5", "anim defender damageS01", "reset_background attacker 0.0/0.0/0.0/0.5", "wait 0.5", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_lick_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx attacker lick_fast_slobber", "f2fvfx defender lick_fast", "sfx attacker 122-0_lick", "wait 0.1", "anim defender damageS01", "wait 0.4", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_low_kick_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "sfx attacker 067-0_low_kick", "spin attacker 0.25", "wait 0.15", "vfx attacker low_kick_fast", "wait 0.1", "anim defender damageS01", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_low_sweep", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "anim attacker atk-move", "event", "vfx defender low_sweep", "cam EnterFaceDefenderFromFarAway_ATKR_DFND_", "wait 0.75", "anim defender damageS01", "sfx attacker 490-0_low_sweep", "shake SideToSide/0.25/1.5/0.5", "wait 1.4", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_magnet_bomb", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "f2fvfx attacker magnet_bomb", "sfx attacker 443-0_magnet_bomb", "wait 1.0", "cam PanToDefender_ATKR_DFND_", "wait 0.6", "anim defender damageS01", "shake UpDown/1.0/0.5/2.0", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_mega_drain", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam EnterFaceDefender_ATKR_DFND_", "anim attacker atk-move", "event", "vfx defender mega_drain_hit_waist:Origin/Waist", "f2fvfx attacker mega_drain", "sfx attacker 072-0_mega_drain", "wait 0.15", "cam PanToAttacker_ATKR_DFND_", "anim defender damageS01", "wait 0.85", "vfx attacker mega_drain_waist:Origin/Waist", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_megahorn", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam EnterFaceAttacker_ATKR_DFND_", "wait 0.4", "cam PanToDefender_ATKR_DFND_", "anim attacker atk-move", "vfx attacker megahorn_charge", "sfx attacker 224-0_megahorn", "event", "f2fvfx attacker megahorn", "wait 0.5", "f2fvfx defender megahorn_hit", "anim defender damageS01", "shake UpDown/0.5/0.5/2.0", "reset_background attacker 1.0/1.0/1.0/0.5", "wait 0.9", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_metal_claw_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "sfx attacker 232-0_metal_claw", "wait 0.25", "f2fvfx defender metal_claw_fast", "wait 0.25", "anim defender damageS01", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_moonblast", + "move_sequence_settings": { + "sequence": ["background attacker 0.1/0.0/0.15/0.2", "anim attacker atk-move", "event", "cam Moonblast_ATKR_DFND_", "vfx attacker moonblast", "sfx attacker 585-0_moonblast", "wait 0.33", "anim attacker atk-move", "wait 0.66", "vfx camera camera_horizontal_vignette_2s", "f2fvfx attacker moonblast_projectile_emit", "vfx defender moonblast_projectile_hit", "wait 1.5", "anim defender damageS01", "wait 0.5", "reset_background attacker 0.1/0.0/0.15/0.2", "wait 0.5", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_mud_bomb", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "vfx attacker mud_bomb", "sfx attacker 426-0_mud_bomb", "wait 0.2", "cam FollowArcingProjectile_ATKR_DFND_", "wait 0.8", "shake UpDown/0.5/0.25/2.0", "anim defender damageS01", "vfx defender mud_bomb_hit", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_mud_shot_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx attacker mud_shot_fast", "sfx attacker 341-0_mud_shot", "wait 0.25", "vfx defender mud_shot_hit_fast", "wait 0.1", "shake UpDown/0.25/0.25/1.0", "anim defender damageS01", "wait 0.15", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_mud_slap_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "vfx attacker mud_slap_fast_emit", "wait 0.50", "vfx defender mud_slap_fast_hit", "anim defender damageS01", "sfx attacker 341-0_mud_shot", "wait 0.25", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_night_slash", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam EnterFaceAttacker_ATKR_DFND_", "background attacker 0.0/0.0/0.25/0.5", "wait 0.4", "anim attacker atk-move", "event", "vfx attacker night_slash_emit", "vfx defender night_slash_hit", "sfx attacker 400-0_night_slash", "wait 0.42", "cam PanToDefender_ATKR_DFND_", "wait 0.33", "anim defender damageS01", "reset_background attacker 0.0/0.0/0.25/0.5", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_ominous_wind", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam DefaultAttack_ATKR_DFND_", "background attacker 0.0/0.1/0.3/0.5", "anim attacker atk-move", "event", "vfx camera ominous_wind_camera_wind", "sfx attacker 466-0_ominous_wind", "wait 1.0", "f2fvfx defender ominous_wind_hit", "anim defender damageS01", "wait 0.33", "anim defender damageS01", "wait 0.33", "anim defender damageS01", "reset_background attacker 0.0/0.1/0.3/0.5", "wait 0.5", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_parabolic_charge", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam EnterBehindAttacker_ATKR_DFND_", "background attacker 1.0/0.9/0.6/0.5", "anim attacker atk-move", "vfx attacker parabolic_charge_waist:Origin/Waist", "sfx attacker 570-0_parabolic_charge", "event", "cam ParabolicCharge_ATKR_DFND_", "vfx attacker parabolic_charge", "wait 0.33", "f2fvfx attacker thunder_shock_fast", "wait 0.33", "anim defender damageS01", "reset_background attacker 1.0/1.0/0.9/0.0", "vfx defender parabolic_charge_hit_waist:Origin/Waist", "wait 0.33", "f2fvfx attacker parabolic_charge_hit", "reset_background attacker 1.0/0.9/0.6/0.5", "wait 2.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_peck_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "wait 0.3", "f2fvfx defender peck_fast", "sfx attacker 064-0_peck", "wait 0.2", "anim defender damageS01", "sfx attacker 064-0_peck", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_petal_blizzard", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam EnterFaceDefenderFromFarAway_ATKR_DFND_", "anim attacker atk-move", "event", "vfx camera petal_blizzard_camera", "vfx defender petal_blizzard_hit", "sfx attacker 572-0_petal_blizzard", "wait 1.41", "anim defender damageS01", "wait 2.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_play_rough", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam EnterBehindAttacker_ATKR_DFND_", "anim attacker atk-move", "event", "cam PlayRough_ATKR_DFND_", "sfx attacker 583-0_play_rough", "wait 0.45", "vfx defender play_rough", "wait 0.3", "scale defender 0.0001", "anim defender damageS01", "wait 0.3", "scale defender 1", "wait 0.7", "anim defender damageS01", "wait 0.75", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_poison_fang", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_2s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "cam PanToDefender_ATKR_DFND_", "f2fvfx defender poison_fang", "sfx attacker 305-0_poison_fang", "wait 0.4", "anim defender damageS01", "reset_background attacker 0.6/0.0/1.0/0.0", "silhouette defender 0.6/0.0/1.0/0.0", "wait 0.25", "reset_silhouette defender 0.6/0.0/1.0/0.0", "wait 0.75", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_poison_jab_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx attacker poison_jab_fast", "vfx defender poison_jab_fast_hit", "sfx attacker 398-0_poison_jab", "wait 0.15", "anim defender damageS01", "wait 0.35", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_poison_sting_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx attacker poison_sting_fast_emit", "wait 0.25", "vfx defender poison_sting_fast_hit", "anim defender damageS01", "sfx attacker 305-0_poison_fang", "wait 0.25", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_pound_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "wait 0.1", "f2fvfx defender pound_fast", "wait 0.1", "anim defender damageS01", "sfx attacker 001-0_pound", "shake UpDown/0.5/1.0", "wait 0.2", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_power_gem", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "f2fvfx attacker power_gem", "sfx attacker 408-0_power_gem", "wait 1.2", "f2fvfx defender power_gem_hit", "anim defender damageS01", "wait 0.2", "anim defender damageS01", "wait 0.2", "anim defender damageS01", "wait 0.2", "anim defender damageS01", "wait 0.5", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_power_whip", + "move_sequence_settings": { + "sequence": ["cam PowerWhip_ATKR_DFND_", "anim attacker atk-move", "event", "background attacker 0.2/0.8/0.0/0.0", "silhouette attacker 0.0/0.0/0.0/0.0", "silhouette defender 0.0/0.0/0.0/0.0", "vfx defender power_whip", "vfx camera camera_horizontal_vignette", "sfx attacker 438-0_power_whip", "wait 0.1", "sfx attacker 030-0_horn_attack", "wait 0.3", "shake SideToSide/2.0/2.0/0.0", "vfx defender power_whip_hit_waist:Origin/Waist", "anim defender damageS01", "sfx attacker 030-0_horn_attack", "wait 0.4", "anim defender damageS01", "sfx attacker 030-0_horn_attack", "wait 0.4", "anim defender damageS01", "wait 0.2", "reset_background attacker 0.2/0.8/0.0/0.0", "reset_silhouette attacker 0.0/0.0/0.0/0.0", "reset_silhouette defender 0.0/0.0/0.0/0.0", "wait 0.75", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_psybeam", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_2s", "cam PsybeamEnter_ATKR_DFND_", "wait 0.15", "anim attacker atk-move", "event", "f2fvfx attacker psybeam", "sfx attacker 060-0_psybeam", "wait 0.25", "cam PanToDefender_ATKR_DFND_", "vfx camera psybeam_camera_psychic_circles", "wait 0.25", "f2fvfx defender psybeam_hit", "anim defender damageS01", "shake SideToSide/1.5/0.5/0.25", "wait 0.8", "shake SideToSide/1.5/0.5/0.25", "wait 0.5", "anim defender damageS01", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_psychic", + "move_sequence_settings": { + "sequence": ["cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "f2fvfx attacker psychic_emit", "vfx defender psychic_hit", "sfx attacker 094-0_psychic", "wait 0.35", "cam EnterFaceDefender_ATKR_DFND_", "vfx camera psychic_camera", "wait 1.0", "anim defender damageS01", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_psycho_cut_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx attacker psycho_cut_fast_emit", "vfx defender psycho_cut_fast_hit", "sfx attacker 427-0_psycho_cut", "wait 0.25", "anim defender damageS01", "wait 0.25", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_psyshock", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam EnterBehindAttacker_ATKR_DFND_", "anim attacker atk-move", "event", "vfx attacker psyshock_emit", "vfx defender psyshock_hit", "sfx attacker 473-0_psyshock", "wait 0.5", "cam Psyshock_ATKR_DFND_", "wait 1.0", "anim defender damageS01", "shake UpDown/0.5/1.0/01.0", "wait 0.5", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_psystrike", + "move_sequence_settings": { + "sequence": ["cam Psystrike_ATKR_DFND_", "background attacker 0.8/0.8/0.8/0.0", "wait 0.5", "anim attacker atk-move", "event", "vfx attacker psystrike_emit", "vfx defender psystrike_hit", "f2fvfx defender psystrike_projectile", "sfx attacker 540-0_psystrike", "wait 3.0", "anim defender damageS01", "wait 1.0", "reset_background attacker 0.8/0.8/0.8/0.0", "wait 0.8", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_quick_attack_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx attacker quick_attack_fast_emit", "vfx defender quick_attack_fast_hit", "sfx attacker 098-0_quick_attack", "wait 0.5", "anim defender damageS01", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_razor_leaf_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx attacker razor_leaf_fast", "sfx attacker 075-0_razor_leaf", "wait 0.5", "anim defender damageS01", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_rest", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam EnterFaceAttacker_ATKR_DFND_", "anim attacker atk-move", "event", "f2fvfx attacker rest", "sfx attacker 156-0_rest", "wait 2.0", "cam CutFromAttacker_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_rock_slide", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam EnterFaceDefenderFromFarAway_ATKR_DFND_", "anim attacker atk-move", "event", "vfx defender rock_slide", "sfx attacker 157-0_rock_slide", "wait 0.75", "anim defender damageS01", "wait 0.33", "anim defender damageS01", "wait 0.33", "anim defender damageS01", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_rock_smash_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx attacker tackle_fast", "wait 0.25", "vfx defender rock_smash_fast", "anim defender damageS01", "sfx attacker 280-0_brick_break", "wait 0.25", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_rock_throw_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx attacker rock_throw_fast_emit", "vfx defender rock_throw_fast_hit", "wait 0.25", "sfx attacker 088-0_rock_throw", "wait 0.25", "anim defender damageS01", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_rock_tomb", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam EnterBehindAttackerFarAway_ATKR_DFND_", "anim attacker atk-move", "event", "sfx attacker 317-0_rock_tomb", "wait 0.5", "vfx defender rock_tomb", "cam PanToFaceDefender_ATKR_DFND_", "wait 1.0", "anim defender damageS01", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_scald", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam EnterFaceAttacker_ATKR_DFND_", "wait 0.5", "anim attacker atk-move", "event", "f2fvfx attacker scald", "sfx attacker 503-0_scald", "wait 0.25", "cam CutToFaceDefender_ATKR_DFND_", "vfx defender hydro_pump_hit", "background attacker 1.0/0.0/0.0/0.8", "anim defender damageS01", "wait 0.33", "anim defender damageS01", "silhouette defender 1.0/0.0/0.0/0.5", "wait 0.66", "reset_background attacker 1.0/0.0/0.0/0.8", "wait 0.7", "reset_silhouette defender 1.0/0.0/0.0/0.5", "wait 0.5", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_scald_blastoise", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam EnterFaceAttacker_ATKR_DFND_", "wait 0.5", "anim attacker atk-move", "event", "vfx attacker scald_cannon:Origin/Waist/LFeelerA/LFeelerB/LFeelerC", "vfx attacker scald_cannon:Origin/Waist/RFeelerA/RFeelerB/RFeelerC", "f2fvfx attacker scald_double_beam", "sfx attacker 503-0_scald", "wait 0.25", "cam CutToFaceDefender_ATKR_DFND_", "vfx defender hydro_pump_hit", "background attacker 1.0/0.0/0.0/0.8", "anim defender damageS01", "wait 0.33", "anim defender damageS01", "silhouette defender 1.0/0.0/0.0/0.5", "wait 0.66", "reset_background attacker 1.0/0.0/0.0/0.8", "wait 0.7", "reset_silhouette defender 1.0/0.0/0.0/0.5", "wait 0.5", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_scratch_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx defender scratch_fast", "sfx attacker 010-0_scratch", "wait 0.25", "anim defender damageS01", "wait 0.25", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_seed_bomb", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_2s", "cam SeedBombEnter_ATKR_DFND_", "anim attacker atk-move", "event", "f2fvfx attacker seed_bomb", "sfx attacker 402-0_seed_bomb", "wait 0.3", "cam PanToDefender_ATKR_DFND_", "wait 0.3", "anim defender damageS01", "wait 0.12", "anim defender damageS01", "wait 0.12", "anim defender damageS01", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_seq_ding", + "move_sequence_settings": { + "sequence": ["anim attacker damageS01", "wait 0.5", "sys complete"] + } + }, { + "template_id": "sequence_seq_faint", + "move_sequence_settings": { + "sequence": ["cam FortFaint", "anim attacker down01", "wait 0.9", "vfx attacker pokeball_enter", "wait 0.05", "silhouette attacker 3.0/3.0/3.0/0.0", "wait 0.01", "scale attacker 0.0/3", "wait 0.66", "sys complete"] + } + }, { + "template_id": "sequence_seq_fort_faint", + "move_sequence_settings": { + "sequence": ["cam FortFaint", "wait 1.0", "sys faintbegin", "anim attacker down01", "sys ui-sync", "wait 2.0", "sys scaledown", "wait 0.5", "sys defender_poof", "sys faintvfx", "wait 3.5", "sys complete"] + } + }, { + "template_id": "sequence_seq_intro", + "move_sequence_settings": { + "sequence": ["wait 0.5", "sys complete"] + } + }, { + "template_id": "sequence_seq_outro", + "move_sequence_settings": { + "sequence": ["wait 0.2", "sys complete"] + } + }, { + "template_id": "sequence_seq_return", + "move_sequence_settings": { + "sequence": ["vfx attacker pokeball_enter", "wait 0.05", "silhouette attacker 3.0/3.0/3.0/0.0", "wait 0.01", "scale attacker 0.0/3", "wait 0.66", "sys complete"] + } + }, { + "template_id": "sequence_shadow_ball", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam EnterFaceAttacker_ATKR_DFND_", "wait 0.33", "anim attacker atk-move", "vfx attacker shadow_ball_emit", "vfx defender shadow_ball_hit", "sfx attacker 247-0_shadow_ball", "wait 1.25", "cam PanToDefender_ATKR_DFND_", "wait 0.5", "anim defender damageS01", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_shadow_claw_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx defender shadow_claw_fast", "sfx attacker 421-0_shadow_claw", "wait 0.4", "anim defender damageS01", "wait 0.1", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_shadow_punch", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_1s", "cam EnterBehindAttacker_ATKR_DFND_", "background attacker 0.0/0.0/0.0/0.25", "silhouette attacker 0.0/0.0/0.0/0.0", "anim attacker atk-move", "event", "sfx attacker 325-0_shadow_punch", "wait 0.15", "f2fvfx defender shadow_punch", "wait 0.3", "cam PunchHit_ATKR_DFND_", "wait 0.15", "anim defender damageS01", "wait 0.25", "reset_background attacker 0.0/0.0/0.0/0.25", "reset_silhouette attacker 0.0/0.0/0.0/0.0", "wait 0.5", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_shadow_sneak", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam EnterBehindAttackerFarAway_ATKR_DFND_", "anim attacker atk-move", "event", "vfx attacker shadow_sneak", "sfx attacker 425-0_shadow_sneak", "cam ShadowSneak_ATKR_DFND_", "wait 1.0", "vfx defender shadow_sneak_hit", "shake UpDown/0.75/1.0/1.0", "wait 0.4", "anim defender damageS01", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_signal_beam", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "cam PanToDefender_ATKR_DFND_", "f2fvfx attacker signal_beam", "sfx attacker 324-0_signal_beam", "background attacker 0.0/0.3/0.6/0.25", "wait 0.9", "f2fvfx defender signal_beam_hit", "wait 0.2", "anim defender damageS01", "reset_background attacker 0.4/1.0/0.7/0.25", "wait 0.33", "anim defender damageS01", "reset_background attacker 1.0/0.4/0.7/0.25", "wait 0.5", "anim defender damageS01", "reset_background attacker 0.4/0.7/1.0/0.25", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_sludge", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "f2fvfx attacker sludge", "sfx attacker 124-0_sludge", "wait 0.5", "vfx defender sludge_hit", "wait 0.2", "anim defender damageS01", "wait 0.25", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_sludge_bomb", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "vfx attacker sludge_bomb", "sfx attacker 188-0_sludge_bomb", "wait 0.2", "cam FollowArcingProjectile_ATKR_DFND_", "wait 0.8", "shake UpDown/0.5/0.25/2.0", "anim defender damageS01", "vfx defender sludge_bomb_hit", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_sludge_wave", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam EnterBehindAttacker_ATKR_DFND_", "anim attacker atk-move", "event", "vfx attacker sludge_wave_ground", "f2fvfx attacker sludge_wave_projectile", "sfx attacker 482-0_sludge_wave", "wait 0.2", "cam PanToFaceDefender_ATKR_DFND_", "wait 1.0", "f2fvfx defender sludge_wave_projectile_hit", "vfx defender sludge_wave_hit", "anim defender damageS01", "wait 0.5", "anim defender damageS01", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_solar_beam", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_2s", "cam SolarBeamEnter_ATKR_DFND_", "background attacker 1.0/0.95/0.8/0.5", "anim attacker atk-move", "event", "vfx attacker solar_beam_charge_waist:Origin/Waist", "sfx attacker 076-0_solar_beam", "wait 0.5", "vfx attacker solar_beam_charge", "wait 0.85", "cam SolarBeam_ATKR_DFND_", "wait 0.41", "vfx defender solar_beam_hit", "sfx attacker 076-1_solar_beam", "shake UpDown/0.75/0.5/2.0", "wait 0.4", "shake UpDown/0.75/1.0/1.0", "wait 1.3", "shake UpDown/0.75/2.0/0.5", "anim defender damageS01", "reset_background attacker 1.0/1.0/1.0/0.0", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_spark_fast", + "move_sequence_settings": { + "sequence": ["sfx attacker 209-0_spark", "anim attacker atk-move", "vfx attacker spark_waist_fast:Origin/Waist", "wait 0.15", "f2fvfx attacker spark_fast", "wait 0.15", "anim defender damageS01", "vfx defender spark_hit_waist_fast:Origin/Waist", "wait 0.2", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_splash_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "wait 0.36", "vfx attacker jump", "sfx attacker 150-0_splash", "wait 0.53", "vfx attacker splash", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_steel_wing_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "wait 0.35", "vfx defender steel_wing_fast", "sfx attacker 017-0_wing_attack", "wait 0.15", "anim defender damageS01", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_stomp", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_2s", "cam PanToDefender_ATKR_DFND_", "wait 0.4", "anim attacker atk-move", "event", "vfx defender stomp_hit", "sfx attacker 023-0_stomp", "squish defender 0.9", "wait 0.15", "anim defender damageS01", "shake UpDown/1.0/1.0/1.0", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_stone_edge", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_2s", "cam EnterFaceDefenderFromFarAway_ATKR_DFND_", "sfx attacker 444-0_stone_edge", "anim attacker atk-move", "event", "shake UpDown/0.75/0.75", "vfx defender stone_edge", "wait 0.25", "anim defender damageS01", "wait 0.75", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_struggle", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam DefaultAttack_ATKR_DFND_", "shake SideToSide/1.5/0.1/1.0", "anim attacker atk-move", "event", "f2fvfx defender struggle", "sfx attacker 165-0_struggle", "anim defender damageS01", "wait 1.5", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_submission", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "anim attacker atk-move", "event", "cam PanToDefender_ATKR_DFND_", "background attacker 0.0/0.0/0.0/0.5", "vfx camera camera_speed_lines", "vfx attacker submission", "sfx attacker 066-0_submission", "hide defender", "wait 1.15", "unhide defender", "anim defender damageS01", "shake UpDown/0.5/0.25/1.0", "reset_background attacker 0.0/0.0/0.0/0.5", "wait 0.5", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_sucker_punch_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx defender sucker_punch_fast", "sfx attacker 389-0_sucker_punch", "wait 0.5", "anim defender damageS01", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_swift", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "f2fvfx attacker swift_emit", "vfx defender swift_hit", "sfx attacker 129-0_swift", "wait 1.4", "anim defender damageS01", "shake SideToSide/0.25/0.5/1.0", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_tackle_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx attacker tackle_fast", "wait 0.25", "f2fvfx defender tackle_fast_hit", "anim defender damageS01", "sfx attacker 033-0_tackle", "wait 0.25", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_thunder", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_2s", "cam Thunder_ATKR_DFND_", "anim attacker atk-move", "vfx defender thunder", "sfx attacker 087-0_thunder", "wait 1.0", "background attacker 0.0/0.0/0.0/0.0", "wait 1.35", "shake UpDown/0.5/1.0/0.0", "anim defender damageS01", "reset_background attacker 1.0/1.0/0.9/0.0", "wait 0.33", "anim defender damageS01", "reset_background attacker 1.0/1.0/0.9/0.0", "wait 0.33", "anim defender damageS01", "reset_background attacker 1.0/1.0/0.9/0.0", "wait 1.7", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_thunder_punch", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_2s", "cam EnterBehindAttacker_ATKR_DFND_", "background attacker 0.0/0.0/0.0/0.5", "anim attacker atk-move", "event", "sfx attacker 009-0_thunder_punch", "wait 0.15", "f2fvfx defender thunder_punch", "wait 0.85", "cam PunchHit_ATKR_DFND_", "wait 0.15", "anim defender damageS01", "vfx camera camera_electric", "reset_background attacker 1.0/1.0/1.0/0.0", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_thunder_shock_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "vfx attacker thunder_shock_waist_fast:Origin/Waist", "f2fvfx attacker thunder_shock_fast", "sfx attacker 084-0_thunder_shock", "wait 0.25", "anim defender damageS01", "vfx defender thunder_shock_hit_waist_fast:Origin/Waist", "wait 0.25", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_thunderbolt", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_1s", "cam EnterBehindAttackerFarAway_ATKR_DFND_", "background attacker 1.0/0.9/0.6/0.5", "anim attacker atk-move", "event", "vfx attacker thunderbolt_waist:Origin/Waist", "f2fvfx attacker thunderbolt", "sfx attacker 085-0_thunderbolt", "wait 0.3", "cam PanToFaceDefender_ATKR_DFND_", "wait 0.6", "vfx defender thunderbolt_hit", "wait 0.15", "anim defender damageS01", "reset_silhouette defender 1.0/1.0/1.0/0.0", "vfx defender thunder_shock_hit_waist_fast:Origin/Waist", "wait 0.15", "anim defender damageS01", "reset_silhouette defender 1.0/1.0/1.0/0.0", "reset_background attacker 1.0/0.9/0.6/0.5", "wait 1.0", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_twister", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_2s", "cam EnterBehindAttackerFarAway_ATKR_DFND_", "anim attacker atk-move", "event", "cam FaceDefenderZoomOut_ATKR_DFND_", "vfx defender twister", "sfx attacker 239-0_twister", "wait 0.33", "spin defender 1.0", "wait 0.33", "anim defender damageS01", "wait 0.33", "anim defender damageS01", "wait 0.33", "anim defender damageS01", "wait 0.5", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_vice_grip", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_3s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "cam ViceGrip", "vfx defender vice_grip", "wait 0.3", "sfx attacker 011-0_vice_grip", "wait 0.25", "anim defender damageS01", "wait 0.5", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_vine_whip_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx attacker vine_whip_fast_emit", "vfx defender vine_whip_fast_hit", "sfx attacker 022-0_vine_whip", "wait 0.3", "anim defender damageS01", "wait 0.2", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_water_gun_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx attacker water_gun_fast", "sfx attacker 055-0_water_gun", "wait 0.15", "anim defender damageS01", "wait 0.35", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_water_gun_fast_blastoise", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx attacker water_gun_fast_double_beam_emit", "vfx defender water_gun_fast_double_beam hit", "sfx attacker 055-0_water_gun", "wait 0.15", "anim defender damageS01", "wait 0.35", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_water_pulse", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_4s", "cam WaterPulseEnter_ATKR_DFND_", "wait 0.5", "vfx attacker water_pulse_ring", "sfx attacker 352-0_water_pulse", "wait 0.25", "background attacker 0.0/0.25/1.0/0.5", "anim attacker atk-move", "wait 0.33", "cam PanToFaceDefender_ATKR_DFND_", "f2fvfx attacker water_pulse", "wait 0.4", "f2fvfx defender water_pulse_hit", "wait 0.1", "anim defender damageS01", "wait 1.5", "reset_background attacker 0.0/0.25/1.0/0.5", "wait 0.5", "cam CutFromDefender_ATKR_DFND_", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_wing_attack_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "wait 0.35", "f2fvfx defender wing_attack_fast", "sfx attacker 017-0_wing_attack", "wait 0.15", "anim defender damageS01", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_wrap", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_5s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "vfx defender wrap_tentacles", "sfx attacker 035-0_wrap", "wait 1.5", "sfx attacker 035-1_wrap", "wait 0.06", "anim defender damageS01", "wait 0.3", "sfx attacker 035-1_wrap", "wait 0.06", "anim defender damageS01", "wait 0.5", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_wrap_green", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_5s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "vfx defender wrap_tentacles_green", "sfx attacker 035-0_wrap", "wait 1.5", "sfx attacker 035-1_wrap", "wait 0.06", "anim defender damageS01", "wait 0.3", "sfx attacker 035-1_wrap", "wait 0.06", "anim defender damageS01", "wait 0.5", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_wrap_pink", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_5s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "vfx defender wrap_tentacles_pink", "sfx attacker 035-0_wrap", "wait 1.5", "sfx attacker 035-1_wrap", "wait 0.06", "anim defender damageS01", "wait 0.3", "sfx attacker 035-1_wrap", "wait 0.06", "anim defender damageS01", "wait 0.5", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_x_scissor", + "move_sequence_settings": { + "sequence": ["vfx camera camera_horizontal_vignette_2s", "cam DefaultAttack_ATKR_DFND_", "anim attacker atk-move", "event", "cam PanToDefender_ATKR_DFND_", "sfx attacker 404-0_x_scissor", "background attacker 0.0/0.0/0.0/0.5", "wait 0.25", "f2fvfx defender x_scissor", "wait 0.25", "anim defender damageS01", "reset_background attacker 0.0/0.0/0.0/0.5", "wait 1.0", "sys ui-sync", "sys complete"] + } + }, { + "template_id": "sequence_zen_headbutt_fast", + "move_sequence_settings": { + "sequence": ["anim attacker atk-move", "f2fvfx attacker zen_headbutt_fast_emit", "wait 0.40", "vfx defender zen_headbutt_fast_hit", "anim defender damageS01", "sfx attacker 442-0_iron_head", "wait 0.25", "sys ui-sync", "sys complete"] + } + }], + "timestamp_ms": { + "low": 951675013, + "high": 342, + "unsigned": true + } +} \ No newline at end of file diff --git a/dumps/server_dump.json b/dumps/server_dump.json new file mode 100644 index 0000000..35e59fe --- /dev/null +++ b/dumps/server_dump.json @@ -0,0 +1 @@ +{"status_code":2,"request_id":{"low":2,"high":1404534344,"unsigned":true},"requests":[{"request_type":2,"request_message":{"buffer":{"type":"Buffer","data":[8,2,24,130,128,128,128,128,201,223,219,83,34,12,8,2,18,8,10,6,48,46,51,49,46,48,50,168,6,8,6,18,163,6,10,160,6,198,56,34,201,168,234,1,102,18,44,96,115,227,84,130,30,219,249,224,77,42,177,193,53,146,245,114,12,59,33,35,214,71,185,74,212,85,180,4,16,11,236,242,117,236,85,53,229,72,73,143,211,60,248,12,12,58,199,1,6,17,167,152,237,233,113,199,121,100,113,142,220,106,189,98,221,78,171,26,202,24,229,253,109,177,226,128,199,149,1,250,155,173,103,95,159,217,16,229,217,208,87,23,231,65,177,111,124,16,122,125,125,175,69,16,204,52,17,169,161,126,23,109,22,64,8,169,254,41,233,158,162,234,3,45,0,41,140,25,215,44,24,143,2,147,38,201,182,135,63,120,48,16,152,58,25,118,68,97,60,56,199,252,232,254,186,11,131,93,127,226,237,37,68,7,234,228,164,207,89,35,224,92,115,216,108,29,143,240,152,52,114,211,255,106,167,140,179,210,20,134,126,122,213,50,177,47,56,205,43,137,156,78,206,64,177,56,148,33,164,51,41,82,181,65,94,67,41,138,167,177,61,63,237,250,42,80,234,125,172,43,28,209,204,136,80,97,44,178,25,19,193,160,87,215,92,224,131,57,59,249,45,109,126,188,9,137,248,54,97,117,53,67,141,244,169,181,132,37,200,16,54,119,78,201,87,75,81,208,35,191,246,204,97,75,255,114,83,88,80,243,178,57,101,230,210,187,126,82,233,182,101,179,36,26,197,186,107,171,222,145,149,115,242,93,239,204,182,0,121,8,204,52,145,17,43,241,55,188,108,221,174,202,187,108,38,27,192,26,221,11,146,154,94,214,184,250,111,149,210,177,173,213,19,188,254,53,147,9,106,220,19,37,127,147,150,238,80,139,161,140,17,83,235,116,76,248,198,238,247,129,212,239,120,164,74,2,236,23,64,49,135,106,233,23,223,19,62,99,244,8,78,86,195,7,198,33,250,97,67,142,240,127,255,48,3,155,31,196,15,129,92,203,113,60,57,45,169,56,82,40,157,209,59,125,117,38,54,83,225,82,206,183,6,64,157,226,140,93,144,218,140,3,173,156,151,130,21,209,144,84,243,62,75,99,83,107,13,185,64,213,76,197,28,191,123,129,193,196,182,253,249,101,6,117,231,203,126,216,179,180,153,202,85,70,230,235,0,243,115,186,224,202,154,168,89,82,157,43,223,147,249,19,72,96,161,237,156,11,178,30,44,191,196,234,77,49,132,54,37,83,131,168,34,8,101,202,7,18,225,100,144,115,167,96,141,182,39,228,168,159,133,131,105,46,88,139,243,57,39,244,137,146,47,116,233,155,140,133,146,235,87,30,183,119,67,212,130,182,224,241,0,230,147,156,61,100,78,71,23,96,233,109,85,73,149,248,31,100,243,71,246,94,176,181,101,126,153,137,112,139,51,246,64,189,246,222,41,219,75,90,20,195,3,108,13,20,76,35,134,172,153,235,75,112,146,127,103,188,232,225,95,197,104,222,143,87,163,96,20,102,59,207,156,254,242,123,233,219,125,52,48,53,133,223,79,68,187,135,88,124,54,113,36,38,211,22,64,172,251,105,99,138,166,185,62,189,149,218,78,185,23,105,85,107,117,248,239,35,145,171,97,77,20,209,46,26,14,177,10,110,189,150,164,31,151,84,66,96,107,89,124,72,22,21,178,228,154,69,165,175,56,119,20,137,6,248,255,100,58,134,42,14,5,246,143,57,85,251,172,240,54,157,0,83,186,252,87,28,10,95,28,5,58,159,18,109,74,127,241,100,162,104,162,106,186,215,157,215,249,98,112,47,254,97,33,145,192,42,98,57,0,0,0,0,229,97,68,64,65,0,0,0,96,66,126,82,192,73,0,0,0,64,51,51,15,64,82,215,6,10,6,103,111,111,103,108,101,18,204,6,10,201,6,101,121,74,104,98,71,99,105,79,105,74,83,85,122,73,49,78,105,73,115,73,109,116,112,90,67,73,54,73,106,66,109,77,109,89,49,90,84,77,120,78,106,69,48,89,109,73,120,89,84,99,52,90,106,107,120,78,84,89,120,90,87,73,120,77,109,69,48,77,50,73,53,90,106,85,119,78,84,81,50,78,68,77,105,102,81,46,101,121,74,112,99,51,77,105,79,105,74,104,89,50,78,118,100,87,53,48,99,121,53,110,98,50,57,110,98,71,85,117,89,50,57,116,73,105,119,105,89,88,86,107,73,106,111,105,79,68,81,52,77,106,77,121,78,84,69,120,77,106,81,119,76,84,100,122,98,122,81,121,77,87,112,118,100,72,73,121,78,106,65,53,99,109,49,120,89,87,116,106,90,88,86,49,77,87,120,49,100,88,69,119,99,72,82,105,76,109,70,119,99,72,77,117,90,50,57,118,90,50,120,108,100,88,78,108,99,109,78,118,98,110,82,108,98,110,81,117,89,50,57,116,73,105,119,105,99,51,86,105,73,106,111,105,77,84,65,119,79,68,99,49,78,106,85,122,77,68,85,49,77,122,65,51,79,68,99,121,78,84,69,48,73,105,119,105,90,87,49,104,97,87,120,102,100,109,86,121,97,87,90,112,90,87,81,105,79,110,82,121,100,87,85,115,73,109,70,54,99,67,73,54,73,106,103,48,79,68,73,122,77,106,85,120,77,84,73,48,77,67,48,122,100,109,82,121,100,72,74,109,90,71,53,48,98,71,112,109,77,110,85,48,98,87,120,110,100,71,53,117,98,71,104,117,97,87,100,117,77,122,86,107,78,83,53,104,99,72,66,122,76,109,100,118,98,50,100,115,90,88,86,122,90,88,74,106,98,50,53,48,90,87,53,48,76,109,78,118,98,83,73,115,73,109,86,116,89,87,108,115,73,106,111,105,99,109,70,48,100,72,112,54,90,110,74,48,101,107,66,110,98,87,70,112,98,67,53,106,98,50,48,105,76,67,74,112,89,88,81,105,79,106,69,48,78,122,65,122,79,84,81,122,77,106,69,115,73,109,86,52,99,67,73,54,77,84,81,51,77,68,77,53,78,122,107,121,77,88,48,46,112,102,101,50,69,66,76,88,65,100,103,89,103,99,75,108,98,106,106,56,100,74,115,71,80,56,104,50,75,80,103,55,99,99,52,113,112,48,67,48,88,119,117,104,90,65,98,95,89,121,56,55,113,120,72,66,79,76,111,117,110,75,87,53,82,80,65,98,48,50,74,80,111,115,118,50,100,105,112,51,110,117,45,102,118,86,77,78,108,67,81,97,113,82,90,110,88,86,97,119,55,100,113,120,79,50,103,84,121,109,120,105,79,117,95,108,82,70,107,98,87,45,121,105,90,109,55,73,87,121,51,109,111,65,70,53,103,97,71,95,72,73,80,86,72,87,48,121,80,90,117,79,80,81,117,69,118,104,73,122,56,87,72,65,120,113,75,121,90,105,72,106,69,103,115,87,114,115,79,118,50,66,97,101,49,71,84,69,121,100,95,48,73,53,51,76,107,98,87,108,122,106,49,83,70,99,103,87,85,51,68,55,108,105,70,65,114,50,90,81,55,57,68,82,78,98,74,95,116,73,115,106,85,99,68,100,88,66,76,99,115,122,54,120,82,121,66,107,106,100,75,69,66,77,72,100,50,82,95,87,97,99,83,72,101,88,121,79,116,120,103,71,55,86,115,117,89,45,100,111,55,99,106,56,74,110,81,90,100,82,74,85,122,71,54,75,107,52,65,117,55,81,50,83,49,66,51,120,122,108,97,108,95,86,81,45,106,99,45,98,116,112,82,121,83,51,97,49,98,116,76,99,66,81,116,104,78,107,118,95,107,119,96,128,5]},"offset":18,"markedOffset":-1,"limit":26,"littleEndian":true,"noAssert":false}}],"unknown6":[{"request_type":6,"unknown2":{"unknown1":{"buffer":{"type":"Buffer","data":[8,2,24,130,128,128,128,128,201,223,219,83,34,12,8,2,18,8,10,6,48,46,51,49,46,48,50,168,6,8,6,18,163,6,10,160,6,198,56,34,201,168,234,1,102,18,44,96,115,227,84,130,30,219,249,224,77,42,177,193,53,146,245,114,12,59,33,35,214,71,185,74,212,85,180,4,16,11,236,242,117,236,85,53,229,72,73,143,211,60,248,12,12,58,199,1,6,17,167,152,237,233,113,199,121,100,113,142,220,106,189,98,221,78,171,26,202,24,229,253,109,177,226,128,199,149,1,250,155,173,103,95,159,217,16,229,217,208,87,23,231,65,177,111,124,16,122,125,125,175,69,16,204,52,17,169,161,126,23,109,22,64,8,169,254,41,233,158,162,234,3,45,0,41,140,25,215,44,24,143,2,147,38,201,182,135,63,120,48,16,152,58,25,118,68,97,60,56,199,252,232,254,186,11,131,93,127,226,237,37,68,7,234,228,164,207,89,35,224,92,115,216,108,29,143,240,152,52,114,211,255,106,167,140,179,210,20,134,126,122,213,50,177,47,56,205,43,137,156,78,206,64,177,56,148,33,164,51,41,82,181,65,94,67,41,138,167,177,61,63,237,250,42,80,234,125,172,43,28,209,204,136,80,97,44,178,25,19,193,160,87,215,92,224,131,57,59,249,45,109,126,188,9,137,248,54,97,117,53,67,141,244,169,181,132,37,200,16,54,119,78,201,87,75,81,208,35,191,246,204,97,75,255,114,83,88,80,243,178,57,101,230,210,187,126,82,233,182,101,179,36,26,197,186,107,171,222,145,149,115,242,93,239,204,182,0,121,8,204,52,145,17,43,241,55,188,108,221,174,202,187,108,38,27,192,26,221,11,146,154,94,214,184,250,111,149,210,177,173,213,19,188,254,53,147,9,106,220,19,37,127,147,150,238,80,139,161,140,17,83,235,116,76,248,198,238,247,129,212,239,120,164,74,2,236,23,64,49,135,106,233,23,223,19,62,99,244,8,78,86,195,7,198,33,250,97,67,142,240,127,255,48,3,155,31,196,15,129,92,203,113,60,57,45,169,56,82,40,157,209,59,125,117,38,54,83,225,82,206,183,6,64,157,226,140,93,144,218,140,3,173,156,151,130,21,209,144,84,243,62,75,99,83,107,13,185,64,213,76,197,28,191,123,129,193,196,182,253,249,101,6,117,231,203,126,216,179,180,153,202,85,70,230,235,0,243,115,186,224,202,154,168,89,82,157,43,223,147,249,19,72,96,161,237,156,11,178,30,44,191,196,234,77,49,132,54,37,83,131,168,34,8,101,202,7,18,225,100,144,115,167,96,141,182,39,228,168,159,133,131,105,46,88,139,243,57,39,244,137,146,47,116,233,155,140,133,146,235,87,30,183,119,67,212,130,182,224,241,0,230,147,156,61,100,78,71,23,96,233,109,85,73,149,248,31,100,243,71,246,94,176,181,101,126,153,137,112,139,51,246,64,189,246,222,41,219,75,90,20,195,3,108,13,20,76,35,134,172,153,235,75,112,146,127,103,188,232,225,95,197,104,222,143,87,163,96,20,102,59,207,156,254,242,123,233,219,125,52,48,53,133,223,79,68,187,135,88,124,54,113,36,38,211,22,64,172,251,105,99,138,166,185,62,189,149,218,78,185,23,105,85,107,117,248,239,35,145,171,97,77,20,209,46,26,14,177,10,110,189,150,164,31,151,84,66,96,107,89,124,72,22,21,178,228,154,69,165,175,56,119,20,137,6,248,255,100,58,134,42,14,5,246,143,57,85,251,172,240,54,157,0,83,186,252,87,28,10,95,28,5,58,159,18,109,74,127,241,100,162,104,162,106,186,215,157,215,249,98,112,47,254,97,33,145,192,42,98,57,0,0,0,0,229,97,68,64,65,0,0,0,96,66,126,82,192,73,0,0,0,64,51,51,15,64,82,215,6,10,6,103,111,111,103,108,101,18,204,6,10,201,6,101,121,74,104,98,71,99,105,79,105,74,83,85,122,73,49,78,105,73,115,73,109,116,112,90,67,73,54,73,106,66,109,77,109,89,49,90,84,77,120,78,106,69,48,89,109,73,120,89,84,99,52,90,106,107,120,78,84,89,120,90,87,73,120,77,109,69,48,77,50,73,53,90,106,85,119,78,84,81,50,78,68,77,105,102,81,46,101,121,74,112,99,51,77,105,79,105,74,104,89,50,78,118,100,87,53,48,99,121,53,110,98,50,57,110,98,71,85,117,89,50,57,116,73,105,119,105,89,88,86,107,73,106,111,105,79,68,81,52,77,106,77,121,78,84,69,120,77,106,81,119,76,84,100,122,98,122,81,121,77,87,112,118,100,72,73,121,78,106,65,53,99,109,49,120,89,87,116,106,90,88,86,49,77,87,120,49,100,88,69,119,99,72,82,105,76,109,70,119,99,72,77,117,90,50,57,118,90,50,120,108,100,88,78,108,99,109,78,118,98,110,82,108,98,110,81,117,89,50,57,116,73,105,119,105,99,51,86,105,73,106,111,105,77,84,65,119,79,68,99,49,78,106,85,122,77,68,85,49,77,122,65,51,79,68,99,121,78,84,69,48,73,105,119,105,90,87,49,104,97,87,120,102,100,109,86,121,97,87,90,112,90,87,81,105,79,110,82,121,100,87,85,115,73,109,70,54,99,67,73,54,73,106,103,48,79,68,73,122,77,106,85,120,77,84,73,48,77,67,48,122,100,109,82,121,100,72,74,109,90,71,53,48,98,71,112,109,77,110,85,48,98,87,120,110,100,71,53,117,98,71,104,117,97,87,100,117,77,122,86,107,78,83,53,104,99,72,66,122,76,109,100,118,98,50,100,115,90,88,86,122,90,88,74,106,98,50,53,48,90,87,53,48,76,109,78,118,98,83,73,115,73,109,86,116,89,87,108,115,73,106,111,105,99,109,70,48,100,72,112,54,90,110,74,48,101,107,66,110,98,87,70,112,98,67,53,106,98,50,48,105,76,67,74,112,89,88,81,105,79,106,69,48,78,122,65,122,79,84,81,122,77,106,69,115,73,109,86,52,99,67,73,54,77,84,81,51,77,68,77,53,78,122,107,121,77,88,48,46,112,102,101,50,69,66,76,88,65,100,103,89,103,99,75,108,98,106,106,56,100,74,115,71,80,56,104,50,75,80,103,55,99,99,52,113,112,48,67,48,88,119,117,104,90,65,98,95,89,121,56,55,113,120,72,66,79,76,111,117,110,75,87,53,82,80,65,98,48,50,74,80,111,115,118,50,100,105,112,51,110,117,45,102,118,86,77,78,108,67,81,97,113,82,90,110,88,86,97,119,55,100,113,120,79,50,103,84,121,109,120,105,79,117,95,108,82,70,107,98,87,45,121,105,90,109,55,73,87,121,51,109,111,65,70,53,103,97,71,95,72,73,80,86,72,87,48,121,80,90,117,79,80,81,117,69,118,104,73,122,56,87,72,65,120,113,75,121,90,105,72,106,69,103,115,87,114,115,79,118,50,66,97,101,49,71,84,69,121,100,95,48,73,53,51,76,107,98,87,108,122,106,49,83,70,99,103,87,85,51,68,55,108,105,70,65,114,50,90,81,55,57,68,82,78,98,74,95,116,73,115,106,85,99,68,100,88,66,76,99,115,122,54,120,82,121,66,107,106,100,75,69,66,77,72,100,50,82,95,87,97,99,83,72,101,88,121,79,116,120,103,71,55,86,115,117,89,45,100,111,55,99,106,56,74,110,81,90,100,82,74,85,122,71,54,75,107,52,65,117,55,81,50,83,49,66,51,120,122,108,97,108,95,86,81,45,106,99,45,98,116,112,82,121,83,51,97,49,98,116,76,99,66,81,116,104,78,107,118,95,107,119,96,128,5]},"offset":37,"markedOffset":-1,"limit":837,"littleEndian":true,"noAssert":false}}}],"latitude":40.764801025390625,"longitude":-73.9728012084961,"altitude":3.9000000953674316,"auth_info":{"provider":"google","token":{"contents":"eyJhbGciOiJSUzI1NiIsImtpZCI6IjBmMmY1ZTMxNjE0YmIxYTc4ZjkxNTYxZWIxMmE0M2I5ZjUwNTQ2NDMifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXVkIjoiODQ4MjMyNTExMjQwLTdzbzQyMWpvdHIyNjA5cm1xYWtjZXV1MWx1dXEwcHRiLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTAwODc1NjUzMDU1MzA3ODcyNTE0IiwiZW1haWxfdmVyaWZpZWQiOnRydWUsImF6cCI6Ijg0ODIzMjUxMTI0MC0zdmRydHJmZG50bGpmMnU0bWxndG5ubGhuaWduMzVkNS5hcHBzLmdvb2dsZXVzZXJjb250ZW50LmNvbSIsImVtYWlsIjoicmF0dHp6ZnJ0ekBnbWFpbC5jb20iLCJpYXQiOjE0NzAzOTQzMjEsImV4cCI6MTQ3MDM5NzkyMX0.pfe2EBLXAdgYgcKlbjj8dJsGP8h2KPg7cc4qp0C0XwuhZAb_Yy87qxHBOLounKW5RPAb02JPosv2dip3nu-fvVMNlCQaqRZnXVaw7dqxO2gTymxiOu_lRFkbW-yiZm7IWy3moAF5gaG_HIPVHW0yPZuOPQuEvhIz8WHAxqKyZiHjEgsWrsOv2Bae1GTEyd_0I53LkbWlzj1SFcgWU3D7liFAr2ZQ79DRNbJ_tIsjUcDdXBLcsz6xRyBkjdKEBMHd2R_WacSHeXyOtxgG7VsuY-do7cj8JnQZdRJUzG6Kk4Au7Q2S1B3xzlal_VQ-jc-btpRyS3a1btLcBQthNkv_kw","unknown2":0}},"auth_ticket":null,"unknown12":{"low":640,"high":0,"unsigned":false}}{"status_code":2,"request_id":{"low":2,"high":1404534344,"unsigned":true},"requests":[{"request_type":2,"request_message":{"buffer":{"type":"Buffer","data":[8,2,24,130,128,128,128,128,201,223,219,83,34,12,8,2,18,8,10,6,48,46,51,49,46,48,50,168,4,8,6,18,163,4,10,160,4,252,109,125,81,199,231,132,247,153,112,138,140,82,96,212,62,178,77,219,245,232,206,228,230,185,90,61,69,73,78,21,23,208,241,116,127,16,197,170,72,231,159,38,38,72,204,255,121,215,178,43,199,14,175,164,210,173,22,42,188,38,178,20,201,95,211,80,133,125,187,169,4,119,48,122,139,102,4,131,77,240,60,166,160,213,39,234,90,133,200,13,177,162,152,45,81,26,215,233,113,166,25,47,196,54,45,74,75,5,180,79,163,18,199,5,94,219,72,183,94,175,86,50,103,102,156,200,57,255,183,126,46,157,203,140,50,2,30,37,181,91,12,124,114,106,120,77,233,0,8,82,93,186,218,250,134,203,68,40,141,114,155,171,225,13,153,52,121,250,127,186,210,186,238,252,211,76,26,140,167,132,46,183,185,6,5,57,99,32,97,148,48,87,19,227,205,101,164,103,217,205,248,22,15,35,16,28,107,58,171,68,138,34,7,27,65,140,246,127,234,231,12,223,87,226,85,100,78,75,195,72,96,63,242,196,241,193,110,232,61,242,103,216,177,190,46,26,43,149,69,31,24,151,217,176,162,87,60,78,116,35,13,129,159,205,44,88,83,72,99,76,20,101,16,217,161,47,3,106,196,228,189,36,137,9,132,102,160,75,146,182,166,114,197,191,100,141,252,244,40,6,221,174,229,21,57,177,10,229,25,14,161,161,138,21,179,133,135,121,101,129,220,67,16,35,121,168,227,61,140,126,169,64,25,209,243,19,67,79,76,192,183,184,39,82,180,56,95,215,111,140,237,214,77,47,92,68,127,203,36,149,169,163,114,251,222,145,61,229,164,222,150,173,35,11,161,105,34,210,186,104,238,111,127,254,73,115,170,133,128,225,243,83,119,129,140,94,249,74,11,226,151,63,77,110,34,98,87,55,151,10,14,135,215,78,144,195,247,147,235,109,55,48,32,193,123,236,66,210,24,106,167,10,202,22,16,248,17,104,214,191,84,251,227,156,107,229,72,246,22,73,216,103,76,129,225,150,250,130,232,89,33,2,145,101,102,249,92,235,60,10,138,6,211,0,169,50,148,140,74,222,102,203,120,173,156,137,171,242,56,188,84,184,233,177,1,50,77,174,110,219,66,217,78,119,178,59,216,177,201,181,105,105,167,1,173,123,47,67,219,209,64,68,207,254,145,34,147,193,250,163,184,188,179,160,139,145,115,159,167,129,108,99,105,57,0,0,0,0,229,97,68,64,65,0,0,0,96,66,126,82,192,73,0,0,0,64,51,51,15,64,82,215,6,10,6,103,111,111,103,108,101,18,204,6,10,201,6,101,121,74,104,98,71,99,105,79,105,74,83,85,122,73,49,78,105,73,115,73,109,116,112,90,67,73,54,73,106,66,109,77,109,89,49,90,84,77,120,78,106,69,48,89,109,73,120,89,84,99,52,90,106,107,120,78,84,89,120,90,87,73,120,77,109,69,48,77,50,73,53,90,106,85,119,78,84,81,50,78,68,77,105,102,81,46,101,121,74,112,99,51,77,105,79,105,74,104,89,50,78,118,100,87,53,48,99,121,53,110,98,50,57,110,98,71,85,117,89,50,57,116,73,105,119,105,89,88,86,107,73,106,111,105,79,68,81,52,77,106,77,121,78,84,69,120,77,106,81,119,76,84,100,122,98,122,81,121,77,87,112,118,100,72,73,121,78,106,65,53,99,109,49,120,89,87,116,106,90,88,86,49,77,87,120,49,100,88,69,119,99,72,82,105,76,109,70,119,99,72,77,117,90,50,57,118,90,50,120,108,100,88,78,108,99,109,78,118,98,110,82,108,98,110,81,117,89,50,57,116,73,105,119,105,99,51,86,105,73,106,111,105,77,84,65,119,79,68,99,49,78,106,85,122,77,68,85,49,77,122,65,51,79,68,99,121,78,84,69,48,73,105,119,105,90,87,49,104,97,87,120,102,100,109,86,121,97,87,90,112,90,87,81,105,79,110,82,121,100,87,85,115,73,109,70,54,99,67,73,54,73,106,103,48,79,68,73,122,77,106,85,120,77,84,73,48,77,67,48,122,100,109,82,121,100,72,74,109,90,71,53,48,98,71,112,109,77,110,85,48,98,87,120,110,100,71,53,117,98,71,104,117,97,87,100,117,77,122,86,107,78,83,53,104,99,72,66,122,76,109,100,118,98,50,100,115,90,88,86,122,90,88,74,106,98,50,53,48,90,87,53,48,76,109,78,118,98,83,73,115,73,109,86,116,89,87,108,115,73,106,111,105,99,109,70,48,100,72,112,54,90,110,74,48,101,107,66,110,98,87,70,112,98,67,53,106,98,50,48,105,76,67,74,112,89,88,81,105,79,106,69,48,78,122,65,122,79,84,81,122,77,106,69,115,73,109,86,52,99,67,73,54,77,84,81,51,77,68,77,53,78,122,107,121,77,88,48,46,112,102,101,50,69,66,76,88,65,100,103,89,103,99,75,108,98,106,106,56,100,74,115,71,80,56,104,50,75,80,103,55,99,99,52,113,112,48,67,48,88,119,117,104,90,65,98,95,89,121,56,55,113,120,72,66,79,76,111,117,110,75,87,53,82,80,65,98,48,50,74,80,111,115,118,50,100,105,112,51,110,117,45,102,118,86,77,78,108,67,81,97,113,82,90,110,88,86,97,119,55,100,113,120,79,50,103,84,121,109,120,105,79,117,95,108,82,70,107,98,87,45,121,105,90,109,55,73,87,121,51,109,111,65,70,53,103,97,71,95,72,73,80,86,72,87,48,121,80,90,117,79,80,81,117,69,118,104,73,122,56,87,72,65,120,113,75,121,90,105,72,106,69,103,115,87,114,115,79,118,50,66,97,101,49,71,84,69,121,100,95,48,73,53,51,76,107,98,87,108,122,106,49,83,70,99,103,87,85,51,68,55,108,105,70,65,114,50,90,81,55,57,68,82,78,98,74,95,116,73,115,106,85,99,68,100,88,66,76,99,115,122,54,120,82,121,66,107,106,100,75,69,66,77,72,100,50,82,95,87,97,99,83,72,101,88,121,79,116,120,103,71,55,86,115,117,89,45,100,111,55,99,106,56,74,110,81,90,100,82,74,85,122,71,54,75,107,52,65,117,55,81,50,83,49,66,51,120,122,108,97,108,95,86,81,45,106,99,45,98,116,112,82,121,83,51,97,49,98,116,76,99,66,81,116,104,78,107,118,95,107,119,96,129,7]},"offset":18,"markedOffset":-1,"limit":26,"littleEndian":true,"noAssert":false}}],"unknown6":[{"request_type":6,"unknown2":{"unknown1":{"buffer":{"type":"Buffer","data":[8,2,24,130,128,128,128,128,201,223,219,83,34,12,8,2,18,8,10,6,48,46,51,49,46,48,50,168,4,8,6,18,163,4,10,160,4,252,109,125,81,199,231,132,247,153,112,138,140,82,96,212,62,178,77,219,245,232,206,228,230,185,90,61,69,73,78,21,23,208,241,116,127,16,197,170,72,231,159,38,38,72,204,255,121,215,178,43,199,14,175,164,210,173,22,42,188,38,178,20,201,95,211,80,133,125,187,169,4,119,48,122,139,102,4,131,77,240,60,166,160,213,39,234,90,133,200,13,177,162,152,45,81,26,215,233,113,166,25,47,196,54,45,74,75,5,180,79,163,18,199,5,94,219,72,183,94,175,86,50,103,102,156,200,57,255,183,126,46,157,203,140,50,2,30,37,181,91,12,124,114,106,120,77,233,0,8,82,93,186,218,250,134,203,68,40,141,114,155,171,225,13,153,52,121,250,127,186,210,186,238,252,211,76,26,140,167,132,46,183,185,6,5,57,99,32,97,148,48,87,19,227,205,101,164,103,217,205,248,22,15,35,16,28,107,58,171,68,138,34,7,27,65,140,246,127,234,231,12,223,87,226,85,100,78,75,195,72,96,63,242,196,241,193,110,232,61,242,103,216,177,190,46,26,43,149,69,31,24,151,217,176,162,87,60,78,116,35,13,129,159,205,44,88,83,72,99,76,20,101,16,217,161,47,3,106,196,228,189,36,137,9,132,102,160,75,146,182,166,114,197,191,100,141,252,244,40,6,221,174,229,21,57,177,10,229,25,14,161,161,138,21,179,133,135,121,101,129,220,67,16,35,121,168,227,61,140,126,169,64,25,209,243,19,67,79,76,192,183,184,39,82,180,56,95,215,111,140,237,214,77,47,92,68,127,203,36,149,169,163,114,251,222,145,61,229,164,222,150,173,35,11,161,105,34,210,186,104,238,111,127,254,73,115,170,133,128,225,243,83,119,129,140,94,249,74,11,226,151,63,77,110,34,98,87,55,151,10,14,135,215,78,144,195,247,147,235,109,55,48,32,193,123,236,66,210,24,106,167,10,202,22,16,248,17,104,214,191,84,251,227,156,107,229,72,246,22,73,216,103,76,129,225,150,250,130,232,89,33,2,145,101,102,249,92,235,60,10,138,6,211,0,169,50,148,140,74,222,102,203,120,173,156,137,171,242,56,188,84,184,233,177,1,50,77,174,110,219,66,217,78,119,178,59,216,177,201,181,105,105,167,1,173,123,47,67,219,209,64,68,207,254,145,34,147,193,250,163,184,188,179,160,139,145,115,159,167,129,108,99,105,57,0,0,0,0,229,97,68,64,65,0,0,0,96,66,126,82,192,73,0,0,0,64,51,51,15,64,82,215,6,10,6,103,111,111,103,108,101,18,204,6,10,201,6,101,121,74,104,98,71,99,105,79,105,74,83,85,122,73,49,78,105,73,115,73,109,116,112,90,67,73,54,73,106,66,109,77,109,89,49,90,84,77,120,78,106,69,48,89,109,73,120,89,84,99,52,90,106,107,120,78,84,89,120,90,87,73,120,77,109,69,48,77,50,73,53,90,106,85,119,78,84,81,50,78,68,77,105,102,81,46,101,121,74,112,99,51,77,105,79,105,74,104,89,50,78,118,100,87,53,48,99,121,53,110,98,50,57,110,98,71,85,117,89,50,57,116,73,105,119,105,89,88,86,107,73,106,111,105,79,68,81,52,77,106,77,121,78,84,69,120,77,106,81,119,76,84,100,122,98,122,81,121,77,87,112,118,100,72,73,121,78,106,65,53,99,109,49,120,89,87,116,106,90,88,86,49,77,87,120,49,100,88,69,119,99,72,82,105,76,109,70,119,99,72,77,117,90,50,57,118,90,50,120,108,100,88,78,108,99,109,78,118,98,110,82,108,98,110,81,117,89,50,57,116,73,105,119,105,99,51,86,105,73,106,111,105,77,84,65,119,79,68,99,49,78,106,85,122,77,68,85,49,77,122,65,51,79,68,99,121,78,84,69,48,73,105,119,105,90,87,49,104,97,87,120,102,100,109,86,121,97,87,90,112,90,87,81,105,79,110,82,121,100,87,85,115,73,109,70,54,99,67,73,54,73,106,103,48,79,68,73,122,77,106,85,120,77,84,73,48,77,67,48,122,100,109,82,121,100,72,74,109,90,71,53,48,98,71,112,109,77,110,85,48,98,87,120,110,100,71,53,117,98,71,104,117,97,87,100,117,77,122,86,107,78,83,53,104,99,72,66,122,76,109,100,118,98,50,100,115,90,88,86,122,90,88,74,106,98,50,53,48,90,87,53,48,76,109,78,118,98,83,73,115,73,109,86,116,89,87,108,115,73,106,111,105,99,109,70,48,100,72,112,54,90,110,74,48,101,107,66,110,98,87,70,112,98,67,53,106,98,50,48,105,76,67,74,112,89,88,81,105,79,106,69,48,78,122,65,122,79,84,81,122,77,106,69,115,73,109,86,52,99,67,73,54,77,84,81,51,77,68,77,53,78,122,107,121,77,88,48,46,112,102,101,50,69,66,76,88,65,100,103,89,103,99,75,108,98,106,106,56,100,74,115,71,80,56,104,50,75,80,103,55,99,99,52,113,112,48,67,48,88,119,117,104,90,65,98,95,89,121,56,55,113,120,72,66,79,76,111,117,110,75,87,53,82,80,65,98,48,50,74,80,111,115,118,50,100,105,112,51,110,117,45,102,118,86,77,78,108,67,81,97,113,82,90,110,88,86,97,119,55,100,113,120,79,50,103,84,121,109,120,105,79,117,95,108,82,70,107,98,87,45,121,105,90,109,55,73,87,121,51,109,111,65,70,53,103,97,71,95,72,73,80,86,72,87,48,121,80,90,117,79,80,81,117,69,118,104,73,122,56,87,72,65,120,113,75,121,90,105,72,106,69,103,115,87,114,115,79,118,50,66,97,101,49,71,84,69,121,100,95,48,73,53,51,76,107,98,87,108,122,106,49,83,70,99,103,87,85,51,68,55,108,105,70,65,114,50,90,81,55,57,68,82,78,98,74,95,116,73,115,106,85,99,68,100,88,66,76,99,115,122,54,120,82,121,66,107,106,100,75,69,66,77,72,100,50,82,95,87,97,99,83,72,101,88,121,79,116,120,103,71,55,86,115,117,89,45,100,111,55,99,106,56,74,110,81,90,100,82,74,85,122,71,54,75,107,52,65,117,55,81,50,83,49,66,51,120,122,108,97,108,95,86,81,45,106,99,45,98,116,112,82,121,83,51,97,49,98,116,76,99,66,81,116,104,78,107,118,95,107,119,96,129,7]},"offset":37,"markedOffset":-1,"limit":581,"littleEndian":true,"noAssert":false}}}],"latitude":40.764801025390625,"longitude":-73.9728012084961,"altitude":3.9000000953674316,"auth_info":{"provider":"google","token":{"contents":"eyJhbGciOiJSUzI1NiIsImtpZCI6IjBmMmY1ZTMxNjE0YmIxYTc4ZjkxNTYxZWIxMmE0M2I5ZjUwNTQ2NDMifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXVkIjoiODQ4MjMyNTExMjQwLTdzbzQyMWpvdHIyNjA5cm1xYWtjZXV1MWx1dXEwcHRiLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTAwODc1NjUzMDU1MzA3ODcyNTE0IiwiZW1haWxfdmVyaWZpZWQiOnRydWUsImF6cCI6Ijg0ODIzMjUxMTI0MC0zdmRydHJmZG50bGpmMnU0bWxndG5ubGhuaWduMzVkNS5hcHBzLmdvb2dsZXVzZXJjb250ZW50LmNvbSIsImVtYWlsIjoicmF0dHp6ZnJ0ekBnbWFpbC5jb20iLCJpYXQiOjE0NzAzOTQzMjEsImV4cCI6MTQ3MDM5NzkyMX0.pfe2EBLXAdgYgcKlbjj8dJsGP8h2KPg7cc4qp0C0XwuhZAb_Yy87qxHBOLounKW5RPAb02JPosv2dip3nu-fvVMNlCQaqRZnXVaw7dqxO2gTymxiOu_lRFkbW-yiZm7IWy3moAF5gaG_HIPVHW0yPZuOPQuEvhIz8WHAxqKyZiHjEgsWrsOv2Bae1GTEyd_0I53LkbWlzj1SFcgWU3D7liFAr2ZQ79DRNbJ_tIsjUcDdXBLcsz6xRyBkjdKEBMHd2R_WacSHeXyOtxgG7VsuY-do7cj8JnQZdRJUzG6Kk4Au7Q2S1B3xzlal_VQ-jc-btpRyS3a1btLcBQthNkv_kw","unknown2":0}},"auth_ticket":null,"unknown12":{"low":897,"high":0,"unsigned":false}}{"status_code":2,"request_id":{"low":3,"high":106712458,"unsigned":true},"requests":[{"request_type":7,"request_message":{"buffer":{"type":"Buffer","data":[8,2,24,131,128,128,128,160,177,147,174,6,34,9,8,7,18,5,8,2,40,156,24,34,2,8,126,34,2,8,4,34,3,8,129,1,34,2,8,5,50,168,4,8,6,18,163,4,10,160,4,252,109,125,81,199,231,132,247,153,112,138,140,82,96,212,62,178,77,219,245,232,206,228,230,185,90,61,69,73,78,21,23,208,161,20,123,16,147,194,13,231,129,76,51,72,204,255,60,215,232,43,151,14,177,196,135,173,91,8,188,38,191,28,152,95,199,18,208,125,238,171,16,119,39,48,222,102,26,195,92,240,39,206,164,213,56,128,79,133,221,79,181,162,144,7,69,26,193,233,96,166,64,45,128,54,43,74,31,5,181,79,178,18,203,109,75,219,82,157,14,175,1,48,102,102,135,162,41,255,186,30,43,157,215,196,55,2,91,5,180,91,23,52,103,106,57,69,248,0,83,82,25,186,147,184,135,203,23,10,201,114,130,203,225,13,219,22,124,250,32,176,130,186,161,246,151,76,71,230,247,132,116,245,185,6,7,19,38,32,108,220,100,87,26,235,136,101,245,7,136,205,238,86,95,35,84,62,42,58,227,36,143,34,82,91,69,140,248,95,191,231,11,183,22,226,2,100,94,75,154,0,49,63,227,204,229,193,36,138,57,242,111,216,225,190,60,88,126,149,13,61,72,151,152,210,182,87,54,38,97,35,15,161,207,205,52,82,66,72,39,4,16,101,3,177,228,47,20,34,193,228,172,110,204,9,214,38,244,238,174,38,65,66,228,14,102,176,140,101,203,66,239,149,99,89,166,36,103,85,124,26,25,25,175,84,205,140,67,105,113,125,58,190,87,250,132,93,233,147,254,50,210,83,188,241,237,152,3,24,244,122,43,27,4,238,152,210,126,216,132,244,59,169,25,76,175,26,182,16,216,173,135,130,185,91,92,192,20,7,97,28,20,155,194,46,95,56,13,81,149,179,221,182,240,248,24,253,177,132,94,61,55,147,37,2,29,64,84,113,221,69,94,181,29,222,178,57,168,120,116,44,252,8,13,45,25,153,89,173,155,136,92,178,186,228,49,23,242,134,33,129,222,35,83,116,222,188,38,213,81,125,25,113,77,102,198,128,19,206,170,211,156,33,30,116,14,113,19,138,87,205,190,144,79,154,61,43,85,236,33,203,191,125,135,158,220,33,203,242,251,145,220,75,219,227,65,84,229,110,236,165,33,74,30,46,161,90,119,63,243,152,158,96,6,141,109,55,44,204,206,54,110,201,202,101,58,89,149,185,230,53,121,88,85,100,154,239,169,63,4,234,40,141,22,148,110,195,222,34,161,232,182,105,170,57,0,0,0,0,229,97,68,64,65,0,0,0,96,66,126,82,192,73,0,0,0,64,51,51,15,64,90,54,10,19,84,104,105,115,32,105,115,32,97,117,116,104,32,116,105,99,107,101,116,16,255,191,202,243,132,163,2,26,23,84,104,105,115,32,105,115,32,97,117,116,104,32,116,105,99,107,101,116,32,101,110,100,96,204,8]},"offset":18,"markedOffset":-1,"limit":23,"littleEndian":true,"noAssert":false}},{"request_type":126,"request_message":{"buffer":{"type":"Buffer","data":[]},"offset":0,"markedOffset":-1,"limit":0,"littleEndian":false,"noAssert":false}},{"request_type":4,"request_message":{"buffer":{"type":"Buffer","data":[]},"offset":0,"markedOffset":-1,"limit":0,"littleEndian":false,"noAssert":false}},{"request_type":129,"request_message":{"buffer":{"type":"Buffer","data":[]},"offset":0,"markedOffset":-1,"limit":0,"littleEndian":false,"noAssert":false}},{"request_type":5,"request_message":{"buffer":{"type":"Buffer","data":[]},"offset":0,"markedOffset":-1,"limit":0,"littleEndian":false,"noAssert":false}}] \ No newline at end of file diff --git a/package.json b/package.json index 6cc363b..9077619 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "url": "git+https://github.com/maierfelix/POGOServer.git" }, "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", + "test": "echo \"Error: no test specified\"", "babel-node": "babel-node --presets=es2015", "start": "nodemon --exec npm run babel-node -- ./src/index.js" }, @@ -20,8 +20,7 @@ "body-parser": "^1.15.2", "concat-stream": "^1.5.1", "nodemon": "^1.7.1", - "protobufjs": "^5.0.1", - "pkmngo-proto": "^0.2.3" + "protobufjs": "^5.0.1" }, "dependencies": {} } diff --git a/src/index.js b/src/index.js index bdc6438..1a28586 100644 --- a/src/index.js +++ b/src/index.js @@ -1,5 +1,7 @@ import fs from "fs"; import http from "http"; +import proto from "./proto"; +import querystring from "querystring"; import { inherit } from "./utils"; @@ -43,17 +45,30 @@ class GameServer { } createHTTPServer() { - this.socket = http.createServer(this.onRequest).listen(CFG.SERVER_PORT); + this.socket = http.createServer((req) => { + let chunks = []; + req.on("data", (chunk) => { + chunks.push(chunk); + }); + req.on("end", () => { + let buffer = Buffer.concat(chunks); + this.onRequest(buffer); + }); + }).listen(CFG.SERVER_PORT); } /** - * @param {Request} req - * @param {Response} resp + * @param {Buffer} body */ - onRequest(req, resp) { - if (this.validRequest(req)) { - this.answer(valid); - } + onRequest(body) { + + let request = proto.Networking.Envelopes.RequestEnvelope.decode(body); + + console.log("Got request"); + console.log("Received:", request.requests.map((request) => { + return request.request_type; + }).join(",")); + } /** @@ -61,7 +76,6 @@ class GameServer { * @return {Boolean} */ validRequest(req) { - console.log(req); return (true); } diff --git a/src/packets/Responses.DownloadRemoteConfigVersion.js b/src/packets/Responses.DownloadRemoteConfigVersion.js new file mode 100644 index 0000000..6d8aea6 --- /dev/null +++ b/src/packets/Responses.DownloadRemoteConfigVersion.js @@ -0,0 +1,15 @@ +import proto from "../proto"; + +/** + * @param {Object} obj + * @return {Object} + */ +export default function DownloadRemoteConfigVersion(obj) { + + return ( + new proto.Networking.Responses.DownloadSettingsResponse({ + hash: "54b359c97e46900f87211ef6e6dd0b7f2a3ea1f5" + }).encode(); + ); + +} \ No newline at end of file diff --git a/src/packets/Responses.DownloadSettings.js b/src/packets/Responses.DownloadSettings.js new file mode 100644 index 0000000..9537e43 --- /dev/null +++ b/src/packets/Responses.DownloadSettings.js @@ -0,0 +1,15 @@ +import proto from "../proto"; + +/** + * @param {Object} obj + * @return {Object} + */ +export default function DownloadSettings(obj) { + + return ( + new proto.Networking.Responses.DownloadSettingsResponse({ + hash: "54b359c97e46900f87211ef6e6dd0b7f2a3ea1f5" + }).encode(); + ); + +} diff --git a/src/packets/Responses.GetAssetDigest.js b/src/packets/Responses.GetAssetDigest.js new file mode 100644 index 0000000..eb63f26 --- /dev/null +++ b/src/packets/Responses.GetAssetDigest.js @@ -0,0 +1,15 @@ +import * as CFG from "../cfg"; + +import proto from "../proto"; + +/** + * @param {Object} obj + * @return {Object} + */ +export default function GetAssetDigest(obj) { + + return ( + fs.readFileSync(CFG.ASSET_DIGEST_PATH) + ); + +} \ No newline at end of file diff --git a/src/packets/Responses.GetHatchedEggs.js b/src/packets/Responses.GetHatchedEggs.js new file mode 100644 index 0000000..38e6688 --- /dev/null +++ b/src/packets/Responses.GetHatchedEggs.js @@ -0,0 +1,19 @@ +import proto from "../proto"; + +/** + * @param {Object} obj + * @return {Object} + */ +export default function GetHatchedEggs(obj) { + + return ( + new proto.Networking.Responses.GetHatchedEggsResponse({ + success: true, + pokemon_id: [], + experience_awarded: [], + candy_awarded: [], + stardust_awarded: [] + }).encode() + ); + +} \ No newline at end of file diff --git a/src/packets/Responses.GetInventory.js b/src/packets/Responses.GetInventory.js new file mode 100644 index 0000000..e3f546d --- /dev/null +++ b/src/packets/Responses.GetInventory.js @@ -0,0 +1,52 @@ +import proto from "../proto"; + +/** + * @param {Object} obj + * @return {Object} + */ +export default function GetInventoryData(obj) { + + return ( + new proto.Networking.Responses.GetInventoryResponse({ + success: true, + inventory_delta: new proto.Inventory.InventoryDelta({ + original_timestamp_ms: new Date().getTime * 1000, + new_timestamp_ms: new Date().getTime * 1000, + inventory_items: [ + new proto.Inventory.InventoryItem({ + inventory_item_data: new proto.Inventory.InventoryItemData({ + pokemon_data: new proto.Data.PokemonData({ + id: 123781297398, + pokemon_id: 25, + cp: 10000000000, + is_egg: false, + height_m: 100, + weight_kg: 1, + move_1: 219, + move_2: 26, + deployed_fort_id: 0, + owner_name: "", + origin: 0, + individual_attack: 100, + individual_defense: 100, + individual_stamina: 100, + cp_multiplier: 100, + pokeball: 1, + creation_time_ms: new Date().getTime() * 1000 + }) + }) + }), + new proto.Inventory.InventoryItem({ + inventory_item_data: new proto.Inventory.InventoryItemData({ + item: new proto.Inventory.Item({ + item_id: 4, + count: 1000 + }) + }) + }) + ] + }) + }).encode() + ); + +} \ No newline at end of file diff --git a/src/packets/Responses.GetPlayer.js b/src/packets/Responses.GetPlayer.js new file mode 100644 index 0000000..f24aa17 --- /dev/null +++ b/src/packets/Responses.GetPlayer.js @@ -0,0 +1,90 @@ +import proto from "../proto"; + +/** + * @param {Object} obj + * @return {Object} + */ +function getPlayerDataPacket(obj) { + + return new proto.Data.PlayerData({ + creation_timestamp_ms: 1467936859925, + username: obj.username, + team: obj.team, + tutorial_state: obj.tutorial_state, + avatar: new proto.Data.Player.PlayerAvatar(obj.avatar), + max_pokemon_storage: 250, + max_item_storage: 350, + daily_bonus: new proto.Data.Player.DailyBonus({ + next_defender_bonus_collect_timestamp_ms: 1470174535972 + }), + contact_settings: new proto.Data.Player.ContactSettings({ + send_marketing_emails: true + }), + currencies: obj.currencies + }); + +} + +/** + * @param {Object} obj + * @return {Object} + */ +function buildPlayerData(obj) { + + let team = obj.team; + let username = obj.username; + + let pokecoins = obj.pokecoins; + let stardust = obj.stardust; + + let avatar = { + skin: 2, + hair: 2, + shirt: 1, + pants: 2, + hat: 1, + eyes: 3, + backpack: 1 + }; + + let tutorial_state = [0, 1, 3, 4, 7]; + + let currencies = [ + new proto.Data.Player.Currency({ + name: "POKECOIN", + amount: pokecoins + }), + new proto.Data.Player.Currency({ + name: "STARDUST", + amount: stardust + }) + ]; + + return ({ + username: username, + team: team, + tutorial_state: tutorial_state, + avatar: avatar, + currencies: currencies + }); + +} + +/** + * @param {Object} obj + * @return {Object} + */ +export default function GetPlayer(obj) { + + let data = buildPlayerData(obj); + + let packet = getPlayerDataPacket(data); + + return ( + new proto.Networking.Responses.GetPlayerResponse({ + success: true, + player_data: packet + }).encode() + ); + +} \ No newline at end of file diff --git a/src/packets/index.js b/src/packets/index.js new file mode 100644 index 0000000..a889869 --- /dev/null +++ b/src/packets/index.js @@ -0,0 +1,7 @@ +export DownloadRemoteConfigVersion from "./Responses.DownloadRemoteConfigVersion"; +export DownloadSettings from "./Responses.DownloadSettings"; + +export GetAssetDigest from "./Responses.GetAssetDigest"; +export GetHatchedEggs from "./Responses.GetHatchedEggs"; +export GetInventory from "./Responses.GetInventory"; +export GetPlayer from "./Responses.GetPlayer"; \ No newline at end of file diff --git a/src/process.js b/src/process.js index 1bf644b..7c2013d 100644 --- a/src/process.js +++ b/src/process.js @@ -31,7 +31,7 @@ export function uncaughtException(excp) { this.print("No root privileges!", 31); break; default: - console.log("Unhandled exception occurred: ", code); + console.log("Unhandled exception occurred: ", excp.code); console.log(excp.stack); break; }; diff --git a/src/proto.js b/src/proto.js new file mode 100644 index 0000000..06a2f61 --- /dev/null +++ b/src/proto.js @@ -0,0 +1,4 @@ +import protobuf from "protobufjs"; +import path from "path"; + +export default protobuf.loadProtoFile({ root: path.join(__dirname, "../"), file: "POGOProtos/POGOProtos.proto" }).build("POGOProtos"); \ No newline at end of file diff --git a/src/setup.js b/src/setup.js index 58c08f2..e7f8ca0 100644 --- a/src/setup.js +++ b/src/setup.js @@ -1,15 +1,11 @@ import path from "path"; -import proto from "pkmngo-proto"; - import * as CFG from "../cfg"; export function setup() { this.print("Booting server...", 33); - this.proto = proto; - if (CFG.SERVER_PORT < 1) { this.print("Invalid port!", 31); return void 0;