From be20f60ee0df1aeed274354f88ee3e2ade87cb9f Mon Sep 17 00:00:00 2001 From: AnonymousRandomPerson Date: Sun, 8 Jan 2023 04:23:00 -0500 Subject: [PATCH] Synced some symbol names with EoS hacking --- Makefile | 6 +- asm/code_2.s | 8 +- asm/code_8002774.s | 10 +- asm/code_800D090.s | 2 +- asm/code_8012A18.s | 16 +- asm/code_801EE10.s | 22 +- asm/code_803B050.s | 34 +- asm/code_803C1D0.s | 16 +- asm/code_803D110.s | 118 +- asm/code_8040094.s | 72 +- asm/code_8041AD0.s | 18 +- asm/code_80428A0.s | 110 +- asm/code_8044210.s | 14 +- asm/code_8044CC8.s | 12 +- asm/code_80450F8.s | 32 +- asm/code_8045A00.s | 56 +- asm/code_8046CE4.s | 46 +- asm/code_8048480.s | 16 +- asm/code_80495E4.s | 92 +- asm/code_804AFAC.s | 736 +- asm/code_80521D0.s | 168 +- asm/code_8057824.s | 52 +- asm/code_805D8C8.s | 500 +- asm/code_8069E0C.s | 142 +- asm/code_806CD90.s | 66 +- asm/code_806E8B0.s | 82 +- asm/code_80701A4.s | 4 +- asm/code_807034C.s | 10 +- asm/code_807049C.s | 2 +- asm/code_8070BC0.s | 2 +- asm/code_80718D8.s | 30 +- asm/code_8072CF4.s | 22 +- asm/code_8073CF0.s | 82 +- asm/code_8077274.s | 2 +- asm/code_8077274_1.s | 12 +- asm/code_807CABC.s | 8 +- asm/code_807CD9C.s | 72 +- asm/code_807E5AC.s | 118 +- asm/code_807FCD4.s | 100 +- asm/code_808333C.s | 2 +- asm/code_8083654.s | 14 +- asm/code_808417C.s | 28 +- asm/code_80848F0.s | 16 +- asm/code_8085B0C.s | 12 +- asm/code_8086A3C.s | 22 +- asm/code_8095014.s | 2 +- asm/code_80958E8.s | 38 +- asm/code_8098BDC.s | 14 +- asm/code_809D148.s | 8 +- asm/dungeon_2.s | 8 +- asm/friend_rescue.s | 2 +- asm/ground_lives.s | 6 +- asm/ground_script.s | 34 +- asm/ground_sprite.s | 2 +- asm/moves_1.s | 2 +- asm/pokemon.s | 28 +- asm/pokemon_3.s | 4 +- asm/sprite.s | 2 +- asm/wonder_mail_5.s | 2 +- data/data_80F59C8.s | 160 +- data/dungeon/Boss3/pokemon_found.json | 8 +- data/dungeon/Boss4/pokemon_found.json | 106 +- data/dungeon/Boss9/pokemon_found.json | 6 +- data/dungeon/BuriedRelic/pokemon_found.json | 510 +- data/dungeon/D51/pokemon_found.json | 296 +- data/dungeon/D61/pokemon_found.json | 310 +- .../dungeon/DarknightRelic/pokemon_found.json | 70 +- data/dungeon/DesertRegion/pokemon_found.json | 64 +- .../DojoRegistration/pokemon_found.json | 338 +- data/dungeon/FantasyStrait/pokemon_found.json | 192 +- data/dungeon/FaroffSea/pokemon_found.json | 302 +- data/dungeon/FieryField/pokemon_found.json | 174 +- data/dungeon/FrostyForest/pokemon_found.json | 62 +- data/dungeon/FrostyGrotto/pokemon_found.json | 14 +- data/dungeon/GrandSea/pokemon_found.json | 198 +- data/dungeon/GreatCanyon/pokemon_found.json | 98 +- data/dungeon/HowlingForest/pokemon_found.json | 132 +- data/dungeon/JoyousTower/pokemon_found.json | 1244 +- data/dungeon/LapisCave/pokemon_found.json | 60 +- .../dungeon/LightningField/pokemon_found.json | 226 +- data/dungeon/MagmaCavern/pokemon_found.json | 134 +- .../dungeon/MagmaCavernPit/pokemon_found.json | 24 +- data/dungeon/MarvelousSea/pokemon_found.json | 84 +- data/dungeon/MeteorCave/pokemon_found.json | 22 +- data/dungeon/MtBlaze/pokemon_found.json | 76 +- data/dungeon/MtBlazePeak/pokemon_found.json | 14 +- data/dungeon/MtFaraway/pokemon_found.json | 138 +- data/dungeon/MtFreeze/pokemon_found.json | 74 +- data/dungeon/MtFreezePeak/pokemon_found.json | 18 +- data/dungeon/MtSteel/pokemon_found.json | 68 +- data/dungeon/MtThunder/pokemon_found.json | 106 +- data/dungeon/MtThunderPeak/pokemon_found.json | 20 +- data/dungeon/MurkyCave/pokemon_found.json | 138 +- data/dungeon/NorthernRange/pokemon_found.json | 142 +- .../dungeon/NorthwindField/pokemon_found.json | 192 +- data/dungeon/OddityCave/pokemon_found.json | 128 +- data/dungeon/PitfallValley/pokemon_found.json | 122 +- data/dungeon/PurityForest/pokemon_found.json | 1520 +- data/dungeon/RemainsIsland/pokemon_found.json | 162 +- data/dungeon/RockPath/pokemon_found.json | 14 +- data/dungeon/SilentChasm/pokemon_found.json | 114 +- data/dungeon/SilverTrench/pokemon_found.json | 456 +- data/dungeon/SinisterWoods/pokemon_found.json | 158 +- data/dungeon/SkyTower/pokemon_found.json | 164 +- .../dungeon/SkyTowerSummit/pokemon_found.json | 22 +- data/dungeon/SnowPath/pokemon_found.json | 40 +- data/dungeon/SolarCave/pokemon_found.json | 220 +- .../dungeon/SouthernCavern/pokemon_found.json | 278 +- data/dungeon/StormySea/pokemon_found.json | 218 +- .../ThunderwaveCave/pokemon_found.json | 34 +- data/dungeon/TinyWoods/pokemon_found.json | 22 +- data/dungeon/UnownRelic/pokemon_found.json | 222 +- data/dungeon/UproarForest/pokemon_found.json | 68 +- data/dungeon/WaterfallPond/pokemon_found.json | 194 +- data/dungeon/WesternCave/pokemon_found.json | 520 +- data/dungeon/WishCave/pokemon_found.json | 750 +- data/dungeon/WondrousSea/pokemon_found.json | 12 +- data/dungeon/WyvernHill/pokemon_found.json | 166 +- data/dungeon/pokemon_found.inc | 2 +- data/item/item_data.json | 3336 ++- data/monster/.gitignore | 1 + data/monster/monster_data.json | 20128 +++++++++++++++ data/monster/monster_names.s | 3309 +++ data/move/move_data.json | 10377 ++++---- data/pokemon/.gitignore | 1 - data/pokemon/species_data.json | 20552 ---------------- data/pokemon/species_names.s | 3309 --- data/system_sbin.s | 4 +- data_monster.mk | 19 + data_pokemon.mk | 19 - include/charge_move.h | 4 +- include/code_800D090.h | 2 +- include/code_80521D0.h | 2 +- include/code_8077274_1.h | 94 +- include/code_808417C.h | 2 +- include/constants/ability.h | 2 +- include/constants/dungeon.h | 2 +- include/constants/dungeon_action.h | 72 +- include/constants/iq_skill.h | 50 +- include/constants/item.h | 530 +- include/constants/monster.h | 432 + include/constants/move.h | 42 +- include/constants/move_id.h | 2 +- include/constants/species.h | 432 - include/constants/status.h | 160 +- include/constants/tactic.h | 2 +- include/constants/trap.h | 42 +- include/constants/walkable_tile.h | 12 +- include/dungeon.h | 6 +- include/dungeon_action.h | 6 +- include/dungeon_ai.h | 6 +- include/dungeon_ai_attack.h | 24 +- include/dungeon_ai_item_weight.h | 4 +- include/dungeon_ai_items.h | 8 +- include/dungeon_ai_leader.h | 4 +- include/dungeon_ai_movement.h | 12 +- include/dungeon_ai_targeting.h | 18 +- include/dungeon_capabilities.h | 2 +- include/dungeon_capabilities_1.h | 8 +- include/dungeon_engine.h | 8 +- include/dungeon_entity.h | 210 +- include/dungeon_global_data.h | 95 +- include/dungeon_items.h | 2 +- include/dungeon_leader.h | 4 +- include/dungeon_map_access.h | 6 +- include/dungeon_movement_1.h | 2 +- include/dungeon_pokemon_attributes.h | 26 +- include/dungeon_random.h | 10 +- include/dungeon_range.h | 2 +- include/dungeon_util.h | 14 +- include/dungeon_util_1.h | 12 +- include/dungeon_visibility.h | 10 +- include/friend_area_action_menu.h | 8 +- include/friend_rescue.h | 2 +- include/global.h | 7 +- include/gulpin_shop.h | 2 +- include/item.h | 94 +- include/kangaskhan_storage.h | 8 +- include/kecleon_items.h | 2 +- include/map.h | 46 +- include/move_checks.h | 10 +- include/move_effects_target.h | 44 +- include/move_util.h | 4 +- include/moves.h | 40 +- include/other_random.h | 4 +- include/pokemon.h | 105 +- include/pokemon_3.h | 2 +- include/position_util.h | 4 +- include/random.h | 10 +- include/status.h | 56 +- include/status_actions.h | 96 +- include/status_checks.h | 2 +- include/status_checks_1.h | 8 +- include/sub_8095228.h | 4 +- include/targeting.h | 2 +- include/targeting_flags.h | 2 +- include/team_inventory.h | 6 +- include/tile_types.h | 2 +- include/trade_items_menu.h | 10 +- include/type_effectiveness.h | 2 +- include/weather.h | 2 +- include/wonder_mail.h | 4 +- src/charge_move.c | 84 +- src/code_800D090.c | 2 +- src/code_801AFA4.c | 28 +- src/code_801B3C0.c | 34 +- src/code_801D760.c | 4 +- src/code_801EE10.c | 2 +- src/code_803B050.c | 2 +- src/code_8040094.c | 20 +- src/code_8041AD0.c | 188 +- src/code_80428A0.c | 64 +- src/code_8045A00.c | 36 +- src/code_8048480.c | 128 +- src/code_8048DB8.c | 38 +- src/code_80521D0.c | 20 +- src/code_8057824.c | 452 +- src/code_8057824_1.c | 1326 +- src/code_8069E0C.c | 140 +- src/code_806CD90.c | 104 +- src/code_8073CF0.c | 12 +- src/code_8077274_1.c | 854 +- src/code_807E5AC.c | 10 +- src/code_808417C.c | 8 +- src/code_80848F0.c | 86 +- src/code_80869E4.c | 98 +- src/code_8086A3C.c | 148 +- src/code_8092334.c | 6 +- src/code_809447C.c | 4 +- src/code_8095824.c | 8 +- src/code_80958E8.c | 14 +- src/code_80972F4.c | 4 +- src/code_8097670.c | 4 +- src/debug_menu.c | 2 +- src/debug_menu_mid.c | 18 +- src/dungeon_2.c | 28 +- src/dungeon_2_1.c | 10 +- src/dungeon_action.c | 120 +- src/dungeon_ai.c | 132 +- src/dungeon_ai_attack.c | 386 +- src/dungeon_ai_item_weight.c | 164 +- src/dungeon_ai_items.c | 192 +- src/dungeon_ai_leader.c | 16 +- src/dungeon_ai_movement.c | 466 +- src/dungeon_ai_targeting.c | 292 +- src/dungeon_capabilities.c | 20 +- src/dungeon_capabilities_1.c | 84 +- src/dungeon_engine.c | 104 +- src/dungeon_items.c | 170 +- src/dungeon_leader.c | 16 +- src/dungeon_map_access.c | 56 +- src/dungeon_movement.c | 8 +- src/dungeon_movement_1.c | 40 +- src/dungeon_music.c | 100 +- src/dungeon_pokemon_attributes.c | 154 +- src/dungeon_random.c | 22 +- src/dungeon_range.c | 72 +- src/dungeon_util.c | 36 +- src/dungeon_util_1.c | 108 +- src/dungeon_visibility.c | 48 +- src/event_flag_1.c | 12 +- src/exclusive_pokemon.c | 24 +- src/felicity_bank.c | 8 +- src/friend_area.c | 4 +- src/friend_area_action_menu.c | 12 +- src/friend_area_action_menu_1.c | 74 +- src/friend_list_menu.c | 76 +- src/friend_list_menu_1.c | 14 +- src/friend_rescue.c | 4 +- src/friend_rescue_1.c | 50 +- src/gulpin_shop.c | 6 +- src/gulpin_shop_1.c | 4 +- src/items.c | 538 +- src/kangaskhan_storage.c | 8 +- src/kangaskhan_storage_2.c | 62 +- src/kangaskhan_storage_3.c | 58 +- src/kecleon_items.c | 26 +- src/kecleon_items_1.c | 140 +- src/load_screen.c | 24 +- src/luminous_cave.c | 14 +- src/makuhita_dojo.c | 8 +- src/makuhita_dojo_1.c | 2 +- src/move_checks.c | 262 +- src/move_effects_target.c | 504 +- src/move_util.c | 102 +- src/moves.c | 178 +- src/moves_1.c | 26 +- src/music.c | 4 +- src/other_random.c | 6 +- src/personality_test.c | 56 +- src/pokemon.c | 20 +- src/pokemon_3.c | 276 +- src/pokemon_mid.c | 184 +- src/position_util.c | 12 +- src/post_office_guide.c | 22 +- src/random.c | 36 +- src/rescue_password_menu.c | 8 +- src/save.c | 6 +- src/status.c | 588 +- src/status_actions.c | 524 +- src/status_checks.c | 64 +- src/status_checks_1.c | 202 +- src/targeting.c | 8 +- src/targeting_flags.c | 6 +- src/thank_you_wonder_mail.c | 58 +- src/tile_types.c | 72 +- src/trade_items_menu.c | 88 +- src/trap.c | 14 +- src/type_effectiveness.c | 56 +- src/weather.c | 32 +- src/wonder_mail.c | 16 +- src/wonder_mail_2.c | 18 +- src/wonder_mail_2_mid.c | 2 +- src/wonder_mail_3.c | 2 +- src/wonder_mail_3_mid.c | 18 +- src/wonder_mail_6.c | 2 +- src/wonder_mail_802DF88.c | 10 +- src/wonder_mail_main_menu.c | 2 +- sym_ewram2.txt | 6 +- tools/dungeonjson/dungeonjson.cpp | 108 +- 320 files changed, 44546 insertions(+), 45620 deletions(-) create mode 100644 data/monster/.gitignore create mode 100644 data/monster/monster_data.json create mode 100644 data/monster/monster_names.s delete mode 100644 data/pokemon/.gitignore delete mode 100644 data/pokemon/species_data.json delete mode 100644 data/pokemon/species_names.s create mode 100644 data_monster.mk delete mode 100644 data_pokemon.mk create mode 100644 include/constants/monster.h delete mode 100644 include/constants/species.h diff --git a/Makefile b/Makefile index 4fd4d2d27..9580593a8 100755 --- a/Makefile +++ b/Makefile @@ -157,7 +157,7 @@ tools: $(TOOLDIRS) include dungeon_pokemon.mk include dungeon_floor.mk include dungeon_trap.mk -include data_pokemon.mk +include data_monster.mk include data_item.mk include data_move.mk include graphics.mk @@ -179,7 +179,7 @@ tidy: $(RM) -r $(BUILD_DIR) $(RM) -f $(ITEM_DATA) $(RM) -f $(MOVE_DATA) - $(RM) -f $(POKEMON_SPECIES) + $(RM) -f $(MONSTER_DATA) $(RM) -f $(DUNGEON_FLOOR) $(RM) -f $(DUNGEON_POKEMON) $(RM) -f $(DUNGEON_TRAP) @@ -203,7 +203,7 @@ $(C_BUILDDIR)/%.o: $(C_SUBDIR)/%.c $(C_BUILDDIR)/%.d: $(C_SUBDIR)/%.c @$(call scaninc,$(INCLUDE_PATHS)) -$(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s dungeon_pokemon dungeon_floor dungeon_trap data_pokemon data_item data_move +$(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s dungeon_pokemon dungeon_floor dungeon_trap data_monster data_item data_move @$(CPP) -x assembler-with-cpp $(CPPFLAGS) $< -o $(DATA_ASM_BUILDDIR)/$*.i.s @$(PREPROC) $(DATA_ASM_BUILDDIR)/$*.i.s charmap.txt > $(DATA_ASM_BUILDDIR)/$*.s $(AS) $(ASFLAGS) -o $@ $(DATA_ASM_BUILDDIR)/$*.s diff --git a/asm/code_2.s b/asm/code_2.s index cad5df10a..123a1e3c6 100644 --- a/asm/code_2.s +++ b/asm/code_2.s @@ -26,7 +26,7 @@ LoadTitleScreen: bl MemoryAlloc adds r7, r0, 0 movs r0, 0x3 - bl RandomCapped + bl RandInt adds r4, r0, 0 lsls r4, 2 adds r5, r4 @@ -1262,7 +1262,7 @@ sub_8001064: movs r0, 0x4 ldrsh r1, [r5, r0] adds r0, r4, 0 - bl CopySpeciesNametoBuffer + bl CopyMonsterNametoBuffer mov r0, sp adds r1, r4, 0 bl CopyStringtoBuffer @@ -1293,7 +1293,7 @@ _080010AE: movs r0, 0x6 ldrsh r1, [r5, r0] adds r0, r4, 0 - bl CopySpeciesNametoBuffer + bl CopyMonsterNametoBuffer mov r0, sp adds r1, r4, 0 bl CopyStringtoBuffer @@ -1495,7 +1495,7 @@ sub_8001248: movs r5, 0 _0800124E: movs r0, 0x64 - bl RandomCapped + bl RandInt cmp r0, 0x31 bgt _08001266 lsls r0, r4, 2 diff --git a/asm/code_8002774.s b/asm/code_8002774.s index 14c5b6ccb..a9f59edfc 100644 --- a/asm/code_8002774.s +++ b/asm/code_8002774.s @@ -354,7 +354,7 @@ _080029F4: cmp r0, 0 beq _08002A18 movs r0, 0x2 - bl OtherRandomCapped + bl OtherRandInt adds r1, r4, 0x7 lsls r0, 1 adds r1, r0 @@ -369,7 +369,7 @@ _08002A10: b _08002A64 _08002A18: movs r0, 0x3 - bl OtherRandomCapped + bl OtherRandInt adds r1, r4, 0x6 lsls r0, 1 adds r1, r0 @@ -384,7 +384,7 @@ _08002A2C: b _08002A64 _08002A34: movs r0, 0x3 - bl OtherRandomCapped + bl OtherRandInt adds r1, r4, 0x7 adds r1, r0 adds r0, r1, 0 @@ -398,7 +398,7 @@ _08002A46: b _08002A64 _08002A4E: movs r0, 0x8 - bl OtherRandomCapped + bl OtherRandInt movs r2, 0x2 negs r2, r2 adds r1, r2, 0 @@ -406,7 +406,7 @@ _08002A4E: b _08002A64 _08002A5E: movs r0, 0x8 - bl OtherRandomCapped + bl OtherRandInt _08002A64: lsls r0, 24 asrs r4, r0, 24 diff --git a/asm/code_800D090.s b/asm/code_800D090.s index 0a9e887f9..4676f3dd3 100644 --- a/asm/code_800D090.s +++ b/asm/code_800D090.s @@ -8704,7 +8704,7 @@ _08011406: ldr r1, _0801147C ldr r2, [r6] add r0, sp, 0x4 - bl sprintf_2 + bl sprintfStatic movs r0, 0 str r0, [sp] movs r0, 0xC diff --git a/asm/code_8012A18.s b/asm/code_8012A18.s index 3f2b6b8a0..d0289773f 100644 --- a/asm/code_8012A18.s +++ b/asm/code_8012A18.s @@ -510,7 +510,7 @@ _08012F62: _08012F64: mov r0, r8 ldr r1, _08012FBC - bl sprintf_2 + bl sprintfStatic adds r0, r5, 0 adds r0, 0x14 mov r1, r9 @@ -4504,7 +4504,7 @@ _08014E60: adds r5, 0x1 ldr r2, [r0] mov r0, sp - bl sprintf_2 + bl sprintfStatic _08014E78: mov r4, sp b _08014F0E @@ -4525,7 +4525,7 @@ _08014E84: subs r2, 0x30 adds r5, 0x1 mov r0, sp - bl sprintf_2 + bl sprintfStatic mov r0, sp ldrb r1, [r0] cmp r1, 0 @@ -4558,7 +4558,7 @@ _08014EC4: subs r2, 0x30 adds r5, 0x1 mov r0, sp - bl sprintf_2 + bl sprintfStatic mov r0, sp ldrb r1, [r0] cmp r1, 0 @@ -6139,7 +6139,7 @@ _08015B04: add r0, sp, 0x4 ldr r1, _08015B30 adds r2, r5, 0 - bl sprintf_2 + bl sprintfStatic mov r1, r8 ldr r0, [r1] ldrb r0, [r0, 0x19] @@ -6169,7 +6169,7 @@ _08015B34: mov r0, r10 ldr r1, _08015B78 adds r2, r5, 0 - bl sprintf_2 + bl sprintfStatic mov r3, r8 ldr r0, [r3] ldrb r0, [r0, 0x19] @@ -6477,7 +6477,7 @@ _08015DD0: adds r0, 0xF8 ldr r2, [r0] add r0, sp, 0x4 - bl sprintf_2 + bl sprintfStatic b _08015DEE .align 2, 0 _08015DDC: .4byte gUnknown_80DB65C @@ -6487,7 +6487,7 @@ _08015DE0: adds r0, 0xF8 ldr r2, [r0] add r0, sp, 0x4 - bl sprintf_2 + bl sprintfStatic _08015DEE: movs r0, 0 str r0, [sp] diff --git a/asm/code_801EE10.s b/asm/code_801EE10.s index 92a682c62..14c7bbfbe 100644 --- a/asm/code_801EE10.s +++ b/asm/code_801EE10.s @@ -1160,7 +1160,7 @@ sub_801F700: movs r7, 0 ldrsh r3, [r0, r7] adds r0, r5, 0 - bl sprintf_2 + bl sprintfStatic ldr r0, [r6] adds r0, r4 ldr r3, [r0] @@ -1715,11 +1715,11 @@ sub_801FB50: ldr r0, _0801FBC4 ldr r4, _0801FBC8 adds r1, r4, 0 - bl CopyYellowSpeciesNametoBuffer + bl CopyYellowMonsterNametoBuffer ldr r5, _0801FBCC adds r0, r5, 0 adds r1, r4, 0 - bl CopyYellowSpeciesNametoBuffer + bl CopyYellowMonsterNametoBuffer adds r0, r4, 0 bl GetMonSpecies adds r1, r0, 0 @@ -4920,7 +4920,7 @@ _08021574: mov r0, r10 ldr r1, _08021598 add r2, sp, 0x8 - bl sprintf_2 + bl sprintfStatic mov r3, r8 ldr r0, [r3] adds r0, 0x40 @@ -4968,7 +4968,7 @@ _080215D8: adds r2, r0, 0 mov r0, r10 ldr r1, _08021608 - bl sprintf_2 + bl sprintfStatic mov r2, r8 ldr r0, [r2] adds r0, 0x40 @@ -5519,7 +5519,7 @@ _08021A16: add r0, sp, 0x4 ldr r1, _08021A58 adds r2, r7, 0 - bl sprintf_2 + bl sprintfStatic mov r1, r8 ldr r0, [r1] ldr r3, [r0, 0x74] @@ -5742,11 +5742,11 @@ CreateWigglytuffShop: str r4, [r0] ldr r0, _08021BFC movs r1, 0x28 - bl CopyYellowSpeciesNametoBuffer + bl CopyYellowMonsterNametoBuffer ldr r4, _08021C00 adds r0, r4, 0 movs r1, 0x28 - bl CopyYellowSpeciesNametoBuffer + bl CopyYellowMonsterNametoBuffer movs r0, 0x28 bl GetMonSpecies adds r1, r0, 0 @@ -7941,7 +7941,7 @@ _08022D80: adds r0, r2, 0 adds r0, 0x52 ldrb r0, [r0] - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0x5 @@ -9021,7 +9021,7 @@ _08023628: ldr r1, _080236A0 adds r2, r7, 0 adds r3, r4, 0 - bl sprintf_2 + bl sprintfStatic ldr r6, _0802368C ldr r0, [r6] movs r1, 0xE4 @@ -10170,7 +10170,7 @@ _08023F02: ldr r1, _08023F80 adds r2, r6, 0 mov r3, r9 - bl sprintf_2 + bl sprintfStatic mov r1, r8 ldr r0, [r1] movs r2, 0xD6 diff --git a/asm/code_803B050.s b/asm/code_803B050.s index f68756f76..46652267c 100644 --- a/asm/code_803B050.s +++ b/asm/code_803B050.s @@ -1059,7 +1059,7 @@ _0803B818: add r0, sp, 0x4 adds r2, r6, 0 _0803B84C: - bl sprintf_2 + bl sprintfStatic _0803B850: ldr r1, [r7, 0x48] ldr r3, [r7] @@ -1096,7 +1096,7 @@ _0803B86C: ldr r1, [r0] add r0, sp, 0x4 adds r2, r6, 0 - bl sprintf_2 + bl sprintfStatic ldr r1, [r7, 0x48] ldr r3, [r7] movs r0, 0 @@ -1160,7 +1160,7 @@ _0803B916: ldr r1, _0803B938 add r0, sp, 0x4 adds r2, r4, 0 - bl sprintf_2 + bl sprintfStatic b _0803B944 .align 2, 0 _0803B938: .4byte gUnknown_80E8884 @@ -1299,7 +1299,7 @@ _0803BA4C: ldr r1, _0803BA68 add r0, sp, 0x4 adds r2, r4, 0 - bl sprintf_2 + bl sprintfStatic b _0803BACC .align 2, 0 _0803BA64: .4byte gUnknown_202DE58 @@ -1313,7 +1313,7 @@ _0803BA6C: ldr r1, _0803BA88 add r0, sp, 0x4 adds r2, r4, 0 - bl sprintf_2 + bl sprintfStatic b _0803BACC .align 2, 0 _0803BA84: .4byte gUnknown_202DE58 @@ -1347,7 +1347,7 @@ _0803BAA0: add r0, sp, 0x4 adds r2, r4, 0 adds r3, r4, 0 - bl sprintf_2 + bl sprintfStatic _0803BACC: ldr r3, [r7] movs r0, 0 @@ -1408,7 +1408,7 @@ _0803BB10: ldr r1, [r0] add r0, sp, 0x4 mov r2, r8 - bl sprintf_2 + bl sprintfStatic ldr r3, [r7] movs r6, 0 str r6, [sp] @@ -1454,7 +1454,7 @@ _0803BB74: ldr r1, [r0] add r0, sp, 0x4 mov r2, r8 - bl sprintf_2 + bl sprintfStatic ldr r3, [r7] movs r4, 0 str r4, [sp] @@ -1472,7 +1472,7 @@ _0803BB74: ldr r1, [r5] add r0, sp, 0x4 mov r2, r8 - bl sprintf_2 + bl sprintfStatic ldr r3, [r7] str r4, [sp] b _0803BD32 @@ -1508,7 +1508,7 @@ _0803BBF0: ldr r1, [r0] add r0, sp, 0x4 mov r2, r8 - bl sprintf_2 + bl sprintfStatic ldr r3, [r7] movs r6, 0 str r6, [sp] @@ -1554,7 +1554,7 @@ _0803BC58: ldr r1, [r0] add r0, sp, 0x4 mov r2, r8 - bl sprintf_2 + bl sprintfStatic ldr r3, [r7] movs r6, 0 str r6, [sp] @@ -1600,7 +1600,7 @@ _0803BCC0: ldr r1, [r0] add r0, sp, 0x4 mov r2, r8 - bl sprintf_2 + bl sprintfStatic ldr r3, [r7] movs r6, 0 str r6, [sp] @@ -1621,7 +1621,7 @@ _0803BD1A: ldr r1, [r0] add r0, sp, 0x4 mov r2, r8 - bl sprintf_2 + bl sprintfStatic ldr r3, [r7] str r6, [sp] _0803BD32: @@ -1677,7 +1677,7 @@ _0803BD88: adds r0, r5, 0 adds r2, r6, 0 adds r3, r4, 0 - bl sprintf_2 + bl sprintfStatic ldr r3, [r7] mov r1, r8 str r1, [sp] @@ -1783,7 +1783,7 @@ _0803BE80: _0803BE94: add r0, sp, 0x4 adds r2, r4, 0 - bl sprintf_2 + bl sprintfStatic ldr r3, [r7] movs r0, 0 str r0, [sp] @@ -1823,7 +1823,7 @@ _0803BEC8: ldr r1, _0803BF00 add r0, sp, 0x4 adds r2, r4, 0 - bl sprintf_2 + bl sprintfStatic b _0803BF0C .align 2, 0 _0803BEF8: .4byte gSpecialMissionText @@ -1940,7 +1940,7 @@ _0803BFD0: add r0, sp, 0x4 adds r2, r4, 0 _0803BFEE: - bl sprintf_2 + bl sprintfStatic ldr r3, [r7] movs r0, 0 str r0, [sp] diff --git a/asm/code_803C1D0.s b/asm/code_803C1D0.s index 2fff797c6..9637c5db1 100644 --- a/asm/code_803C1D0.s +++ b/asm/code_803C1D0.s @@ -220,7 +220,7 @@ _0803C35A: movs r0, 0xC ldrsh r1, [r6, r0] adds r0, r4, 0 - bl CopyYellowSpeciesNametoBuffer + bl CopyYellowMonsterNametoBuffer ldrh r0, [r6, 0xC] strh r0, [r4, 0x14] ldrb r1, [r6, 0x1] @@ -330,7 +330,7 @@ _0803C41A: _0803C42C: .4byte gUnknown_80E9920 _0803C430: adds r0, r6, 0 - bl RandomCapped + bl RandInt lsls r0, 2 add r0, sp ldr r4, [r0] @@ -391,7 +391,7 @@ _0803C496: cmp r6, 0 beq _0803C4E0 adds r0, r6, 0 - bl RandomCapped + bl RandInt lsls r0, 2 add r0, sp ldr r4, [r0] @@ -399,7 +399,7 @@ _0803C496: adds r0, r4 lsls r0, 2 adds r5, r0, r5 - bl Random + bl Rand32Bit movs r1, 0x10 ands r1, r0 cmp r1, 0 @@ -470,13 +470,13 @@ _0803C52A: cmp r6, 0 beq _0803C570 adds r0, r6, 0 - bl RandomCapped + bl RandInt lsls r0, 2 add r0, sp ldr r4, [r0] lsls r0, r4, 2 adds r5, r0, r5 - bl Random + bl Rand32Bit movs r1, 0x10 ands r1, r0 cmp r1, 0 @@ -557,7 +557,7 @@ _0803C5D2: _0803C5D8: .4byte gUnknown_80E8180 _0803C5DC: adds r0, r7, 0 - bl RandomCapped + bl RandInt lsls r0, 2 add r0, sp ldr r4, [r0] @@ -631,7 +631,7 @@ _0803C664: .4byte gUnknown_80E81D4 _0803C668: .4byte 0x00000181 _0803C66C: adds r0, r7, 0 - bl RandomCapped + bl RandInt lsls r0, 2 add r0, sp ldr r5, [r0] diff --git a/asm/code_803D110.s b/asm/code_803D110.s index 18385dde0..6710beb22 100644 --- a/asm/code_803D110.s +++ b/asm/code_803D110.s @@ -504,7 +504,7 @@ sub_803D4AC: strb r1, [r0] bx lr .align 2, 0 -_0803D4C4: .4byte gDungeonGlobalData +_0803D4C4: .4byte gDungeon _0803D4C8: .4byte 0x0001c570 _0803D4CC: .4byte 0x0001c571 thumb_func_end sub_803D4AC @@ -709,7 +709,7 @@ _0803D644: bne _0803D644 b _0803D68A .align 2, 0 -_0803D654: .4byte gDungeonGlobalData +_0803D654: .4byte gDungeon _0803D658: .4byte 0x00000644 _0803D65C: .4byte 0x0001c570 _0803D660: .4byte gUnknown_80F4D8C @@ -780,7 +780,7 @@ _0803D6E0: pop {r0} bx r0 .align 2, 0 -_0803D6F0: .4byte gDungeonGlobalData +_0803D6F0: .4byte gDungeon _0803D6F4: .4byte 0x0001c590 _0803D6F8: .4byte 0x0001c5a8 thumb_func_end sub_803D4D0 @@ -789,7 +789,7 @@ _0803D6F8: .4byte 0x0001c5a8 sub_803D6FC: push {r4,lr} ldr r0, _0803D720 - bl DungeonRandomCapped + bl DungeonRandInt adds r3, r0, 0 movs r2, 0 ldr r0, _0803D724 @@ -807,7 +807,7 @@ _0803D710: b _0803D736 .align 2, 0 _0803D720: .4byte 0x00002710 -_0803D724: .4byte gDungeonGlobalData +_0803D724: .4byte gDungeon _0803D728: .4byte 0x0001cd70 _0803D72C: adds r1, 0x2 @@ -829,7 +829,7 @@ sub_803D73C: sub sp, 0x8 adds r4, r0, 0 ldr r0, _0803D784 - bl DungeonRandomCapped + bl DungeonRandInt adds r7, r0, 0 movs r0, 0xC mov r8, r0 @@ -862,7 +862,7 @@ _0803D77A: b _0803D7EC .align 2, 0 _0803D784: .4byte 0x00002710 -_0803D788: .4byte gDungeonGlobalData +_0803D788: .4byte gDungeon _0803D78C: .4byte 0x0001c590 _0803D790: lsls r0, r6, 24 @@ -874,7 +874,7 @@ _0803D798: b _0803D7EE _0803D79C: ldr r0, _0803D7FC - bl DungeonRandomCapped + bl DungeonRandInt adds r7, r0, 0 movs r6, 0 ldr r2, _0803D800 @@ -894,7 +894,7 @@ _0803D7AE: adds r0, r5, 0 str r1, [sp] str r2, [sp, 0x4] - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 ldr r1, [sp] @@ -924,7 +924,7 @@ _0803D7EE: bx r1 .align 2, 0 _0803D7FC: .4byte 0x00002710 -_0803D800: .4byte gDungeonGlobalData +_0803D800: .4byte gDungeon _0803D804: .4byte 0x0001c5a8 thumb_func_end sub_803D73C @@ -981,7 +981,7 @@ _0803D85A: bx r1 .align 2, 0 _0803D868: .4byte 0x0001cd98 -_0803D86C: .4byte gDungeonGlobalData +_0803D86C: .4byte gDungeon thumb_func_end sub_803D808 thumb_func_start sub_803D870 @@ -997,7 +997,7 @@ sub_803D870: mov r9, r1 b _0803D8B8 _0803D884: - bl GetPokemonSize + bl GetBodySize lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1048,7 +1048,7 @@ _0803D8D6: bx r1 .align 2, 0 _0803D8E4: .4byte 0x0001cd9a -_0803D8E8: .4byte gDungeonGlobalData +_0803D8E8: .4byte gDungeon _0803D8EC: .4byte 0x0001cd98 thumb_func_end sub_803D870 @@ -1078,7 +1078,7 @@ _0803D918: pop {r0} bx r0 .align 2, 0 -_0803D920: .4byte gDungeonGlobalData +_0803D920: .4byte gDungeon _0803D924: .4byte 0x000037ec _0803D928: .4byte 0x0000343c _0803D92C: .4byte 0x000037e4 @@ -1094,7 +1094,7 @@ sub_803D930: ldr r4, _0803D944 b _0803D954 .align 2, 0 -_0803D940: .4byte gDungeonGlobalData +_0803D940: .4byte gDungeon _0803D944: .4byte 0x0001cd98 _0803D948: cmp r0, r6 @@ -1127,7 +1127,7 @@ sub_803D970: push {r4-r7,lr} adds r5, r0, 0 ldr r0, _0803D9EC - bl DungeonRandomCapped + bl DungeonRandInt adds r6, r0, 0 movs r3, 0 ldr r1, _0803D9F0 @@ -1191,7 +1191,7 @@ _0803D9E0: b _0803DA14 .align 2, 0 _0803D9EC: .4byte 0x00002710 -_0803D9F0: .4byte gDungeonGlobalData +_0803D9F0: .4byte gDungeon _0803D9F4: .4byte 0x000037e4 _0803D9F8: .4byte 0x0000343c _0803D9FC: .4byte 0x0000343e @@ -1243,7 +1243,7 @@ _0803DA3A: bl ExtractLevel b _0803DA72 .align 2, 0 -_0803DA54: .4byte gDungeonGlobalData +_0803DA54: .4byte gDungeon _0803DA58: .4byte 0x000037e4 _0803DA5C: .4byte 0x0000343c _0803DA60: @@ -1388,7 +1388,7 @@ _0803DB54: adds r1, r5, 0 adds r2, r6, 0 adds r3, r4, 0 - bl sprintf_2 + bl sprintfStatic b _0803DBCA .align 2, 0 _0803DB84: .4byte gUnknown_80F60F8 @@ -1398,7 +1398,7 @@ _0803DB90: .4byte gUnknown_80F6100 _0803DB94: .4byte gDungeonNameBannerFontFile _0803DB98: .4byte gDungeonNameBannerFont _0803DB9C: .4byte 0x06000140 -_0803DBA0: .4byte gDungeonGlobalData +_0803DBA0: .4byte gDungeon _0803DBA4: .4byte 0x00000645 _0803DBA8: .4byte 0x00000644 _0803DBAC: .4byte 0xffffe000 @@ -1411,7 +1411,7 @@ _0803DBBC: adds r3, 0x30 add r0, sp, 0x4 adds r2, r6, 0 - bl sprintf_2 + bl sprintfStatic _0803DBCA: add r0, sp, 0x4 bl CalcStringWidth @@ -2121,7 +2121,7 @@ _0803E118: .4byte gUnknown_80F61DC _0803E11C: .4byte gDungeonFileArchive _0803E120: .4byte 0x0600c000 _0803E124: .4byte gUnknown_202ECA4 -_0803E128: .4byte gDungeonGlobalData +_0803E128: .4byte gDungeon _0803E12C: .4byte gUnknown_80F5F70 _0803E130: .4byte 0x00012a18 _0803E134: .4byte 0x00013554 @@ -2187,7 +2187,7 @@ sub_803E178: strh r0, [r1] b _0803E204 .align 2, 0 -_0803E1AC: .4byte gDungeonGlobalData +_0803E1AC: .4byte gDungeon _0803E1B0: .4byte 0x00000644 _0803E1B4: .4byte 0x000037fe _0803E1B8: .4byte 0x00003a12 @@ -2219,7 +2219,7 @@ _0803E1E0: movs r1, 0x6 b _0803E202 .align 2, 0 -_0803E1F0: .4byte gDungeonGlobalData +_0803E1F0: .4byte gDungeon _0803E1F4: .4byte 0x00003a12 _0803E1F8: ldr r0, _0803E20C @@ -2234,7 +2234,7 @@ _0803E204: pop {r0} bx r0 .align 2, 0 -_0803E20C: .4byte gDungeonGlobalData +_0803E20C: .4byte gDungeon _0803E210: .4byte 0x00003a12 thumb_func_end sub_803E178 @@ -2507,7 +2507,7 @@ _0803E448: .4byte 0x000003ff _0803E44C: .4byte 0x00000fff _0803E450: .4byte 0x0000fffd _0803E454: .4byte gUnknown_80F61EC -_0803E458: .4byte gDungeonGlobalData +_0803E458: .4byte gDungeon _0803E45C: .4byte 0x00018217 _0803E460: .4byte 0x00018218 _0803E464: .4byte gUnknown_202EDC8 @@ -2571,7 +2571,7 @@ sub_803E490: b _0803E4FC .align 2, 0 _0803E4D8: .4byte gUnknown_202EDD4 -_0803E4DC: .4byte gDungeonGlobalData +_0803E4DC: .4byte gDungeon _0803E4E0: .4byte 0x0001821a _0803E4E4: .4byte 0x00018208 _0803E4E8: .4byte 0x000181f0 @@ -2708,7 +2708,7 @@ _0803E5A2: bx r0 .align 2, 0 _0803E628: .4byte 0x00018208 -_0803E62C: .4byte gDungeonGlobalData +_0803E62C: .4byte gDungeon _0803E630: .4byte 0x000181f0 _0803E634: .4byte 0x000181f2 _0803E638: .4byte 0x000181fc @@ -2781,7 +2781,7 @@ _0803E6F0: .4byte gUnknown_202EDD4 _0803E6F4: .4byte gUnknown_203B46C _0803E6F8: .4byte gUnknown_202EDCC _0803E6FC: .4byte gPlayTimeRef -_0803E700: .4byte gDungeonGlobalData +_0803E700: .4byte gDungeon _0803E704: .4byte 0x00018213 thumb_func_end sub_803E668 @@ -2884,7 +2884,7 @@ _0803E790: .align 2, 0 _0803E7B8: .4byte gUnknown_203B40D _0803E7BC: .4byte gUnknown_202EDC8 -_0803E7C0: .4byte gDungeonGlobalData +_0803E7C0: .4byte gDungeon _0803E7C4: .4byte 0x00018217 thumb_func_end sub_803E748 @@ -2934,7 +2934,7 @@ _0803E806: .align 2, 0 _0803E820: .4byte gUnknown_203B40D _0803E824: .4byte gUnknown_202EDC8 -_0803E828: .4byte gDungeonGlobalData +_0803E828: .4byte gDungeon _0803E82C: .4byte 0x00018217 thumb_func_end sub_803E7C8 @@ -3131,7 +3131,7 @@ _0803E96A: _0803E9A4: .4byte gDungeonPaletteFile _0803E9A8: .4byte gUnknown_80F62AC _0803E9AC: .4byte gUnknown_202EDC8 -_0803E9B0: .4byte gDungeonGlobalData +_0803E9B0: .4byte gDungeon _0803E9B4: .4byte 0x00018215 _0803E9B8: .4byte 0x0001c06c _0803E9BC: .4byte gUnknown_202EE8C @@ -3169,7 +3169,7 @@ _0803E9E6: pop {r0} bx r0 .align 2, 0 -_0803EA04: .4byte gDungeonGlobalData +_0803EA04: .4byte gDungeon _0803EA08: .4byte 0x000181e4 _0803EA0C: .4byte gUnknown_202EDC8 thumb_func_end sub_803E9D0 @@ -3272,7 +3272,7 @@ _0803EA92: _0803EACC: .4byte gDungeonPaletteFile _0803EAD0: .4byte gUnknown_80F62AC _0803EAD4: .4byte gUnknown_202EDC8 -_0803EAD8: .4byte gDungeonGlobalData +_0803EAD8: .4byte gDungeon _0803EADC: .4byte 0x00018215 _0803EAE0: .4byte 0x0001c06c _0803EAE4: .4byte gUnknown_202EE8C @@ -3639,7 +3639,7 @@ _0803ED78: movs r0, 0x6 b _0803EDCA .align 2, 0 -_0803EDAC: .4byte gDungeonGlobalData +_0803EDAC: .4byte gDungeon _0803EDB0: .4byte 0x0001820a _0803EDB4: .4byte gUnknown_202EDE8 _0803EDB8: .4byte 0xfffffc19 @@ -3670,7 +3670,7 @@ _0803EDDA: bx r0 .align 2, 0 _0803EDE8: .4byte 0x060142c0 -_0803EDEC: .4byte gDungeonGlobalData +_0803EDEC: .4byte gDungeon thumb_func_end sub_803ED30 thumb_func_start sub_803EDF0 @@ -3856,7 +3856,7 @@ _0803EF42: pop {r0} bx r0 .align 2, 0 -_0803EF50: .4byte gDungeonGlobalData +_0803EF50: .4byte gDungeon _0803EF54: .4byte 0x000181f0 _0803EF58: .4byte 0x000181f2 _0803EF5C: .4byte 0x00000fff @@ -3983,7 +3983,7 @@ _0803F056: ldr r2, [r4] b _0803F07A .align 2, 0 -_0803F060: .4byte gDungeonGlobalData +_0803F060: .4byte gDungeon _0803F064: .4byte gUnknown_202EC9C _0803F068: .4byte 0x0000270f _0803F06C: .4byte gUnknown_80F6478 @@ -4388,7 +4388,7 @@ _0803F354: pop {r0} bx r0 .align 2, 0 -_0803F360: .4byte gDungeonGlobalData +_0803F360: .4byte gDungeon _0803F364: .4byte 0x000181e8 _0803F368: .4byte 0x00018216 _0803F36C: .4byte 0x00018217 @@ -4463,7 +4463,7 @@ sub_803F38C: pop {r0} bx r0 .align 2, 0 -_0803F410: .4byte gDungeonGlobalData +_0803F410: .4byte gDungeon _0803F414: .4byte 0x000181e8 _0803F418: .4byte 0x0000ffff _0803F41C: .4byte 0x00018228 @@ -4516,12 +4516,12 @@ _0803F45A: beq _0803F494 adds r0, r2, 0 adds r1, r4, 0 - bl InSameRoom_2 + bl IsPositionActuallyInSight lsls r0, 24 lsrs r0, 24 b _0803F49A .align 2, 0 -_0803F484: .4byte gDungeonGlobalData +_0803F484: .4byte gDungeon _0803F488: .4byte 0x000181e8 _0803F48C: .4byte 0x0001820b _0803F490: .4byte 0x0001820c @@ -4550,7 +4550,7 @@ sub_803F4A0: adds r3, 0x2E b _0803F4CA .align 2, 0 -_0803F4B8: .4byte gDungeonGlobalData +_0803F4B8: .4byte gDungeon _0803F4BC: .4byte 0x000181e8 _0803F4C0: ldr r0, [r2, 0x70] @@ -4586,7 +4586,7 @@ _0803F4F8: bx r0 .align 2, 0 _0803F4FC: .4byte 0x00018216 -_0803F500: .4byte gDungeonGlobalData +_0803F500: .4byte gDungeon _0803F504: .4byte 0x0001356c thumb_func_end sub_803F4A0 @@ -4605,7 +4605,7 @@ sub_803F508: strb r3, [r0] b _0803F548 .align 2, 0 -_0803F520: .4byte gDungeonGlobalData +_0803F520: .4byte gDungeon _0803F524: .4byte 0x000181e8 _0803F528: .4byte 0x00018216 _0803F52C: @@ -4645,7 +4645,7 @@ _0803F566: bx r0 .align 2, 0 _0803F574: .4byte 0x00018216 -_0803F578: .4byte gDungeonGlobalData +_0803F578: .4byte gDungeon _0803F57C: .4byte 0x0001356c thumb_func_end sub_803F508 @@ -4701,7 +4701,7 @@ _0803F5D4: strh r0, [r5, 0xA] adds r0, r6, 0 movs r1, 0x11 - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _0803F610 @@ -4717,7 +4717,7 @@ _0803F5D4: strb r1, [r0] b _0803F626 .align 2, 0 -_0803F600: .4byte gDungeonGlobalData +_0803F600: .4byte gDungeon _0803F604: .4byte 0x000181e8 _0803F608: .4byte 0x0001820d _0803F60C: .4byte 0x0001820e @@ -4813,7 +4813,7 @@ _0803F6B4: ldrb r2, [r4] mov r8, r2 adds r0, r6, 0 - bl CanSeeInvisible + bl CanSeeInvisibleMonsters lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -4937,7 +4937,7 @@ _0803F7A0: pop {r0} bx r0 .align 2, 0 -_0803F7B4: .4byte gDungeonGlobalData +_0803F7B4: .4byte gDungeon _0803F7B8: .4byte 0x000135cc thumb_func_end sub_803F580 @@ -4953,7 +4953,7 @@ sub_803F7BC: ldrsh r0, [r5, r1] movs r2, 0x2 ldrsh r1, [r5, r2] - bl GetMapTile_1 + bl GetTile ldrb r1, [r0, 0x9] ldr r2, _0803F808 adds r0, r4, r2 @@ -4976,7 +4976,7 @@ _0803F7F4: bl sub_8005838 b _0803F86A .align 2, 0 -_0803F800: .4byte gDungeonGlobalData +_0803F800: .4byte gDungeon _0803F804: .4byte 0x000181e8 _0803F808: .4byte 0x0001820b _0803F80C: @@ -5130,7 +5130,7 @@ _0803F91E: strb r0, [r1] b _0803F984 .align 2, 0 -_0803F92C: .4byte gDungeonGlobalData +_0803F92C: .4byte gDungeon _0803F930: .4byte 0x000181e8 _0803F934: .4byte 0x0001820d _0803F938: .4byte 0x00018211 @@ -5190,7 +5190,7 @@ GetCameraXPos: lsls r0, 8 bx lr .align 2, 0 -_0803F9A8: .4byte gDungeonGlobalData +_0803F9A8: .4byte gDungeon _0803F9AC: .4byte 0x000181e8 thumb_func_end GetCameraXPos @@ -5206,7 +5206,7 @@ GetCameraYPos: lsls r0, 8 bx lr .align 2, 0 -_0803F9C4: .4byte gDungeonGlobalData +_0803F9C4: .4byte gDungeon _0803F9C8: .4byte 0x000181e8 thumb_func_end GetCameraYPos @@ -5257,7 +5257,7 @@ _0803FA14: bl sub_803F38C b _0803FA3C .align 2, 0 -_0803FA24: .4byte gDungeonGlobalData +_0803FA24: .4byte gDungeon _0803FA28: .4byte 0x000181f8 _0803FA2C: .4byte 0x0001356c _0803FA30: .4byte 0x00018218 @@ -5412,7 +5412,7 @@ _0803FB3A: pop {r0} bx r0 .align 2, 0 -_0803FB4C: .4byte gDungeonGlobalData +_0803FB4C: .4byte gDungeon _0803FB50: .4byte 0x000181e8 _0803FB54: .4byte gUnknown_3001018 _0803FB58: .4byte gUnknown_80F6490 @@ -5487,7 +5487,7 @@ _0803FBD2: movs r6, 0x20 b _0803FBF8 .align 2, 0 -_0803FBE8: .4byte gDungeonGlobalData +_0803FBE8: .4byte gDungeon _0803FBEC: .4byte 0x000181e8 _0803FBF0: .4byte gUnknown_202EDCC _0803FBF4: @@ -5613,7 +5613,7 @@ _0803FCB0: _0803FCE4: .4byte gUnknown_203B46C _0803FCE8: .4byte gUnknown_202D068 _0803FCEC: .4byte gUnknown_202B038 -_0803FCF0: .4byte gDungeonGlobalData +_0803FCF0: .4byte gDungeon _0803FCF4: .4byte 0x00000645 _0803FCF8: .4byte 0x00000644 _0803FCFC: diff --git a/asm/code_8040094.s b/asm/code_8040094.s index cdf03f43b..bf2446c69 100644 --- a/asm/code_8040094.s +++ b/asm/code_8040094.s @@ -86,7 +86,7 @@ _080401B0: pop {r0} bx r0 .align 2, 0 -_080401EC: .4byte gDungeonGlobalData +_080401EC: .4byte gDungeon _080401F0: .4byte 0x0001822c _080401F4: .4byte 0x0001ba2c _080401F8: .4byte gUnknown_203B410 @@ -232,7 +232,7 @@ _080402FC: _08040302: mov r0, r8 adds r1, r3, 0 - bl GetMapTile_1 + bl GetTile mov r9, r0 ldrh r0, [r0] movs r5, 0x3 @@ -267,7 +267,7 @@ _08040302: str r3, [sp, 0x18] b _0804039C .align 2, 0 -_0804034C: .4byte gDungeonGlobalData +_0804034C: .4byte gDungeon _08040350: .4byte gUnknown_202EE04 _08040354: .4byte gUnknown_202EE01 _08040358: .4byte 0x00018210 @@ -297,7 +297,7 @@ _08040378: str r0, [sp, 0x18] b _0804039C .align 2, 0 -_08040390: .4byte gDungeonGlobalData +_08040390: .4byte gDungeon _08040394: .4byte 0x00018211 _08040398: movs r2, 0 @@ -351,7 +351,7 @@ _080403F6: movs r0, 0x1 b _0804040A .align 2, 0 -_080403FC: .4byte gDungeonGlobalData +_080403FC: .4byte gDungeon _08040400: .4byte 0x0001356c _08040404: .4byte gUnknown_202EE00 _08040408: @@ -392,7 +392,7 @@ _08040426: b _0804045A .align 2, 0 _0804044C: .4byte gUnknown_203B410 -_08040450: .4byte gDungeonGlobalData +_08040450: .4byte gDungeon _08040454: .4byte 0x00018214 _08040458: movs r6, 0xA @@ -553,7 +553,7 @@ _0804056C: adds r1, r3, 0 adds r1, 0x1 mov r0, r8 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -567,7 +567,7 @@ _0804058A: adds r1, r5, 0 subs r1, 0x1 mov r0, r8 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -583,7 +583,7 @@ _080405AA: mov r0, r8 adds r0, 0x1 ldr r1, [sp] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -598,7 +598,7 @@ _080405CA: ble _080405E8 subs r0, 0x1 ldr r1, [sp] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -889,7 +889,7 @@ _08040800: blt _080407C8 b _08040868 .align 2, 0 -_08040814: .4byte gDungeonGlobalData +_08040814: .4byte gDungeon _08040818: .4byte 0x0001bdd0 _0804081C: .4byte 0x0001bdd1 _08040820: .4byte 0x0001bdcc @@ -1130,7 +1130,7 @@ _080408D2: bl nullsub_11 b _08040A6A .align 2, 0 -_080409F4: .4byte gDungeonGlobalData +_080409F4: .4byte gDungeon _080409F8: .4byte 0x00018214 _080409FC: .4byte gUnknown_203B410 _08040A00: .4byte gUnknown_202EE02 @@ -1217,7 +1217,7 @@ _08040A98: pop {r0} bx r0 .align 2, 0 -_08040AB4: .4byte gDungeonGlobalData +_08040AB4: .4byte gDungeon _08040AB8: .4byte 0x0001bdd1 thumb_func_end sub_8040A84 @@ -1354,7 +1354,7 @@ _08040B9E: pop {r0} bx r0 .align 2, 0 -_08040BA4: .4byte gDungeonGlobalData +_08040BA4: .4byte gDungeon _08040BA8: .4byte 0x0001bdd2 _08040BAC: .4byte 0x0001ba2c thumb_func_end sub_8040B60 @@ -1375,7 +1375,7 @@ sub_8040BB0: mov r8, r0 ldrh r4, [r7, 0x2] adds r0, r6, 0 - bl GetWeather + bl GetApparentWeather adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -1387,7 +1387,7 @@ sub_8040BB0: mov r9, r5 ldrh r4, [r7, 0x2] adds r0, r6, 0 - bl GetWeather + bl GetApparentWeather adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -1446,7 +1446,7 @@ sub_8040C4C: adds r4, r1, 0 adds r6, r2, 0 ldrh r5, [r4, 0x2] - bl GetWeather + bl GetApparentWeather adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -1466,7 +1466,7 @@ sub_8040C4C: ldrsh r5, [r6, r0] ldrh r4, [r4, 0x2] adds r0, r7, 0 - bl GetWeather + bl GetApparentWeather adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -1619,7 +1619,7 @@ sub_8040DA0: mov r1, r8 ldrh r4, [r1, 0x2] adds r0, r7, 0 - bl GetWeather + bl GetApparentWeather adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -1657,7 +1657,7 @@ _08040E0E: ldr r6, [r0] b _08040E26 .align 2, 0 -_08040E1C: .4byte gDungeonGlobalData +_08040E1C: .4byte gDungeon _08040E20: .4byte 0x000181f8 _08040E24: adds r6, r7, 0 @@ -1707,7 +1707,7 @@ _08040E6E: cmp r1, r0 bne _08040ED0 movs r0, 0x7 - bl DungeonRandomCapped + bl DungeonRandInt ldr r1, _08040EB8 str r0, [r1] ldr r1, _08040EBC @@ -1736,7 +1736,7 @@ _08040E6E: b _08040EF0 .align 2, 0 _08040EB8: .4byte gUnknown_202F224 -_08040EBC: .4byte gDungeonGlobalData +_08040EBC: .4byte gDungeon _08040EC0: .4byte 0x00018204 _08040EC4: .4byte gUnknown_8106A8C _08040EC8: .4byte gUnknown_202DE30 @@ -1764,7 +1764,7 @@ _08040EF0: mov r0, r8 ldrh r4, [r0, 0x2] adds r0, r7, 0 - bl GetWeather + bl GetApparentWeather adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -1817,7 +1817,7 @@ _08040F52: bge _08040F52 b _08041026 .align 2, 0 -_08040F70: .4byte gDungeonGlobalData +_08040F70: .4byte gDungeon _08040F74: .4byte 0x00018204 _08040F78: .4byte 0x000003e5 _08040F7C: @@ -1933,7 +1933,7 @@ sub_8041038: mov r9, r0 ldrh r4, [r2, 0x2] adds r0, r7, 0 - bl GetWeather + bl GetApparentWeather adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -1954,7 +1954,7 @@ sub_8041038: mov r0, r8 ldrh r4, [r0, 0x2] adds r0, r7, 0 - bl GetWeather + bl GetApparentWeather adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -2031,7 +2031,7 @@ sub_8041108: adds r5, r3, 0 ldrh r4, [r2, 0x2] adds r0, r7, 0 - bl GetWeather + bl GetApparentWeather adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -2088,7 +2088,7 @@ sub_8041168: _0804118A: ldrh r4, [r7, 0x2] mov r0, r8 - bl GetWeather + bl GetApparentWeather adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -2490,7 +2490,7 @@ _0804148E: cmp r0, 0x97 bne _080414A4 adds r0, r4, 0 - bl GetWeather + bl GetApparentWeather lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -2523,7 +2523,7 @@ sub_80414C0: cmp r0, 0x9C bne _080414DC adds r0, r5, 0 - bl GetMapTileForDungeonEntity_2 + bl GetTileAtEntitySafe bl IsTileGround lsls r0, 24 cmp r0, 0 @@ -2533,7 +2533,7 @@ _080414DC: cmp r0, 0x8 bne _080414F6 adds r0, r5, 0 - bl GetMapTileForDungeonEntity_2 + bl GetTileAtEntitySafe ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -2741,7 +2741,7 @@ _08041644: movs r5, 0 b _0804167C .align 2, 0 -_0804166C: .4byte gDungeonGlobalData +_0804166C: .4byte gDungeon _08041670: .4byte 0x000181f2 _08041674: movs r0, 0x42 @@ -2913,7 +2913,7 @@ sub_804178C: ldr r6, _080417B8 b _080417C4 .align 2, 0 -_080417B0: .4byte gDungeonGlobalData +_080417B0: .4byte gDungeon _080417B4: .4byte 0x00018204 _080417B8: .4byte 0x000003e7 _080417BC: @@ -3010,7 +3010,7 @@ _08041878: .4byte gUnknown_203B40D thumb_func_end sub_804178C thumb_func_start EntityGetStatusSprites - @ int EntityGetStatusSprites(struct DungeonEntity *entity) + @ int EntityGetStatusSprites(struct Entity *entity) EntityGetStatusSprites: ldr r0, [r0, 0x70] movs r1, 0x80 @@ -3058,7 +3058,7 @@ _080418C0: pop {r0} bx r0 .align 2, 0 -_080418CC: .4byte gDungeonGlobalData +_080418CC: .4byte gDungeon _080418D0: .4byte 0x000135cc thumb_func_end sub_8041888 @@ -3311,7 +3311,7 @@ _08041AB8: .4byte gStatusSpriteMasks_ItemStatus _08041ABC: .4byte gStatusSpriteMasks_TransformStatus _08041AC0: .4byte gStatusSpriteMasks_EyesightStatus _08041AC4: .4byte gStatusSpriteMasks_MuzzledStatus -_08041AC8: .4byte gDungeonGlobalData +_08041AC8: .4byte gDungeon _08041ACC: .4byte 0x00000676 thumb_func_end DungeonEntityUpdateStatusSprites diff --git a/asm/code_8041AD0.s b/asm/code_8041AD0.s index a9d04e5d0..96a5ab9c7 100644 --- a/asm/code_8041AD0.s +++ b/asm/code_8041AD0.s @@ -237,7 +237,7 @@ _080423E2: .align 2, 0 _08042428: .4byte 0xffff0000 _0804242C: .4byte 0x0000ffff -_08042430: .4byte gDungeonGlobalData +_08042430: .4byte gDungeon _08042434: .4byte 0x000181f2 _08042438: .4byte 0x000003e7 _0804243C: @@ -334,7 +334,7 @@ _080424A6: .align 2, 0 _080424EC: .4byte 0xffff0000 _080424F0: .4byte 0x0000ffff -_080424F4: .4byte gDungeonGlobalData +_080424F4: .4byte gDungeon _080424F8: .4byte 0x000181f2 _080424FC: .4byte 0x000003e7 _08042500: @@ -508,7 +508,7 @@ _080425CC: .align 2, 0 _0804264C: .4byte 0xffff0000 _08042650: .4byte 0x0000ffff -_08042654: .4byte gDungeonGlobalData +_08042654: .4byte gDungeon _08042658: .4byte 0x000181f2 _0804265C: .4byte 0x00000165 _08042660: .4byte gAdjacentTileOffsets @@ -560,7 +560,7 @@ _080426AC: bx r0 .align 2, 0 _080426B8: .4byte 0x000003e5 -_080426BC: .4byte gDungeonGlobalData +_080426BC: .4byte gDungeon _080426C0: .4byte 0x00000644 _080426C4: .4byte 0x00000155 thumb_func_end sub_804267C @@ -675,7 +675,7 @@ _08042778: movs r0, 0x1 b _080427A6 .align 2, 0 -_08042794: .4byte gDungeonGlobalData +_08042794: .4byte gDungeon _08042798: .4byte 0x0001820a _0804279C: adds r0, r1, 0 @@ -733,7 +733,7 @@ _080427FA: pop {r0} bx r0 .align 2, 0 -_08042808: .4byte gDungeonGlobalData +_08042808: .4byte gDungeon _0804280C: .4byte 0x000135cc _08042810: .4byte gAvailablePokemonNames _08042814: .4byte gPtrFeralFoundItemMessage @@ -753,7 +753,7 @@ sub_8042818: ldr r4, [r0] cmp r4, 0 bne _08042836 - bl GetLeaderEntity + bl GetLeader adds r4, r0, 0 _08042836: ldr r1, _0804287C @@ -775,7 +775,7 @@ _0804284A: blt _08042896 cmp r7, 0 beq _08042888 - bl IsBossBattle + bl IsBossFight lsls r0, 24 cmp r0, 0 bne _08042888 @@ -785,7 +785,7 @@ _0804284A: bl sub_804151C b _08042896 .align 2, 0 -_08042874: .4byte gDungeonGlobalData +_08042874: .4byte gDungeon _08042878: .4byte 0x000181f8 _0804287C: .4byte gUnknown_80F682C _08042880: .4byte 0x000003e5 diff --git a/asm/code_80428A0.s b/asm/code_80428A0.s index c8dca682d..e56420d74 100644 --- a/asm/code_80428A0.s +++ b/asm/code_80428A0.s @@ -18,7 +18,7 @@ sub_8042B34: adds r6, r2, 0 movs r0, 0 mov r8, r0 - bl xxx_call_GetLeaderEntity + bl xxx_call_GetLeader mov r10, r0 ldr r7, _08042CB0 movs r0, 0xCC @@ -85,7 +85,7 @@ _08042BCC: asrs r0, 8 strh r0, [r1, 0xE] movs r0, 0x2 - bl RandomCapped + bl RandInt ldr r1, [r7] lsls r4, r5, 2 adds r3, r1, 0 @@ -104,7 +104,7 @@ _08042BCC: adds r1, r0 str r1, [r3] movs r0, 0xF0 - bl RandomCapped + bl RandInt ldr r1, [r7] adds r1, r4 adds r0, 0x98 @@ -112,7 +112,7 @@ _08042BCC: strh r0, [r1] lsls r0, r5, 1 adds r0, 0x8 - bl RandomCapped + bl RandInt ldr r1, [r7] adds r2, r1, r4 adds r3, r0, 0 @@ -294,7 +294,7 @@ _08042D56: pop {r1} bx r1 .align 2, 0 -_08042D74: .4byte gDungeonGlobalData +_08042D74: .4byte gDungeon _08042D78: .4byte 0x000181f0 thumb_func_end sub_8042CC0 @@ -373,7 +373,7 @@ _08042DE4: str r0, [r4, 0x8] b _08042E14 .align 2, 0 -_08042E04: .4byte gDungeonGlobalData +_08042E04: .4byte gDungeon _08042E08: .4byte 0x000005c4 _08042E0C: adds r3, 0x10 @@ -408,7 +408,7 @@ _08042E24: movs r0, 0x1 b _08042E56 .align 2, 0 -_08042E44: .4byte gDungeonGlobalData +_08042E44: .4byte gDungeon _08042E48: .4byte 0x000005c4 _08042E4C: adds r4, 0x10 @@ -452,7 +452,7 @@ _08042E82: pop {r0} bx r0 .align 2, 0 -_08042E90: .4byte gDungeonGlobalData +_08042E90: .4byte gDungeon _08042E94: .4byte 0x000005c4 thumb_func_end sub_8042E5C @@ -479,7 +479,7 @@ _08042EA6: pop {r0} bx r0 .align 2, 0 -_08042EC0: .4byte gDungeonGlobalData +_08042EC0: .4byte gDungeon _08042EC4: .4byte 0x000005c4 thumb_func_end sub_8042E98 @@ -563,7 +563,7 @@ _08042F4A: pop {r0} bx r0 .align 2, 0 -_08042F5C: .4byte gDungeonGlobalData +_08042F5C: .4byte gDungeon _08042F60: .4byte 0x000005c4 _08042F64: .4byte 0xffff0000 _08042F68: .4byte 0x0000ffff @@ -768,7 +768,7 @@ _080430D8: .align 2, 0 _0804310C: .4byte gUnknown_203B40C _08043110: .4byte gUnknown_203B41C -_08043114: .4byte gDungeonGlobalData +_08043114: .4byte gDungeon _08043118: .4byte 0x0001cedb _0804311C: .4byte gUnknown_203B410 _08043120: .4byte 0x0000064c @@ -815,11 +815,11 @@ _0804315E: b _080431AC .align 2, 0 _0804318C: .4byte 0x00000644 -_08043190: .4byte gDungeonGlobalData +_08043190: .4byte gDungeon _08043194: .4byte 0x00000674 _08043198: .4byte 0x0000067c _0804319C: - bl Random + bl Rand32Bit ldr r2, [r4] ldr r1, _08043208 adds r2, r1 @@ -872,7 +872,7 @@ _080431DC: .align 2, 0 _08043208: .4byte 0x0000067c _0804320C: .4byte 0x00ffffff -_08043210: .4byte gDungeonGlobalData +_08043210: .4byte gDungeon _08043214: .4byte 0x00000644 _08043218: .4byte gUnknown_202DE30 _0804321C: .4byte 0x0000067b @@ -946,7 +946,7 @@ _0804326A: b _080432F4 .align 2, 0 _080432B4: .4byte gUnknown_80FEC7C -_080432B8: .4byte gDungeonGlobalData +_080432B8: .4byte gDungeon _080432BC: .4byte 0x00000644 _080432C0: .4byte gUnknown_202DE30 _080432C4: .4byte gUnknown_81002B8 @@ -958,7 +958,7 @@ _080432CC: .4byte 0x00000226 _080432D0: ldr r4, _080432E4 _080432D2: - bl GetLeaderEntity + bl GetLeader adds r2, r0, 0 adds r0, r4, 0 movs r1, 0 @@ -1007,7 +1007,7 @@ _08043318: movs r0, 0xA strh r0, [r1] ldr r0, [r2] - bl SetDungeonRNG + bl InitDungeonRNG _08043346: ldr r0, [r4] ldr r1, _080434C4 @@ -1020,7 +1020,7 @@ _08043346: adds r0, r2 strb r6, [r0] movs r0, 0x4 - bl DungeonRandomCapped + bl DungeonRandInt ldr r1, [r4] ldr r3, _080434CC adds r1, r3 @@ -1191,8 +1191,8 @@ _080434A6: b _0804351C .align 2, 0 _080434B8: .4byte gPtrFinalChanceMessage -_080434BC: .4byte gLeaderPokemon -_080434C0: .4byte gDungeonGlobalData +_080434BC: .4byte gLeaderPointer +_080434C0: .4byte gDungeon _080434C4: .4byte 0x000037ec _080434C8: .4byte 0x000037fc _080434CC: .4byte 0x000037fd @@ -1277,7 +1277,7 @@ _08043594: b _080435D4 .align 2, 0 _080435B4: .4byte gDungeonMusic -_080435B8: .4byte gDungeonGlobalData +_080435B8: .4byte gDungeon _080435BC: .4byte 0x00003a10 _080435C0: .4byte gUnknown_202EDC8 _080435C4: .4byte 0x00000644 @@ -1326,7 +1326,7 @@ _080435D4: bl sub_804AAAC b _08043648 .align 2, 0 -_0804362C: .4byte gDungeonGlobalData +_0804362C: .4byte gDungeon _08043630: .4byte 0x00017b2c _08043634: .4byte 0x00017b38 _08043638: .4byte 0x00017b3c @@ -1373,7 +1373,7 @@ _08043690: b _080436AC .align 2, 0 _080436A0: .4byte gUnknown_203B40C -_080436A4: .4byte gDungeonGlobalData +_080436A4: .4byte gDungeon _080436A8: bl sub_803E7C8 _080436AC: @@ -1437,12 +1437,12 @@ _08043728: strb r0, [r1, 0x5] b _0804374C .align 2, 0 -_08043730: .4byte gDungeonGlobalData +_08043730: .4byte gDungeon _08043734: .4byte 0x0000066c _08043738: .4byte 0x0000066d -_0804373C: .4byte gLeaderPokemon +_0804373C: .4byte gLeaderPointer _08043740: - bl GetLeaderEntity + bl GetLeader bl sub_803F4A0 bl sub_8040A84 _0804374C: @@ -1455,7 +1455,7 @@ _0804374C: bne _0804377C bl sub_807E5AC movs r0, 0 - bl GetWeather + bl GetApparentWeather lsls r0, 24 cmp r0, 0 beq _0804377C @@ -1463,7 +1463,7 @@ _0804374C: bl sub_807E7FC b _0804377C .align 2, 0 -_08043774: .4byte gDungeonGlobalData +_08043774: .4byte gDungeon _08043778: bl TriggerWeatherAbilities _0804377C: @@ -1473,7 +1473,7 @@ _0804377C: b _080437A2 _08043784: bl sub_80427AC - bl GetLeaderEntity + bl GetLeader ldr r2, _08043960 ldr r1, [r2] ldr r3, _08043964 @@ -1504,14 +1504,14 @@ _080437A2: strb r4, [r0] _080437C8: adds r0, r4, 0 - bl RunDungeon + bl RunFractionalTurn movs r4, 0 bl sub_8044B28 lsls r0, 24 cmp r0, 0 beq _080437C8 _080437DA: - bl GetLeaderEntity + bl GetLeader adds r4, r0, 0 bl EntityExists lsls r0, 24 @@ -1553,7 +1553,7 @@ _08043822: bne _08043830 bl sub_806AA70 _08043830: - bl GetLeaderEntity + bl GetLeader bl EntityExists lsls r0, 24 cmp r0, 0 @@ -1651,7 +1651,7 @@ _080438AC: ldrb r0, [r1, 0x6] cmp r0, 0 beq _08043926 - bl GetLeaderEntity + bl GetLeader adds r4, r0, 0 ldr r0, _0804398C ldr r1, [r0] @@ -1691,7 +1691,7 @@ _0804394C: bl sub_8080B30 b _080439A6 .align 2, 0 -_08043960: .4byte gDungeonGlobalData +_08043960: .4byte gDungeon _08043964: .4byte 0x00003a08 _08043968: .4byte 0x00000654 _0804396C: .4byte 0x00018218 @@ -1729,7 +1729,7 @@ _080439C4: bl sub_804700C b _08043AF4 .align 2, 0 -_080439CC: .4byte gDungeonGlobalData +_080439CC: .4byte gDungeon _080439D0: .4byte 0x00000654 _080439D4: ldrb r0, [r1, 0x11] @@ -1739,7 +1739,7 @@ _080439D4: _080439DC: cmp r0, 0x2 bne _08043A00 - bl GetLeaderEntity + bl GetLeader adds r2, r0, 0 ldr r0, _080439F8 movs r1, 0 @@ -1754,7 +1754,7 @@ _080439FC: .4byte 0x0000066e _08043A00: cmp r0, 0x3 bne _08043A24 - bl GetLeaderEntity + bl GetLeader adds r2, r0, 0 ldr r0, _08043A1C movs r1, 0 @@ -1787,7 +1787,7 @@ _08043A2A: ldrb r0, [r0] cmp r0, 0x2 bne _08043A74 - bl GetLeaderEntity + bl GetLeader adds r2, r0, 0 movs r0, 0x8A lsls r0, 2 @@ -1847,7 +1847,7 @@ _08043ABA: bl sub_8097FF8 b _080432FC .align 2, 0 -_08043ACC: .4byte gDungeonGlobalData +_08043ACC: .4byte gDungeon _08043AD0: .4byte 0x0000066e _08043AD4: .4byte 0x00000645 _08043AD8: .4byte 0x0001cec8 @@ -1855,7 +1855,7 @@ _08043ADC: .4byte 0x00000644 _08043AE0: .4byte 0x0000060b _08043AE4: ldr r4, _08043B80 - bl GetLeaderEntity + bl GetLeader adds r2, r0, 0 adds r0, r4, 0 movs r1, 0 @@ -1927,7 +1927,7 @@ _08043B38: .align 2, 0 _08043B80: .4byte 0x00000227 _08043B84: .4byte gUnknown_203B40C -_08043B88: .4byte gDungeonGlobalData +_08043B88: .4byte gDungeon _08043B8C: .4byte 0x0000fffe _08043B90: .4byte 0x00000644 _08043B94: .4byte 0x0000067c @@ -1956,7 +1956,7 @@ _08043BA4: strh r0, [r3] b _08043BE6 .align 2, 0 -_08043BC8: .4byte gDungeonGlobalData +_08043BC8: .4byte gDungeon _08043BCC: cmp r0, 0 bne _08043BDC @@ -1979,7 +1979,7 @@ _08043BE6: strb r0, [r4] b _08043C32 .align 2, 0 -_08043BF4: .4byte gDungeonGlobalData +_08043BF4: .4byte gDungeon _08043BF8: .4byte 0x00000674 _08043BFC: ldr r0, _08043C20 @@ -2082,7 +2082,7 @@ _08043CAC: pop {r0} bx r0 .align 2, 0 -_08043CD0: .4byte gDungeonGlobalData +_08043CD0: .4byte gDungeon _08043CD4: .4byte gUnknown_203B41C thumb_func_end xxx_dungeon_8042F6C @@ -2145,9 +2145,9 @@ sub_8043D10: movs r0, 0x2 b _08043D4C .align 2, 0 -_08043D38: .4byte gDungeonGlobalData +_08043D38: .4byte gDungeon _08043D3C: - bl IsBossBattle + bl IsBossFight lsls r0, 24 cmp r0, 0 bne _08043D4A @@ -2210,7 +2210,7 @@ _08043DA0: movs r0, 0x1 b _08043DAE .align 2, 0 -_08043DA4: .4byte gDungeonGlobalData +_08043DA4: .4byte gDungeon _08043DA8: .4byte 0x0001358c _08043DAC: movs r0, 0 @@ -2299,7 +2299,7 @@ _08043E46: cmp r0, 0 beq _08043E58 adds r0, r5, 0 - bl GetMoveMaxPP + bl GetMoveBasePP strb r0, [r4, 0x4] _08043E58: adds r4, 0x8 @@ -2318,7 +2318,7 @@ _08043E6A: _08043E6E: adds r0, r5, 0 adds r1, r6, 0 - bl GetMapTile_2 + bl GetTileSafe ldr r4, [r0, 0x14] adds r0, r4, 0 bl EntityExists @@ -2354,7 +2354,7 @@ _08043EA0: bx r0 .align 2, 0 _08043EC0: .4byte 0x00000207 -_08043EC4: .4byte gDungeonGlobalData +_08043EC4: .4byte gDungeon _08043EC8: .4byte 0x0001357c _08043ECC: .4byte 0x00000676 thumb_func_end sub_8043D60 @@ -2379,7 +2379,7 @@ _08043EEA: ldrb r0, [r0, 0x10] cmp r0, 0x1 bne _08043F40 - bl GetLeaderEntity + bl GetLeader adds r4, r0, 0 bl EntityExists lsls r0, 24 @@ -2403,7 +2403,7 @@ _08043F20: ldr r1, _08043F3C b _08043FAC .align 2, 0 -_08043F2C: .4byte gDungeonGlobalData +_08043F2C: .4byte gDungeon _08043F30: .4byte gAvailablePokemonNames _08043F34: .4byte 0x000005f4 _08043F38: .4byte gUnknown_80F89B4 @@ -2411,7 +2411,7 @@ _08043F3C: .4byte 0x0000021f _08043F40: cmp r0, 0x2 bne _08043F74 - bl GetLeaderEntity + bl GetLeader adds r4, r0, 0 bl EntityExists lsls r0, 24 @@ -2433,7 +2433,7 @@ _08043F70: .4byte gUnknown_80F89D4 _08043F74: cmp r0, 0x3 bne _08043FB6 - bl GetLeaderEntity + bl GetLeader adds r4, r0, 0 bl EntityExists lsls r0, 24 @@ -2730,7 +2730,7 @@ _080441A4: pop {r0} bx r0 .align 2, 0 -_080441AC: .4byte gDungeonGlobalData +_080441AC: .4byte gDungeon _080441B0: .4byte 0x00000644 _080441B4: .4byte gTeamInventory_203B460 _080441B8: .4byte gRecruitedPokemonRef diff --git a/asm/code_8044210.s b/asm/code_8044210.s index fd5b052b5..1c66c5c52 100644 --- a/asm/code_8044210.s +++ b/asm/code_8044210.s @@ -13,7 +13,7 @@ sub_8044574: mov r5, r8 push {r5-r7} sub sp, 0x44 - bl GetLeaderEntity + bl GetLeader mov r10, r0 movs r7, 0 mov r0, sp @@ -54,7 +54,7 @@ _08044592: adds r0, r6, r2 strb r4, [r0] adds r0, r5, 0 - bl GetMovementSpeed + bl GetSpeedStatus mov r3, r9 ldr r1, [r3] movs r2, 0xCC @@ -99,7 +99,7 @@ _08044592: strh r0, [r6] b _080446A4 .align 2, 0 -_08044634: .4byte gDungeonGlobalData +_08044634: .4byte gDungeon _08044638: .4byte 0x0001357c _0804463C: .4byte gSpeedTurns _08044640: .4byte 0x0000bfff @@ -127,7 +127,7 @@ _0804466E: bgt _080446A4 adds r0, r5, 0 movs r1, 0 - bl DecideAction + bl RunMonsterAI bl sub_8044B28 lsls r0, 24 cmp r0, 0 @@ -202,7 +202,7 @@ _080446D4: strb r1, [r2] b _08044760 .align 2, 0 -_08044710: .4byte gDungeonGlobalData +_08044710: .4byte gDungeon _08044714: .4byte 0x0001357c _08044718: mov r2, r10 @@ -266,7 +266,7 @@ _0804476A: strb r6, [r0] adds r0, r4, 0 movs r1, 0x1 - bl DecideAction + bl RunMonsterAI adds r0, r4, 0 bl sub_8072CF4 bl sub_8086AC0 @@ -332,7 +332,7 @@ _08044802: bx r0 .align 2, 0 _08044814: .4byte 0x00000145 -_08044818: .4byte gDungeonGlobalData +_08044818: .4byte gDungeon _0804481C: .4byte 0x0001357c thumb_func_end sub_8044574 diff --git a/asm/code_8044CC8.s b/asm/code_8044CC8.s index cc7692153..e499b21b7 100644 --- a/asm/code_8044CC8.s +++ b/asm/code_8044CC8.s @@ -33,7 +33,7 @@ _08044CEC: ldrsh r0, [r2, r1] movs r3, 0x6 ldrsh r1, [r2, r3] - bl GetMapTile_1 + bl GetTile ldr r0, [r0, 0x14] bl GetItemData b _08044D34 @@ -68,7 +68,7 @@ _08044D34: pop {r1} bx r1 .align 2, 0 -_08044D38: .4byte gDungeonGlobalData +_08044D38: .4byte gDungeon _08044D3C: .4byte 0x0001357c thumb_func_end sub_8044CC8 @@ -145,7 +145,7 @@ sub_8044DA4: ldr r0, [r2] bx lr .align 2, 0 -_08044DC0: .4byte gDungeonGlobalData +_08044DC0: .4byte gDungeon _08044DC4: .4byte 0x0001357c thumb_func_end sub_8044DA4 @@ -157,7 +157,7 @@ sub_8044DC8: cmp r0, 0xE9 beq _08044DE8 ldr r4, _08044DE4 - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 23 adds r0, r4 @@ -220,7 +220,7 @@ sub_8044E24: cmp r0, 0 bne _08044EBA ldrb r0, [r5, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0x5 @@ -327,7 +327,7 @@ _08044F18: lsls r0, r5, 2 adds r0, r1 ldrb r0, [r0, 0x2] - bl GetItemCategory + bl GetItemActionType lsls r0, 3 adds r4, 0x4 adds r0, r4 diff --git a/asm/code_80450F8.s b/asm/code_80450F8.s index 5103e9c94..69a2cc275 100644 --- a/asm/code_80450F8.s +++ b/asm/code_80450F8.s @@ -110,7 +110,7 @@ _080451DE: pop {r0} bx r0 .align 2, 0 -_080451FC: .4byte gDungeonGlobalData +_080451FC: .4byte gDungeon _08045200: .4byte 0x0001357c _08045204: .4byte 0x0001381c _08045208: .4byte gUnknown_202EE70 @@ -162,7 +162,7 @@ _08045248: bl sub_806C51C b _080452A2 .align 2, 0 -_08045274: .4byte gDungeonGlobalData +_08045274: .4byte gDungeon _08045278: .4byte 0x00018210 _0804527C: .4byte 0x0001820a _08045280: .4byte 0x000135cc @@ -265,7 +265,7 @@ _0804533E: pop {r0} bx r0 .align 2, 0 -_08045348: .4byte gDungeonGlobalData +_08045348: .4byte gDungeon _0804534C: .4byte 0x0001357c _08045350: .4byte 0x0001358c _08045354: .4byte 0x00003904 @@ -338,7 +338,7 @@ sub_80453AC: negs r0, r0 mov r9, r0 mov r0, r8 - bl GetPokemonSize + bl GetBodySize lsls r0, 24 lsrs r6, r0, 24 movs r5, 0 @@ -482,7 +482,7 @@ _080454C6: b _080454FE .align 2, 0 _080454DC: .4byte 0x0000069c -_080454E0: .4byte gDungeonGlobalData +_080454E0: .4byte gDungeon _080454E4: .4byte 0x0001357c _080454E8: .4byte 0x00000167 _080454EC: .4byte gUnknown_202EE70 @@ -520,7 +520,7 @@ sub_804550C: negs r0, r0 mov r9, r0 mov r0, r8 - bl GetPokemonSize + bl GetBodySize lsls r0, 24 lsrs r7, r0, 24 movs r5, 0 @@ -675,7 +675,7 @@ _08045636: b _08045672 .align 2, 0 _08045650: .4byte 0x00000ebc -_08045654: .4byte gDungeonGlobalData +_08045654: .4byte gDungeon _08045658: .4byte 0x0001358c _0804565C: .4byte 0x00000167 _08045660: .4byte gUnknown_202EE76 @@ -750,7 +750,7 @@ _080456A2: adds r0, r4, 0 b _080456FA .align 2, 0 -_080456E4: .4byte gDungeonGlobalData +_080456E4: .4byte gDungeon _080456E8: .4byte 0x00003908 _080456EC: .4byte 0x0001371c _080456F0: @@ -792,7 +792,7 @@ sub_8045708: ldrsh r0, [r1, r2] movs r3, 0x2 ldrsh r1, [r1, r3] - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -801,7 +801,7 @@ sub_8045708: b _080457C4 .align 2, 0 _08045744: .4byte gDungeonWaterType -_08045748: .4byte gDungeonGlobalData +_08045748: .4byte gDungeon _0804574C: .4byte 0x00003a0e _08045750: movs r0, 0x3 @@ -872,7 +872,7 @@ _080457C6: pop {r1} bx r1 .align 2, 0 -_080457D4: .4byte gDungeonGlobalData +_080457D4: .4byte gDungeon _080457D8: .4byte 0x0001361c thumb_func_end sub_8045708 @@ -952,12 +952,12 @@ _0804584C: beq _08045880 adds r1, r4, 0x4 adds r0, r2, 0 - bl InSameRoom_2 + bl IsPositionActuallyInSight lsls r0, 24 lsrs r0, 24 b _08045882 .align 2, 0 -_08045874: .4byte gDungeonGlobalData +_08045874: .4byte gDungeon _08045878: .4byte 0x000181e8 _0804587C: .4byte 0x0001820f _08045880: @@ -1024,7 +1024,7 @@ _080458B4: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080458F0: .4byte gDungeonGlobalData +_080458F0: .4byte gDungeon _080458F4: .4byte 0x000181f0 _080458F8: .4byte 0x000181f2 _080458FC: .4byte 0x000181e8 @@ -1073,7 +1073,7 @@ _08045954: adds r0, 0x25 b _08045920 .align 2, 0 -_0804595C: .4byte gDungeonGlobalData +_0804595C: .4byte gDungeon _08045960: .4byte 0x0001820f _08045964: ldr r0, _0804597C @@ -1088,7 +1088,7 @@ _08045964: ldrb r0, [r0] b _0804592E .align 2, 0 -_0804597C: .4byte gDungeonGlobalData +_0804597C: .4byte gDungeon _08045980: .4byte 0x0001820f _08045984: movs r0, 0x1 diff --git a/asm/code_8045A00.s b/asm/code_8045A00.s index 4af790d29..24d090565 100644 --- a/asm/code_8045A00.s +++ b/asm/code_8045A00.s @@ -24,7 +24,7 @@ sub_8045C28: cmp r6, 0 bne _08045C6C movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt ldr r1, _08045C64 ldr r1, [r1] ldr r2, _08045C68 @@ -34,7 +34,7 @@ sub_8045C28: bge _08045C72 b _08045C76 .align 2, 0 -_08045C64: .4byte gDungeonGlobalData +_08045C64: .4byte gDungeon _08045C68: .4byte 0x0001c57e _08045C6C: cmp r6, 0x1 @@ -50,7 +50,7 @@ _08045C76: strb r0, [r5] _08045C7E: adds r0, r4, 0 - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0x6 @@ -70,7 +70,7 @@ _08045CA2: pop {r0} bx r0 .align 2, 0 -_08045CA8: .4byte gDungeonGlobalData +_08045CA8: .4byte gDungeon _08045CAC: .4byte 0x0001c58b thumb_func_end sub_8045C28 @@ -83,10 +83,10 @@ sub_8045CB0: push {r5-r7} sub sp, 0x8 movs r0, 0x38 - bl DungeonRandomCapped + bl DungeonRandInt adds r5, r0, 0 movs r0, 0x20 - bl DungeonRandomCapped + bl DungeonRandInt adds r6, r0, 0 ldr r0, _08045D34 ldr r0, [r0] @@ -115,7 +115,7 @@ _08045CEE: _08045CF6: adds r0, r5, 0 adds r1, r6, 0 - bl GetMapTile_1 + bl GetTile adds r2, r0, 0 ldrh r0, [r2] movs r3, 0x80 @@ -144,7 +144,7 @@ _08045CF6: movs r0, 0x1 b _08045D58 .align 2, 0 -_08045D34: .4byte gDungeonGlobalData +_08045D34: .4byte gDungeon _08045D38: .4byte 0x00003904 _08045D3C: movs r0, 0x3 @@ -222,7 +222,7 @@ sub_8045DB4: lsls r1, 24 lsrs r1, 24 str r1, [sp, 0xA8] - bl GetLeaderEntity + bl GetLeader adds r7, r0, 0 ldr r0, [r7, 0x70] str r0, [sp, 0xAC] @@ -231,7 +231,7 @@ sub_8045DB4: ldrsh r0, [r1, r2] movs r3, 0x2 ldrsh r1, [r1, r3] - bl GetMapTile_1 + bl GetTile ldr r4, [r0, 0x14] cmp r4, 0 bne _08045DE8 @@ -255,7 +255,7 @@ _08045DF4: _08045E08: adds r0, r7, 0 movs r1, 0x1 - bl ShouldAvoidEnemiesAndShowEffect + bl ShouldMonsterRunAwayAndShowEffect lsls r0, 24 cmp r0, 0 beq _08045E40 @@ -279,7 +279,7 @@ _08045E38: .4byte gAvailablePokemonNames _08045E3C: .4byte gUnknown_80F8F88 _08045E40: ldrb r0, [r5, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0x6 @@ -325,7 +325,7 @@ _08045E94: mov r8, r2 b _08045EC4 .align 2, 0 -_08045EA8: .4byte gDungeonGlobalData +_08045EA8: .4byte gDungeon _08045EAC: .4byte 0x0000065b _08045EB0: .4byte gTeamInventory_203B460 _08045EB4: @@ -647,7 +647,7 @@ _08046110: ldrsh r0, [r5, r1] movs r2, 0x2 ldrsh r1, [r5, r2] - bl GetMapTile_2 + bl GetTileSafe str r4, [r0, 0x14] ldrh r1, [r0] movs r0, 0x20 @@ -673,7 +673,7 @@ _08046110: ldr r1, _0804616C b _0804617E .align 2, 0 -_08046168: .4byte gDungeonGlobalData +_08046168: .4byte gDungeon _0804616C: .4byte 0x0000068c _08046170: adds r0, r6, 0 @@ -718,7 +718,7 @@ _080461B6: pop {r1} bx r1 .align 2, 0 -_080461BC: .4byte gDungeonGlobalData +_080461BC: .4byte gDungeon _080461C0: .4byte 0x0001361c _080461C4: .4byte 0x00003904 thumb_func_end sub_80460F8 @@ -733,7 +733,7 @@ sub_80461C8: ldrsh r0, [r2, r1] movs r3, 0x2 ldrsh r1, [r2, r3] - bl GetMapTile_2 + bl GetTileSafe adds r6, r0, 0 ldr r5, [r6, 0x14] cmp r5, 0 @@ -774,7 +774,7 @@ _080461F2: adds r2, r1 b _08046248 .align 2, 0 -_08046230: .4byte gDungeonGlobalData +_08046230: .4byte gDungeon _08046234: .4byte 0x0000068c _08046238: adds r0, r4, 0 @@ -822,7 +822,7 @@ _08046284: pop {r1} bx r1 .align 2, 0 -_0804628C: .4byte gDungeonGlobalData +_0804628C: .4byte gDungeon _08046290: .4byte 0x0001361c _08046294: .4byte 0x00003904 thumb_func_end sub_80461C8 @@ -876,7 +876,7 @@ _080462E4: ldrsh r0, [r4, r1] movs r2, 0x6 ldrsh r1, [r4, r2] - bl GetMapTile_1 + bl GetTile ldrh r0, [r0] movs r1, 0x3 ands r1, r0 @@ -975,7 +975,7 @@ _08046380: strh r0, [r5, 0x4] b _08046408 .align 2, 0 -_080463A4: .4byte gDungeonGlobalData +_080463A4: .4byte gDungeon _080463A8: .4byte 0x000181f0 _080463AC: .4byte 0x000181f2 _080463B0: .4byte gUnknown_202EDC0 @@ -1102,7 +1102,7 @@ sub_80464AC: push {r4,lr} ldr r4, _080464C4 ldrb r0, [r0, 0x2] - bl GetItemCategory + bl GetItemActionType lsls r0, 3 adds r0, r4 ldr r0, [r0] @@ -1181,7 +1181,7 @@ sub_804652C: ldrsh r0, [r5, r1] movs r2, 0x6 ldrsh r1, [r5, r2] - bl GetMapTile_1 + bl GetTile adds r4, r0, 0 ldr r0, [r4, 0x14] movs r3, 0 @@ -1248,7 +1248,7 @@ _080465A8: movs r2, 0 ldrsh r0, [r0, r2] asrs r1, 16 - bl GetMapTile_1 + bl GetTile adds r4, r0, 0 ldrh r1, [r4] movs r6, 0x3 @@ -1319,7 +1319,7 @@ _08046644: ldrsh r0, [r0, r3] movs r2, 0x2 ldrsh r1, [r4, r2] - bl GetMapTile_1 + bl GetTile ldrh r0, [r0] movs r1, 0x3 ands r1, r0 @@ -1566,7 +1566,7 @@ _08046822: pop {r0} bx r0 .align 2, 0 -_08046858: .4byte gDungeonGlobalData +_08046858: .4byte gDungeon _0804685C: .4byte 0x00018210 thumb_func_end sub_8046734 @@ -1688,7 +1688,7 @@ _08046904: lsls r0, r4, 16 asrs r0, 16 asrs r1, r4, 16 - bl GetMapTile_1 + bl GetTile adds r2, r0, 0 ldrh r1, [r2] movs r0, 0x3 @@ -2108,7 +2108,7 @@ _08046C7C: .align 2, 0 _08046C90: .4byte gUnknown_80F947C _08046C94: .4byte 0x00000524 -_08046C98: .4byte gDungeonGlobalData +_08046C98: .4byte gDungeon _08046C9C: .4byte 0x00018210 _08046CA0: .4byte 0x0000053c _08046CA4: .4byte 0x000004b4 diff --git a/asm/code_8046CE4.s b/asm/code_8046CE4.s index b3a03a0fa..92bc9610f 100644 --- a/asm/code_8046CE4.s +++ b/asm/code_8046CE4.s @@ -97,7 +97,7 @@ sub_8047190: bne _08047214 mov r0, r9 movs r1, 0x2A - bl HasItem + bl HasHeldItem lsls r0, 24 lsrs r0, 24 negs r1, r0 @@ -139,7 +139,7 @@ _08047228: movs r3, 0x2 ldrsh r2, [r2, r3] adds r1, r2 - bl GetMapTile_1 + bl GetTile adds r5, r0, 0 ldrh r1, [r5] movs r0, 0x3 @@ -171,7 +171,7 @@ _0804727A: ldrsh r1, [r1, r3] adds r1, r2 str r2, [sp, 0x234] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -215,7 +215,7 @@ _080472E0: b _0804744C .align 2, 0 _080472E8: .4byte 0xfffffdc0 -_080472EC: .4byte gDungeonGlobalData +_080472EC: .4byte gDungeon _080472F0: .4byte 0x00018210 _080472F4: .4byte 0x0001c05e _080472F8: .4byte gAdjacentTileOffsets @@ -292,7 +292,7 @@ _0804737A: ldrsh r0, [r7, r4] movs r2, 0x6 ldrsh r1, [r7, r2] - bl GetMapTile_1 + bl GetTile adds r5, r0, 0 ldrh r1, [r5] movs r0, 0x3 @@ -319,7 +319,7 @@ _080473A2: bne _080473CE ldr r0, [r5, 0x10] movs r1, 0x26 - bl HasItem + bl HasHeldItem lsls r0, 24 lsrs r0, 24 negs r1, r0 @@ -444,7 +444,7 @@ _080474A6: b _08047524 .align 2, 0 _080474B8: .4byte 0x00000195 -_080474BC: .4byte gDungeonGlobalData +_080474BC: .4byte gDungeon _080474C0: .4byte 0x0001c05e _080474C4: .4byte gAvailablePokemonNames _080474C8: .4byte gUnknown_202DE58 @@ -638,7 +638,7 @@ sub_80475C4: bne _0804765E ldr r0, [sp, 0x10] movs r1, 0x2A - bl HasItem + bl HasHeldItem lsls r0, 24 lsrs r0, 24 negs r1, r0 @@ -848,7 +848,7 @@ _080477D0: ldrsh r0, [r3, r1] movs r2, 0x2 ldrsh r1, [r3, r2] - bl GetMapTile_1 + bl GetTile adds r4, r0, 0 ldr r0, [r4, 0x10] cmp r0, 0 @@ -863,7 +863,7 @@ _080477FA: bne _08047834 ldr r0, [r4, 0x10] movs r1, 0x26 - bl HasItem + bl HasHeldItem lsls r0, 24 lsrs r0, 24 negs r1, r0 @@ -892,7 +892,7 @@ _08047834: ands r6, r0 b _0804786E .align 2, 0 -_08047848: .4byte gDungeonGlobalData +_08047848: .4byte gDungeon _0804784C: .4byte 0x00018210 _08047850: .4byte 0x0001c05e _08047854: .4byte 0x00000195 @@ -1020,7 +1020,7 @@ _0804794C: b _080479B0 _08047950: movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt ldr r1, _08047980 movs r2, 0 ldrsh r1, [r1, r2] @@ -1035,7 +1035,7 @@ _08047964: bne _08047994 adds r0, r4, 0 movs r1, 0x28 - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _08047984 @@ -1046,7 +1046,7 @@ _08047980: .4byte gUnknown_80F4FA2 _08047984: adds r0, r4, 0 movs r1, 0x2A - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _08047994 @@ -1058,7 +1058,7 @@ _08047994: bne _080479AE adds r0, r5, 0 movs r1, 0x25 - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _080479AE @@ -1101,18 +1101,18 @@ sub_80479B8: cmp r0, 0 beq _08047A20 ldrb r0, [r7, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 cmp r0, 0 beq _08047A3C ldrb r0, [r7, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 beq _08047A3C ldrb r0, [r7, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -1124,14 +1124,14 @@ sub_80479B8: b _08047A3C _08047A20: ldrb r0, [r7, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 beq _08047A3C adds r0, r5, 0 movs r1, 0x2 - bl HasIQSkill + bl IQSkillIsEnabled lsls r0, 24 lsrs r0, 24 mov r8, r0 @@ -1247,7 +1247,7 @@ _08047B30: bl sub_804245C _08047B38: ldrb r0, [r7, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 @@ -1261,13 +1261,13 @@ _08047B38: bl sub_8078B5C _08047B56: ldrb r0, [r7, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0x5 beq _08047B72 ldrb r0, [r7, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0xA diff --git a/asm/code_8048480.s b/asm/code_8048480.s index d9ee2d60c..a7a2762ae 100644 --- a/asm/code_8048480.s +++ b/asm/code_8048480.s @@ -216,7 +216,7 @@ sub_8048950: mov r10, r0 mov r8, r1 ldrb r0, [r1, 0x2] - bl GetItemMove + bl GetItemMoveID lsls r0, 16 lsrs r0, 16 mov r9, r0 @@ -294,7 +294,7 @@ _080489F6: movs r0, 0x1 b _08048A06 .align 2, 0 -_080489FC: .4byte gDungeonGlobalData +_080489FC: .4byte gDungeon _08048A00: .4byte 0x0001357c _08048A04: movs r0, 0 @@ -381,7 +381,7 @@ _08048A90: ldr r0, _08048AAC b _08048A80 .align 2, 0 -_08048AA4: .4byte gDungeonGlobalData +_08048AA4: .4byte gDungeon _08048AA8: .4byte 0x0000065c _08048AAC: .4byte gUnknown_80F9BD8 _08048AB0: @@ -447,7 +447,7 @@ _08048B20: movs r0, 0x1 b _08048B36 .align 2, 0 -_08048B24: .4byte gDungeonGlobalData +_08048B24: .4byte gDungeon _08048B28: .4byte 0x0001357c _08048B2C: .4byte gRecruitedPokemonRef _08048B30: .4byte 0x00008df8 @@ -494,7 +494,7 @@ _08048B4A: b _08048B8E .align 2, 0 _08048B84: .4byte 0x00000157 -_08048B88: .4byte gDungeonGlobalData +_08048B88: .4byte gDungeon _08048B8C: movs r0, 0 _08048B8E: @@ -580,7 +580,7 @@ _08048C24: movs r0, 0x1 b _08048C32 .align 2, 0 -_08048C28: .4byte gDungeonGlobalData +_08048C28: .4byte gDungeon _08048C2C: .4byte 0x0001357c _08048C30: movs r0, 0 @@ -671,7 +671,7 @@ _08048CD0: bl sub_8063B54 _08048CE2: adds r0, r6, 0 - bl ResetAction + bl ClearMonsterActionFields movs r0, 0x1 str r0, [sp] adds r0, r4, 0 @@ -704,7 +704,7 @@ _08048CE2: bl sub_8044DF0 adds r0, r6, 0 movs r1, 0x2C - bl SetAction + bl SetMonsterActionFields b _08048D3E .align 2, 0 _08048D34: .4byte gUnknown_80FECA0 diff --git a/asm/code_80495E4.s b/asm/code_80495E4.s index bbe2ca012..3363cbe25 100644 --- a/asm/code_80495E4.s +++ b/asm/code_80495E4.s @@ -32,7 +32,7 @@ _080498CA: b _08049B72 _080498D0: movs r7, 0 - bl GetMapTile_1 + bl GetTile ldrh r0, [r0] movs r1, 0x3 mov r8, r1 @@ -55,7 +55,7 @@ _080498D0: bgt _0804991C mov r0, r10 mov r1, r9 - bl GetMapTile_2 + bl GetTileSafe ldr r2, [r4] mov r3, r9 lsls r1, r3, 1 @@ -64,12 +64,12 @@ _080498D0: add r1, r10 b _08049B68 .align 2, 0 -_08049914: .4byte gDungeonGlobalData +_08049914: .4byte gDungeon _08049918: .4byte 0x00003a0e _0804991C: mov r0, r10 mov r1, r9 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0 b _08049B70 _08049928: @@ -78,7 +78,7 @@ _08049928: str r0, [sp, 0x24] mov r0, r10 ldr r1, [sp, 0x24] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] mov r0, r8 ands r0, r1 @@ -87,14 +87,14 @@ _08049928: adds r4, 0x1 adds r0, r4, 0 ldr r1, [sp, 0x24] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] mov r0, r8 ands r0, r1 str r0, [sp, 0x4] adds r0, r4, 0 mov r1, r9 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] mov r0, r8 ands r0, r1 @@ -103,14 +103,14 @@ _08049928: subs r5, 0x1 adds r0, r4, 0 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] mov r0, r8 ands r0, r1 str r0, [sp, 0xC] mov r0, r10 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] mov r0, r8 ands r0, r1 @@ -118,21 +118,21 @@ _08049928: subs r4, 0x2 adds r0, r4, 0 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] mov r0, r8 ands r0, r1 str r0, [sp, 0x14] adds r0, r4, 0 mov r1, r9 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] mov r0, r8 ands r0, r1 str r0, [sp, 0x18] adds r0, r4, 0 ldr r1, [sp, 0x24] - bl GetMapTile_1 + bl GetTile ldrh r0, [r0] mov r1, r8 ands r1, r0 @@ -368,13 +368,13 @@ _08049B3A: orrs r7, r0 _08049B3C: movs r0, 0x4 - bl RandomCapped + bl RandInt adds r4, r0, 0 cmp r4, 0x3 bne _08049B4A movs r4, 0 _08049B4A: - bl IsBossBattle + bl IsBossFight lsls r0, 24 cmp r0, 0 beq _08049B56 @@ -382,7 +382,7 @@ _08049B4A: _08049B56: mov r0, r10 mov r1, r9 - bl GetMapTile_2 + bl GetTileSafe ldr r1, _08049B84 ldr r2, [r1] lsls r1, r7, 1 @@ -405,7 +405,7 @@ _08049B72: pop {r0} bx r0 .align 2, 0 -_08049B84: .4byte gDungeonGlobalData +_08049B84: .4byte gDungeon _08049B88: .4byte 0x00012c24 thumb_func_end sub_80498A8 @@ -451,7 +451,7 @@ sub_8049BB0: mov r9, r0 mov r0, r10 mov r1, r9 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r4, 0x3 adds r0, r4, 0 @@ -462,14 +462,14 @@ sub_8049BB0: adds r5, 0x1 adds r0, r5, 0 mov r1, r9 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] adds r0, r4, 0 ands r0, r1 str r0, [r6, 0x4] adds r0, r5, 0 ldr r1, [sp, 0x40] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] adds r0, r4, 0 ands r0, r1 @@ -479,14 +479,14 @@ sub_8049BB0: mov r8, r0 adds r0, r5, 0 mov r1, r8 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] adds r0, r4, 0 ands r0, r1 str r0, [r6, 0xC] mov r0, r10 mov r1, r8 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] adds r0, r4, 0 ands r0, r1 @@ -494,21 +494,21 @@ sub_8049BB0: subs r5, 0x2 adds r0, r5, 0 mov r1, r8 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] adds r0, r4, 0 ands r0, r1 str r0, [r6, 0x14] adds r0, r5, 0 ldr r1, [sp, 0x40] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] adds r0, r4, 0 ands r0, r1 str r0, [r6, 0x18] adds r0, r5, 0 mov r1, r9 - bl GetMapTile_1 + bl GetTile ldrh r0, [r0] ands r4, r0 str r4, [r6, 0x1C] @@ -828,22 +828,22 @@ _08049E84: _08049E94: mov r0, r10 ldr r1, [sp, 0x40] - bl GetMapTile_2 + bl GetTileSafe ldr r1, [sp] strb r1, [r0, 0xA] mov r0, r10 ldr r1, [sp, 0x40] - bl GetMapTile_2 + bl GetTileSafe ldr r1, [sp, 0x4] strb r1, [r0, 0xB] mov r0, r10 ldr r1, [sp, 0x40] - bl GetMapTile_2 + bl GetTileSafe ldr r1, [sp, 0x8] strb r1, [r0, 0xC] mov r0, r10 ldr r1, [sp, 0x40] - bl GetMapTile_2 + bl GetTileSafe ldr r1, [sp, 0xC] strb r1, [r0, 0xD] add sp, 0x44 @@ -924,7 +924,7 @@ _08049F1C: ldr r0, [sp, 0x10] ldr r1, [sp, 0x14] str r3, [sp, 0x34] - bl GetMapTile_1 + bl GetTile adds r5, r0, 0 ldrh r2, [r5] movs r1, 0x80 @@ -940,7 +940,7 @@ _08049F1C: adds r2, r6, r0 b _0804A06A .align 2, 0 -_08049F78: .4byte gDungeonGlobalData +_08049F78: .4byte gDungeon _08049F7C: .4byte 0x00018210 _08049F80: .4byte 0x0001820f _08049F84: .4byte 0x000181f0 @@ -1111,7 +1111,7 @@ _0804A098: ldr r0, [sp, 0x10] adds r1, r2, 0 str r3, [sp, 0x34] - bl GetMapTile_1 + bl GetTile adds r5, r0, 0 ldrh r2, [r5] movs r0, 0x20 @@ -1324,7 +1324,7 @@ sub_804A1F0: adds r6, r3, r0 ldr r0, [sp, 0xC] mov r1, r10 - bl GetMapTile_1 + bl GetTile adds r5, r0, 0 ldrh r1, [r5] movs r0, 0x20 @@ -1337,7 +1337,7 @@ sub_804A1F0: adds r2, r7, r0 b _0804A356 .align 2, 0 -_0804A284: .4byte gDungeonGlobalData +_0804A284: .4byte gDungeon _0804A288: .4byte 0x00018210 _0804A28C: .4byte 0x0001820f _0804A290: .4byte 0x000181f0 @@ -1474,7 +1474,7 @@ _0804A386: ldr r6, [sp, 0x10] ldr r0, [sp, 0xC] mov r1, r10 - bl GetMapTile_1 + bl GetTile adds r5, r0, 0 ldrh r1, [r5] movs r0, 0x20 @@ -1672,7 +1672,7 @@ sub_804A49C: mov r3, r9 adds r6, r3, r0 mov r0, r10 - bl GetMapTile_1 + bl GetTile adds r5, r0, 0 ldrh r1, [r5] movs r0, 0x20 @@ -1685,7 +1685,7 @@ sub_804A49C: adds r2, r7, r0 b _0804A5DA .align 2, 0 -_0804A52C: .4byte gDungeonGlobalData +_0804A52C: .4byte gDungeon _0804A530: .4byte 0x00018210 _0804A534: .4byte 0x0001820f _0804A538: .4byte gUnknown_80F6A4A @@ -1807,7 +1807,7 @@ _0804A60C: adds r6, r0, r3 mov r0, r10 ldr r1, [sp, 0xC] - bl GetMapTile_1 + bl GetTile adds r5, r0, 0 ldrh r1, [r5] movs r0, 0x20 @@ -1963,7 +1963,7 @@ sub_804A728: ldr r6, _0804A814 ldr r0, [r6] mov r8, r0 - bl GetLeaderEntity + bl GetLeader str r0, [sp, 0x24] ldr r0, _0804A818 add r0, r8 @@ -2066,7 +2066,7 @@ _0804A7AC: str r1, [sp, 0x38] b _0804A8FC .align 2, 0 -_0804A814: .4byte gDungeonGlobalData +_0804A814: .4byte gDungeon _0804A818: .4byte 0x000181f0 _0804A81C: .4byte 0x0001821a _0804A820: .4byte gAdjacentTileOffsets @@ -2400,7 +2400,7 @@ _0804AA78: bx r0 .align 2, 0 _0804AAA0: .4byte gUnknown_202B038 -_0804AAA4: .4byte gDungeonGlobalData +_0804AAA4: .4byte gDungeon _0804AAA8: .4byte 0x0001821a thumb_func_end sub_804AA60 @@ -2415,7 +2415,7 @@ _0804AAB2: _0804AAB6: adds r0, r4, 0 adds r1, r5, 0 - bl GetMapTile_2 + bl GetTileSafe strh r7, [r0, 0x4] adds r4, 0x1 cmp r4, 0x37 @@ -2482,7 +2482,7 @@ _0804AB2E: _0804AB32: adds r0, r4, 0 adds r1, r6, 0 - bl GetMapTile_1 + bl GetTile ldrb r2, [r0, 0x9] adds r3, r4, 0x1 cmp r2, 0xFF @@ -2591,7 +2591,7 @@ _0804ABE4: pop {r0} bx r0 .align 2, 0 -_0804AC04: .4byte gDungeonGlobalData +_0804AC04: .4byte gDungeon _0804AC08: .4byte 0x0000270f _0804AC0C: .4byte 0x0000d8f1 _0804AC10: .4byte 0x000104c4 @@ -2611,7 +2611,7 @@ sub_804AC20: ldrsh r0, [r4, r1] movs r2, 0x2 ldrsh r1, [r4, r2] - bl GetMapTile_1 + bl GetTile ldrb r1, [r0, 0x9] ldr r0, _0804AC6C ldr r3, [r0] @@ -2641,7 +2641,7 @@ _0804AC52: mov r8, r0 b _0804ACA2 .align 2, 0 -_0804AC6C: .4byte gDungeonGlobalData +_0804AC6C: .4byte gDungeon _0804AC70: .4byte 0x00018209 _0804AC74: lsls r0, r1, 3 @@ -2679,7 +2679,7 @@ _0804ACA8: _0804ACB0: adds r0, r4, 0 adds r1, r5, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0, 0x4] movs r1, 0x3 orrs r1, r2 diff --git a/asm/code_804AFAC.s b/asm/code_804AFAC.s index bf34f1eba..d05ed2593 100644 --- a/asm/code_804AFAC.s +++ b/asm/code_804AFAC.s @@ -166,7 +166,7 @@ _0804B09C: _0804B0E4: b _0804B2F6 .align 2, 0 -_0804B0E8: .4byte gDungeonGlobalData +_0804B0E8: .4byte gDungeon _0804B0EC: .4byte 0x0001c574 _0804B0F0: .4byte gUnknown_80F6DCC _0804B0F4: .4byte gDungeonFileArchive @@ -206,7 +206,7 @@ _0804B16A: beq _0804B17E movs r0, 0x2 movs r1, 0x9 - bl DungeonRandomRange + bl DungeonRandRange adds r5, r0, 0 movs r0, 0x2 movs r1, 0x8 @@ -214,12 +214,12 @@ _0804B16A: _0804B17E: movs r0, 0x2 movs r1, 0x5 - bl DungeonRandomRange + bl DungeonRandRange adds r5, r0, 0 movs r0, 0x2 movs r1, 0x4 _0804B18C: - bl DungeonRandomRange + bl DungeonRandRange adds r4, r0, 0 cmp r5, 0x6 bgt _0804B19A @@ -269,7 +269,7 @@ _0804B1C0: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0804B1EC: .4byte gDungeonGlobalData +_0804B1EC: .4byte gDungeon _0804B1F0: .4byte 0x00003a08 _0804B1F4: .4byte 0x00003a0c _0804B1F8: .4byte gUnknown_202F1D0 @@ -290,7 +290,7 @@ _0804B200: .4byte _0804B250 _0804B230: movs r0, 0x2 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0x2 ldr r1, _0804B24C movs r0, 0x1 @@ -304,7 +304,7 @@ _0804B230: _0804B24C: .4byte gUnknown_202F1AE _0804B250: movs r0, 0x2 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0x2 ldr r1, _0804B270 movs r0, 0x2 @@ -332,7 +332,7 @@ _0804B280: adds r0, r1 b _0804B2BC .align 2, 0 -_0804B290: .4byte gDungeonGlobalData +_0804B290: .4byte gDungeon _0804B294: .4byte 0x00003a08 _0804B298: mov r0, r8 @@ -358,7 +358,7 @@ _0804B2BC: strb r1, [r0] b _0804B2F6 .align 2, 0 -_0804B2C4: .4byte gDungeonGlobalData +_0804B2C4: .4byte gDungeon _0804B2C8: .4byte 0x00003a08 _0804B2CC: mov r0, r8 @@ -405,7 +405,7 @@ _0804B318: _0804B31C: adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile adds r1, r0, 0 ldrh r0, [r1] movs r2, 0x3 @@ -478,7 +478,7 @@ _0804B398: bl sub_80506F0 _0804B3AA: movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt movs r4, 0 mov r3, r8 ldrb r3, [r3, 0x19] @@ -604,7 +604,7 @@ _0804B498: _0804B4B4: .4byte gUnknown_202F1A9 _0804B4B8: .4byte gUnknown_202F1D8 _0804B4BC: .4byte 0x0000ffff -_0804B4C0: .4byte gDungeonGlobalData +_0804B4C0: .4byte gDungeon _0804B4C4: .4byte 0x00003a08 _0804B4C8: .4byte 0x0000e218 _0804B4CC: .4byte 0x0000e21a @@ -646,7 +646,7 @@ _0804B504: pop {r0} bx r0 .align 2, 0 -_0804B524: .4byte gDungeonGlobalData +_0804B524: .4byte gDungeon _0804B528: .4byte 0x00003a0a _0804B52C: .4byte gUnknown_202F1A8 _0804B530: .4byte 0x00013568 @@ -679,7 +679,7 @@ _0804B55A: adds r0, r5, 0 adds r1, r4, 0 str r3, [sp, 0xC] - bl GetMapTile_2 + bl GetTileSafe adds r2, r0, 0 ldrh r0, [r2] ldr r6, _0804B630 @@ -701,7 +701,7 @@ _0804B55A: subs r0, r5, 0x1 adds r1, r4, 0 str r2, [sp, 0x8] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] adds r0, r7, 0 ands r0, r1 @@ -717,7 +717,7 @@ _0804B5A4: adds r0, r5, 0 str r2, [sp, 0x8] str r3, [sp, 0xC] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] mov r0, r8 ands r0, r1 @@ -733,7 +733,7 @@ _0804B5C4: adds r1, r4, 0 str r2, [sp, 0x8] str r3, [sp, 0xC] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] mov r0, r8 ands r0, r1 @@ -750,7 +750,7 @@ _0804B5E4: adds r1, r6, 0 str r2, [sp, 0x8] str r3, [sp, 0xC] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] mov r0, r8 ands r0, r1 @@ -1145,21 +1145,21 @@ _0804B8B4: subs r5, 0x3 movs r0, 0x5 adds r1, r4, 0 - bl DungeonRandomRange + bl DungeonRandRange mov r8, r0 movs r0, 0x4 adds r1, r5, 0 - bl DungeonRandomRange + bl DungeonRandRange adds r6, r0, 0 mov r2, r8 subs r4, r2 adds r0, r4, 0 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 add r4, r10 subs r5, r6 adds r0, r5, 0 - bl DungeonRandomCapped + bl DungeonRandInt ldr r5, _0804B9E4 add r5, sp ldr r3, [r5] @@ -1196,7 +1196,7 @@ _0804B962: ldr r2, _0804B9F0 add r2, sp str r3, [r2] - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] mov r2, r9 ands r1, r2 @@ -1205,7 +1205,7 @@ _0804B962: strh r1, [r0] adds r0, r4, 0 adds r1, r5, 0 - bl GetMapTile_2 + bl GetTileSafe ldr r1, _0804B9D0 add r1, sp ldrb r1, [r1] @@ -1279,12 +1279,12 @@ _0804B9F4: subs r4, r3 subs r4, 0x3 adds r1, r0, r1 - bl DungeonRandomRange + bl DungeonRandRange adds r5, r0, 0 adds r4, r6, r4 adds r0, r6, 0 adds r1, r4, 0 - bl DungeonRandomRange + bl DungeonRandRange adds r4, r0, 0 strh r5, [r7] adds r0, r5, 0x1 @@ -1294,7 +1294,7 @@ _0804B9F4: strh r0, [r7, 0x6] adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] ldr r3, _0804BBF8 adds r2, r3, 0 @@ -1304,7 +1304,7 @@ _0804B9F4: strh r1, [r0] adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0xFF strb r1, [r0, 0x9] _0804BA72: @@ -1756,21 +1756,21 @@ _0804BDD8: subs r5, 0x3 movs r0, 0x5 adds r1, r4, 0 - bl DungeonRandomRange + bl DungeonRandRange mov r8, r0 movs r0, 0x4 adds r1, r5, 0 - bl DungeonRandomRange + bl DungeonRandRange adds r6, r0, 0 mov r0, r8 subs r4, r0 adds r0, r4, 0 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 add r4, r9 subs r5, r6 adds r0, r5, 0 - bl DungeonRandomCapped + bl DungeonRandInt ldr r2, _0804BEF0 add r2, sp ldr r1, [r2] @@ -1805,7 +1805,7 @@ _0804BE84: ldr r2, _0804BEFC add r2, sp str r3, [r2] - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] mov r2, r8 ands r1, r2 @@ -1814,7 +1814,7 @@ _0804BE84: strh r1, [r0] adds r0, r4, 0 adds r1, r5, 0 - bl GetMapTile_2 + bl GetTileSafe ldr r1, _0804BEE0 add r1, sp ldrb r1, [r1] @@ -1887,12 +1887,12 @@ _0804BF00: subs r4, r3 subs r4, 0x3 adds r1, r0, r1 - bl DungeonRandomRange + bl DungeonRandRange adds r5, r0, 0 add r4, r8 mov r0, r8 adds r1, r4, 0 - bl DungeonRandomRange + bl DungeonRandRange adds r4, r0, 0 strh r5, [r7] adds r0, r5, 0x1 @@ -1902,7 +1902,7 @@ _0804BF00: strh r0, [r7, 0x6] adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] ldr r6, _0804C090 adds r2, r6, 0 @@ -1912,7 +1912,7 @@ _0804BF00: strh r1, [r0] adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0xFF strb r1, [r0, 0x9] _0804BF88: @@ -2542,7 +2542,7 @@ _0804C498: movs r2, 0 ldrsh r0, [r3, r2] mov r1, r10 - bl GetMapTile_1 + bl GetTile ldrb r0, [r0, 0x9] mov r9, r0 ldr r5, [sp, 0x8] @@ -2563,7 +2563,7 @@ _0804C4C2: _0804C4CE: adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] ands r1, r7 movs r2, 0x1 @@ -2882,7 +2882,7 @@ _0804C736: bl sub_804C918 b _0804C782 .align 2, 0 -_0804C73C: .4byte gDungeonGlobalData +_0804C73C: .4byte gDungeon _0804C740: .4byte 0x00013568 _0804C744: cmp r7, 0x31 @@ -3012,10 +3012,10 @@ _0804C836: cmp r7, 0x3F bgt _0804C864 adds r0, r5, 0 - bl DungeonRandomCapped + bl DungeonRandInt adds r6, r0, 0 adds r0, r4, 0 - bl DungeonRandomCapped + bl DungeonRandInt mov r8, r0 mov r0, r8 muls r0, r5 @@ -3164,7 +3164,7 @@ _0804C95C: _0804C972: adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] mov r2, r8 ands r1, r2 @@ -3173,7 +3173,7 @@ _0804C972: strh r1, [r0] adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe mov r1, r9 strb r1, [r0, 0x9] adds r4, 0x1 @@ -3308,21 +3308,21 @@ _0804CA3C: subs r5, 0x3 movs r0, 0xA adds r1, r4, 0 - bl DungeonRandomRange + bl DungeonRandRange mov r8, r0 movs r0, 0x10 adds r1, r5, 0 - bl DungeonRandomRange + bl DungeonRandRange adds r6, r0, 0 mov r0, r8 subs r4, r0 adds r0, r4, 0 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 add r4, r10 subs r5, r6 adds r0, r5, 0 - bl DungeonRandomCapped + bl DungeonRandInt ldr r2, _0804CBD4 add r2, sp ldr r1, [r2] @@ -3373,7 +3373,7 @@ _0804CB0C: lsls r2, 5 add r2, sp str r3, [r2] - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] mov r2, r8 ands r1, r2 @@ -3382,7 +3382,7 @@ _0804CB0C: strh r1, [r0] adds r0, r4, 0 adds r1, r5, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0xE5 lsls r1, 5 add r1, sp @@ -3489,10 +3489,10 @@ _0804CC06: b _0804D006 _0804CC0E: ldr r0, [sp, 0x4] - bl DungeonRandomCapped + bl DungeonRandInt mov r9, r0 ldr r0, [sp, 0x8] - bl DungeonRandomCapped + bl DungeonRandInt mov r10, r0 lsls r0, 5 mov r2, r9 @@ -3528,16 +3528,16 @@ _0804CC52: ldrsh r0, [r4, r1] movs r2, 0x4 ldrsh r1, [r4, r2] - bl DungeonRandomRange + bl DungeonRandRange adds r7, r0, 0 movs r3, 0x2 ldrsh r0, [r4, r3] movs r2, 0x6 ldrsh r1, [r4, r2] - bl DungeonRandomRange + bl DungeonRandRange adds r6, r0, 0 movs r0, 0x4 - bl DungeonRandomCapped + bl DungeonRandInt lsls r0, 1 mov r8, r0 ldr r1, [sp, 0x8] @@ -3588,7 +3588,7 @@ _0804CCC0: bge _0804CC84 adds r0, r7, 0 adds r1, r6, 0 - bl GetMapTile_1 + bl GetTile ldrb r5, [r0, 0x9] ldr r1, _0804CCE0 mov r3, r8 @@ -3607,7 +3607,7 @@ _0804CCE4: _0804CCF0: adds r0, r7, 0 adds r1, r6, 0 - bl GetMapTile_1 + bl GetTile ldrb r0, [r0, 0x9] cmp r5, r0 beq _0804CCE4 @@ -3628,7 +3628,7 @@ _0804CD0C: _0804CD18: adds r0, r7, 0 adds r1, r6, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r5, 0x3 adds r0, r5, 0 @@ -3637,7 +3637,7 @@ _0804CD18: beq _0804CD0C adds r0, r7, 0 adds r1, r6, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] adds r0, r5, 0 ands r0, r1 @@ -3692,7 +3692,7 @@ _0804CD72: adds r0, r7, r0 adds r1, r6, r1 str r2, [sp, 0x1C] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r5, 0x3 adds r0, r5, 0 @@ -3713,7 +3713,7 @@ _0804CDA2: ldrsh r1, [r1, r3] adds r0, r7, r0 adds r1, r6, r1 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] adds r0, r5, 0 ands r0, r1 @@ -3722,7 +3722,7 @@ _0804CDA2: b _0804CFFC _0804CDC8: movs r0, 0x3 - bl DungeonRandomCapped + bl DungeonRandInt adds r0, 0x3 str r0, [sp, 0x10] b _0804CFD4 @@ -3731,7 +3731,7 @@ _0804CDD4: .4byte gAdjacentTileOffsets _0804CDD8: adds r0, r7, 0 adds r1, r6, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x10 ands r0, r1 @@ -3744,7 +3744,7 @@ _0804CDEC: adds r4, r7, 0x1 adds r0, r4, 0 adds r1, r6, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] mov r0, r10 ands r0, r1 @@ -3754,7 +3754,7 @@ _0804CDEC: adds r5, r6, 0x1 adds r0, r4, 0 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile ldrh r0, [r0] mov r4, r10 ands r4, r0 @@ -3762,7 +3762,7 @@ _0804CDEC: bne _0804CE32 adds r0, r7, 0 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile ldrh r0, [r0] mov r1, r10 ands r0, r1 @@ -3774,7 +3774,7 @@ _0804CDEC: _0804CE32: mov r0, r9 adds r1, r6, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r5, 0x3 adds r0, r5, 0 @@ -3784,7 +3784,7 @@ _0804CE32: subs r4, r6, 0x1 mov r0, r9 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] adds r0, r5, 0 ands r0, r1 @@ -3792,7 +3792,7 @@ _0804CE32: bne _0804CE70 adds r0, r7, 0 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] adds r0, r5, 0 ands r0, r1 @@ -3804,7 +3804,7 @@ _0804CE70: subs r4, r7, 0x1 adds r0, r4, 0 adds r1, r6, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r2, 0x3 adds r0, r2, 0 @@ -3815,7 +3815,7 @@ _0804CE70: adds r0, r4, 0 adds r1, r5, 0 str r2, [sp, 0x1C] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] ldr r2, [sp, 0x1C] adds r0, r2, 0 @@ -3824,7 +3824,7 @@ _0804CE70: bne _0804CEB6 adds r0, r7, 0 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] ldr r2, [sp, 0x1C] adds r0, r2, 0 @@ -3836,7 +3836,7 @@ _0804CE70: _0804CEB6: adds r0, r4, 0 adds r1, r6, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r2, 0x3 adds r0, r2, 0 @@ -3847,7 +3847,7 @@ _0804CEB6: adds r0, r4, 0 adds r1, r5, 0 str r2, [sp, 0x1C] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] ldr r2, [sp, 0x1C] adds r0, r2, 0 @@ -3856,7 +3856,7 @@ _0804CEB6: bne _0804CEFA adds r0, r7, 0 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] ldr r2, [sp, 0x1C] adds r0, r2, 0 @@ -3871,7 +3871,7 @@ _0804CEFA: beq _0804CF16 adds r0, r7, 0 adds r1, r6, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] ldr r3, _0804D018 adds r2, r3, 0 @@ -3898,7 +3898,7 @@ _0804CF16: adds r0, r7, r0 adds r1, r6, r1 str r2, [sp, 0x1C] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r5, 0x3 adds r0, r5, 0 @@ -3919,7 +3919,7 @@ _0804CF16: ldrsh r1, [r1, r3] adds r0, r7, r0 adds r1, r6, r1 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] adds r0, r5, 0 ands r0, r1 @@ -3931,11 +3931,11 @@ _0804CF16: cmp r0, 0 bne _0804CFC0 movs r0, 0x3 - bl DungeonRandomCapped + bl DungeonRandInt adds r0, 0x3 str r0, [sp, 0x10] movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt mov r8, r4 cmp r0, 0x31 bgt _0804CF96 @@ -3985,7 +3985,7 @@ _0804CFD4: bgt _0804CFFC adds r0, r7, 0 adds r1, r6, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r3, 0x3 mov r10, r3 @@ -4196,7 +4196,7 @@ sub_804D154: mov r8, r2 adds r4, r3, 0 movs r0, 0x3 - bl DungeonRandomCapped + bl DungeonRandInt adds r3, r0, 0 cmp r4, 0 bge _0804D17E @@ -4239,10 +4239,10 @@ _0804D1AC: movs r6, 0x3F _0804D1B0: adds r0, r5, 0 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 adds r0, r5, 0 - bl DungeonRandomCapped + bl DungeonRandInt mov r1, sp adds r2, r1, r4 ldrb r3, [r2] @@ -4357,7 +4357,7 @@ _0804D282: movs r0, 0x64 str r1, [sp, 0x108] str r2, [sp, 0x10C] - bl DungeonRandomCapped + bl DungeonRandInt ldr r1, [sp, 0x108] ldr r2, [sp, 0x10C] cmp r0, 0x3B @@ -4474,11 +4474,11 @@ _0804D352: _0804D35A: movs r0, 0x5 adds r1, r4, 0 - bl DungeonRandomRange + bl DungeonRandRange adds r6, r0, 0 movs r0, 0x4 mov r1, r8 - bl DungeonRandomRange + bl DungeonRandRange adds r5, r0, 0 movs r1, 0x1 adds r0, r6, 0 @@ -4512,12 +4512,12 @@ _0804D394: adds r5, r0, 0 _0804D3A4: subs r0, r4, r6 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 add r4, r9 mov r1, r8 subs r0, r1, r5 - bl DungeonRandomCapped + bl DungeonRandInt ldr r2, [sp, 0x18] adds r0, r2 mov r8, r0 @@ -4544,7 +4544,7 @@ _0804D3E0: adds r0, r4, 0 adds r1, r5, 0 str r3, [sp, 0x34] - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] mov r2, r9 ands r1, r2 @@ -4553,7 +4553,7 @@ _0804D3E0: strh r1, [r0] adds r0, r4, 0 adds r1, r5, 0 - bl GetMapTile_2 + bl GetTileSafe mov r1, sp ldrb r1, [r1, 0x10] strb r1, [r0, 0x9] @@ -4568,7 +4568,7 @@ _0804D40C: _0804D412: movs r5, 0x1 movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt movs r1, 0 cmp r0, 0x4F bgt _0804D422 @@ -4593,7 +4593,7 @@ _0804D43A: cmp r4, 0 beq _0804D44E movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt cmp r0, 0x31 ble _0804D466 movs r4, 0 @@ -4663,14 +4663,14 @@ _0804D4BA: adds r1, r5, r4 subs r1, r3 str r2, [sp, 0x30] - bl DungeonRandomRange + bl DungeonRandRange adds r5, r0, 0 ldr r1, [sp, 0x18] adds r0, r1, r6 add r1, r8 ldr r2, [sp, 0x30] subs r1, r2 - bl DungeonRandomRange + bl DungeonRandRange adds r4, r0, 0 strh r5, [r7] adds r0, r5, 0x1 @@ -4680,7 +4680,7 @@ _0804D4BA: strh r0, [r7, 0x6] adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] ldr r3, _0804D530 adds r2, r3, 0 @@ -4690,7 +4690,7 @@ _0804D4BA: strh r1, [r0] adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0xFE strb r1, [r0, 0x9] _0804D508: @@ -4801,10 +4801,10 @@ sub_804D5B0: adds r5, r2, 0 adds r6, r3, 0 adds r0, r4, 0 - bl DungeonRandomCapped + bl DungeonRandInt mov r8, r0 adds r0, r5, 0 - bl DungeonRandomCapped + bl DungeonRandInt str r0, [sp] str r6, [sp, 0x4] mov r0, r9 @@ -4838,7 +4838,7 @@ sub_804D5F0: ldrb r0, [r0, 0x5] str r0, [sp, 0xC] movs r0, 0x4 - bl DungeonRandomCapped + bl DungeonRandInt adds r5, r0, 0 movs r1, 0 mov r10, r1 @@ -4857,10 +4857,10 @@ _0804D620: mov r8, r0 _0804D630: movs r0, 0x8 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 movs r0, 0x4 - bl DungeonRandomCapped + bl DungeonRandInt cmp r4, 0x3 bgt _0804D644 adds r5, r0, 0 @@ -5065,7 +5065,7 @@ _0804D796: _0804D79C: movs r0, 0x4 str r3, [sp, 0x1C] - bl DungeonRandomCapped + bl DungeonRandInt adds r5, r0, 0 movs r2, 0 mov r10, r2 @@ -5398,7 +5398,7 @@ _0804D9E0: movs r3, 0x4 ldrsh r1, [r4, r3] subs r1, 0x1 - bl DungeonRandomRange + bl DungeonRandRange mov r9, r0 movs r1, 0x2 ldrsh r0, [r4, r1] @@ -5406,7 +5406,7 @@ _0804D9E0: movs r2, 0x6 ldrsh r1, [r4, r2] subs r1, 0x1 - bl DungeonRandomRange + bl DungeonRandRange adds r4, r0, 0 b _0804DA1A .align 2, 0 @@ -5433,7 +5433,7 @@ _0804DA1A: movs r3, 0x4 ldrsh r1, [r6, r3] subs r1, 0x1 - bl DungeonRandomRange + bl DungeonRandRange adds r2, r0, 0 b _0804DA44 _0804DA40: @@ -5481,7 +5481,7 @@ _0804DA74: movs r2, 0x24 ldrsh r1, [r5, r2] subs r1, 0x1 - bl DungeonRandomRange + bl DungeonRandRange adds r2, r0, 0 b _0804DAA0 _0804DA9C: @@ -5530,7 +5530,7 @@ _0804DAD4: movs r2, 0x6 ldrsh r1, [r7, r2] subs r1, 0x1 - bl DungeonRandomRange + bl DungeonRandRange adds r3, r0, 0 b _0804DAFE _0804DAFA: @@ -5578,7 +5578,7 @@ _0804DB2E: movs r3, 0x6 ldrsh r1, [r1, r3] subs r1, 0x1 - bl DungeonRandomRange + bl DungeonRandRange adds r3, r0, 0 b _0804DB5C _0804DB56: @@ -5665,7 +5665,7 @@ _0804DBDA: b _0804E018 _0804DBEC: movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt mov r2, r10 adds r2, 0x1 str r2, [sp, 0x3C] @@ -5710,7 +5710,7 @@ _0804DC34: b _0804E00C _0804DC3C: movs r0, 0x4 - bl DungeonRandomCapped + bl DungeonRandInt cmp r0, 0x1 bne _0804DC48 b _0804DD50 @@ -5798,7 +5798,7 @@ _0804DCCA: ldrsh r0, [r4, r1] movs r2, 0x2 ldrsh r1, [r4, r2] - bl GetMapTile_1 + bl GetTile ldrb r0, [r0, 0x9] mov r8, r0 ldr r5, [sp, 0x28] @@ -5815,7 +5815,7 @@ _0804DCF0: adds r0, r5, 0 adds r1, r4, 0 str r3, [sp, 0x54] - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] ldr r3, [sp, 0x54] ands r1, r3 @@ -5928,7 +5928,7 @@ _0804DDB4: ldrsh r0, [r4, r1] movs r2, 0x2 ldrsh r1, [r4, r2] - bl GetMapTile_1 + bl GetTile ldrb r0, [r0, 0x9] mov r9, r0 ldr r5, [sp, 0x2C] @@ -5945,7 +5945,7 @@ _0804DDE0: adds r0, r5, 0 adds r1, r4, 0 str r3, [sp, 0x54] - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] ldr r3, [sp, 0x54] ands r1, r3 @@ -6059,7 +6059,7 @@ _0804DEAC: movs r0, 0x2 ldrsh r1, [r4, r0] ldr r0, [sp, 0x30] - bl GetMapTile_1 + bl GetTile ldrb r0, [r0, 0x9] mov r8, r0 ldr r5, [sp, 0x30] @@ -6076,7 +6076,7 @@ _0804DED0: adds r0, r5, 0 adds r1, r4, 0 str r3, [sp, 0x54] - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] ldr r3, [sp, 0x54] ands r1, r3 @@ -6177,7 +6177,7 @@ _0804DF88: ldrsh r0, [r4, r1] adds r1, r6, 0 str r3, [sp, 0x54] - bl GetMapTile_1 + bl GetTile ldrb r0, [r0, 0x9] mov r10, r0 ldr r5, [sp, 0x34] @@ -6195,7 +6195,7 @@ _0804DFB6: adds r0, r5, 0 adds r1, r4, 0 str r3, [sp, 0x54] - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] mov r2, r9 ands r1, r2 @@ -6347,7 +6347,7 @@ _0804E0BE: b _0804E302 _0804E0C6: movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt cmp r0, 0x3B bgt _0804E0D2 b _0804E302 @@ -6397,7 +6397,7 @@ _0804E11A: str r1, [sp, 0x30] _0804E120: movs r0, 0x4 - bl DungeonRandomCapped + bl DungeonRandInt str r0, [sp, 0x1C] cmp r0, 0x1 beq _0804E14A @@ -6514,7 +6514,7 @@ _0804E1EA: mov r1, r8 str r2, [sp, 0x38] str r3, [sp, 0x3C] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -6554,7 +6554,7 @@ _0804E22E: mov r2, r9 adds r1, r2, r5 str r3, [sp, 0x3C] - bl GetMapTile_1 + bl GetTile adds r2, r0, 0 ldrh r1, [r2] movs r0, 0x3 @@ -6596,7 +6596,7 @@ _0804E278: ldrsh r1, [r1, r3] adds r0, r7, r0 add r1, r8 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -6617,7 +6617,7 @@ _0804E2AA: bne _0804E2F0 adds r0, r7, 0 mov r1, r8 - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0] ldr r4, _0804E2CC adds r1, r4, 0 @@ -6715,7 +6715,7 @@ _0804E352: _0804E360: adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -6723,7 +6723,7 @@ _0804E360: beq _0804E390 adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0] ldr r3, _0804E38C adds r1, r3, 0 @@ -6765,7 +6765,7 @@ _0804E3B2: _0804E3BC: adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -6773,7 +6773,7 @@ _0804E3BC: beq _0804E3EC adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0] ldr r3, _0804E3E8 adds r1, r3, 0 @@ -6821,7 +6821,7 @@ _0804E416: _0804E420: adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -6829,7 +6829,7 @@ _0804E420: beq _0804E450 adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0] ldr r3, _0804E44C adds r1, r3, 0 @@ -6875,7 +6875,7 @@ _0804E478: _0804E482: adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -6883,7 +6883,7 @@ _0804E482: beq _0804E4B0 adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0] ldr r3, _0804E4AC adds r1, r3, 0 @@ -6922,7 +6922,7 @@ _0804E4D0: bgt _0804E57E adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -6930,7 +6930,7 @@ _0804E4D0: beq _0804E508 adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0] ldr r3, _0804E504 adds r1, r3, 0 @@ -6971,7 +6971,7 @@ _0804E52C: bgt _0804E57E adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -6979,7 +6979,7 @@ _0804E52C: beq _0804E564 adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0] ldr r3, _0804E560 adds r1, r3, 0 @@ -7121,7 +7121,7 @@ _0804E63C: movs r2, 0x4 ldrsh r1, [r4, r2] subs r1, 0x1 - bl DungeonRandomRange + bl DungeonRandRange str r0, [sp, 0x24] movs r3, 0x2 ldrsh r0, [r4, r3] @@ -7129,7 +7129,7 @@ _0804E63C: movs r5, 0x6 ldrsh r1, [r4, r5] subs r1, 0x1 - bl DungeonRandomRange + bl DungeonRandRange adds r5, r0, 0 ldr r0, [sp, 0x20] cmp r0, 0 @@ -7153,7 +7153,7 @@ _0804E63C: movs r2, 0x4 ldrsh r1, [r4, r2] subs r1, 0x1 - bl DungeonRandomRange + bl DungeonRandRange adds r5, r0, 0 movs r3, 0x2 ldrsh r0, [r4, r3] @@ -7161,7 +7161,7 @@ _0804E63C: movs r2, 0x6 ldrsh r1, [r4, r2] subs r1, 0x1 - bl DungeonRandomRange + bl DungeonRandRange b _0804E6AC .align 2, 0 _0804E6A4: .4byte 0xfffffe20 @@ -7217,7 +7217,7 @@ _0804E6DC: movs r4, 0x24 ldrsh r1, [r6, r4] subs r1, 0x1 - bl DungeonRandomRange + bl DungeonRandRange adds r5, r0, 0 movs r1, 0x22 ldrsh r0, [r6, r1] @@ -7225,7 +7225,7 @@ _0804E6DC: movs r2, 0x26 ldrsh r1, [r6, r2] subs r1, 0x1 - bl DungeonRandomRange + bl DungeonRandRange b _0804E728 _0804E724: movs r3, 0x20 @@ -7276,14 +7276,14 @@ _0804E758: movs r2, 0x4 ldrsh r1, [r7, r2] subs r1, 0x1 - bl DungeonRandomRange + bl DungeonRandRange movs r3, 0x2 ldrsh r0, [r7, r3] adds r0, 0x1 movs r4, 0x6 ldrsh r1, [r7, r4] subs r1, 0x1 - bl DungeonRandomRange + bl DungeonRandRange adds r3, r0, 0 b _0804E79E _0804E79A: @@ -7335,7 +7335,7 @@ _0804E7C8: movs r4, 0x4 ldrsh r1, [r2, r4] subs r1, 0x1 - bl DungeonRandomRange + bl DungeonRandRange mov r1, r8 movs r2, 0x2 ldrsh r0, [r1, r2] @@ -7343,7 +7343,7 @@ _0804E7C8: movs r3, 0x6 ldrsh r1, [r1, r3] subs r1, 0x1 - bl DungeonRandomRange + bl DungeonRandRange adds r3, r0, 0 b _0804E818 _0804E812: @@ -7379,7 +7379,7 @@ _0804E848: ldrsh r0, [r6, r1] movs r2, 0x2 ldrsh r1, [r6, r2] - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] ldr r3, _0804E99C adds r2, r3, 0 @@ -7494,7 +7494,7 @@ _0804E908: _0804E926: adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0] ldr r3, _0804E99C adds r1, r3, 0 @@ -7609,7 +7609,7 @@ _0804E9F2: _0804E9F8: adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] mov r0, r8 ands r0, r1 @@ -7620,7 +7620,7 @@ _0804E9F8: _0804EA0E: adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile ldrb r0, [r0, 0x9] cmp r0, 0xFF bne _0804EAF4 @@ -7628,7 +7628,7 @@ _0804EA0E: ble _0804EA4E subs r0, r5, 0x1 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe adds r2, r0, 0 ldrb r0, [r2, 0x9] cmp r0, 0xFF @@ -7653,7 +7653,7 @@ _0804EA4E: ble _0804EA82 subs r1, r4, 0x1 adds r0, r5, 0 - bl GetMapTile_2 + bl GetTileSafe adds r2, r0, 0 ldrb r0, [r2, 0x9] cmp r0, 0xFF @@ -7680,7 +7680,7 @@ _0804EA82: bgt _0804EABA adds r0, r5, 0 adds r1, r6, 0 - bl GetMapTile_2 + bl GetTileSafe adds r2, r0, 0 ldrb r0, [r2, 0x9] cmp r0, 0xFF @@ -7707,7 +7707,7 @@ _0804EABA: bgt _0804EB0E mov r0, r10 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe adds r2, r0, 0 ldrb r0, [r2, 0x9] cmp r0, 0xFF @@ -7734,13 +7734,13 @@ _0804EAF0: .4byte 0x0000fffc _0804EAF4: adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile ldrb r0, [r0, 0x9] cmp r0, 0xFE bne _0804EB0E adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0xFF strb r1, [r0, 0x9] _0804EB0E: @@ -7786,7 +7786,7 @@ _0804EB4A: _0804EB4E: adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x8 ands r0, r1 @@ -7794,7 +7794,7 @@ _0804EB4E: beq _0804EBA2 adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile ldrb r3, [r0, 0x9] cmp r3, 0x1F bhi _0804EBA2 @@ -7835,7 +7835,7 @@ _0804EBA2: pop {r0} bx r0 .align 2, 0 -_0804EBB4: .4byte gDungeonGlobalData +_0804EBB4: .4byte gDungeon _0804EBB8: .4byte 0x00010882 _0804EBBC: .4byte 0x00010844 _0804EBC0: .4byte 0x00010884 @@ -7881,7 +7881,7 @@ _0804EC06: b _0804EED4 _0804EC0C: movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt cmp r4, r0 bgt _0804EC18 b _0804EED4 @@ -7901,10 +7901,10 @@ _0804EC20: movs r5, 0xC7 _0804EC30: movs r0, 0xF - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 movs r0, 0xF - bl DungeonRandomCapped + bl DungeonRandInt lsls r4, 1 mov r1, sp adds r2, r1, r4 @@ -7922,10 +7922,10 @@ _0804EC30: movs r5, 0xC7 _0804EC5C: movs r0, 0xF - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 movs r0, 0xF - bl DungeonRandomCapped + bl DungeonRandInt lsls r4, 1 adds r4, r6, r4 movs r1, 0 @@ -8099,7 +8099,7 @@ _0804ED98: adds r0, r5, 0 adds r1, r4, 0 str r3, [sp, 0x50] - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0] movs r1, 0x20 orrs r1, r2 @@ -8185,7 +8185,7 @@ _0804EE18: _0804EE38: adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0, 0x4] movs r1, 0x10 orrs r1, r2 @@ -8228,7 +8228,7 @@ _0804EE6C: strh r4, [r0, 0x2] b _0804EED4 .align 2, 0 -_0804EE90: .4byte gDungeonGlobalData +_0804EE90: .4byte gDungeon _0804EE94: .4byte gUnknown_202F1D8 _0804EE98: .4byte 0x0000ffff _0804EE9C: .4byte gUnknown_202F1AB @@ -8282,7 +8282,7 @@ sub_804EEE4: b _0804F0C0 _0804EF04: movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt cmp r4, r0 bgt _0804EF10 b _0804F0C0 @@ -8378,10 +8378,10 @@ _0804EFA0: movs r5, 0x3F _0804EFB0: adds r0, r6, 0 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 adds r0, r6, 0 - bl DungeonRandomCapped + bl DungeonRandInt mov r3, sp adds r2, r3, r4 ldrb r3, [r2] @@ -8466,14 +8466,14 @@ _0804F046: _0804F05A: adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0] movs r1, 0x40 orrs r1, r2 strh r1, [r0] adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile ldrb r1, [r0, 0x9] ldr r2, [sp, 0x104] ldr r3, _0804F0A0 @@ -8493,7 +8493,7 @@ _0804F086: blt _0804F046 b _0804F0C0 .align 2, 0 -_0804F094: .4byte gDungeonGlobalData +_0804F094: .4byte gDungeon _0804F098: .4byte gUnknown_202F1AA _0804F09C: .4byte gUnknown_202F1AB _0804F0A0: .4byte 0x00003a0c @@ -8544,7 +8544,7 @@ sub_804F0D0: b _0804F266 _0804F0EE: movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt cmp r4, r0 bgt _0804F0FA b _0804F266 @@ -8641,10 +8641,10 @@ _0804F18E: mov r8, r7 _0804F1A0: adds r0, r5, 0 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 adds r0, r5, 0 - bl DungeonRandomCapped + bl DungeonRandInt mov r1, sp adds r2, r1, r4 ldrb r3, [r2] @@ -8722,7 +8722,7 @@ _0804F1DE: bl sub_804F278 b _0804F266 .align 2, 0 -_0804F244: .4byte gDungeonGlobalData +_0804F244: .4byte gDungeon _0804F248: .4byte 0x00003a16 _0804F24C: movs r0, 0x1 @@ -8772,7 +8772,7 @@ sub_804F278: ldrsh r0, [r4, r1] movs r2, 0x2 ldrsh r1, [r4, r2] - bl GetMapTile_1 + bl GetTile ldrb r0, [r0, 0x9] mov r9, r0 movs r5, 0 @@ -8786,7 +8786,7 @@ _0804F2B4: ldrsh r1, [r4, r2] subs r1, 0x1 adds r0, r6, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -8827,7 +8827,7 @@ _0804F306: movs r1, 0x4 ldrsh r0, [r4, r1] adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -8867,7 +8867,7 @@ _0804F354: movs r0, 0x6 ldrsh r1, [r4, r0] adds r0, r6, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -8909,7 +8909,7 @@ _0804F3A4: ldrsh r0, [r4, r1] subs r0, 0x1 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -8960,7 +8960,7 @@ _0804F3F2: _0804F40A: adds r0, r6, 0 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -8971,7 +8971,7 @@ _0804F40A: beq _0804F438 subs r0, r6, 0x1 adds r1, r5, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] ands r1, r7 movs r2, 0x2 @@ -8982,7 +8982,7 @@ _0804F434: .4byte 0x0000fffc _0804F438: subs r0, r6, 0x1 adds r1, r5, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] ands r1, r7 _0804F444: @@ -9052,12 +9052,12 @@ sub_804F494: mov r10, r0 _0804F4BA: movs r0, 0x4 - bl DungeonRandomCapped + bl DungeonRandInt adds r6, r0, 0 movs r7, 0 adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe mov r1, r9 mov r3, r8 lsrs r2, r3, 24 @@ -9109,7 +9109,7 @@ _0804F50A: ldr r3, [sp, 0x2C] cmp r3, r1 ble _0804F534 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] mov r0, r10 ands r0, r1 @@ -9140,7 +9140,7 @@ _0804F550: _0804F55A: adds r0, r5, 0x1 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe mov r1, r9 mov r3, r8 lsrs r2, r3, 24 @@ -9150,7 +9150,7 @@ _0804F55A: _0804F570: subs r1, r4, 0x1 adds r0, r5, 0 - bl GetMapTile_2 + bl GetTileSafe mov r1, r9 mov r3, r8 lsrs r2, r3, 24 @@ -9160,7 +9160,7 @@ _0804F570: _0804F586: subs r0, r5, 0x1 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe mov r1, r9 mov r3, r8 lsrs r2, r3, 24 @@ -9170,7 +9170,7 @@ _0804F586: _0804F59C: adds r1, r4, 0x1 adds r0, r5, 0 - bl GetMapTile_2 + bl GetTileSafe mov r1, r9 mov r3, r8 lsrs r2, r3, 24 @@ -9220,7 +9220,7 @@ _0804F5E2: _0804F5F0: adds r0, r6, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0, 0x4] movs r1, 0x20 orrs r1, r2 @@ -9265,7 +9265,7 @@ _0804F634: _0804F63C: adds r0, r6, 0 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -9273,7 +9273,7 @@ _0804F63C: bne _0804F660 adds r0, r6, 0 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile ldrb r0, [r0, 0x9] cmp r0, 0xFF bne _0804F660 @@ -9322,7 +9322,7 @@ sub_804F694: sub sp, 0x8 adds r7, r0, 0 movs r0, 0x6 - bl DungeonRandomCapped + bl DungeonRandInt subs r0, 0x1 cmp r0, 0x4 bls _0804F6B0 @@ -9354,7 +9354,7 @@ _0804F6DE: adds r0, r7, 0 bl sub_804F5D8 movs r0, 0x2 - bl DungeonRandomCapped + bl DungeonRandInt cmp r0, 0 beq _0804F78E movs r5, 0 @@ -9400,7 +9400,7 @@ _0804F730: _0804F73C: mov r0, r8 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0 bl sub_804F5C4 adds r4, 0x1 @@ -9425,7 +9425,7 @@ _0804F75E: _0804F76C: adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0] movs r1, 0x80 orrs r1, r2 @@ -9482,7 +9482,7 @@ _0804F7C8: _0804F7D4: adds r0, r4, 0 mov r1, r8 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0 bl sub_804F5C4 adds r4, 0x1 @@ -9507,7 +9507,7 @@ _0804F7F6: _0804F804: adds r0, r4, 0 adds r1, r5, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0] movs r1, 0x80 orrs r1, r2 @@ -9568,7 +9568,7 @@ _0804F864: mov r10, r0 adds r0, r5, 0 mov r1, r10 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0x4 bl sub_804F5C4 ldr r1, [sp] @@ -9576,12 +9576,12 @@ _0804F864: mov r9, r1 mov r0, r9 mov r1, r10 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0x4 bl sub_804F5C4 ldr r0, [sp] mov r1, r10 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0x4 bl sub_804F5C4 ldr r2, [sp] @@ -9589,118 +9589,118 @@ _0804F864: mov r8, r2 mov r0, r8 mov r1, r10 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0x4 bl sub_804F5C4 ldr r6, [sp, 0x4] subs r6, 0x1 adds r0, r5, 0 adds r1, r6, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0x4 bl sub_804F5C4 adds r0, r5, 0 ldr r1, [sp, 0x4] - bl GetMapTile_2 + bl GetTileSafe movs r1, 0x4 bl sub_804F5C4 ldr r4, [sp, 0x4] adds r4, 0x1 adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0x4 bl sub_804F5C4 adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0x4 bl sub_804F5C4 mov r0, r9 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0x4 bl sub_804F5C4 ldr r0, [sp] adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0x4 bl sub_804F5C4 mov r0, r8 mov r1, r10 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0x4 bl sub_804F5C4 mov r0, r8 adds r1, r6, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0x4 bl sub_804F5C4 mov r0, r8 ldr r1, [sp, 0x4] - bl GetMapTile_2 + bl GetTileSafe movs r1, 0x4 bl sub_804F5C4 mov r0, r8 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0x4 bl sub_804F5C4 mov r0, r9 adds r1, r6, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0, 0x4] movs r1, 0x4 orrs r1, r2 strh r1, [r0, 0x4] mov r0, r9 adds r1, r6, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0, 0x4] movs r2, 0x40 orrs r1, r2 strh r1, [r0, 0x4] ldr r0, [sp] adds r1, r6, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0, 0x4] movs r4, 0x2 orrs r1, r4 strh r1, [r0, 0x4] mov r0, r9 ldr r1, [sp, 0x4] - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0, 0x4] orrs r1, r4 strh r1, [r0, 0x4] ldr r0, [sp] ldr r1, [sp, 0x4] - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0, 0x4] orrs r1, r4 strh r1, [r0, 0x4] mov r0, r9 adds r1, r6, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0, 0x4] movs r4, 0x10 orrs r1, r4 strh r1, [r0, 0x4] ldr r0, [sp] adds r1, r6, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0, 0x4] orrs r1, r4 strh r1, [r0, 0x4] mov r0, r9 ldr r1, [sp, 0x4] - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0, 0x4] orrs r1, r4 strh r1, [r0, 0x4] ldr r0, [sp] ldr r1, [sp, 0x4] - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0, 0x4] orrs r4, r1 strh r4, [r0, 0x4] @@ -9728,7 +9728,7 @@ _0804F9EC: _0804F9FC: adds r0, r2, 0x2 subs r1, r3, 0x3 - bl DungeonRandomRange + bl DungeonRandRange adds r4, r0, 0 movs r5, 0x2 ldrsh r0, [r7, r5] @@ -9736,7 +9736,7 @@ _0804F9FC: movs r2, 0x6 ldrsh r1, [r7, r2] subs r1, 0x3 - bl DungeonRandomRange + bl DungeonRandRange mov r10, r0 movs r3, 0 ldrsh r0, [r7, r3] @@ -9744,7 +9744,7 @@ _0804F9FC: movs r5, 0x4 ldrsh r1, [r7, r5] subs r1, 0x3 - bl DungeonRandomRange + bl DungeonRandRange mov r9, r0 movs r1, 0x2 ldrsh r0, [r7, r1] @@ -9752,7 +9752,7 @@ _0804F9FC: movs r2, 0x6 ldrsh r1, [r7, r2] subs r1, 0x3 - bl DungeonRandomRange + bl DungeonRandRange adds r6, r0, 0 ldr r1, _0804FA94 ldr r0, [r1] @@ -9789,7 +9789,7 @@ _0804FA6C: _0804FA76: adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0 bl sub_804F5C4 adds r4, 0x1 @@ -9841,14 +9841,14 @@ _0804FAD4: movs r5, 0 ldrsh r1, [r7, r5] subs r0, r1 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 movs r1, 0x6 ldrsh r0, [r7, r1] movs r2, 0x2 ldrsh r1, [r7, r2] subs r0, r1 - bl DungeonRandomCapped + bl DungeonRandInt adds r2, r0, 0 adds r0, r4, r2 movs r5, 0x1 @@ -9861,7 +9861,7 @@ _0804FAD4: movs r4, 0x2 ldrsh r1, [r7, r4] adds r1, r2 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0 bl sub_804F5C4 _0804FB14: @@ -9917,28 +9917,28 @@ _0804FB54: ble _0804FBAE adds r0, r5, 0x1 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0 bl sub_804F5C4 adds r1, r4, 0x1 adds r0, r5, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0 bl sub_804F5C4 subs r0, r5, 0x1 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0 bl sub_804F5C4 subs r1, r4, 0x1 adds r0, r5, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0 bl sub_804F5C4 _0804FBAE: adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0 bl sub_804F5C4 b _0804FBD2 @@ -9979,7 +9979,7 @@ _0804FBF4: _0804FBFA: adds r0, r6, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe adds r2, r0, 0 ldrh r1, [r2] movs r0, 0x3 @@ -10059,7 +10059,7 @@ _0804FC86: _0804FC8A: adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -10067,7 +10067,7 @@ _0804FC8A: bne _0804FCAE adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] ands r1, r7 mov r2, r8 @@ -10102,7 +10102,7 @@ _0804FCD4: _0804FCD8: adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x10 ands r0, r1 @@ -10110,7 +10110,7 @@ _0804FCD8: beq _0804FCF8 adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] ands r1, r7 strh r1, [r0] @@ -10160,7 +10160,7 @@ _0804FD3A: _0804FD3E: adds r0, r6, 0 adds r1, r7, 0 - bl GetMapTile_2 + bl GetTileSafe bl sub_804FD10 subs r3, r7, 0x1 cmp r6, 0 @@ -10298,7 +10298,7 @@ _0804FE20: _0804FE24: adds r0, r6, 0 adds r1, r7, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0] movs r1, 0x10 orrs r1, r2 @@ -10372,7 +10372,7 @@ _0804FE96: pop {r0} bx r0 .align 2, 0 -_0804FEB4: .4byte gDungeonGlobalData +_0804FEB4: .4byte gDungeon _0804FEB8: .4byte 0x0000e21c _0804FEBC: .4byte 0x0000ffff _0804FEC0: .4byte 0x0000e21e @@ -10390,10 +10390,10 @@ sub_804FED0: b _0804FEFA _0804FEDA: adds r0, r5, 0 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 adds r0, r5, 0 - bl DungeonRandomCapped + bl DungeonRandInt lsls r4, 2 adds r4, r7 ldr r2, [r4] @@ -10458,7 +10458,7 @@ _0804FF4C: _0804FF56: adds r0, r6, 0 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile adds r1, r0, 0 ldrh r2, [r1] movs r0, 0x3 @@ -10507,13 +10507,13 @@ _0804FFAA: mov r0, r8 cmp r0, 0 beq _08050038 - bl DungeonRandomCapped + bl DungeonRandInt lsls r0, 2 mov r1, sp adds r4, r1, r0 ldrb r0, [r4] ldrb r1, [r4, 0x1] - bl GetMapTile_2 + bl GetTileSafe adds r5, r0, 0 ldrh r1, [r5, 0x4] movs r0, 0x1 @@ -10544,7 +10544,7 @@ _08050002: _08050004: adds r0, r6, 0 adds r1, r5, 0 - bl GetMapTile_2 + bl GetTileSafe adds r1, r0, 0 ldrh r2, [r1] movs r0, 0x3 @@ -10582,7 +10582,7 @@ _0805003E: _0805004A: adds r0, r6, 0 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile adds r1, r0, 0 ldrh r2, [r1] movs r0, 0x3 @@ -10631,7 +10631,7 @@ _08050092: beq _080500FA subs r0, r4, 0x2 adds r1, r4, 0x2 - bl DungeonRandomRange + bl DungeonRandRange adds r4, r0, 0 cmp r4, 0 bgt _080500BC @@ -10641,7 +10641,7 @@ _080500BC: mov r1, r8 bl sub_804FED0 mov r0, r8 - bl DungeonRandomCapped + bl DungeonRandInt adds r5, r0, 0 cmp r4, 0 ble _080500FA @@ -10652,7 +10652,7 @@ _080500BC: _080500D8: ldrb r0, [r4] ldrb r1, [r4, 0x1] - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0, 0x4] movs r1, 0x2 orrs r1, r2 @@ -10681,7 +10681,7 @@ _08050100: _0805010C: adds r0, r6, 0 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -10708,7 +10708,7 @@ _08050128: beq _0805018E subs r0, r4, 0x2 adds r1, r4, 0x2 - bl DungeonRandomRange + bl DungeonRandRange adds r4, r0, 0 cmp r4, 0 ble _0805018E @@ -10716,7 +10716,7 @@ _08050128: mov r1, r8 bl sub_804FED0 mov r0, r8 - bl DungeonRandomCapped + bl DungeonRandInt adds r5, r0, 0 cmp r4, 0 ble _0805018E @@ -10727,7 +10727,7 @@ _08050128: _0805016C: ldrb r0, [r4] ldrb r1, [r4, 0x1] - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0, 0x4] movs r1, 0x2 orrs r1, r2 @@ -10762,7 +10762,7 @@ _080501A0: _080501AC: adds r0, r6, 0 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x20 ands r0, r1 @@ -10800,7 +10800,7 @@ _080501E4: bl __divsi3 adds r1, r0, 0 adds r0, r4, 0 - bl DungeonRandomRange + bl DungeonRandRange adds r4, r0, 0 cmp r4, 0x5 bgt _08050208 @@ -10817,7 +10817,7 @@ _08050214: mov r1, r8 bl sub_804FED0 mov r0, r8 - bl DungeonRandomCapped + bl DungeonRandInt adds r5, r0, 0 cmp r4, 0 ble _08050294 @@ -10830,7 +10830,7 @@ _08050230: b _08050254 .align 2, 0 _08050234: .4byte 0xffffe3fc -_08050238: .4byte gDungeonGlobalData +_08050238: .4byte gDungeon _0805023C: .4byte 0x0000e21c _08050240: .4byte 0x0000e21e _08050244: .4byte 0x0000fffd @@ -10839,10 +10839,10 @@ _0805024C: .4byte 0x00003a0c _08050250: .4byte gUnknown_80F4DA0 _08050254: ldrb r1, [r7, 0x1] - bl GetMapTile_2 + bl GetTileSafe adds r4, r0, 0 movs r0, 0x2 - bl DungeonRandomCapped + bl DungeonRandInt cmp r0, 0 beq _0805026C ldrh r0, [r4, 0x4] @@ -10886,7 +10886,7 @@ _0805029A: _080502A6: adds r0, r6, 0 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile adds r1, r0, 0 ldrh r2, [r1] movs r0, 0x3 @@ -10933,7 +10933,7 @@ _080502F0: mov r2, r10 ldrb r1, [r2, 0x10] lsrs r0, r1, 1 - bl DungeonRandomRange + bl DungeonRandRange adds r4, r0, 0 cmp r4, 0 ble _08050356 @@ -10945,7 +10945,7 @@ _08050318: mov r1, r8 bl sub_804FED0 mov r0, r8 - bl DungeonRandomCapped + bl DungeonRandInt adds r5, r0, 0 cmp r4, 0 ble _08050356 @@ -10956,7 +10956,7 @@ _08050318: _08050334: ldrb r0, [r4] ldrb r1, [r4, 0x1] - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0, 0x4] movs r1, 0x4 orrs r1, r2 @@ -11000,7 +11000,7 @@ _08050378: _08050384: adds r0, r6, 0 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile adds r2, r0, 0 ldrh r1, [r2] movs r0, 0x3 @@ -11055,7 +11055,7 @@ _080503E2: cmp r2, 0 beq _08050410 mov r0, r8 - bl DungeonRandomCapped + bl DungeonRandInt lsls r0, 2 mov r1, sp adds r2, r1, r0 @@ -11078,7 +11078,7 @@ _08050410: pop {r0} bx r0 .align 2, 0 -_08050424: .4byte gDungeonGlobalData +_08050424: .4byte gDungeon _08050428: .4byte 0x0000065c _0805042C: .4byte 0x0000e218 _08050430: .4byte 0x0000e21a @@ -11107,7 +11107,7 @@ sub_8050438: cmp r1, 0 ble _08050478 lsrs r0, r1, 1 - bl DungeonRandomRange + bl DungeonRandRange adds r7, r0, 0 cmp r7, 0 bgt _0805047A @@ -11115,7 +11115,7 @@ sub_8050438: b _0805047A .align 2, 0 _08050470: .4byte 0xffffe3f8 -_08050474: .4byte gDungeonGlobalData +_08050474: .4byte gDungeon _08050478: adds r7, r1, 0 _0805047A: @@ -11133,7 +11133,7 @@ _08050480: _0805048E: adds r0, r6, 0 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile adds r1, r0, 0 ldrh r3, [r1] movs r2, 0x3 @@ -11210,7 +11210,7 @@ _0805051C: mov r1, r8 bl sub_804FED0 mov r0, r8 - bl DungeonRandomCapped + bl DungeonRandInt adds r5, r0, 0 cmp r7, 0 ble _0805055E @@ -11221,7 +11221,7 @@ _0805051C: _0805053C: ldrb r0, [r4] ldrb r1, [r4, 0x1] - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0, 0x4] movs r1, 0x8 orrs r1, r2 @@ -11284,7 +11284,7 @@ _080505A2: _080505B0: adds r0, r6, 0 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile adds r1, r0, 0 ldrh r2, [r1] movs r0, 0x3 @@ -11346,7 +11346,7 @@ _08050608: bl __divsi3 adds r1, r0, 0 adds r0, r5, 0 - bl DungeonRandomRange + bl DungeonRandRange adds r7, r0, 0 cmp r7, 0 bne _0805063E @@ -11365,7 +11365,7 @@ _0805064E: mov r1, r8 bl sub_804FED0 mov r0, r8 - bl DungeonRandomCapped + bl DungeonRandInt adds r5, r0, 0 cmp r7, 0 ble _0805068C @@ -11376,7 +11376,7 @@ _0805064E: _0805066A: ldrb r0, [r4] ldrb r1, [r4, 0x1] - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0, 0x4] movs r1, 0x8 orrs r1, r2 @@ -11404,7 +11404,7 @@ _0805068C: .align 2, 0 _080506A0: .4byte 0x0000e218 _080506A4: .4byte 0x0000e21a -_080506A8: .4byte gDungeonGlobalData +_080506A8: .4byte gDungeon _080506AC: .4byte 0x00003a08 _080506B0: .4byte gUnknown_80F4DA4 _080506B4: .4byte 0x00001c04 @@ -11460,7 +11460,7 @@ sub_80506F0: _08050708: ldr r4, _08050738 movs r0, 0x8 - bl DungeonRandomCapped + bl DungeonRandInt lsls r0, 2 adds r0, r4 ldr r4, [r0] @@ -11469,7 +11469,7 @@ _08050708: b _08050A7C _0805071C: movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt cmp r0, 0x31 bgt _0805073C movs r0, 0x1 @@ -11490,12 +11490,12 @@ _0805073C: str r1, [sp, 0x70] _08050746: movs r0, 0x32 - bl DungeonRandomCapped + bl DungeonRandInt adds r0, 0xA str r0, [sp, 0x78] movs r0, 0x2 movs r1, 0x36 - bl DungeonRandomRange + bl DungeonRandRange mov r9, r0 movs r2, 0 str r2, [sp, 0x6C] @@ -11503,7 +11503,7 @@ _08050746: str r4, [sp, 0x98] _08050762: movs r0, 0x6 - bl DungeonRandomCapped + bl DungeonRandInt adds r0, 0x2 str r0, [sp, 0x68] cmp r0, 0 @@ -11514,7 +11514,7 @@ _08050772: cmp r0, 0x37 bhi _080507B8 mov r1, r10 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r0, 0x3 ands r0, r1 @@ -11544,7 +11544,7 @@ _080507A8: bne _080507B8 mov r0, r9 mov r1, r10 - bl GetMapTile_2 + bl GetTileSafe bl sub_80506BC _080507B8: ldr r2, [sp, 0x68] @@ -11570,11 +11570,11 @@ _080507DA: str r1, [sp, 0x7C] _080507DE: movs r0, 0x7 - bl DungeonRandomCapped + bl DungeonRandInt subs r0, 0x3 str r0, [sp, 0x84] movs r0, 0x7 - bl DungeonRandomCapped + bl DungeonRandInt subs r1, r0, 0x3 ldr r6, [sp, 0x84] add r6, r9 @@ -11592,7 +11592,7 @@ _080507DE: mov r8, r0 adds r0, r4, 0 mov r1, r8 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r2, 0x3 adds r0, r2, 0 @@ -11602,7 +11602,7 @@ _080507DE: adds r0, r4, 0 adds r1, r5, 0 str r2, [sp, 0x9C] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] ldr r2, [sp, 0x9C] adds r0, r2, 0 @@ -11612,7 +11612,7 @@ _080507DE: subs r7, r5, 0x1 adds r0, r4, 0 adds r1, r7, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] ldr r2, [sp, 0x9C] adds r0, r2, 0 @@ -11621,7 +11621,7 @@ _080507DE: beq _080508B2 adds r0, r6, 0 mov r1, r8 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] ldr r2, [sp, 0x9C] adds r0, r2, 0 @@ -11630,7 +11630,7 @@ _080507DE: beq _080508B2 adds r0, r6, 0 adds r1, r7, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] ldr r2, [sp, 0x9C] adds r0, r2, 0 @@ -11640,7 +11640,7 @@ _080507DE: subs r4, r6, 0x1 adds r0, r4, 0 mov r1, r8 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] ldr r2, [sp, 0x9C] adds r0, r2, 0 @@ -11649,7 +11649,7 @@ _080507DE: beq _080508B2 adds r0, r4, 0 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] ldr r2, [sp, 0x9C] adds r0, r2, 0 @@ -11658,7 +11658,7 @@ _080507DE: beq _080508B2 adds r0, r4, 0 adds r1, r7, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] ldr r2, [sp, 0x9C] adds r0, r2, 0 @@ -11685,7 +11685,7 @@ _080508CC: cmp r1, 0 bne _080508DA adds r1, r5, 0 - bl GetMapTile_2 + bl GetTileSafe bl sub_80506BC _080508DA: ldr r1, [sp, 0x7C] @@ -11731,7 +11731,7 @@ _0805091A: adds r0, r4, 0 adds r1, r3, 0 str r3, [sp, 0xA0] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r2, 0x3 mov r8, r2 @@ -11745,7 +11745,7 @@ _0805093A: adds r0, r4, 0 adds r1, r5, 0 str r3, [sp, 0xA0] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] mov r0, r8 ands r0, r1 @@ -11759,7 +11759,7 @@ _08050952: adds r1, r2, 0 str r2, [sp, 0x9C] str r3, [sp, 0xA0] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] mov r0, r8 ands r0, r1 @@ -11773,7 +11773,7 @@ _08050970: adds r1, r3, 0 str r2, [sp, 0x9C] str r3, [sp, 0xA0] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] mov r0, r8 ands r0, r1 @@ -11787,7 +11787,7 @@ _0805098C: adds r1, r2, 0 str r2, [sp, 0x9C] str r3, [sp, 0xA0] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] mov r0, r8 ands r0, r1 @@ -11801,7 +11801,7 @@ _080509A8: adds r0, r4, 0 adds r1, r3, 0 str r2, [sp, 0x9C] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] mov r0, r8 ands r0, r1 @@ -11813,7 +11813,7 @@ _080509C2: adds r0, r4, 0 adds r1, r5, 0 str r2, [sp, 0x9C] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] mov r0, r8 ands r0, r1 @@ -11824,7 +11824,7 @@ _080509C2: _080509DA: adds r0, r4, 0 adds r1, r2, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] mov r0, r8 ands r0, r1 @@ -11853,7 +11853,7 @@ _08050A0A: bne _08050A1A ldr r0, [sp, 0x90] ldr r1, [sp, 0x94] - bl GetMapTile_2 + bl GetTileSafe bl sub_80506BC _08050A1A: adds r5, 0x1 @@ -11891,7 +11891,7 @@ _08050A4E: b _08050A6C _08050A54: movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt movs r2, 0x1 str r2, [sp, 0x6C] cmp r0, 0x31 @@ -11934,11 +11934,11 @@ _08050A98: bgt _08050AC2 movs r0, 0 movs r1, 0x38 - bl DungeonRandomRange + bl DungeonRandRange mov r9, r0 movs r0, 0 movs r1, 0x20 - bl DungeonRandomRange + bl DungeonRandRange mov r8, r0 mov r0, r9 subs r0, 0x1 @@ -11987,11 +11987,11 @@ _08050AEE: movs r5, 0x4F _08050AFE: movs r0, 0x8 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 adds r7, r4, 0x1 movs r0, 0x8 - bl DungeonRandomCapped + bl DungeonRandInt adds r2, r0, 0x1 lsls r0, r4, 2 adds r0, r4 @@ -12057,7 +12057,7 @@ _08050B7C: subs r0, r7, 0x5 adds r1, r6, 0 str r2, [sp, 0x9C] - bl GetMapTile_2 + bl GetTileSafe bl sub_80506BC ldr r2, [sp, 0x9C] _08050B92: @@ -12090,7 +12090,7 @@ _08050BB8: _08050BC0: mov r0, r9 mov r1, r10 - bl GetMapTile_2 + bl GetTileSafe adds r2, r0, 0 ldrh r3, [r2] movs r0, 0x3 @@ -12184,7 +12184,7 @@ _08050C5C: _08050C68: adds r0, r7, 0 adds r1, r6, 0 - bl GetMapTile_2 + bl GetTileSafe adds r2, r0, 0 ldrh r0, [r2] movs r3, 0x3 @@ -12542,7 +12542,7 @@ _08050F00: _08050F08: adds r0, r7, 0 adds r1, r6, 0 - bl GetMapTile_2 + bl GetTileSafe adds r2, r0, 0 ldrb r1, [r4] movs r0, 0x87 @@ -12568,7 +12568,7 @@ _08050F36: .align 2, 0 _08050F3C: .4byte 0xfffff8ec _08050F40: .4byte 0x00007fff -_08050F44: .4byte gDungeonGlobalData +_08050F44: .4byte gDungeon _08050F48: .4byte 0x0000e21c _08050F4C: .4byte 0x0000e21e _08050F50: .4byte gUnknown_202F1D4 @@ -12689,11 +12689,11 @@ _08051020: beq _0805108C adds r0, r3, 0 adds r1, r4, 0 - bl DungeonRandomRange + bl DungeonRandRange adds r6, r0, 0 adds r0, r5, 0 adds r1, r7, 0 - bl DungeonRandomRange + bl DungeonRandRange adds r5, r0, 0 movs r1, 0x1 adds r0, r6, 0 @@ -12727,11 +12727,11 @@ _08051062: adds r5, r0, 0 _08051072: subs r0, r4, r6 - bl DungeonRandomCapped + bl DungeonRandInt mov r2, r9 adds r4, r0, r2 subs r0, r7, r5 - bl DungeonRandomCapped + bl DungeonRandInt mov r3, r10 adds r7, r0, r3 adds r3, r4, r6 @@ -12781,7 +12781,7 @@ _080510D6: adds r0, r5, 0 adds r1, r4, 0 str r3, [sp, 0x38] - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] mov r2, r9 ands r1, r2 @@ -12790,7 +12790,7 @@ _080510D6: strh r1, [r0] adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe mov r1, sp ldrb r1, [r1, 0x10] strb r1, [r0, 0x9] @@ -12858,7 +12858,7 @@ _08051162: adds r1, r5, r4 subs r1, r3 str r2, [sp, 0x34] - bl DungeonRandomRange + bl DungeonRandRange adds r5, r0, 0 ldr r2, [sp, 0x34] mov r1, r10 @@ -12866,7 +12866,7 @@ _08051162: adds r1, r7 mov r2, r8 subs r1, r2 - bl DungeonRandomRange + bl DungeonRandRange adds r4, r0, 0 strh r5, [r6] adds r0, r5, 0x1 @@ -12876,7 +12876,7 @@ _08051162: strh r0, [r6, 0x6] adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] ldr r3, _080511EC adds r2, r3, 0 @@ -12886,7 +12886,7 @@ _08051162: strh r1, [r0] adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0xFF strb r1, [r0, 0x9] ldr r4, [sp, 0x14] @@ -13070,7 +13070,7 @@ _080512EE: lsrs r4, 24 adds r0, r5, 0 adds r1, r6, 0 - bl GetMapTile_2 + bl GetTileSafe movs r1, 0x1 str r1, [sp] adds r1, r4, 0 @@ -13118,7 +13118,7 @@ _08051338: _08051350: adds r0, r5, 0 adds r1, r6, 0 - bl GetMapTile_2 + bl GetTileSafe adds r2, r0, 0 ldrh r1, [r2] movs r0, 0x10 @@ -13134,7 +13134,7 @@ _08051350: orrs r1, r0 b _0805139E .align 2, 0 -_08051374: .4byte gDungeonGlobalData +_08051374: .4byte gDungeon _08051378: .4byte 0x00013568 _0805137C: .4byte 0x0000e260 _08051380: .4byte 0x0000e262 @@ -13167,7 +13167,7 @@ _080513B8: _080513BC: adds r0, r5, 0 adds r1, r6, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0] movs r1, 0x10 orrs r1, r2 @@ -13195,7 +13195,7 @@ _080513EC: _080513F0: adds r0, r5, 0 adds r1, r6, 0 - bl GetMapTile_2 + bl GetTileSafe adds r2, r0, 0 ldrh r1, [r2] movs r0, 0x3 @@ -13224,7 +13224,7 @@ _08051416: bx r0 .align 2, 0 _0805142C: .4byte 0x0000fffc -_08051430: .4byte gDungeonGlobalData +_08051430: .4byte gDungeon _08051434: .4byte 0x00003a0e thumb_func_end sub_8051288 @@ -13330,7 +13330,7 @@ _080514EE: lsrs r5, 24 adds r0, r7, 0 mov r1, r8 - bl GetMapTile_2 + bl GetTileSafe adds r6, r0, 0 ldr r1, [sp, 0x4] ldr r2, _080515D0 @@ -13419,7 +13419,7 @@ _08051598: blt _080514C4 b _08051640 .align 2, 0 -_080515AC: .4byte gDungeonGlobalData +_080515AC: .4byte gDungeon _080515B0: .4byte gUnknown_202F1DC _080515B4: .4byte 0x00013568 _080515B8: .4byte gUnknown_202F1E1 @@ -13454,7 +13454,7 @@ _080515F6: lsrs r4, 24 adds r0, r7, 0 mov r1, r8 - bl GetMapTile_2 + bl GetTileSafe adds r5, r0, 0 ldrb r6, [r5, 0x9] movs r0, 0x1 @@ -13512,7 +13512,7 @@ sub_8051654: subs r1, r0 subs r1, 0x2 movs r0, 0x3 - bl DungeonRandomRange + bl DungeonRandRange mov r8, r0 cmp r0, 0x2 bgt _0805167C @@ -13524,7 +13524,7 @@ _0805167C: subs r1, r0 subs r1, 0x2 movs r0, 0x3 - bl DungeonRandomRange + bl DungeonRandRange mov r9, r0 cmp r0, 0x2 bgt _08051694 @@ -13533,7 +13533,7 @@ _0805167C: _08051694: movs r0, 0x2 movs r1, 0x4 - bl DungeonRandomRange + bl DungeonRandRange mov r10, r0 movs r5, 0 cmp r5, r10 @@ -13546,7 +13546,7 @@ _08051694: adds r6, r4, 0 _080516B0: movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt cmp r0, 0x31 bgt _080516F4 ldr r4, [r6, 0x4] @@ -13561,7 +13561,7 @@ _080516CA: ldr r0, [r5] adds r1, r4, 0 str r2, [sp, 0xC] - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] ldr r2, [sp, 0xC] ands r1, r2 @@ -13594,7 +13594,7 @@ _0805170A: ldr r0, [r5, 0x8] adds r1, r4, 0 str r2, [sp, 0xC] - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] ldr r2, [sp, 0xC] ands r1, r2 @@ -13625,7 +13625,7 @@ _08051734: adds r6, r3, 0 _08051748: movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt cmp r0, 0x31 bgt _0805178C ldr r4, [r6] @@ -13640,7 +13640,7 @@ _08051762: ldr r1, [r5, 0x4] adds r0, r4, 0 str r2, [sp, 0xC] - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] ldr r2, [sp, 0xC] ands r1, r2 @@ -13673,7 +13673,7 @@ _080517A2: ldr r1, [r5, 0xC] adds r0, r4, 0 str r2, [sp, 0xC] - bl GetMapTile_2 + bl GetTileSafe ldrh r1, [r0] ldr r2, [sp, 0xC] ands r1, r2 @@ -13713,7 +13713,7 @@ _080517EC: adds r0, r7, 0 adds r1, r5, 0 str r3, [sp, 0x10] - bl GetMapTile_2 + bl GetTileSafe adds r2, r0, 0 ldrh r1, [r2] movs r0, 0x20 @@ -13777,7 +13777,7 @@ _08051864: adds r0, r7, 0 adds r1, r5, 0 str r3, [sp, 0x10] - bl GetMapTile_2 + bl GetTileSafe adds r6, r0, 0 ldrh r1, [r6] movs r0, 0x20 @@ -13807,7 +13807,7 @@ _08051864: movs r0, 0 ldrsh r4, [r2, r0] movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt ldr r3, [sp, 0x10] cmp r4, r0 ble _080518BA @@ -13853,7 +13853,7 @@ sub_80518F0: _080518F8: adds r0, r5, 0 movs r1, 0x1 - bl GetMapTile_2 + bl GetTileSafe adds r4, r0, 0 bl sub_804FD10 cmp r5, 0 @@ -13867,7 +13867,7 @@ _0805190E: _08051914: adds r0, r5, 0 movs r1, 0x1E - bl GetMapTile_2 + bl GetTileSafe adds r4, r0, 0 bl sub_804FD10 cmp r5, 0 @@ -14021,7 +14021,7 @@ sub_8051A24: mov r8, r3 adds r0, r4, 0 adds r1, r5, 0 - bl GetMapTile_2 + bl GetTileSafe adds r7, r0, 0 lsls r4, 16 lsls r5, 16 @@ -14180,7 +14180,7 @@ _08051BF0: movs r2, 0 b _08051D42 .align 2, 0 -_08051BFC: .4byte gDungeonGlobalData +_08051BFC: .4byte gDungeon _08051C00: .4byte 0x00000684 _08051C04: .4byte 0x00000686 _08051C08: .4byte 0x0000fffc @@ -14214,7 +14214,7 @@ _08051C20: b _08051E1A .align 2, 0 _08051C44: .4byte 0x0000fffc -_08051C48: .4byte gDungeonGlobalData +_08051C48: .4byte gDungeon _08051C4C: .4byte 0x0000e218 _08051C50: .4byte 0x0000e21a _08051C54: @@ -14275,7 +14275,7 @@ _08051C94: .align 2, 0 _08051CC0: .4byte 0x0000fffc _08051CC4: .4byte 0x0000fffd -_08051CC8: .4byte gDungeonGlobalData +_08051CC8: .4byte gDungeon _08051CCC: .4byte 0x0000e21c _08051CD0: .4byte 0x0000e21e _08051CD4: @@ -14394,7 +14394,7 @@ _08051DA4: strb r1, [r0] b _08051DDC .align 2, 0 -_08051DB0: .4byte gDungeonGlobalData +_08051DB0: .4byte gDungeon _08051DB4: .4byte 0x0000068b _08051DB8: ldr r2, [r5, 0x4] @@ -14457,7 +14457,7 @@ _08051E1A: pop {r1} bx r1 .align 2, 0 -_08051E2C: .4byte gDungeonGlobalData +_08051E2C: .4byte gDungeon _08051E30: .4byte 0x0000e220 _08051E34: .4byte 0x0000e222 _08051E38: .4byte 0x0000fffc @@ -14474,7 +14474,7 @@ _08051E42: _08051E46: adds r0, r4, 0 adds r1, r5, 0 - bl GetMapTile_2 + bl GetTileSafe adds r2, r0, 0 ldrb r0, [r2, 0xE] cmp r0, 0xF @@ -14514,7 +14514,7 @@ sub_8051E7C: movs r3, 0x6 ldrsh r1, [r2, r3] subs r1, 0x1 - bl GetMapTile_2 + bl GetTileSafe str r0, [sp, 0x8] ldrh r1, [r0] movs r0, 0x80 @@ -14547,7 +14547,7 @@ _08051EC8: orrs r0, r1 str r0, [sp, 0x4] mov r0, r9 - bl GetEntityRoomIndex + bl GetEntityRoom lsls r0, 24 lsrs r0, 24 str r0, [sp, 0xC] @@ -14558,7 +14558,7 @@ _08051EC8: subs r6, 0x15 b _08051FE0 .align 2, 0 -_08051EF0: .4byte gDungeonGlobalData +_08051EF0: .4byte gDungeon _08051EF4: .4byte 0x00003a09 _08051EF8: mov r2, r9 @@ -14614,7 +14614,7 @@ _08051F10: bge _08051FCA adds r0, r5, 0 adds r1, r6, 0 - bl GetMapTile_2 + bl GetTileSafe adds r4, r0, 0 ldrh r0, [r4] movs r3, 0x80 @@ -14791,7 +14791,7 @@ _0805207A: bl sub_803E708 b _080520F6 .align 2, 0 -_080520C0: .4byte gDungeonGlobalData +_080520C0: .4byte gDungeon _080520C4: .4byte 0x0000e250 _080520C8: .4byte 0x0000e254 _080520CC: .4byte 0x0000e258 @@ -14954,7 +14954,7 @@ _080521DE: .align 2, 0 _08052200: .4byte gUnknown_202F1E8 _08052204: .4byte gUnknown_203B434 -_08052208: .4byte gDungeonGlobalData +_08052208: .4byte gDungeon _0805220C: .4byte 0x0001c054 thumb_func_end sub_80521D0 @@ -15015,7 +15015,7 @@ _08052278: pop {r0} bx r0 .align 2, 0 -_08052280: .4byte gDungeonGlobalData +_08052280: .4byte gDungeon _08052284: .4byte 0x0001bdd4 _08052288: .4byte gUnknown_80F7AE8 _0805228C: .4byte 0x0001c05f diff --git a/asm/code_80521D0.s b/asm/code_80521D0.s index 1c5a92221..d0358b9bd 100644 --- a/asm/code_80521D0.s +++ b/asm/code_80521D0.s @@ -129,7 +129,7 @@ _08052450: strh r2, [r1] b _080523FA .align 2, 0 -_0805249C: .4byte gDungeonGlobalData +_0805249C: .4byte gDungeon _080524A0: .4byte 0x0001c060 _080524A4: .4byte 0x0001c062 _080524A8: .4byte 0x0001c054 @@ -163,7 +163,7 @@ _080524D4: pop {r0} bx r0 .align 2, 0 -_080524E4: .4byte gDungeonGlobalData +_080524E4: .4byte gDungeon _080524E8: .4byte 0x0001c064 _080524EC: .4byte 0x0001c06c thumb_func_end sub_80523A8 @@ -195,7 +195,7 @@ _08052510: _0805251A: b _0805267C .align 2, 0 -_0805251C: .4byte gDungeonGlobalData +_0805251C: .4byte gDungeon _08052520: .4byte 0x0001bdd4 _08052524: .4byte 0x0001c06c _08052528: @@ -458,7 +458,7 @@ _08052724: pop {r0} bx r0 .align 2, 0 -_0805272C: .4byte gDungeonGlobalData +_0805272C: .4byte gDungeon _08052730: .4byte 0x0001bdd4 _08052734: .4byte 0x0001c06c _08052738: .4byte 0x0001c060 @@ -523,7 +523,7 @@ _080527A4: pop {r0} bx r0 .align 2, 0 -_080527B0: .4byte gDungeonGlobalData +_080527B0: .4byte gDungeon _080527B4: .4byte 0x0001bdd4 _080527B8: .4byte 0x0001c064 _080527BC: .4byte gRealInputs @@ -605,7 +605,7 @@ _08052844: b _0805286C .align 2, 0 _08052858: .4byte gUnknown_203B40C -_0805285C: .4byte gDungeonGlobalData +_0805285C: .4byte gDungeon _08052860: .4byte 0x0001820a _08052864: .4byte 0x00000701 _08052868: @@ -657,7 +657,7 @@ _080528B2: bl sub_803EAF0 b _080528E4 .align 2, 0 -_080528D0: .4byte gDungeonGlobalData +_080528D0: .4byte gDungeon _080528D4: .4byte 0x0001c05f _080528D8: .4byte gUnknown_202EE01 _080528DC: @@ -698,7 +698,7 @@ DisplayDungeonDialogue: push {r6,r7} sub sp, 0x14 adds r6, r0, 0 - bl xxx_call_GetLeaderEntity + bl xxx_call_GetLeader adds r4, r0, 0 bl GetPartnerEntity adds r5, r0, 0 @@ -785,7 +785,7 @@ _080529D4: ldr r0, _080529E4 ldr r1, _080529E8 ldr r2, _080529EC - bl sprintf_2 + bl sprintfStatic b _08052A28 .align 2, 0 _080529E4: .4byte gUnknown_202E5D8 @@ -795,7 +795,7 @@ _080529F0: ldr r0, _080529FC ldr r1, _08052A00 ldr r2, _08052A04 - bl sprintf_2 + bl sprintfStatic b _08052A28 .align 2, 0 _080529FC: .4byte gUnknown_202E5D8 @@ -815,7 +815,7 @@ _08052A1C: ldrsh r4, [r6, r1] ldr r0, _08052A48 adds r1, r4, 0 - bl CopyYellowSpeciesNametoBuffer + bl CopyYellowMonsterNametoBuffer _08052A28: ldrh r0, [r6] subs r0, 0x2 @@ -835,7 +835,7 @@ _08052A3C: .align 2, 0 _08052A48: .4byte gUnknown_202E5D8 _08052A4C: .4byte gUnknown_80F7B04 -_08052A50: .4byte gDungeonGlobalData +_08052A50: .4byte gDungeon _08052A54: movs r0, 0x6 ldrsh r1, [r6, r0] @@ -1055,7 +1055,7 @@ _08052C02: bl sub_80141E0 b _08052C28 .align 2, 0 -_08052C14: .4byte gDungeonGlobalData +_08052C14: .4byte gDungeon _08052C18: .4byte 0x0001820a _08052C1C: movs r2, 0xC0 @@ -1195,7 +1195,7 @@ _08052D20: pop {r1} bx r1 .align 2, 0 -_08052D3C: .4byte gDungeonGlobalData +_08052D3C: .4byte gDungeon _08052D40: .4byte 0x0001820a thumb_func_end sub_8052C68 @@ -1272,7 +1272,7 @@ sub_8052DC0: thumb_func_start sub_8052DD0 sub_8052DD0: push {r4-r6,lr} - bl GetLeaderEntity + bl GetLeader adds r5, r0, 0 ldr r6, _08052E68 ldr r4, [r6] @@ -1340,7 +1340,7 @@ _08052E46: _08052E68: .4byte gUnknown_80FF020 _08052E6C: .4byte gUnknown_80FF080 _08052E70: .4byte gUnknown_80FF0D8 -_08052E74: .4byte gDungeonGlobalData +_08052E74: .4byte gDungeon _08052E78: .4byte 0x00000644 _08052E7C: .4byte gUnknown_80FF13C _08052E80: .4byte gUnknown_80FF1B4 @@ -1379,7 +1379,7 @@ sub_8052EC0: lsrs r4, r0, 24 adds r5, r4, 0 adds r0, r4, 0 - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 @@ -1484,7 +1484,7 @@ sub_8052F80: bl PrintFieldMessage b _08052FB0 .align 2, 0 -_08052F9C: .4byte gDungeonGlobalData +_08052F9C: .4byte gDungeon _08052FA0: .4byte gUnknown_80FF6F8 _08052FA4: ldr r0, _08052FB4 @@ -1731,7 +1731,7 @@ sub_805317C: ldrb r0, [r0] b _0805319E .align 2, 0 -_08053198: .4byte gDungeonGlobalData +_08053198: .4byte gDungeon _0805319C: movs r0, 0x3F _0805319E: @@ -1780,7 +1780,7 @@ _080531BC: pop {r0} bx r0 .align 2, 0 -_080531F0: .4byte gDungeonGlobalData +_080531F0: .4byte gDungeon _080531F4: .4byte 0x0001c073 _080531F8: .4byte 0x0001c070 _080531FC: .4byte 0x0001c072 @@ -1794,7 +1794,7 @@ sub_8053200: strb r0, [r1, 0xB] bx lr .align 2, 0 -_0805320C: .4byte gDungeonGlobalData +_0805320C: .4byte gDungeon thumb_func_end sub_8053200 thumb_func_start sub_8053210 @@ -1842,7 +1842,7 @@ sub_8053210: mov r1, r12 b _08053282 .align 2, 0 -_08053264: .4byte gDungeonGlobalData +_08053264: .4byte gDungeon _08053268: .4byte 0x0001c070 _0805326C: .4byte 0x0001c071 _08053270: .4byte 0x0001c072 @@ -2065,7 +2065,7 @@ _0805340A: pop {r0} bx r0 .align 2, 0 -_08053428: .4byte gDungeonGlobalData +_08053428: .4byte gDungeon _0805342C: .4byte 0x0001c070 thumb_func_end sub_80533A4 @@ -2091,7 +2091,7 @@ _0805344C: blt _0805344C b _0805345E .align 2, 0 -_08053454: .4byte gDungeonGlobalData +_08053454: .4byte gDungeon _08053458: .4byte gUnknown_202F1F8 _0805345C: subs r1, 0x14 @@ -2197,7 +2197,7 @@ _08053528: pop {r1} bx r1 .align 2, 0 -_08053530: .4byte gDungeonGlobalData +_08053530: .4byte gDungeon _08053534: .4byte 0x0001c070 _08053538: .4byte gUnknown_203B084 _0805353C: .4byte gUnknown_202F1F8 @@ -2224,7 +2224,7 @@ _0805355A: blt _0805355A b _0805356E .align 2, 0 -_08053564: .4byte gDungeonGlobalData +_08053564: .4byte gDungeon _08053568: .4byte gUnknown_202F1F8 _0805356C: subs r4, 0x14 @@ -2319,7 +2319,7 @@ _08053622: pop {r1} bx r1 .align 2, 0 -_0805362C: .4byte gDungeonGlobalData +_0805362C: .4byte gDungeon _08053630: .4byte 0x0001c070 _08053634: .4byte gUnknown_203B080 _08053638: .4byte gUnknown_202F1F8 @@ -2451,7 +2451,7 @@ _08053734: ldrb r1, [r1] strb r1, [r0] ldr r0, [sp, 0x18] - bl MoveTargetsUser + bl CanBeSnatched lsls r0, 24 cmp r0, 0 beq _080537B4 @@ -2498,14 +2498,14 @@ _08053792: adds r5, r4, 0 b _08053A1C .align 2, 0 -_080537A4: .4byte gDungeonGlobalData +_080537A4: .4byte gDungeon _080537A8: .4byte 0x00017b30 _080537AC: .4byte 0x00017b3c _080537B0: .4byte gUnknown_80FCD28 _080537B4: adds r0, r7, 0 mov r1, r8 - bl GetMoveTypeForPokemon + bl GetMoveTypeForMonster lsls r0, 24 lsrs r0, 24 cmp r0, 0x5 @@ -2575,14 +2575,14 @@ _08053828: str r3, [sp, 0x2C] b _08053A1C .align 2, 0 -_08053844: .4byte gDungeonGlobalData +_08053844: .4byte gDungeon _08053848: .4byte 0x00017b2c _0805384C: .4byte 0x00017b38 _08053850: .4byte gUnknown_80FCD0C _08053854: adds r0, r5, 0 movs r1, 0x2C - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 bne _08053864 @@ -2599,7 +2599,7 @@ _08053874: adds r0, r7, 0 mov r1, r8 movs r2, 0 - bl GetMoveTargetingFlagsForPokemon + bl GetMoveTargetAndRangeForPokemon movs r1, 0xF0 ands r1, r0 cmp r1, 0 @@ -2630,7 +2630,7 @@ _080538AE: adds r0, 0x46 ldrb r4, [r0] mov r10, r4 - bl IsBossBattle + bl IsBossFight lsls r0, 24 cmp r0, 0 beq _080538CC @@ -2668,7 +2668,7 @@ _080538DA: movs r3, 0x2 ldrsh r2, [r2, r3] adds r1, r2 - bl GetMapTile_1 + bl GetTile ldr r0, [r0, 0x10] str r0, [sp, 0x38] bl EntityExists @@ -2856,7 +2856,7 @@ _08053A86: cmp r0, 0x5 bne _08053AE8 ldr r0, [sp, 0x18] - bl MoveAffectedByMagicCoat + bl IsReflectedByMagicCoat lsls r0, 24 cmp r0, 0 beq _08053B5C @@ -2897,7 +2897,7 @@ _08053AE8: adds r0, r7, 0 mov r1, r8 movs r2, 0 - bl GetMoveTargetingFlagsForPokemon + bl GetMoveTargetAndRangeForPokemon lsls r0, 16 asrs r1, r0, 16 ldr r0, _08053C88 @@ -2958,7 +2958,7 @@ _08053B5C: adds r0, r7, 0 mov r1, r8 movs r2, 0 - bl GetMoveTargetingFlagsForPokemon + bl GetMoveTargetAndRangeForPokemon lsls r0, 16 movs r1, 0xF0 lsls r1, 12 @@ -3006,7 +3006,7 @@ _08053BC0: cmp r0, 0 beq _08053BFA mov r0, r8 - bl IsBlockedBySoundproof + bl IsSoundMove lsls r0, 24 cmp r0, 0 beq _08053BFA @@ -3244,7 +3244,7 @@ _08053DA8: beq _08053DCE adds r0, r5, 0x4 adds r1, r7, 0x4 - bl CalculateFacingDir + bl GetDirectionTowardsPosition strb r0, [r4] _08053DCE: ldr r1, [sp, 0x24] @@ -3261,7 +3261,7 @@ _08053DCE: beq _08053DF2 adds r0, r5, 0x4 adds r1, r7, 0x4 - bl CalculateFacingDir + bl GetDirectionTowardsPosition strb r0, [r4] _08053DF2: adds r0, r5, 0 @@ -3310,7 +3310,7 @@ _08053E4A: adds r0, r7, 0 mov r1, r8 movs r2, 0 - bl GetMoveTargetingFlagsForPokemon + bl GetMoveTargetAndRangeForPokemon movs r1, 0xF ands r1, r0 cmp r1, 0 @@ -5857,16 +5857,16 @@ sub_8055640: mov r9, r3 ldr r7, [sp, 0x44] adds r1, r5, 0 - bl GetMoveTypeForPokemon + bl GetMoveTypeForMonster adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 adds r0, r6, 0 adds r1, r5, 0 - bl CalculateMovePower + bl GetMovePower mov r8, r0 adds r0, r5, 0 - bl GetMoveCriticalHitChance + bl GetMoveCritChance str r0, [sp] add r0, sp, 0x14 str r0, [sp, 0x4] @@ -5917,10 +5917,10 @@ sub_80556BC: lsls r4, 24 lsrs r4, 24 adds r1, r5, 0 - bl CalculateMovePower + bl GetMovePower mov r8, r0 adds r0, r5, 0 - bl GetMoveCriticalHitChance + bl GetMoveCritChance str r0, [sp] add r0, sp, 0x14 str r0, [sp, 0x4] @@ -6021,7 +6021,7 @@ _08055790: bl sub_806D010 b _08055826 .align 2, 0 -_080557AC: .4byte gDungeonGlobalData +_080557AC: .4byte gDungeon _080557B0: .4byte 0x00000662 _080557B4: .4byte 0x000003e7 _080557B8: .4byte 0x00017b34 @@ -6114,7 +6114,7 @@ sub_8055864: adds r5, r2, 0 adds r6, r3, 0 adds r1, r5, 0 - bl GetMoveTypeForPokemon + bl GetMoveTypeForMonster adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 @@ -6290,10 +6290,10 @@ _080559B6: bgt _080559D4 adds r0, r4, 0x4 adds r1, r2, 0x4 - bl CalculateFacingDir + bl GetDirectionTowardsPosition adds r1, r0, 0 adds r0, r4, 0 - bl CanAttackInFront + bl CanAttackInDirection lsls r0, 24 cmp r0, 0 beq _080559D4 @@ -6314,7 +6314,7 @@ sub_80559DC: ldr r4, [r5, 0x70] adds r0, r5, 0x4 adds r1, 0x4 - bl CalculateFacingDir + bl GetDirectionTowardsPosition adds r1, r0, 0 movs r2, 0x7 ands r0, r2 @@ -7033,7 +7033,7 @@ sub_8055FA0: cmp r1, r0 bne _08056010 movs r0, 0x69 - bl DungeonRandomCapped + bl DungeonRandInt ldr r1, _08056004 str r0, [r1] add r4, sp, 0x110 @@ -7112,7 +7112,7 @@ _08056068: adds r0, r5, 0 adds r1, r7, 0 movs r2, 0x1 - bl GetMoveTargetingFlagsForPokemon + bl GetMoveTargetAndRangeForPokemon movs r4, 0xF0 adds r1, r4, 0 ands r1, r0 @@ -7124,7 +7124,7 @@ _08056084: adds r0, r5, 0 adds r1, r7, 0 movs r2, 0x1 - bl GetMoveTargetingFlagsForPokemon + bl GetMoveTargetAndRangeForPokemon adds r1, r4, 0 ands r1, r0 cmp r1, 0x80 @@ -7135,7 +7135,7 @@ _08056084: cmp r0, 0x97 bne _080560AE adds r0, r5, 0 - bl GetWeather + bl GetApparentWeather lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -7182,7 +7182,7 @@ _080560CC: bl sub_805744C b _08056142 .align 2, 0 -_08056108: .4byte gDungeonGlobalData +_08056108: .4byte gDungeon _0805610C: .4byte 0x00003a0e _08056110: .4byte gNaturePowerMoveTable _08056114: .4byte gUnknown_80FECE0 @@ -7204,7 +7204,7 @@ _08056136: adds r0, r5, 0 adds r1, r7, 0 movs r2, 0x1 - bl IsMoveUsable + bl CanMonsterUseMove _08056142: lsls r0, 24 lsrs r4, r0, 24 @@ -7222,7 +7222,7 @@ _08056156: cmp r0, 0x1 bne _080561A0 ldrh r0, [r7, 0x2] - bl MoveAffectedByMuzzled + bl FailsWhileMuzzled lsls r0, 24 cmp r0, 0 beq _080561A0 @@ -7393,7 +7393,7 @@ _080562CE: bne _080562F4 ldr r4, [r5, 0x70] movs r0, 0x8 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, 0x46 strb r0, [r4] adds r0, r5, 0 @@ -7735,7 +7735,7 @@ _0805658C: mov r2, r8 movs r1, 0x4 ldrsh r0, [r2, r1] - bl GetPokemonSize + bl GetBodySize lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 @@ -7746,7 +7746,7 @@ _0805658C: _080565A4: ldrh r4, [r7, 0x2] adds r0, r6, 0 - bl GetWeather + bl GetApparentWeather adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -7801,7 +7801,7 @@ _08056602: beq _080566E4 ldrh r4, [r7, 0x2] adds r0, r6, 0 - bl GetWeather + bl GetApparentWeather adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -7819,7 +7819,7 @@ _08056602: ldrsh r5, [r0, r1] ldrh r4, [r7, 0x2] adds r0, r6, 0 - bl GetWeather + bl GetApparentWeather adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -7844,7 +7844,7 @@ _08056602: bl sub_800569C b _08056694 .align 2, 0 -_08056680: .4byte gDungeonGlobalData +_08056680: .4byte gDungeon _08056684: .4byte 0x0001820a _08056688: .4byte 0xffff0000 _0805668C: .4byte 0x0000ffff @@ -7854,7 +7854,7 @@ _08056690: _08056694: ldrh r4, [r7, 0x2] adds r0, r6, 0 - bl GetWeather + bl GetApparentWeather adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -7995,7 +7995,7 @@ _08056780: movs r2, 0 ldrsh r0, [r6, r2] asrs r1, 16 - bl GetMapTile_1 + bl GetTile adds r2, r0, 0 ldrh r1, [r2] movs r0, 0x3 @@ -8226,7 +8226,7 @@ _0805695E: b _0805697E .align 2, 0 _0805696C: .4byte gUnknown_81069D4 -_08056970: .4byte gDungeonGlobalData +_08056970: .4byte gDungeon _08056974: .4byte 0x0001c05e _08056978: .4byte 0x0001820a _0805697C: @@ -8293,7 +8293,7 @@ _080569D4: .align 2, 0 _080569F0: .4byte 0xffff0000 _080569F4: .4byte 0x0000ffff -_080569F8: .4byte gDungeonGlobalData +_080569F8: .4byte gDungeon _080569FC: .4byte 0x000181f2 _08056A00: movs r0, 0x18 @@ -8307,7 +8307,7 @@ _08056A0E: ldrsh r0, [r7, r2] movs r6, 0x2 ldrsh r1, [r7, r6] - bl GetMapTile_1 + bl GetTile adds r6, r0, 0 ldrh r1, [r6] movs r0, 0x3 @@ -8349,7 +8349,7 @@ _08056A66: mov r0, r10 ldr r1, [sp, 0x1C] movs r2, 0 - bl GetMoveTargetingFlagsForPokemon + bl GetMoveTargetAndRangeForPokemon adds r2, r0, 0 lsls r2, 16 asrs r2, 16 @@ -8415,7 +8415,7 @@ _08056AC2: bl sub_8053704 b _08056B22 .align 2, 0 -_08056AF4: .4byte gDungeonGlobalData +_08056AF4: .4byte gDungeon _08056AF8: .4byte 0x0001c05e _08056AFC: ldr r0, [sp, 0x20] @@ -8461,10 +8461,10 @@ sub_8056B34: lsls r4, 24 lsrs r4, 24 mov r0, r8 - bl GetMoveAccuracy + bl GetMoveAccuracyOrAIChance adds r5, r0, 0 movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt str r0, [sp] ldr r0, [r7, 0x70] mov r9, r0 @@ -8483,7 +8483,7 @@ _08056B70: bne _08056B8A adds r0, r7, 0 movs r1, 0x4 - bl HasIQSkill + bl IQSkillIsEnabled lsls r0, 24 cmp r0, 0 beq _08056B8A @@ -8506,7 +8506,7 @@ _08056B9C: _08056BA2: adds r0, r6, 0 movs r1, 0x23 - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _08056BB6 @@ -8516,7 +8516,7 @@ _08056BA2: _08056BB6: adds r0, r6, 0 movs r1, 0x5 - bl HasIQSkill + bl IQSkillIsEnabled lsls r0, 24 cmp r0, 0 beq _08056BCA @@ -8540,7 +8540,7 @@ _08056BE0: cmp r0, 0x40 bne _08056BFC adds r0, r7, 0 - bl GetWeather + bl GetApparentWeather lsls r0, 24 lsrs r0, 24 cmp r0, 0x4 @@ -8588,7 +8588,7 @@ _08056C2A: movs r4, 0xA _08056C3C: adds r0, r6, 0 - bl GetWeather + bl GetApparentWeather lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 @@ -8720,7 +8720,7 @@ _08056D2E: str r1, [sp, 0x14] adds r0, r5, 0 movs r1, 0x7 - bl HasIQSkill + bl IQSkillIsEnabled lsls r0, 24 cmp r0, 0 beq _08056D44 @@ -8731,7 +8731,7 @@ _08056D44: adds r0, r5, 0 mov r1, r8 movs r2, 0 - bl GetMoveTargetingFlagsForPokemon + bl GetMoveTargetAndRangeForPokemon lsls r0, 16 asrs r7, r0, 16 movs r0, 0xF @@ -8748,7 +8748,7 @@ _08056D44: cmp r0, 0x97 bne _08056D7E adds r0, r5, 0 - bl GetWeather + bl GetApparentWeather lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -8880,7 +8880,7 @@ _08056E3A: str r1, [sp, 0x8] b _08056E86 .align 2, 0 -_08056E74: .4byte gDungeonGlobalData +_08056E74: .4byte gDungeon _08056E78: .4byte 0x000135cc _08056E7C: str r4, [sp] @@ -8983,7 +8983,7 @@ _08056F38: ble _08056F06 b _08056F64 .align 2, 0 -_08056F40: .4byte gDungeonGlobalData +_08056F40: .4byte gDungeon _08056F44: .4byte 0x000135cc _08056F48: cmp r1, 0x70 diff --git a/asm/code_8057824.s b/asm/code_8057824.s index 96a321b47..631008128 100644 --- a/asm/code_8057824.s +++ b/asm/code_8057824.s @@ -251,7 +251,7 @@ _0805950E: pop {r1} bx r1 .align 2, 0 -_08059518: .4byte gDungeonGlobalData +_08059518: .4byte gDungeon _0805951C: .4byte gUnknown_80F4F42 _08059520: .4byte 0x0000e269 _08059524: .4byte gUnknown_80FCF78 @@ -452,7 +452,7 @@ sub_805968C: mov r8, r1 adds r6, r2, 0 adds r7, r3, 0 - bl GetWeather + bl GetApparentWeather lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x1 @@ -673,7 +673,7 @@ DiveMoveAction: adds r5, r2, 0 mov r8, r3 movs r6, 0 - bl GetMapTileForDungeonEntity_2 + bl GetTileAtEntitySafe bl IsTileGround lsls r0, 24 cmp r0, 0 @@ -1009,7 +1009,7 @@ sub_8059AC4: adds r5, r0, 0 adds r6, r1, 0 ldr r4, _08059AF4 - bl GetWeather + bl GetApparentWeather lsls r0, 24 lsrs r0, 23 adds r0, r4 @@ -1160,7 +1160,7 @@ _08059BE2: beq _08059C08 adds r0, r5, 0 adds r1, r4, 0 - bl GetMoveTypeForPokemon + bl GetMoveTypeForMonster lsls r0, 24 cmp r0, 0 beq _08059C08 @@ -1179,13 +1179,13 @@ _08059C08: mov r0, r8 cmp r0, 0 beq _08059C5C - bl DungeonRandomCapped + bl DungeonRandInt lsls r0, 2 mov r1, sp adds r4, r1, r0 ldr r1, [r4] adds r0, r5, 0 - bl GetMoveTypeForPokemon + bl GetMoveTypeForMonster adds r1, r7, 0 adds r1, 0x5C movs r2, 0 @@ -1524,16 +1524,16 @@ _08059E8A: bne _08059F1A adds r0, r6, 0 adds r1, r7, 0 - bl GetMoveTypeForPokemon + bl GetMoveTypeForMonster adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 adds r0, r6, 0 adds r1, r7, 0 - bl CalculateMovePower + bl GetMovePower adds r5, r0, 0 adds r0, r7, 0 - bl GetMoveCriticalHitChance + bl GetMoveCritChance str r0, [sp] add r2, sp, 0x18 str r2, [sp, 0x4] @@ -1706,16 +1706,16 @@ _08059FFE: bne _0805A090 adds r0, r6, 0 adds r1, r7, 0 - bl GetMoveTypeForPokemon + bl GetMoveTypeForMonster adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 adds r0, r6, 0 adds r1, r7, 0 - bl CalculateMovePower + bl GetMovePower adds r5, r0, 0 adds r0, r7, 0 - bl GetMoveCriticalHitChance + bl GetMoveCritChance str r0, [sp] add r2, sp, 0x18 str r2, [sp, 0x4] @@ -1807,7 +1807,7 @@ sub_805A0A8: cmp r0, 0 beq _0805A114 movs r0, 0x3 - bl DungeonRandomCapped + bl DungeonRandInt cmp r0, 0x1 beq _0805A0FC cmp r0, 0x1 @@ -1885,7 +1885,7 @@ _0805A170: .4byte gUnknown_80FCCE4 _0805A174: adds r0, r5, 0 movs r1, 0x24 - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _0805A18C @@ -2174,7 +2174,7 @@ _0805A386: pop {r1} bx r1 .align 2, 0 -_0805A38C: .4byte gDungeonGlobalData +_0805A38C: .4byte gDungeon _0805A390: .4byte gUnknown_80FC81C thumb_func_end sub_805A31C @@ -2207,7 +2207,7 @@ _0805A3C2: pop {r1} bx r1 .align 2, 0 -_0805A3CC: .4byte gDungeonGlobalData +_0805A3CC: .4byte gDungeon _0805A3D0: .4byte gUnknown_80F4F42 _0805A3D4: .4byte 0x0000e268 _0805A3D8: .4byte gUnknown_80FCF7C @@ -2655,7 +2655,7 @@ _0805A70C: .4byte gUnknown_80FCCE8 _0805A710: adds r0, r5, 0 movs r1, 0x24 - bl HasItem + bl HasHeldItem lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 @@ -2837,10 +2837,10 @@ sub_805A85C: movs r5, 0 _0805A880: movs r0, 0x3 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 movs r0, 0x3 - bl DungeonRandomCapped + bl DungeonRandInt adds r2, r0, 0 subs r4, 0x1 subs r2, 0x1 @@ -2940,7 +2940,7 @@ _0805A94C: add r4, sp, 0x18 movs r2, 0x2 ldrsh r1, [r4, r2] - bl GetMapTile_2 + bl GetTileSafe ldr r5, [r0, 0x10] cmp r5, 0 beq _0805AA4C @@ -3109,7 +3109,7 @@ _0805AAB8: pop {r1} bx r1 .align 2, 0 -_0805AAC8: .4byte gDungeonGlobalData +_0805AAC8: .4byte gDungeon _0805AACC: .4byte 0x00003a08 thumb_func_end sub_805A85C @@ -3230,7 +3230,7 @@ _0805AB88: .align 2, 0 _0805ABA8: .4byte gUnknown_80F4E06 _0805ABAC: .4byte gUnknown_80F5978 -_0805ABB0: .4byte gDungeonGlobalData +_0805ABB0: .4byte gDungeon _0805ABB4: .4byte 0x00003a0e _0805ABB8: .4byte _0805ABBC .align 2, 0 @@ -3464,7 +3464,7 @@ sub_805AD54: movs r0, 0x10 b _0805AD92 .align 2, 0 -_0805AD80: .4byte gDungeonGlobalData +_0805AD80: .4byte gDungeon _0805AD84: .4byte 0x0001358c _0805AD88: ldr r0, _0805AD98 @@ -3477,7 +3477,7 @@ _0805AD92: movs r6, 0 b _0805AE0E .align 2, 0 -_0805AD98: .4byte gDungeonGlobalData +_0805AD98: .4byte gDungeon _0805AD9C: .4byte 0x0001357c _0805ADA0: lsls r0, r6, 2 @@ -3696,7 +3696,7 @@ sub_805AF30: adds r6, r2, 0 adds r4, r3, 0 movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt adds r1, r0, 0 cmp r0, 0x9 bgt _0805AF54 diff --git a/asm/code_805D8C8.s b/asm/code_805D8C8.s index cf83e1123..52817859d 100644 --- a/asm/code_805D8C8.s +++ b/asm/code_805D8C8.s @@ -23,10 +23,10 @@ sub_805D8C8: movs r5, 0 movs r0, 0 strh r0, [r1, 0x12] - bl GetLeaderEntity + bl GetLeader movs r1, 0x1 bl sub_806A2BC - bl GetLeaderEntity + bl GetLeader bl sub_80701A4 lsls r0, 24 cmp r0, 0 @@ -36,7 +36,7 @@ sub_805D8C8: bl sub_803E708 bl _0805E2B0 .align 2, 0 -_0805D90C: .4byte gDungeonGlobalData +_0805D90C: .4byte gDungeon _0805D910: .4byte 0x000181e8 _0805D914: mov r1, r8 @@ -59,16 +59,16 @@ _0805D928: cmp r0, 0 beq _0805D976 strb r5, [r1, 0x1] - bl GetLeaderEntity + bl GetLeader movs r1, 0x1 - bl ShouldAvoidEnemiesAndShowEffect + bl ShouldMonsterRunAwayAndShowEffect lsls r0, 24 cmp r0, 0 bne _0805D976 movs r0, 0x1 bl sub_8044C10 bl sub_805E804 - bl GetLeaderEntity + bl GetLeader bl sub_80647F0 bl ResetRepeatTimers bl ResetUnusedInputStruct @@ -83,7 +83,7 @@ _0805D976: movs r2, 0x1 bl sub_806A914 _0805D980: - bl GetLeaderEntity + bl GetLeader mov r10, r0 ldr r5, [r0, 0x70] mov r8, r5 @@ -125,7 +125,7 @@ _0805D9CA: b _0805DAEC .align 2, 0 _0805D9D4: .4byte 0x00000673 -_0805D9D8: .4byte gDungeonGlobalData +_0805D9D8: .4byte gDungeon _0805D9DC: .4byte 0x0000066c _0805D9E0: .4byte gUnknown_202F22D _0805D9E4: .4byte gUnknown_202F22C @@ -140,7 +140,7 @@ _0805D9EC: strb r4, [r0] b _0805E1AE .align 2, 0 -_0805DA00: .4byte gDungeonGlobalData +_0805DA00: .4byte gDungeon _0805DA04: .4byte 0x00000673 _0805DA08: ldr r0, _0805DA14 @@ -158,7 +158,7 @@ _0805DA1C: .4byte gUnknown_80F8A28 _0805DA20: ldr r0, [sp, 0x1C] movs r1, 0x17 - bl SetAction + bl SetMonsterActionFields b _0805E1AE _0805DA2A: ldr r0, _0805DA38 @@ -184,7 +184,7 @@ _0805DA40: orrs r6, r3 b _0805DAA8 .align 2, 0 -_0805DA58: .4byte gDungeonGlobalData +_0805DA58: .4byte gDungeon _0805DA5C: .4byte 0xffffff00 _0805DA60: ldr r5, _0805DA78 @@ -199,7 +199,7 @@ _0805DA60: orrs r6, r2 b _0805DAA8 .align 2, 0 -_0805DA78: .4byte gDungeonGlobalData +_0805DA78: .4byte gDungeon _0805DA7C: .4byte 0xffffff00 _0805DA80: ldr r3, _0805DA98 @@ -214,7 +214,7 @@ _0805DA80: orrs r6, r0 b _0805DAA8 .align 2, 0 -_0805DA98: .4byte gDungeonGlobalData +_0805DA98: .4byte gDungeon _0805DA9C: .4byte 0xffffff00 _0805DAA0: ldr r0, _0805DAB8 @@ -382,12 +382,12 @@ _0805DBDA: b _0805E1AE .align 2, 0 _0805DBEC: .4byte gRealInputs -_0805DBF0: .4byte gDungeonGlobalData +_0805DBF0: .4byte gDungeon _0805DBF4: .4byte 0x00000673 _0805DBF8: mov r0, r10 movs r1, 0x1 - bl ShouldAvoidEnemiesAndShowEffect + bl ShouldMonsterRunAwayAndShowEffect lsls r0, 24 cmp r0, 0 beq _0805DC08 @@ -503,7 +503,7 @@ _0805DCC8: .4byte gUnknown_80F8A4C _0805DCCC: ldr r0, [sp, 0x1C] movs r1, 0x14 - bl SetAction + bl SetMonsterActionFields mov r0, r10 bl GetTeamMemberEntityIndex mov r1, r8 @@ -524,7 +524,7 @@ _0805DCE8: _0805DCF8: ldr r0, [sp, 0x1C] movs r1, 0x32 - bl SetAction + bl SetMonsterActionFields b _0805E1AE _0805DD02: ldr r3, _0805DDC8 @@ -787,7 +787,7 @@ _0805DF00: .4byte gRealInputs _0805DF04: .4byte gUnknown_202F22D _0805DF08: .4byte 0x01000200 _0805DF0C: .4byte gTeamInventory_203B460 -_0805DF10: .4byte gDungeonGlobalData +_0805DF10: .4byte gDungeon _0805DF14: .4byte 0x0001820a _0805DF18: .4byte gUnknown_202EE00 _0805DF1C: .4byte 0x00018214 @@ -857,7 +857,7 @@ _0805DF82: .align 2, 0 _0805DFA0: .4byte gUnknown_202EE00 _0805DFA4: .4byte gRealInputs -_0805DFA8: .4byte gDungeonGlobalData +_0805DFA8: .4byte gDungeon _0805DFAC: .4byte 0x00018214 _0805DFB0: .4byte gUnknown_203B46C _0805DFB4: .4byte 0x0000066d @@ -1057,7 +1057,7 @@ _0805E114: b _0805E1AE .align 2, 0 _0805E128: .4byte gUnknown_80F8B0C -_0805E12C: .4byte gDungeonGlobalData +_0805E12C: .4byte gDungeon _0805E130: .4byte 0x00000673 _0805E134: movs r0, 0x2 @@ -1098,7 +1098,7 @@ _0805E174: b _0805E1AE .align 2, 0 _0805E17C: .4byte gRealInputs -_0805E180: .4byte gDungeonGlobalData +_0805E180: .4byte gDungeon _0805E184: .4byte 0x0000066c _0805E188: mov r0, r8 @@ -1166,7 +1166,7 @@ _0805E1E0: bl sub_803E46C b _0805E2B0 .align 2, 0 -_0805E210: .4byte gDungeonGlobalData +_0805E210: .4byte gDungeon _0805E214: .4byte 0x0000066d _0805E218: movs r0, 0xF @@ -1227,7 +1227,7 @@ _0805E27E: b _0805E2B0 .align 2, 0 _0805E294: .4byte gUnknown_202F22D -_0805E298: .4byte gDungeonGlobalData +_0805E298: .4byte gDungeon _0805E29C: movs r0, 0xF bl sub_803E46C @@ -1247,7 +1247,7 @@ _0805E2B0: pop {r0} bx r0 .align 2, 0 -_0805E2C0: .4byte gDungeonGlobalData +_0805E2C0: .4byte gDungeon thumb_func_end sub_805D8C8 thumb_func_start sub_805E2C4 @@ -1476,7 +1476,7 @@ _0805E3B4: _0805E47A: b _0805E6AC .align 2, 0 -_0805E47C: .4byte gDungeonGlobalData +_0805E47C: .4byte gDungeon _0805E480: .4byte 0x000181e8 _0805E484: .4byte gUnknown_202F22C _0805E488: .4byte 0xffff0000 @@ -1841,7 +1841,7 @@ _0805E76A: movs r3, 0x2 ldrsh r2, [r2, r3] adds r1, r2 - bl GetMapTile_1 + bl GetTile adds r4, r0, 0 ldr r0, [r4, 0x10] cmp r0, 0 @@ -1852,7 +1852,7 @@ _0805E76A: ldr r1, [r4, 0x10] ldr r4, [r1, 0x70] adds r0, r6, 0 - bl CanSee + bl CanSeeTarget lsls r0, 24 cmp r0, 0 beq _0805E7B8 @@ -1955,7 +1955,7 @@ _0805E85C: pop {r0} bx r0 .align 2, 0 -_0805E864: .4byte gDungeonGlobalData +_0805E864: .4byte gDungeon _0805E868: .4byte 0x0000066d _0805E86C: .4byte 0x0000066c _0805E870: .4byte gRealInputs @@ -1971,7 +1971,7 @@ sub_805E874: sub sp, 0x24 ldr r0, _0805E90C ldr r4, [r0] - bl GetLeaderEntity + bl GetLeader mov r9, r0 ldr r0, [r0, 0x70] adds r0, 0x46 @@ -1986,7 +1986,7 @@ sub_805E874: ldrsh r2, [r2, r3] str r2, [sp, 0x1C] adds r1, r2, 0 - bl GetMapTile_1 + bl GetTile adds r5, r0, 0 ldr r1, _0805E910 ldr r2, [sp, 0x18] @@ -2027,7 +2027,7 @@ sub_805E874: bne _0805E918 adds r0, r7, 0 adds r1, r6, 0 - bl GetMapTile_1 + bl GetTile ldrb r0, [r0, 0x9] cmp r0, 0xFF beq _0805E922 @@ -2035,7 +2035,7 @@ _0805E906: movs r0, 0 b _0805EC1A .align 2, 0 -_0805E90C: .4byte gDungeonGlobalData +_0805E90C: .4byte gDungeon _0805E910: .4byte gAdjacentTileOffsets _0805E914: .4byte 0x0000066c _0805E918: @@ -2065,7 +2065,7 @@ _0805E92E: ldrsh r1, [r1, r3] ldr r2, [sp, 0x1C] adds r1, r2, r1 - bl GetMapTile_1 + bl GetTile adds r1, r0, 0 ldr r0, [r1, 0x10] cmp r0, 0 @@ -2132,7 +2132,7 @@ _0805E9BC: _0805E9C8: adds r0, r7, 0 adds r1, r6, 0 - bl GetMapTile_1 + bl GetTile adds r5, r0, 0 ldr r0, [r5, 0x14] cmp r0, 0 @@ -2201,7 +2201,7 @@ _0805EA42: b _0805E906 .align 2, 0 _0805EA54: .4byte gAdjacentTileOffsets -_0805EA58: .4byte gDungeonGlobalData +_0805EA58: .4byte gDungeon _0805EA5C: .4byte 0x0001820f _0805EA60: mov r3, r8 @@ -2239,7 +2239,7 @@ _0805EA94: bne _0805EAD6 b _0805EAAC .align 2, 0 -_0805EAA0: .4byte gDungeonGlobalData +_0805EAA0: .4byte gDungeon _0805EAA4: .4byte 0x0001820f _0805EAA8: cmp r4, 0 @@ -2489,7 +2489,7 @@ sub_805EC4C: lsls r0, r2, 16 asrs r0, 16 asrs r1, r2, 16 - bl GetMapTile_1 + bl GetTile ldr r0, [r0, 0x10] mov r8, r0 cmp r0, 0 @@ -2634,7 +2634,7 @@ _0805EDA0: adds r0, r7, 0 adds r0, 0x44 movs r1, 0x2 - bl SetAction + bl SetMonsterActionFields ldr r0, _0805EDC0 ldrh r1, [r0] movs r0, 0x2 @@ -2663,7 +2663,7 @@ _0805EDCA: adds r0, r6, 0 adds r0, 0x44 movs r1, 0x2 - bl SetAction + bl SetMonsterActionFields adds r0, r6, 0 adds r0, 0x48 strb r4, [r0] @@ -2702,7 +2702,7 @@ _0805EE1E: pop {r1} bx r1 .align 2, 0 -_0805EE2C: .4byte gDungeonGlobalData +_0805EE2C: .4byte gDungeon thumb_func_end sub_805EC4C thumb_func_start sub_805EE30 @@ -2710,7 +2710,7 @@ sub_805EE30: push {r4-r7,lr} mov r7, r8 push {r7} - bl GetLeaderEntity + bl GetLeader adds r5, r0, 0 cmp r5, 0 bne _0805EE42 @@ -2723,11 +2723,11 @@ _0805EE42: b _0805EF52 _0805EE4E: adds r0, r5, 0 - bl GetMapTileForDungeonEntity_2 + bl GetTileAtEntitySafe adds r4, r0, 0 adds r0, r5, 0 movs r1, 0xD - bl HasIQSkill + bl IQSkillIsEnabled lsls r0, 24 cmp r0, 0 beq _0805EE82 @@ -2738,7 +2738,7 @@ _0805EE4E: beq _0805EE82 adds r0, r5, 0 movs r1, 0x9 - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 bne _0805EE82 @@ -2769,7 +2769,7 @@ _0805EE96: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0805EEB0: .4byte gDungeonGlobalData +_0805EEB0: .4byte gDungeon _0805EEB4: .4byte _0805EEB8 .align 2, 0 _0805EEB8: @@ -2788,7 +2788,7 @@ _0805EED0: movs r7, 0 adds r0, r5, 0 movs r1, 0x13 - bl HasIQSkill + bl IQSkillIsEnabled lsls r0, 24 cmp r0, 0 beq _0805EF00 @@ -2851,7 +2851,7 @@ _0805EF52: pop {r0} bx r0 .align 2, 0 -_0805EF5C: .4byte gDungeonGlobalData +_0805EF5C: .4byte gDungeon thumb_func_end sub_805EE30 thumb_func_start sub_805EF60 @@ -2891,7 +2891,7 @@ _0805EFA2: adds r0, r6, 0 adds r0, 0x44 movs r1, 0x13 - bl SetAction + bl SetMonsterActionFields movs r0, 0x1 _0805EFAE: pop {r4-r6} @@ -2907,7 +2907,7 @@ sub_805EFB4: mov r8, r0 lsls r1, 24 lsrs r7, r1, 24 - bl GetLeaderEntityData + bl GetLeaderMonster adds r6, r0, 0 cmp r7, 0 beq _0805EFE2 @@ -2930,7 +2930,7 @@ _0805EFE2: cmp r0, 0x2 bne _0805F020 movs r0, 0x8 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 movs r5, 0 _0805EFF6: @@ -2976,7 +2976,7 @@ sub_805F02C: ldr r0, [r5] adds r0, 0xBC ldr r7, [r0] - bl GetLeaderEntity + bl GetLeader mov r9, r0 ldr r0, [r7, 0x70] mov r8, r0 @@ -2988,7 +2988,7 @@ sub_805F02C: ldr r0, _0805F05C b _0805F08E .align 2, 0 -_0805F058: .4byte gDungeonGlobalData +_0805F058: .4byte gDungeon _0805F05C: .4byte gUnknown_80F9BD8 _0805F060: movs r0, 0x2 @@ -3108,7 +3108,7 @@ _0805F12A: bl sub_803F508 mov r0, r9 bl sub_8041AD0 - bl GetLeaderEntity + bl GetLeader bl sub_8041AE0 ldr r0, _0805F198 adds r1, r7, 0 @@ -3138,7 +3138,7 @@ _0805F184: pop {r0} bx r0 .align 2, 0 -_0805F194: .4byte gLeaderPokemon +_0805F194: .4byte gLeaderPointer _0805F198: .4byte gAvailablePokemonNames _0805F19C: .4byte gUnknown_80F9BB0 thumb_func_end sub_805F02C @@ -3146,7 +3146,7 @@ _0805F19C: .4byte gUnknown_80F9BB0 thumb_func_start sub_805F1A0 sub_805F1A0: push {lr} - bl GetLeaderEntityData + bl GetLeaderMonster adds r0, 0x44 pop {r1} bx r1 @@ -3155,7 +3155,7 @@ sub_805F1A0: thumb_func_start sub_805F1AC sub_805F1AC: push {lr} - bl GetLeaderEntityData + bl GetLeaderMonster adds r0, 0x44 ldrh r0, [r0] pop {r1} @@ -3203,15 +3203,15 @@ _0805F1F8: bl PlayFanfareSE b _0805F240 .align 2, 0 -_0805F208: .4byte gDungeonGlobalData +_0805F208: .4byte gDungeon _0805F20C: .4byte 0x00000137 _0805F210: - bl GetLeaderEntity + bl GetLeader movs r1, 0x1 bl sub_806675C b _0805F226 _0805F21C: - bl GetLeaderEntity + bl GetLeader movs r1, 0x1 bl sub_806684C _0805F226: @@ -3237,7 +3237,7 @@ _0805F240: str r1, [r0] ldr r0, [sp, 0xC] bl DrawFieldMenu - bl GetLeaderEntity + bl GetLeader movs r1, 0 bl sub_806A2BC ldr r4, _0805F38C @@ -3334,7 +3334,7 @@ _0805F304: ldr r1, _0805F3A4 ands r0, r1 str r0, [sp, 0x4] - bl GetLeaderEntity + bl GetLeader add r1, sp, 0x4 bl sub_805FD74 lsls r0, 24 @@ -3349,7 +3349,7 @@ _0805F33A: lsls r0, 24 cmp r0, 0 beq _0805F35C - bl GetLeaderEntity + bl GetLeader add r1, sp, 0x4 bl sub_805FD74 lsls r0, 24 @@ -3363,7 +3363,7 @@ _0805F35C: lsrs r0, 16 cmp r0, 0xC bne _0805F3B2 - bl GetLeaderEntity + bl GetLeader movs r1, 0 movs r2, 0xC bl sub_8044D90 @@ -3391,36 +3391,36 @@ _0805F3A8: _0805F3B2: cmp r0, 0x35 bne _0805F3D0 - bl GetLeaderEntity + bl GetLeader movs r1, 0 movs r2, 0xD bl sub_8044D90 adds r4, r0, 0 - bl GetLeaderEntity + bl GetLeader adds r1, r4, 0 bl sub_8048A68 b _0805F40A _0805F3D0: cmp r0, 0x10 bne _0805F3EE - bl GetLeaderEntity + bl GetLeader movs r1, 0 movs r2, 0xE bl sub_8044D90 adds r4, r0, 0 - bl GetLeaderEntity + bl GetLeader adds r1, r4, 0 bl sub_8048950 b _0805F40A _0805F3EE: cmp r0, 0x2C bne _0805F41A - bl GetLeaderEntity + bl GetLeader movs r1, 0 movs r2, 0xF bl sub_8044D90 adds r4, r0, 0 - bl GetLeaderEntity + bl GetLeader adds r1, r4, 0 bl sub_8048B9C _0805F40A: @@ -3450,7 +3450,7 @@ _0805F428: _0805F430: movs r0, 0x1 bl sub_8044C10 - bl GetLeaderEntity + bl GetLeader bl sub_8060E38 lsls r0, 24 cmp r0, 0 @@ -3550,7 +3550,7 @@ _0805F50C: bl sub_806A2BC b _0805F72C .align 2, 0 -_0805F518: .4byte gDungeonGlobalData +_0805F518: .4byte gDungeon _0805F51C: .4byte 0x0001357c _0805F520: .4byte gUnknown_202F260 _0805F524: @@ -3627,7 +3627,7 @@ _0805F5A0: ble _0805F57A cmp r6, 0 bne _0805F5B0 - bl GetLeaderEntity + bl GetLeader adds r6, r0, 0 _0805F5B0: adds r0, r6, 0 @@ -3638,7 +3638,7 @@ _0805F5B0: movs r2, 0x1 movs r3, 0x1 bl sub_804A728 - bl GetLeaderEntityData + bl GetLeaderMonster adds r0, 0x48 strb r7, [r0] movs r0, 0 @@ -3666,7 +3666,7 @@ _0805F5EE: movs r5, 0 b _0805F60A .align 2, 0 -_0805F600: .4byte gDungeonGlobalData +_0805F600: .4byte gDungeon _0805F604: .4byte 0x0001357c _0805F608: adds r5, 0x1 @@ -3692,7 +3692,7 @@ _0805F616: beq _0805F608 b _0805F676 .align 2, 0 -_0805F634: .4byte gDungeonGlobalData +_0805F634: .4byte gDungeon _0805F638: .4byte 0x0001357c _0805F63C: bl sub_805F1AC @@ -3726,7 +3726,7 @@ _0805F65C: cmp r0, 0 beq _0805F64E _0805F676: - bl GetLeaderEntityData + bl GetLeaderMonster adds r0, 0x48 strb r7, [r0] cmp r4, r7 @@ -3737,7 +3737,7 @@ _0805F684: bl sub_8083CE0 b _0805F572 .align 2, 0 -_0805F68C: .4byte gDungeonGlobalData +_0805F68C: .4byte gDungeon _0805F690: .4byte 0x0001357c _0805F694: bl sub_805F1AC @@ -3793,10 +3793,10 @@ _0805F6FA: bl sub_8063CF0 b _0805F56C _0805F712: - bl GetLeaderEntity + bl GetLeader movs r1, 0 bl sub_806A2BC - bl GetLeaderEntity + bl GetLeader adds r0, 0x4 movs r1, 0 movs r2, 0x1 @@ -3816,13 +3816,13 @@ _0805F73A: beq _0805F742 b _0805F8E0 _0805F742: - bl GetLeaderEntity + bl GetLeader movs r1, 0x4 ldrsh r2, [r0, r1] movs r3, 0x6 ldrsh r1, [r0, r3] adds r0, r2, 0 - bl GetMapTile_1 + bl GetTile ldr r4, [r0, 0x14] cmp r4, 0 bne _0805F75C @@ -3854,7 +3854,7 @@ _0805F768: adds r1, 0x1 orrs r0, r1 str r0, [sp, 0x8] - bl GetLeaderEntity + bl GetLeader add r4, sp, 0x8 adds r1, r4, 0 bl sub_805FD74 @@ -3864,7 +3864,7 @@ _0805F768: lsls r0, 24 cmp r0, 0 beq _0805F7C2 - bl GetLeaderEntity + bl GetLeader adds r1, r4, 0 bl sub_805FD74 lsls r0, 24 @@ -3879,7 +3879,7 @@ _0805F7C2: adds r1, r0, 0 cmp r0, 0xC bne _0805F800 - bl GetLeaderEntity + bl GetLeader movs r1, 0 movs r2, 0x10 bl sub_8044D90 @@ -3898,24 +3898,24 @@ _0805F7FC: .4byte 0x00ffffff _0805F800: cmp r0, 0x35 bne _0805F81E - bl GetLeaderEntity + bl GetLeader movs r1, 0 movs r2, 0x11 bl sub_8044D90 adds r4, r0, 0 - bl GetLeaderEntity + bl GetLeader adds r1, r4, 0 bl sub_8048A68 b _0805F83A _0805F81E: cmp r0, 0x10 bne _0805F848 - bl GetLeaderEntity + bl GetLeader movs r1, 0 movs r2, 0x12 bl sub_8044D90 adds r4, r0, 0 - bl GetLeaderEntity + bl GetLeader adds r1, r4, 0 bl sub_8048950 _0805F83A: @@ -3929,12 +3929,12 @@ _0805F840: _0805F848: cmp r1, 0x2C bne _0805F8A8 - bl GetLeaderEntity + bl GetLeader movs r1, 0 movs r2, 0x13 bl sub_8044D90 adds r4, r0, 0 - bl GetLeaderEntity + bl GetLeader adds r1, r4, 0 bl sub_8048B9C lsls r0, 24 @@ -3950,7 +3950,7 @@ _0805F872: bne _0805F8CE movs r0, 0x1 bl sub_8044C10 - bl GetLeaderEntity + bl GetLeader bl sub_80643AC b _0805F8A8 _0805F88C: @@ -3963,7 +3963,7 @@ _0805F88C: beq _0805F8B4 movs r0, 0x1 bl sub_8044C10 - bl GetLeaderEntity + bl GetLeader bl sub_80647F0 _0805F8A8: bl sub_805F1AC @@ -3972,7 +3972,7 @@ _0805F8A8: bne _0805F92A b _0805F8CE _0805F8B4: - bl GetLeaderEntity + bl GetLeader adds r1, r0, 0 ldr r0, _0805F8D8 movs r2, 0 @@ -4018,9 +4018,9 @@ _0805F904: bl ResetUnusedInputStruct b _0805F240 .align 2, 0 -_0805F91C: .4byte gDungeonGlobalData +_0805F91C: .4byte gDungeon _0805F920: - bl GetLeaderEntity + bl GetLeader movs r1, 0 bl sub_806A2BC _0805F92A: @@ -4082,9 +4082,9 @@ _0805F998: _0805F9A0: movs r0, 0 bl sub_80073B8 - bl GetLeaderEntity + bl GetLeader movs r1, 0x1 - bl ShouldAvoidEnemiesAndShowEffect + bl ShouldMonsterRunAwayAndShowEffect lsls r0, 24 cmp r0, 0 beq _0805F9CC @@ -4166,7 +4166,7 @@ _0805F9DA: bne _0805FA62 b _0805FB92 _0805FA62: - bl GetLeaderEntity + bl GetLeader ldr r7, [r0, 0x70] bl sub_805317C adds r5, r0, 0 @@ -4230,7 +4230,7 @@ _0805FA62: bl xxx_format_and_draw ldr r5, _0805FBD0 movs r0, 0 - bl GetWeather + bl GetApparentWeather adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -4324,7 +4324,7 @@ _0805FBCC: .4byte gUnknown_80F9190 _0805FBD0: .4byte gAvailablePokemonNames _0805FBD4: .4byte gUnknown_80F91A8 _0805FBD8: .4byte gUnknown_80F91C8 -_0805FBDC: .4byte gDungeonGlobalData +_0805FBDC: .4byte gDungeon _0805FBE0: .4byte 0x0001357c _0805FBE4: .4byte gUnknown_80F91E0 thumb_func_end DrawFieldMenu @@ -4462,7 +4462,7 @@ _0805FCEC: adds r0, r5, 0 ldr r1, _0805FD38 adds r2, r4, 0 - bl sprintf_2 + bl sprintfStatic ldr r0, _0805FD30 adds r1, r6, 0 bl sub_8013800 @@ -4640,7 +4640,7 @@ _0805FE5E: ldr r0, [sp, 0xE0] adds r0, 0x44 movs r1, 0xC - bl SetAction + bl SetMonsterActionFields ldr r0, _0805FE78 ldr r1, [r0, 0x4] ldr r0, [r0] @@ -4808,7 +4808,7 @@ _0805FF66: .align 2, 0 _0805FFA8: .4byte gUnknown_202F240 _0805FFAC: .4byte gTeamInventory_203B460 -_0805FFB0: .4byte gDungeonGlobalData +_0805FFB0: .4byte gDungeon _0805FFB4: .4byte 0x0001357c _0805FFB8: .4byte gUnknown_202F258 _0805FFBC: .4byte gUnknown_202F248 @@ -5259,7 +5259,7 @@ _08060350: .4byte gUnknown_202F248 _08060354: .4byte gTeamInventory_203B460 _08060358: .4byte gUnknown_202F240 _0806035C: .4byte gRealInputs -_08060360: .4byte gDungeonGlobalData +_08060360: .4byte gDungeon _08060364: .4byte 0x00018212 _08060368: .4byte gUnknown_202F238 _0806036C: @@ -5310,7 +5310,7 @@ _080603BE: pop {r1} bx r1 .align 2, 0 -_080603D0: .4byte gDungeonGlobalData +_080603D0: .4byte gDungeon _080603D4: .4byte 0x00018212 thumb_func_end sub_805FD74 @@ -5398,7 +5398,7 @@ _08060478: .4byte gUnknown_8106B6C _0806047C: .4byte gUnknown_202EE10 _08060480: .4byte gUnknown_202F240 _08060484: .4byte gUnknown_202F258 -_08060488: .4byte gDungeonGlobalData +_08060488: .4byte gDungeon _0806048C: .4byte 0x00018212 _08060490: .4byte gUnknown_202F248 _08060494: @@ -5613,7 +5613,7 @@ _0806063C: ldrsh r0, [r1, r2] movs r3, 0x6 ldrsh r1, [r1, r3] - bl GetMapTile_1 + bl GetTile ldr r0, [r0, 0x14] bl GetItemData adds r7, r0, 0 @@ -5799,7 +5799,7 @@ _080607D0: pop {r0} bx r0 .align 2, 0 -_080607E0: .4byte gDungeonGlobalData +_080607E0: .4byte gDungeon _080607E4: .4byte gUnknown_202F248 _080607E8: .4byte 0x0001357c _080607EC: .4byte gAvailablePokemonNames @@ -5987,7 +5987,7 @@ _0806092C: movs r0, 0x9 bl sub_8044F5C ldrb r0, [r7, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0x6 @@ -6010,7 +6010,7 @@ _0806092C: .align 2, 0 _08060964: .4byte gUnknown_202F238 _08060968: .4byte gUnknown_202EE6C -_0806096C: .4byte gDungeonGlobalData +_0806096C: .4byte gDungeon _08060970: .4byte 0x0000065b _08060974: .4byte gTeamInventory_203B460 _08060978: @@ -6073,12 +6073,12 @@ _080609E8: cmp r0, 0x14 bhi _08060A6C ldrb r0, [r7, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 cmp r0, 0 beq _08060A0A ldrb r0, [r7, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -6095,7 +6095,7 @@ _08060A0A: b _08060A42 .align 2, 0 _08060A20: .4byte gUnknown_202F238 -_08060A24: .4byte gDungeonGlobalData +_08060A24: .4byte gDungeon _08060A28: .4byte 0x0000065b _08060A2C: movs r0, 0x3C @@ -6184,7 +6184,7 @@ _08060ABE: .align 2, 0 _08060AD4: .4byte gTeamInventory_203B460 _08060AD8: .4byte gUnknown_202F238 -_08060ADC: .4byte gDungeonGlobalData +_08060ADC: .4byte gDungeon _08060AE0: .4byte 0x0001357c _08060AE4: .4byte 0x00000157 _08060AE8: @@ -6208,7 +6208,7 @@ _08060AE8: bl sub_8044F5C b _08060B24 .align 2, 0 -_08060B10: .4byte gDungeonGlobalData +_08060B10: .4byte gDungeon _08060B14: .4byte 0x0000065b _08060B18: .4byte gTeamInventory_203B460 _08060B1C: @@ -6235,7 +6235,7 @@ _08060B3C: ldrsh r0, [r1, r2] movs r3, 0x6 ldrsh r1, [r1, r3] - bl GetMapTile_1 + bl GetTile ldr r0, [r0, 0x14] cmp r0, 0 bne _08060B68 @@ -6254,7 +6254,7 @@ _08060B68: bl sub_8044F5C _08060B78: ldrb r0, [r7, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 cmp r0, 0 bne _08060B8E @@ -6264,7 +6264,7 @@ _08060B78: b _08060BAE _08060B8E: ldrb r0, [r7, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -6325,7 +6325,7 @@ _08060BD0: movs r4, 0x1 ands r4, r0 ldrb r0, [r7, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0x5 @@ -6333,7 +6333,7 @@ _08060BD0: movs r5, 0x1 _08060C22: ldrb r0, [r7, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0x9 @@ -6354,7 +6354,7 @@ _08060C32: bl sub_8044F5C b _08060C68 .align 2, 0 -_08060C50: .4byte gDungeonGlobalData +_08060C50: .4byte gDungeon _08060C54: .4byte 0x0001357c _08060C58: .4byte gTeamInventory_203B460 _08060C5C: .4byte 0x0000065b @@ -6433,7 +6433,7 @@ sub_8060CE8: adds r0, r1 ldrh r1, [r0] adds r0, r4, 0 - bl SetAction + bl SetMonsterActionFields ldr r0, _08060D20 ldr r1, [r0, 0x4] ldr r0, [r0] @@ -6455,7 +6455,7 @@ _08060D20: .4byte gUnknown_202F238 thumb_func_start sub_8060D24 sub_8060D24: push {r4,lr} - bl GetLeaderEntity + bl GetLeader movs r1, 0 movs r2, 0xB bl sub_8044D90 @@ -6584,7 +6584,7 @@ _08060E1A: pop {r1} bx r1 .align 2, 0 -_08060E28: .4byte gDungeonGlobalData +_08060E28: .4byte gDungeon _08060E2C: .4byte 0x0000065b _08060E30: .4byte gTeamInventory_203B460 _08060E34: .4byte 0x0001357c @@ -6818,7 +6818,7 @@ _08060FE2: adds r0, r4, 0 adds r0, 0x44 movs r1, 0x1B - bl SetAction + bl SetMonsterActionFields ldr r0, [sp] lsls r0, 2 add r0, r8 @@ -6828,7 +6828,7 @@ _08060FE2: b _08061116 .align 2, 0 _08061018: .4byte gUnknown_202F270 -_0806101C: .4byte gDungeonGlobalData +_0806101C: .4byte gDungeon _08061020: .4byte 0x0001357c _08061024: .4byte 0x00000157 _08061028: .4byte 0x0000065b @@ -6934,7 +6934,7 @@ _08061100: .4byte gRealInputs _08061104: .4byte gUnknown_202EE39 _08061108: .4byte gUnknown_202EE10 _0806110C: - bl GetLeaderEntity + bl GetLeader movs r1, 0 bl sub_806A2BC _08061116: @@ -6974,7 +6974,7 @@ DrawFieldTeamMenu: movs r1, 0x1 _08061154: mov r10, r1 - bl GetLeaderEntity + bl GetLeader adds r1, r0, 0 add r0, sp, 0x4 bl sub_8069D18 @@ -7201,7 +7201,7 @@ _08061300: bl strcpy b _080613EE .align 2, 0 -_08061318: .4byte gDungeonGlobalData +_08061318: .4byte gDungeon _0806131C: .4byte 0x0001357c _08061320: .4byte 0x00000157 _08061324: .4byte gUnknown_202F260 @@ -7476,7 +7476,7 @@ _0806155A: b _08061586 .align 2, 0 _08061560: .4byte gUnknown_202EE6C -_08061564: .4byte gDungeonGlobalData +_08061564: .4byte gDungeon _08061568: .4byte gUnknown_202EE10 _0806156C: .4byte 0x0001357c _08061570: .4byte 0x0000065d @@ -7519,7 +7519,7 @@ sub_80615B4: adds r0, r1 ldrh r1, [r0] adds r0, r5, 0 - bl SetAction + bl SetMonsterActionFields ldm r4!, {r0} lsls r0, 2 adds r4, r0 @@ -7689,7 +7689,7 @@ _0806171A: b _08061926 .align 2, 0 _08061720: .4byte gUnknown_202F270 -_08061724: .4byte gDungeonGlobalData +_08061724: .4byte gDungeon _08061728: .4byte 0x0001357c _0806172C: .4byte gUnknown_202EE10 _08061730: .4byte gRealInputs @@ -7991,7 +7991,7 @@ _08061994: subs r0, 0x1 cmp r0, r9 bge _08061994 - bl GetLeaderEntityData + bl GetLeaderMonster ldrb r1, [r0, 0x9] add r0, sp, 0x4 bl GetAvailTacticsforLvl @@ -8127,7 +8127,7 @@ _08061AA0: b _08061AB2 .align 2, 0 _08061AA4: .4byte gUnknown_202F270 -_08061AA8: .4byte gDungeonGlobalData +_08061AA8: .4byte gDungeon _08061AAC: .4byte 0x0001357c _08061AB0: movs r0, 0 @@ -10072,7 +10072,7 @@ _08062A38: .4byte gUnknown_8106C18 _08062A3C: .4byte gWhichTextPtr2 _08062A40: .4byte 0xfffffc27 _08062A44: .4byte gUnknown_202EE10 -_08062A48: .4byte gDungeonGlobalData +_08062A48: .4byte gDungeon _08062A4C: .4byte 0x0001357c _08062A50: cmp r6, 0x2 @@ -10161,7 +10161,7 @@ _08062AF4: movs r0, 0x1B bl sub_803E46C bl sub_804AA60 - bl GetLeaderEntity + bl GetLeader movs r1, 0 bl sub_806A2BC movs r0, 0 @@ -10210,7 +10210,7 @@ _08062B5A: pop {r1} bx r1 .align 2, 0 -_08062B6C: .4byte gDungeonGlobalData +_08062B6C: .4byte gDungeon _08062B70: .4byte 0x0001357c thumb_func_end DrawFieldGiveItemMenu @@ -10308,7 +10308,7 @@ _08062C24: mov r0, r10 adds r1, r5, 0 movs r2, 0x1 - bl IsMoveUsable + bl CanMonsterUseMove add r1, sp, 0x4 movs r2, 0 lsls r0, 24 @@ -10567,7 +10567,7 @@ _08062E10: movs r4, 0 b _08062E2E .align 2, 0 -_08062E24: .4byte gDungeonGlobalData +_08062E24: .4byte gDungeon _08062E28: .4byte 0x0001357c _08062E2C: adds r4, 0x1 @@ -10600,7 +10600,7 @@ _08062E54: bl sub_8083CE0 b _08062F32 .align 2, 0 -_08062E64: .4byte gDungeonGlobalData +_08062E64: .4byte gDungeon _08062E68: .4byte 0x0001357c _08062E6C: bl sub_805F1AC @@ -10642,7 +10642,7 @@ _08062EA6: bl sub_8083CE0 b _08062F32 .align 2, 0 -_08062EB8: .4byte gDungeonGlobalData +_08062EB8: .4byte gDungeon _08062EBC: .4byte 0x0001357c _08062EC0: bl sub_805F1AC @@ -10753,7 +10753,7 @@ sub_8062F90: str r2, [sp, 0xD8] ldr r0, [r0, 0x70] mov r9, r0 - bl GetLeaderEntity + bl GetLeader ldr r0, [r0, 0x70] str r0, [sp, 0xE4] add r4, sp, 0x70 @@ -10966,7 +10966,7 @@ _08063150: _08063168: adds r0, r7, 0 movs r1, 0x6 - bl SetAction + bl SetMonsterActionFields b _080631F4 .align 2, 0 _08063174: .4byte gRealInputs @@ -10984,7 +10984,7 @@ _0806317C: _0806318E: adds r0, r7, 0 movs r1, 0x7 - bl SetAction + bl SetMonsterActionFields b _080631F4 _08063198: bl sub_8062D88 @@ -11076,7 +11076,7 @@ _08063234: bne _08063274 adds r0, r7, 0 movs r1, 0x1D - bl SetAction + bl SetMonsterActionFields mov r0, r8 adds r0, 0x24 ldrb r1, [r0] @@ -11542,7 +11542,7 @@ _08063606: ldr r0, [sp, 0x14] adds r1, r5, 0 movs r2, 0x1 - bl IsMoveUsable + bl CanMonsterUseMove add r1, sp, 0x4 movs r2, 0 lsls r0, 24 @@ -11719,7 +11719,7 @@ _0806376A: bgt _08063788 mov r0, r8 movs r2, 0x1 - bl IsMoveIndexUsable + bl CanAIUseMove lsls r0, 24 lsrs r0, 24 negs r1, r0 @@ -11765,7 +11765,7 @@ sub_80637BC: adds r1, r0 ldrh r1, [r1] adds r0, r4, 0 - bl SetAction + bl SetMonsterActionFields strb r5, [r4, 0x4] ldr r0, _080637E4 ldr r0, [r0] @@ -11811,7 +11811,7 @@ sub_80637E8: pop {r0} bx r0 .align 2, 0 -_08063828: .4byte gDungeonGlobalData +_08063828: .4byte gDungeon _0806382C: .4byte 0x0001357c _08063830: .4byte 0x00000119 thumb_func_end sub_80637E8 @@ -12186,7 +12186,7 @@ _08063AEC: bl SendMessage b _08063B3A .align 2, 0 -_08063B1C: .4byte gDungeonGlobalData +_08063B1C: .4byte gDungeon _08063B20: .4byte 0x0001357c _08063B24: .4byte gUnknown_202DE58 _08063B28: .4byte 0x00000133 @@ -12251,7 +12251,7 @@ sub_8063B54: pop {r0} bx r0 .align 2, 0 -_08063BA4: .4byte gDungeonGlobalData +_08063BA4: .4byte gDungeon _08063BA8: .4byte 0x0001357c _08063BAC: .4byte gUnknown_202DE58 _08063BB0: .4byte 0x00000133 @@ -12353,7 +12353,7 @@ _08063C5C: pop {r0} bx r0 .align 2, 0 -_08063C70: .4byte gDungeonGlobalData +_08063C70: .4byte gDungeon _08063C74: .4byte 0x0001357c _08063C78: .4byte gUnknown_202DE58 _08063C7C: .4byte 0x00000119 @@ -12506,7 +12506,7 @@ _08063D70: bl SendMessage b _08063DBA .align 2, 0 -_08063D98: .4byte gDungeonGlobalData +_08063D98: .4byte gDungeon _08063D9C: .4byte 0x0001357c _08063DA0: .4byte gUnknown_202DE58 _08063DA4: .4byte 0x00000119 @@ -13444,7 +13444,7 @@ _080644D0: adds r0, r1 ldrh r1, [r0] adds r0, r4, 0 - bl SetAction + bl SetMonsterActionFields bl sub_8083D08 strb r6, [r4, 0x4] strh r6, [r4, 0x8] @@ -13518,7 +13518,7 @@ sub_806455C: ldrsh r0, [r4, r1] movs r2, 0x2 ldrsh r1, [r4, r2] - bl GetMapTile_1 + bl GetTile adds r4, r0, 0 ldr r0, _080645D0 ldr r2, [r0] @@ -13662,7 +13662,7 @@ _08064640: ldrsh r0, [r3, r1] movs r2, 0x2 ldrsh r1, [r3, r2] - bl GetMapTile_1 + bl GetTile ldr r4, [r0, 0x14] cmp r4, 0 bne _080646B8 @@ -13971,7 +13971,7 @@ _08064914: adds r0, r1 ldrh r1, [r0] adds r0, r4, 0 - bl SetAction + bl SetMonsterActionFields bl sub_8083D08 strb r6, [r4, 0x4] strh r6, [r4, 0x8] @@ -14392,7 +14392,7 @@ _08064C6A: ldrb r0, [r0] cmp r0, 0 beq _08064CA4 - bl IsBossBattle + bl IsBossFight lsls r0, 24 cmp r0, 0 bne _08064CA4 @@ -14400,7 +14400,7 @@ _08064C8C: bl sub_8083D08 b _08064CC0 .align 2, 0 -_08064C94: .4byte gDungeonGlobalData +_08064C94: .4byte gDungeon _08064C98: .4byte gUnknown_202F2E0 _08064C9C: .4byte gUnknown_202EE10 _08064CA0: .4byte gRealInputs @@ -14461,7 +14461,7 @@ _08064D06: ldrb r0, [r0] cmp r0, 0 beq _08064D2A - bl IsBossBattle + bl IsBossFight lsls r0, 24 cmp r0, 0 bne _08064D2A @@ -14501,7 +14501,7 @@ _08064D4C: .align 2, 0 _08064D68: .4byte gUnknown_202EE10 _08064D6C: .4byte gUnknown_202F2E0 -_08064D70: .4byte gDungeonGlobalData +_08064D70: .4byte gDungeon thumb_func_end sub_8064BE0 thumb_func_start sub_8064D74 @@ -15052,7 +15052,7 @@ _080651B6: pop {r0} bx r0 .align 2, 0 -_080651CC: .4byte gDungeonGlobalData +_080651CC: .4byte gDungeon thumb_func_end sub_806519C thumb_func_start sub_80651D0 @@ -15067,7 +15067,7 @@ sub_80651D0: bne _080651F4 bl sub_805F1A0 movs r1, 0x2B - bl SetAction + bl SetMonsterActionFields movs r0, 0 b _080651F6 .align 2, 0 @@ -15092,9 +15092,9 @@ sub_80651FC: bne _08065248 bl sub_805F1A0 movs r1, 0x2E - bl SetAction + bl SetMonsterActionFields ldr r4, _0806523C - bl GetLeaderEntity + bl GetLeader adds r2, r0, 0 adds r0, r4, 0 movs r1, 0 @@ -15109,7 +15109,7 @@ sub_80651FC: .align 2, 0 _08065238: .4byte gUnknown_80FDEB8 _0806523C: .4byte 0x0000021b -_08065240: .4byte gDungeonGlobalData +_08065240: .4byte gDungeon _08065244: .4byte 0x00000654 _08065248: movs r0, 0x1 @@ -15279,7 +15279,7 @@ _080652D2: ldrb r0, [r0] cmp r0, 0 beq _0806540E - bl IsBossBattle + bl IsBossFight lsls r0, 24 cmp r0, 0 bne _080653F4 @@ -15298,7 +15298,7 @@ _080652D2: .align 2, 0 _080653D0: .4byte gUnknown_202EE10 _080653D4: .4byte gUnknown_202F2E0 -_080653D8: .4byte gDungeonGlobalData +_080653D8: .4byte gDungeon _080653DC: .4byte gUnknown_80FE8F8 _080653E0: .4byte gUnknown_80FE9CC _080653E4: .4byte gUnknown_80FE9E8 @@ -16776,7 +16776,7 @@ sub_8065FB4: b _08065FFE .align 2, 0 _08065FE0: .4byte 0xfffff608 -_08065FE4: .4byte gDungeonGlobalData +_08065FE4: .4byte gDungeon _08065FE8: .4byte 0x00000644 _08065FEC: .4byte gUnknown_80FA5F4 _08065FF0: @@ -17054,7 +17054,7 @@ _08066208: ldrb r2, [r0] add r0, sp, 0x4 ldr r1, _08066258 - bl sprintf_2 + bl sprintfStatic movs r0, 0 ldrsh r1, [r5, r0] ldr r0, _0806625C @@ -17150,7 +17150,7 @@ _080662C4: adds r0, r4 ldrb r2, [r0] add r0, sp, 0x4 - bl sprintf_2 + bl sprintfStatic ldr r0, _0806634C lsls r1, r4, 1 adds r1, r5, r1 @@ -17252,7 +17252,7 @@ _080663A0: adds r0, r4 ldrb r2, [r0] add r0, sp, 0x4 - bl sprintf_2 + bl sprintfStatic ldr r0, _08066428 lsls r1, r4, 1 adds r1, r5, r1 @@ -17514,7 +17514,7 @@ _080665D0: b _08066704 _080665DE: adds r0, r6, 0 - bl GetBaseRecruit + bl GetRecruitRate lsls r0, 16 ldr r1, _0806661C cmp r0, r1 @@ -17533,7 +17533,7 @@ _08066600: b _0806669E .align 2, 0 _08066604: .4byte 0x000001a7 -_08066608: .4byte gDungeonGlobalData +_08066608: .4byte gDungeon _0806660C: .4byte 0x000037e4 _08066610: .4byte 0x0000343c _08066614: .4byte 0x0000343e @@ -17768,7 +17768,7 @@ _080667C8: .4byte 0x00000133 _080667CC: .4byte gUnknown_80F8D04 _080667D0: ldrb r0, [r4, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 cmp r0, 0 bne _08066808 @@ -18110,7 +18110,7 @@ _08066AA8: .4byte gUnknown_202DE58 _08066AAC: .4byte 0x0000014d _08066AB0: .4byte gUnknown_80F8D44 _08066AB4: .4byte gUnknown_80F8BE0 -_08066AB8: .4byte gDungeonGlobalData +_08066AB8: .4byte gDungeon _08066ABC: .4byte 0x00003a08 thumb_func_end sub_80668D0 @@ -18236,7 +18236,7 @@ _08066BBC: .4byte gUnknown_202DE58 _08066BC0: .4byte gAvailablePokemonNames _08066BC4: .4byte 0x0000014d _08066BC8: .4byte gUnknown_80F8D7C -_08066BCC: .4byte gDungeonGlobalData +_08066BCC: .4byte gDungeon _08066BD0: .4byte 0x00003a08 thumb_func_end sub_8066AC0 @@ -18366,7 +18366,7 @@ _08066CD8: .4byte gUnknown_202DE58 _08066CDC: .4byte gUnknown_202DFE8 _08066CE0: .4byte 0x0000014d _08066CE4: .4byte gUnknown_80F8DB4 -_08066CE8: .4byte gDungeonGlobalData +_08066CE8: .4byte gDungeon _08066CEC: .4byte 0x00003a08 thumb_func_end sub_8066BD4 @@ -18437,7 +18437,7 @@ _08066D68: ldrsh r0, [r4, r1] movs r2, 0x6 ldrsh r1, [r4, r2] - bl GetMapTile_1 + bl GetTile adds r2, r0, 0 ldrh r1, [r2] movs r0, 0x80 @@ -18506,7 +18506,7 @@ _08066DF8: _08066E00: .4byte 0x0000014d _08066E04: .4byte gAvailablePokemonNames _08066E08: .4byte gUnknown_80F8E28 -_08066E0C: .4byte gDungeonGlobalData +_08066E0C: .4byte gDungeon _08066E10: .4byte 0x00003a08 thumb_func_end sub_8066D04 @@ -18586,7 +18586,7 @@ _08066EA8: ldrsh r0, [r2, r3] movs r3, 0x6 ldrsh r1, [r2, r3] - bl GetMapTile_1 + bl GetTile ldr r0, [r0, 0x14] cmp r0, 0 beq _08066ECC @@ -18693,7 +18693,7 @@ _08066F7E: _08066F90: .4byte gUnknown_202DE58 _08066F94: .4byte 0x0000014d _08066F98: .4byte gUnknown_80F8EAC -_08066F9C: .4byte gDungeonGlobalData +_08066F9C: .4byte gDungeon _08066FA0: .4byte 0x00003a08 thumb_func_end sub_8066E14 @@ -18712,7 +18712,7 @@ sub_8066FA4: ldrsh r0, [r7, r1] movs r2, 0x6 ldrsh r1, [r7, r2] - bl GetMapTile_1 + bl GetTile mov r10, r0 adds r0, r7, 0 movs r1, 0 @@ -18864,7 +18864,7 @@ _080670EE: .align 2, 0 _08067100: .4byte 0x0000014d _08067104: .4byte gUnknown_80F8EAC -_08067108: .4byte gDungeonGlobalData +_08067108: .4byte gDungeon _0806710C: .4byte 0x00003a08 thumb_func_end sub_8066FA4 @@ -18928,7 +18928,7 @@ _08067188: .align 2, 0 _08067190: .4byte gUnknown_202DE58 _08067194: .4byte gAvailablePokemonNames -_08067198: .4byte gDungeonGlobalData +_08067198: .4byte gDungeon _0806719C: .4byte 0x00003a08 thumb_func_end sub_8067110 @@ -18968,12 +18968,12 @@ _080671E0: .4byte gUnknown_202DE58 _080671E4: .4byte gUnknown_80F8BE0 _080671E8: ldrb r0, [r4, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 cmp r0, 0 beq _08067202 ldrb r0, [r4, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -18995,7 +18995,7 @@ _0806721C: .4byte gUnknown_80F8BE0 _08067220: adds r0, r6, 0 movs r1, 0x1 - bl ShouldAvoidEnemiesAndShowEffect + bl ShouldMonsterRunAwayAndShowEffect lsls r0, 24 cmp r0, 0 beq _08067248 @@ -19037,7 +19037,7 @@ _08067272: lsrs r0, 16 lsls r0, 24 lsrs r0, 24 - bl GetItemType + bl GetItemCategory lsls r0, 24 cmp r0, 0 beq _0806729A @@ -19045,7 +19045,7 @@ _08067272: lsrs r0, 16 lsls r0, 24 lsrs r0, 24 - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -19100,12 +19100,12 @@ _080672F0: _080672F6: adds r0, r6, 0 movs r1, 0x29 - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _08067310 movs r0, 0x8 - bl DungeonRandomCapped + bl DungeonRandInt mov r1, r8 adds r1, 0x46 strb r0, [r1] @@ -19152,12 +19152,12 @@ _0806733E: _08067364: add r4, sp, 0x4 ldrb r0, [r4, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 cmp r0, 0 beq _08067380 ldrb r0, [r4, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -19175,7 +19175,7 @@ _08067384: movs r2, 0 bl SetMessageArgument_2 ldrb r0, [r4, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 cmp r0, 0 bne _080673BC @@ -19196,7 +19196,7 @@ _080673BC: _080673C6: add r0, sp, 0x4 ldrb r0, [r0, 0x2] - bl GetItemType + bl GetItemCategory adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -19204,7 +19204,7 @@ _080673C6: bl sub_8042208 adds r0, r6, 0 movs r1, 0x27 - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _08067400 @@ -19276,7 +19276,7 @@ _0806745E: _08067462: adds r0, r6, 0 movs r1, 0xF - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _08067486 @@ -19294,7 +19294,7 @@ _08067462: _08067486: add r0, sp, 0x4 ldrb r0, [r0, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -19352,7 +19352,7 @@ _080674F8: pop {r0} bx r0 .align 2, 0 -_08067508: .4byte gDungeonGlobalData +_08067508: .4byte gDungeon _0806750C: .4byte 0x00003a08 thumb_func_end sub_80671A0 @@ -19382,7 +19382,7 @@ sub_806752C: adds r1, r2 adds r1, r0 ldr r4, [r1] - bl GetLeaderEntity + bl GetLeader adds r1, r4, 0 movs r2, 0 bl sub_8067558 @@ -19390,7 +19390,7 @@ sub_806752C: pop {r0} bx r0 .align 2, 0 -_08067550: .4byte gDungeonGlobalData +_08067550: .4byte gDungeon _08067554: .4byte 0x0001357c thumb_func_end sub_806752C @@ -19486,7 +19486,7 @@ _0806760C: .4byte gUnknown_80FE008 _08067610: adds r0, r6, 0x4 adds r1, r5, 0x4 - bl CalculateFacingDir + bl GetDirectionTowardsPosition adds r1, r0, 0 adds r0, r6, 0 bl sub_806CEFC @@ -19527,7 +19527,7 @@ _08067648: movs r0, 0 b _08067716 .align 2, 0 -_08067668: .4byte gDungeonGlobalData +_08067668: .4byte gDungeon _0806766C: .4byte 0x0000066e _08067670: .4byte gUnknown_80FF674 _08067674: @@ -19591,7 +19591,7 @@ _080676D8: movs r2, 0x2 b _08067708 .align 2, 0 -_080676E8: .4byte gDungeonGlobalData +_080676E8: .4byte gDungeon _080676EC: .4byte 0x0000065c _080676F0: movs r0, 0xE @@ -19671,7 +19671,7 @@ sub_8067768: adds r1, r2 adds r1, r0 ldr r4, [r1] - bl GetLeaderEntity + bl GetLeader adds r1, r4, 0 movs r2, 0 bl sub_8067794 @@ -19679,7 +19679,7 @@ sub_8067768: pop {r0} bx r0 .align 2, 0 -_0806778C: .4byte gDungeonGlobalData +_0806778C: .4byte gDungeon _08067790: .4byte 0x0001357c thumb_func_end sub_8067768 @@ -19743,7 +19743,7 @@ _0806780C: lsls r0, 24 cmp r0, 0 beq _08067834 - bl IsDungeonMaze + bl IsMakuhitaTrainingMaze lsls r0, 24 cmp r0, 0 beq _0806782C @@ -20936,7 +20936,7 @@ _080681B0: _080681B4: .4byte gUnknown_202F308 _080681B8: .4byte gUnknown_202EE10 _080681BC: .4byte gUnknown_8106E80 -_080681C0: .4byte gDungeonGlobalData +_080681C0: .4byte gDungeon _080681C4: .4byte 0x0000065a _080681C8: .4byte gUnknown_2027370 _080681CC: .4byte gUnknown_8106DA4 @@ -21495,7 +21495,7 @@ sub_8068614: .align 2, 0 _0806862C: .4byte gUnknown_8106E98 _08068630: .4byte gMonsterFileArchive -_08068634: .4byte gDungeonGlobalData +_08068634: .4byte gDungeon _08068638: .4byte 0x000181e4 thumb_func_end sub_8068614 @@ -21511,7 +21511,7 @@ sub_806863C: pop {r0} bx r0 .align 2, 0 -_08068650: .4byte gDungeonGlobalData +_08068650: .4byte gDungeon _08068654: .4byte 0x000181e4 thumb_func_end sub_806863C @@ -21637,7 +21637,7 @@ _08068738: bx r0 .align 2, 0 _08068740: .4byte 0x000001a7 -_08068744: .4byte gDungeonGlobalData +_08068744: .4byte gDungeon _08068748: .4byte 0x00017b44 _0806874C: .4byte 0x000001a5 _08068750: .4byte 0x000037e4 @@ -21680,7 +21680,7 @@ _08068796: pop {r0} bx r0 .align 2, 0 -_080687A4: .4byte gDungeonGlobalData +_080687A4: .4byte gDungeon _080687A8: .4byte 0x000135cc thumb_func_end sub_8068768 @@ -21699,7 +21699,7 @@ sub_80687AC: str r0, [r1] bx lr .align 2, 0 -_080687C4: .4byte gDungeonGlobalData +_080687C4: .4byte gDungeon _080687C8: .4byte 0x000037f0 _080687CC: .4byte 0x000037f4 thumb_func_end sub_80687AC @@ -21716,7 +21716,7 @@ sub_80687D0: ldr r0, [r1] bx lr .align 2, 0 -_080687E4: .4byte gDungeonGlobalData +_080687E4: .4byte gDungeon _080687E8: .4byte 0x00017b44 thumb_func_end sub_80687D0 @@ -21752,7 +21752,7 @@ _08068820: pop {r0} bx r0 .align 2, 0 -_08068828: .4byte gDungeonGlobalData +_08068828: .4byte gDungeon _0806882C: .4byte 0x00017b44 _08068830: .4byte gUnknown_8106EA0 _08068834: .4byte gMonsterFileArchive @@ -21834,7 +21834,7 @@ sub_80688B0: pop {r0} bx r0 .align 2, 0 -_080688C8: .4byte gDungeonGlobalData +_080688C8: .4byte gDungeon thumb_func_end sub_80688B0 thumb_func_start sub_80688CC @@ -21867,7 +21867,7 @@ _080688F2: pop {r0} bx r0 .align 2, 0 -_08068900: .4byte gDungeonGlobalData +_08068900: .4byte gDungeon _08068904: .4byte 0x00017b44 _08068908: .4byte 0x000001a7 thumb_func_end sub_80688CC @@ -22049,7 +22049,7 @@ _08068A50: .align 2, 0 _08068A60: .4byte gRecruitedPokemonRef _08068A64: .4byte 0x00008df8 -_08068A68: .4byte gDungeonGlobalData +_08068A68: .4byte gDungeon _08068A6C: .4byte 0x00000644 _08068A70: .4byte 0x00008dfb _08068A74: .4byte 0x00008e0c @@ -22079,7 +22079,7 @@ _08068A8E: beq _08068AB2 movs r1, 0xE ldrsh r0, [r2, r1] - bl GetPokemonSize + bl GetBodySize lsls r0, 24 lsrs r0, 24 adds r4, r0 @@ -22089,7 +22089,7 @@ _08068AB2: ble _08068A8E movs r1, 0x8 ldrsh r0, [r6, r1] - bl GetPokemonSize + bl GetBodySize lsls r0, 24 lsrs r0, 24 adds r4, r0 @@ -22347,7 +22347,7 @@ _08068CC4: .4byte 0xfffffdd8 _08068CC8: .4byte gRecruitedPokemonRef _08068CCC: .4byte 0x00008df8 _08068CD0: .4byte 0xfffffe87 -_08068CD4: .4byte gDungeonGlobalData +_08068CD4: .4byte gDungeon _08068CD8: .4byte 0x00000644 _08068CDC: movs r3, 0xA @@ -22705,7 +22705,7 @@ _08068F74: thumb_func_start sub_8068F80 sub_8068F80: push {r4,r5,lr} - bl GetLeaderEntity + bl GetLeader adds r5, r0, 0 ldr r0, _08068FD4 ldr r4, [r0] @@ -22725,7 +22725,7 @@ sub_8068F80: cmp r5, 0 beq _08068FCC adds r0, r5, 0 - bl GetMapTileForDungeonEntity_2 + bl GetTileAtEntitySafe ldrh r0, [r0] lsrs r0, 5 movs r1, 0x1 @@ -22744,7 +22744,7 @@ _08068FCC: pop {r0} bx r0 .align 2, 0 -_08068FD4: .4byte gDungeonGlobalData +_08068FD4: .4byte gDungeon _08068FD8: .4byte 0x0000066c _08068FDC: .4byte 0x0000066d thumb_func_end sub_8068F80 @@ -22763,7 +22763,7 @@ sub_8068FE0: asrs r1, 16 mov r9, r1 ldr r7, [r0, 0x70] - bl GetMapTileForDungeonEntity_2 + bl GetTileAtEntitySafe adds r4, r0, 0 ldr r0, [sp, 0x74] cmp r0, 0 @@ -22880,10 +22880,10 @@ _080690A2: bl SetMessageArgument b _08069484 .align 2, 0 -_080690E4: .4byte gDungeonGlobalData +_080690E4: .4byte gDungeon _080690E8: .4byte 0x000135cc _080690EC: .4byte 0x000037fc -_080690F0: .4byte gLeaderPokemon +_080690F0: .4byte gLeaderPointer _080690F4: .4byte 0x0000065c _080690F8: .4byte 0x000005f4 _080690FC: @@ -22962,7 +22962,7 @@ _08069104: strb r0, [r1] b _08069484 .align 2, 0 -_08069198: .4byte gDungeonGlobalData +_08069198: .4byte gDungeon _0806919C: .4byte 0x0000066e _080691A0: .4byte 0x00003a0d _080691A4: .4byte 0x0000067b @@ -23059,7 +23059,7 @@ _08069228: adds r1, r4, 0 bl xxx_pokemon2_to_pokemonstruct_index_808DF2C _0806926E: - bl IsDungeonMaze + bl IsMakuhitaTrainingMaze lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 @@ -23105,7 +23105,7 @@ _080692B2: blt _080692B2 b _0806930A .align 2, 0 -_080692C4: .4byte gDungeonGlobalData +_080692C4: .4byte gDungeon _080692C8: .4byte 0x0001357c _080692CC: .4byte gRecruitedPokemonRef _080692D0: .4byte 0x00008df8 @@ -23154,7 +23154,7 @@ _0806930A: b _08069352 .align 2, 0 _0806932C: .4byte gUnknown_202EE70 -_08069330: .4byte gDungeonGlobalData +_08069330: .4byte gDungeon _08069334: .4byte 0x000005f4 _08069338: cmp r0, 0x47 @@ -23170,7 +23170,7 @@ _08069338: movs r2, 0 bl SetMessageArgument _08069352: - bl GetLeaderEntity + bl GetLeader cmp r0, 0 beq _080693C6 movs r0, 0x87 @@ -23205,7 +23205,7 @@ _08069384: lsrs r0, 16 cmp r0, 0x2 bhi _080693C6 - bl IsBossBattle + bl IsBossFight lsls r0, 24 cmp r0, 0 bne _080693C6 @@ -23258,7 +23258,7 @@ _080693CC: adds r1, r4, 0 bl xxx_pokemon2_to_pokemonstruct_index_808DF2C _0806940E: - bl IsDungeonMaze + bl IsMakuhitaTrainingMaze lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 @@ -23328,7 +23328,7 @@ _08069484: pop {r0} bx r0 .align 2, 0 -_08069494: .4byte gDungeonGlobalData +_08069494: .4byte gDungeon _08069498: .4byte 0x000005f4 _0806949C: .4byte 0xfffffe5f _080694A0: .4byte 0x000037fe @@ -23338,7 +23338,7 @@ _080694AC: .4byte 0x00008df8 _080694B0: .4byte 0x00000644 _080694B4: .4byte 0x0000065c _080694B8: .4byte 0x0000fffd -_080694BC: .4byte gLeaderPokemon +_080694BC: .4byte gLeaderPointer thumb_func_end sub_8068FE0 thumb_func_start sub_80694C0 @@ -23356,7 +23356,7 @@ sub_80694C0: mov r9, r3 adds r0, r7, 0 mov r1, r8 - bl GetMapTile_2 + bl GetTileSafe mov r10, r0 ldr r5, [r4, 0x70] adds r6, r5, 0 @@ -23403,7 +23403,7 @@ _08069522: blt _08069552 adds r1, r0, 0 adds r0, r2, 0 - bl GetMapTile_2 + bl GetTileSafe adds r1, r0, 0 ldr r0, [r1, 0x10] cmp r0, r4 @@ -23458,7 +23458,7 @@ _08069588: .align 2, 0 _0806959C: .4byte gUnknown_203B410 _080695A0: .4byte gUnknown_202EE0C -_080695A4: .4byte gDungeonGlobalData +_080695A4: .4byte gDungeon _080695A8: ldr r0, [r5, 0x70] str r0, [r5, 0x74] @@ -23550,7 +23550,7 @@ _08069622: _08069648: adds r0, r6, 0 adds r1, r7, 0 - bl GetMapTile_1 + bl GetTile ldrb r1, [r0, 0x9] adds r0, r4, 0 adds r0, 0x25 @@ -23591,7 +23591,7 @@ _0806967C: movs r3, 0x2 ldrsh r2, [r2, r3] adds r1, r2 - bl GetMapTile_1 + bl GetTile ldr r0, [r0, 0x10] _0806969E: pop {r4,r5} @@ -23610,7 +23610,7 @@ sub_80696A8: adds r5, 0x46 ldrb r1, [r5] adds r0, r4, 0 - bl CanAttackInFront + bl CanAttackInDirection lsls r0, 24 cmp r0, 0 beq _080696F4 @@ -23628,7 +23628,7 @@ sub_80696A8: movs r3, 0x2 ldrsh r2, [r2, r3] adds r1, r2 - bl GetMapTile_1 + bl GetTile ldr r1, [r0, 0x10] cmp r1, 0 beq _080696F4 @@ -23683,7 +23683,7 @@ sub_80696FC: movs r2, 0 ldrsh r0, [r0, r2] asrs r1, 16 - bl GetMapTile_1 + bl GetTile adds r5, r0, 0 adds r0, r4, 0 mov r1, sp @@ -23749,7 +23749,7 @@ sub_806977C: movs r2, 0 ldrsh r0, [r0, r2] asrs r1, 16 - bl GetMapTile_1 + bl GetTile mov r6, sp adds r0, r4, 0 mov r1, sp @@ -23781,7 +23781,7 @@ sub_806977C: ldrsh r0, [r0, r1] movs r2, 0x2 ldrsh r1, [r6, r2] - bl GetMapTile_1 + bl GetTile adds r5, r0, 0 adds r0, r4, 0 mov r1, sp @@ -23998,7 +23998,7 @@ _080699A8: .4byte gUnknown_810AC68 _080699AC: .4byte gUnknown_810AC62 _080699B0: .4byte gUnknown_810AC64 _080699B4: .4byte gUnknown_810AC66 -_080699B8: .4byte gDungeonGlobalData +_080699B8: .4byte gDungeon _080699BC: .4byte 0x0000065a _080699C0: adds r1, r6, 0 @@ -24054,7 +24054,7 @@ _08069A02: movs r1, 0x13 b _08069A34 .align 2, 0 -_08069A24: .4byte gDungeonGlobalData +_08069A24: .4byte gDungeon _08069A28: .4byte 0x00000676 _08069A2C: adds r0, r6, 0 @@ -24387,7 +24387,7 @@ _08069C74: adds r4, 0x1 _08069C8E: mov r0, r8 - bl ShouldAvoidEnemies + bl ShouldMonsterRunAway lsls r0, 24 cmp r0, 0 beq _08069CAA diff --git a/asm/code_8069E0C.s b/asm/code_8069E0C.s index 96a4623b5..b7ff4f04d 100644 --- a/asm/code_8069E0C.s +++ b/asm/code_8069E0C.s @@ -39,7 +39,7 @@ _0806A33E: str r0, [r1] b _0806A38A .align 2, 0 -_0806A378: .4byte gDungeonGlobalData +_0806A378: .4byte gDungeon _0806A37C: .4byte 0x000135cc _0806A380: .4byte 0x00017b30 _0806A384: @@ -77,7 +77,7 @@ _0806A3A0: orrs r0, r1 strb r0, [r4, 0x1] adds r0, r5, 0 - bl GetMoveMaxPP + bl GetMoveBasePP strb r0, [r4, 0x4] _0806A3C2: adds r4, 0x8 @@ -187,7 +187,7 @@ _0806A488: movs r2, 0x6 ldrsh r1, [r6, r2] adds r1, r7 - bl GetMapTile_2 + bl GetTileSafe adds r4, r0, 0 ldr r0, [r4, 0x10] cmp r0, 0 @@ -366,7 +366,7 @@ sub_806A5B8: b _0806A6D2 _0806A5CE: adds r0, r6, 0 - bl GetMapTileForDungeonEntity_2 + bl GetTileAtEntitySafe ldrh r0, [r0] movs r1, 0x3 ands r1, r0 @@ -395,7 +395,7 @@ _0806A5CE: _0806A608: movs r1, 0x2 ldrsh r0, [r4, r1] - bl GetWalkableTiles + bl GetMovementType lsls r0, 24 lsrs r0, 24 cmp r0, 0x4 @@ -420,7 +420,7 @@ _0806A608: b _0806A6D2 .align 2, 0 _0806A640: .4byte gDungeonWaterType -_0806A644: .4byte gDungeonGlobalData +_0806A644: .4byte gDungeon _0806A648: .4byte 0x00003a0e _0806A64C: .4byte 0x00000113 _0806A650: @@ -556,7 +556,7 @@ _0806A744: bl DungeonEntityUpdateStatusSprites b _0806A776 .align 2, 0 -_0806A75C: .4byte gDungeonGlobalData +_0806A75C: .4byte gDungeon _0806A760: .4byte 0x00000676 _0806A764: cmp r1, 0x11 @@ -627,7 +627,7 @@ _0806A7D2: pop {r0} bx r0 .align 2, 0 -_0806A7E0: .4byte gDungeonGlobalData +_0806A7E0: .4byte gDungeon _0806A7E4: .4byte 0x0001357c thumb_func_end sub_806A7A0 @@ -763,14 +763,14 @@ _0806A8C8: cmp r0, 0 beq _0806A8EE adds r0, r4, 0 - bl CannotAct + bl HasStatusThatPreventsActing lsls r0, 24 cmp r0, 0 bne _0806A90E _0806A8EE: adds r0, r4, 0x4 adds r1, r6, 0 - bl CalculateFacingDir + bl GetDirectionTowardsPosition adds r2, r0, 0 movs r1, 0x7 ands r0, r1 @@ -836,7 +836,7 @@ _0806A95C: pop {r0} bx r0 .align 2, 0 -_0806A96C: .4byte gDungeonGlobalData +_0806A96C: .4byte gDungeon _0806A970: .4byte 0x000135cc thumb_func_end sub_806A914 @@ -870,7 +870,7 @@ _0806A99E: pop {r0} bx r0 .align 2, 0 -_0806A9AC: .4byte gDungeonGlobalData +_0806A9AC: .4byte gDungeon _0806A9B0: .4byte 0x000135cc thumb_func_end sub_806A974 @@ -963,7 +963,7 @@ _0806AA56: movs r0, 0 b _0806AA6A .align 2, 0 -_0806AA5C: .4byte gDungeonGlobalData +_0806AA5C: .4byte gDungeon _0806AA60: .4byte 0x000037fd _0806AA64: .4byte 0x000037ff _0806AA68: @@ -1009,7 +1009,7 @@ _0806AA7C: bl sub_8042B20 b _0806AB0A .align 2, 0 -_0806AAB4: .4byte gDungeonGlobalData +_0806AAB4: .4byte gDungeon _0806AAB8: .4byte 0x0001357c _0806AABC: adds r0, r4, 0 @@ -1134,7 +1134,7 @@ _0806AB92: pop {r0} bx r0 .align 2, 0 -_0806ABA4: .4byte gDungeonGlobalData +_0806ABA4: .4byte gDungeon _0806ABA8: .4byte 0x000135cc thumb_func_end sub_806AB2C @@ -1456,7 +1456,7 @@ _0806AE06: b _0806AE94 .align 2, 0 _0806AE1C: .4byte 0xfffffdfc -_0806AE20: .4byte gDungeonGlobalData +_0806AE20: .4byte gDungeon _0806AE24: .4byte 0x00002f3c _0806AE28: .4byte 0x000001a7 _0806AE2C: .4byte 0x0000363c @@ -1544,7 +1544,7 @@ _0806AEB2: pop {r0} bx r0 .align 2, 0 -_0806AECC: .4byte gDungeonGlobalData +_0806AECC: .4byte gDungeon _0806AED0: .4byte 0x0000363c _0806AED4: .4byte 0x000001a7 thumb_func_end sub_806AD3C @@ -1573,7 +1573,7 @@ sub_806AED8: movs r3, 0 b _0806AF7A .align 2, 0 -_0806AF04: .4byte gDungeonGlobalData +_0806AF04: .4byte gDungeon _0806AF08: .4byte 0x00002f3c _0806AF0C: lsls r0, r2, 16 @@ -1902,7 +1902,7 @@ sub_806B168: adds r1, r4 movs r2, 0 ldrsh r1, [r1, r2] - bl GetMapTile_1 + bl GetTile ldrb r0, [r0, 0x9] str r0, [sp, 0x2C] movs r3, 0 @@ -2101,7 +2101,7 @@ _0806B2D2: ldrsh r1, [r1, r4] adds r1, r6, r1 str r3, [sp, 0x38] - bl GetMapTile_1 + bl GetTile adds r1, r0, 0 ldrb r0, [r1, 0x9] ldr r3, [sp, 0x38] @@ -2125,7 +2125,7 @@ _0806B2D2: mov r3, r10 b _0806B3A8 .align 2, 0 -_0806B324: .4byte gDungeonGlobalData +_0806B324: .4byte gDungeon _0806B328: .4byte 0x0000e218 _0806B32C: .4byte 0x0000e21a _0806B330: .4byte gRecruitedPokemonRef @@ -2168,7 +2168,7 @@ _0806B366: movs r3, 0 ldrsh r1, [r1, r3] adds r1, r6, r1 - bl GetMapTile_1 + bl GetTile adds r1, r0, 0 mov r4, r8 movs r2, 0xE @@ -2202,7 +2202,7 @@ _0806B3A8: bl sub_806B8CC b _0806B3E8 .align 2, 0 -_0806B3CC: .4byte gDungeonGlobalData +_0806B3CC: .4byte gDungeon _0806B3D0: .4byte gUnknown_80F4598 _0806B3D4: .4byte 0x0000e218 _0806B3D8: .4byte 0x0000e21a @@ -2286,7 +2286,7 @@ _0806B460: movs r0, 0 mov r2, r9 str r0, [r2] - bl GetLeaderEntity + bl GetLeader adds r5, r0, 0 bl EntityExists lsls r0, 24 @@ -2297,7 +2297,7 @@ _0806B460: ldrh r4, [r5, 0x4] b _0806B4AE .align 2, 0 -_0806B480: .4byte gLeaderPokemon +_0806B480: .4byte gLeaderPointer _0806B484: .4byte gRecruitedPokemonRef _0806B488: .4byte 0x000055aa _0806B48C: .4byte 0x00008df8 @@ -2324,7 +2324,7 @@ _0806B4AE: asrs r0, r5, 16 asrs r4, 16 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile ldrb r0, [r0, 0x9] str r0, [sp, 0x20] movs r2, 0 @@ -2387,7 +2387,7 @@ _0806B51C: mov r5, r10 adds r1, r5 str r2, [sp, 0x2C] - bl GetMapTile_1 + bl GetTile adds r1, r0, 0 ldrb r0, [r1, 0x9] ldr r2, [sp, 0x2C] @@ -2412,7 +2412,7 @@ _0806B51C: adds r2, r5 b _0806B642 .align 2, 0 -_0806B560: .4byte gDungeonGlobalData +_0806B560: .4byte gDungeon _0806B564: .4byte 0x0000e218 _0806B568: .4byte 0x0000e21a _0806B56C: .4byte 0x000055aa @@ -2453,7 +2453,7 @@ _0806B5A8: mov r5, r10 adds r1, r5 str r2, [sp, 0x2C] - bl GetMapTile_1 + bl GetTile adds r1, r0, 0 movs r3, 0xE ldrsh r0, [r6, r3] @@ -2503,7 +2503,7 @@ _0806B606: ldrsh r0, [r2, r1] movs r3, 0x2 ldrsh r1, [r5, r3] - bl GetMapTile_1 + bl GetTile adds r1, r0, 0 movs r3, 0xE ldrsh r0, [r6, r3] @@ -2577,7 +2577,7 @@ _0806B67C: str r0, [r1] b _0806B6BE .align 2, 0 -_0806B6AC: .4byte gDungeonGlobalData +_0806B6AC: .4byte gDungeon _0806B6B0: .4byte 0x0001357c _0806B6B4: .4byte gUnknown_202EE0C _0806B6B8: @@ -2625,7 +2625,7 @@ sub_806B6C4: adds r0, r2 b _0806B71A .align 2, 0 -_0806B708: .4byte gDungeonGlobalData +_0806B708: .4byte gDungeon _0806B70C: .4byte 0x000037ff _0806B710: ldr r0, _0806B77C @@ -2636,10 +2636,10 @@ _0806B710: _0806B71A: strb r1, [r0] movs r0, 0x38 - bl DungeonRandomCapped + bl DungeonRandInt adds r5, r0, 0 movs r0, 0x20 - bl DungeonRandomCapped + bl DungeonRandInt adds r7, r0, 0 movs r0, 0 _0806B72E: @@ -2661,7 +2661,7 @@ _0806B740: _0806B748: adds r0, r5, 0 adds r1, r7, 0 - bl GetMapTile_1 + bl GetTile ldrh r1, [r0, 0x4] movs r0, 0x8 ands r0, r1 @@ -2685,7 +2685,7 @@ _0806B748: movs r6, 0x1 b _0806B794 .align 2, 0 -_0806B77C: .4byte gDungeonGlobalData +_0806B77C: .4byte gDungeon _0806B780: .4byte 0x000037ff _0806B784: movs r0, 0 @@ -2745,7 +2745,7 @@ _0806B7E2: pop {r0} bx r0 .align 2, 0 -_0806B7F4: .4byte gDungeonGlobalData +_0806B7F4: .4byte gDungeon thumb_func_end sub_806B6C4 thumb_func_start sub_806B7F8 @@ -2763,7 +2763,7 @@ sub_806B7F8: ldrsh r0, [r6, r1] movs r2, 0xE ldrsh r1, [r6, r2] - bl GetMapTile_1 + bl GetTile adds r1, r0, 0 movs r3, 0 ldrsh r0, [r6, r3] @@ -2823,11 +2823,11 @@ _0806B838: cmp r0, 0 bne _0806B8B6 movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 movs r1, 0 ldrsh r0, [r6, r1] - bl GetUnk1D + bl GetChanceAsleep lsls r0, 24 lsrs r0, 24 cmp r0, r4 @@ -2903,13 +2903,13 @@ _0806B906: ldrsh r4, [r0, r3] b _0806B932 .align 2, 0 -_0806B92C: .4byte gDungeonGlobalData +_0806B92C: .4byte gDungeon _0806B930: adds r4, r1, 0 _0806B932: mov r0, r9 mov r1, r10 - bl GetMapTile_1 + bl GetTile adds r1, r0, 0 adds r0, r4, 0 bl sub_807034C @@ -3124,7 +3124,7 @@ _0806BA72: ldrb r0, [r0] cmp r0, 0 beq _0806BB24 - bl IsBossBattle + bl IsBossFight lsls r0, 24 cmp r0, 0 bne _0806BB24 @@ -3184,8 +3184,8 @@ _0806BB50: .4byte gUnknown_202F32C _0806BB54: .4byte 0xffff0000 _0806BB58: .4byte 0x0000ffff _0806BB5C: .4byte gUnknown_202EE0C -_0806BB60: .4byte gLeaderPokemon -_0806BB64: .4byte gDungeonGlobalData +_0806BB60: .4byte gLeaderPointer +_0806BB64: .4byte gDungeon _0806BB68: .4byte 0x00000644 thumb_func_end sub_806B8CC @@ -3394,7 +3394,7 @@ sub_806BC68: strb r3, [r6, 0x8] b _0806BD24 .align 2, 0 -_0806BD0C: .4byte gDungeonGlobalData +_0806BD0C: .4byte gDungeon _0806BD10: .4byte 0x0000ffff _0806BD14: .4byte 0x0000fffe _0806BD18: .4byte 0x0000066e @@ -3459,7 +3459,7 @@ _0806BD5E: strb r0, [r6, 0x9] b _0806BDA6 .align 2, 0 -_0806BD94: .4byte gDungeonGlobalData +_0806BD94: .4byte gDungeon _0806BD98: .4byte 0x000037fd _0806BD9C: .4byte 0x000037ff _0806BDA0: .4byte 0x000037f0 @@ -3663,7 +3663,7 @@ _0806BE12: adds r0, r6, r1 strb r7, [r0] mov r0, r8 - bl GetMovementSpeed + bl GetSpeedStatus movs r2, 0xAB lsls r2, 1 adds r1, r6, r2 @@ -3725,7 +3725,7 @@ _0806BF70: bx r0 .align 2, 0 _0806BFB4: .4byte 0x00000145 -_0806BFB8: .4byte gDungeonGlobalData +_0806BFB8: .4byte gDungeon _0806BFBC: .4byte 0x00018208 thumb_func_end sub_806BC68 @@ -3932,7 +3932,7 @@ _0806C11E: cmp r1, 0 beq _0806C170 movs r0, 0 - bl GetWeather + bl GetApparentWeather ldr r1, _0806C16C lsls r0, 24 lsrs r0, 22 @@ -3999,7 +3999,7 @@ _0806C188: pop {r0} bx r0 .align 2, 0 -_0806C1D0: .4byte gDungeonGlobalData +_0806C1D0: .4byte gDungeon _0806C1D4: .4byte 0x00000113 thumb_func_end sub_806BFC0 @@ -4071,7 +4071,7 @@ _0806C244: pop {r0} bx r0 .align 2, 0 -_0806C258: .4byte gDungeonGlobalData +_0806C258: .4byte gDungeon _0806C25C: .4byte 0x0001357c _0806C260: .4byte 0x00000119 thumb_func_end sub_806C1D8 @@ -4217,7 +4217,7 @@ _0806C358: strb r7, [r1, 0x2] b _0806C3B8 .align 2, 0 -_0806C370: .4byte gDungeonGlobalData +_0806C370: .4byte gDungeon _0806C374: .4byte 0x0000057c _0806C378: adds r1, 0x8 @@ -4313,7 +4313,7 @@ _0806C416: pop {r0} bx r0 .align 2, 0 -_0806C424: .4byte gDungeonGlobalData +_0806C424: .4byte gDungeon _0806C428: .4byte 0x0000057c thumb_func_end sub_806C3C0 @@ -4327,7 +4327,7 @@ sub_806C42C: str r1, [r0, 0x40] bx lr .align 2, 0 -_0806C43C: .4byte gDungeonGlobalData +_0806C43C: .4byte gDungeon _0806C440: .4byte 0x0000057c thumb_func_end sub_806C42C @@ -4380,7 +4380,7 @@ sub_806C488: asrs r6, r0, 16 adds r0, r6, 0 mov r1, r8 - bl GetPokemonAttSpatt + bl GetBaseOffensiveStat adds r5, r0, 0 movs r4, 0x2 cmp r4, r7 @@ -4421,7 +4421,7 @@ sub_806C4D4: asrs r6, r0, 16 adds r0, r6, 0 mov r1, r8 - bl GetPokemonDefSpdef + bl GetBaseDefensiveStat adds r5, r0, 0 movs r4, 0x2 cmp r4, r7 @@ -4471,7 +4471,7 @@ sub_806C51C: str r3, [sp, 0x38] b _0806C554 .align 2, 0 -_0806C544: .4byte gDungeonGlobalData +_0806C544: .4byte gDungeon _0806C548: .4byte 0x000181f8 _0806C54C: ldr r4, _0806C5AC @@ -4662,7 +4662,7 @@ _0806C6A8: ldr r0, [sp, 0x38] cmp r0, 0 bne _0806C6D6 - bl Random + bl Rand32Bit movs r4, 0x3 ands r4, r0 adds r5, r6, 0 @@ -4684,7 +4684,7 @@ _0806C6D6: ldr r0, _0806C774 bl sub_80687D0 adds r5, r0, 0 - bl Random + bl Rand32Bit movs r1, 0x3 ands r1, r0 adds r4, r6, 0 @@ -4725,7 +4725,7 @@ _0806C714: mov r7, r8 movs r1, 0x4 ldrsh r0, [r7, r1] - bl GetWalkableTiles + bl GetMovementType lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 @@ -4758,7 +4758,7 @@ _0806C76A: b _0806C7E2 .align 2, 0 _0806C774: .4byte 0x000001a5 -_0806C778: .4byte gDungeonGlobalData +_0806C778: .4byte gDungeon _0806C77C: .4byte 0x0001356c _0806C780: .4byte 0x0000015f _0806C784: @@ -4898,7 +4898,7 @@ _0806C870: str r0, [sp, 0x34] b _0806C8D8 .align 2, 0 -_0806C88C: .4byte gDungeonGlobalData +_0806C88C: .4byte gDungeon _0806C890: .4byte 0x000181f0 _0806C894: .4byte 0x000181f2 _0806C898: @@ -5033,7 +5033,7 @@ _0806C958: .align 2, 0 _0806C998: .4byte 0xffff0000 _0806C99C: .4byte 0x0000ffff -_0806C9A0: .4byte gDungeonGlobalData +_0806C9A0: .4byte gDungeon _0806C9A4: .4byte 0x00018208 _0806C9A8: .4byte 0x0000c7ff _0806C9AC: @@ -5137,7 +5137,7 @@ _0806CA58: _0806CA5C: .4byte 0xfffff400 _0806CA60: .4byte 0x0000f3ff _0806CA64: .4byte 0x0000ffff -_0806CA68: .4byte gDungeonGlobalData +_0806CA68: .4byte gDungeon _0806CA6C: .4byte 0x00018208 _0806CA70: .4byte 0xfffffe5f _0806CA74: .4byte 0x0001820f @@ -5338,7 +5338,7 @@ _0806CBDE: bx r0 .align 2, 0 _0806CBF0: .4byte gUnknown_202EDCC -_0806CBF4: .4byte gDungeonGlobalData +_0806CBF4: .4byte gDungeon _0806CBF8: .4byte 0x000181f0 _0806CBFC: .4byte 0x000181f2 _0806CC00: .4byte 0x0000010f @@ -5394,7 +5394,7 @@ _0806CC5C: pop {r0} bx r0 .align 2, 0 -_0806CC68: .4byte gDungeonGlobalData +_0806CC68: .4byte gDungeon _0806CC6C: .4byte 0x000135cc thumb_func_end sub_806CC10 @@ -5430,7 +5430,7 @@ _0806CCA0: pop {r0} bx r0 .align 2, 0 -_0806CCAC: .4byte gDungeonGlobalData +_0806CCAC: .4byte gDungeon _0806CCB0: .4byte 0x000135cc thumb_func_end sub_806CC70 @@ -5489,7 +5489,7 @@ _0806CCDC: beq _0806CD4C cmp r6, 0 bne _0806CD4C - bl Random + bl Rand32Bit movs r4, 0x3 ands r4, r0 adds r0, r5, 0 @@ -5505,14 +5505,14 @@ _0806CCDC: bl sub_80053AC b _0806CD76 .align 2, 0 -_0806CD40: .4byte gDungeonGlobalData +_0806CD40: .4byte gDungeon _0806CD44: .4byte 0x00018210 _0806CD48: .4byte 0x000181f8 _0806CD4C: ldr r0, _0806CD8C bl sub_80687D0 adds r4, r0, 0 - bl Random + bl Rand32Bit movs r1, 0x3 ands r1, r0 adds r0, r5, 0 diff --git a/asm/code_806CD90.s b/asm/code_806CD90.s index e98e2a508..8ab5bb0f4 100644 --- a/asm/code_806CD90.s +++ b/asm/code_806CD90.s @@ -71,7 +71,7 @@ _0806D088: ldr r0, [sp, 0x44] mov r9, r0 adds r0, r5, 0 - bl CannotAct + bl HasStatusThatPreventsActing lsls r0, 24 cmp r0, 0 bne _0806D0A2 @@ -332,7 +332,7 @@ _0806D26C: beq _0806D2C2 adds r0, r6, 0 movs r1, 0xA - bl HasType + bl MonsterIsType lsls r0, 24 cmp r0, 0 bne _0806D2C2 @@ -343,7 +343,7 @@ _0806D26C: cmp r0, 0 bne _0806D2C2 movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt ldr r1, _0806D3C4 movs r2, 0 ldrsh r1, [r1, r2] @@ -364,7 +364,7 @@ _0806D2C2: cmp r0, 0 beq _0806D2EE movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt ldr r1, _0806D3C8 movs r2, 0 ldrsh r1, [r1, r2] @@ -386,12 +386,12 @@ _0806D2EE: beq _0806D328 adds r0, r6, 0 movs r1, 0x11 - bl HasType + bl MonsterIsType lsls r0, 24 cmp r0, 0 beq _0806D328 movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt ldr r1, _0806D3CC movs r2, 0 ldrsh r1, [r1, r2] @@ -414,7 +414,7 @@ _0806D328: cmp r7, 0 beq _0806D358 movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt ldr r1, _0806D3D0 movs r2, 0 ldrsh r1, [r1, r2] @@ -435,7 +435,7 @@ _0806D358: cmp r0, 0 beq _0806D384 movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt ldr r1, _0806D3D4 movs r2, 0 ldrsh r1, [r1, r2] @@ -458,14 +458,14 @@ _0806D384: cmp r7, 0 beq _0806D3FA movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt ldr r1, _0806D3D8 movs r2, 0 ldrsh r1, [r1, r2] cmp r0, r1 bge _0806D3FA movs r0, 0x3 - bl DungeonRandomCapped + bl DungeonRandInt cmp r0, 0 bgt _0806D3DC movs r3, 0xBC @@ -509,7 +509,7 @@ _0806D3FA: cmp r0, 0 beq _0806D428 movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt ldr r1, _0806D4D4 movs r2, 0 ldrsh r1, [r1, r2] @@ -533,7 +533,7 @@ _0806D428: cmp r7, 0 beq _0806D45A movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt ldr r1, _0806D4D8 movs r2, 0 ldrsh r1, [r1, r2] @@ -555,7 +555,7 @@ _0806D45A: cmp r0, 0 beq _0806D48A movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt ldr r1, _0806D4DC movs r2, 0 ldrsh r1, [r1, r2] @@ -609,7 +609,7 @@ _0806D48A: _0806D4D4: .4byte gUnknown_80F4E1C _0806D4D8: .4byte gUnknown_80F4E1E _0806D4DC: .4byte gUnknown_80F4E20 -_0806D4E0: .4byte gDungeonGlobalData +_0806D4E0: .4byte gDungeon _0806D4E4: .4byte 0x000135cc _0806D4E8: ldr r0, [r4, 0x70] @@ -928,7 +928,7 @@ _0806D760: cmp r0, 0 beq _0806D796 adds r0, r7, 0 - bl GetMapTileForDungeonEntity_2 + bl GetTileAtEntitySafe mov r8, r0 movs r0, 0x14 movs r1, 0x18 @@ -1068,7 +1068,7 @@ _0806D858: bne _0806D8B6 adds r0, r7, 0 mov r1, r9 - bl CanSee + bl CanSeeTarget lsls r0, 24 lsrs r0, 24 negs r1, r0 @@ -1096,7 +1096,7 @@ _0806D8C8: adds r0, r7, 0x4 mov r1, r9 adds r1, 0x4 - bl CalculateFacingDir + bl GetDirectionTowardsPosition movs r1, 0x7 ands r0, r1 adds r4, 0x46 @@ -1194,7 +1194,7 @@ _0806D978: _0806D98E: adds r0, r7, 0 movs r1, 0x10 - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _0806D9B2 @@ -1377,7 +1377,7 @@ _0806DB00: .align 2, 0 _0806DB04: .4byte gRecruitedPokemonRef _0806DB08: .4byte 0x00008df8 -_0806DB0C: .4byte gDungeonGlobalData +_0806DB0C: .4byte gDungeon _0806DB10: .4byte 0x0000065c _0806DB14: .4byte gUnknown_80F9CEC _0806DB18: @@ -1429,7 +1429,7 @@ _0806DB4C: lsls r1, r3, 2 b _0806DB82 .align 2, 0 -_0806DB70: .4byte gDungeonGlobalData +_0806DB70: .4byte gDungeon _0806DB74: .4byte 0x0000065d _0806DB78: .4byte gUnknown_80F9D8C _0806DB7C: @@ -1541,7 +1541,7 @@ _0806DC48: b _0806DEE4 .align 2, 0 _0806DC4C: .4byte gUnknown_80F9D28 -_0806DC50: .4byte gDungeonGlobalData +_0806DC50: .4byte gDungeon _0806DC54: .4byte 0x00000679 _0806DC58: .4byte 0x00000676 _0806DC5C: @@ -1587,7 +1587,7 @@ _0806DC86: beq _0806DCDE adds r0, r7, 0 mov r1, r8 - bl CanSee + bl CanSeeTarget lsls r0, 24 cmp r0, 0 beq _0806DCDE @@ -1695,7 +1695,7 @@ _0806DD62: bl SendWaitingEndMessage b _0806DDA2 .align 2, 0 -_0806DD80: .4byte gDungeonGlobalData +_0806DD80: .4byte gDungeon _0806DD84: .4byte 0x0001357c _0806DD88: .4byte 0x00000221 _0806DD8C: .4byte 0x00000679 @@ -1746,7 +1746,7 @@ _0806DDF8: _0806DDFC: adds r0, r7, 0 movs r1, 0x16 - bl HasIQSkill + bl IQSkillIsEnabled lsls r0, 24 cmp r0, 0 bne _0806DE0C @@ -1858,7 +1858,7 @@ _0806DEC8: b _0806DEF2 .align 2, 0 _0806DED4: .4byte gTeamInventory_203B460 -_0806DED8: .4byte gDungeonGlobalData +_0806DED8: .4byte gDungeon _0806DEDC: .4byte 0x00000679 _0806DEE0: .4byte 0x00000676 _0806DEE4: @@ -2019,7 +2019,7 @@ _0806E020: mov r10, r3 b _0806E066 .align 2, 0 -_0806E02C: .4byte gDungeonGlobalData +_0806E02C: .4byte gDungeon _0806E030: .4byte 0x0000066a _0806E034: .4byte 0x000003e7 _0806E038: .4byte 0x0000014b @@ -2084,7 +2084,7 @@ _0806E08A: adds r0, r7, 0 b _0806E0DC .align 2, 0 -_0806E0BC: .4byte gDungeonGlobalData +_0806E0BC: .4byte gDungeon _0806E0C0: .4byte 0x00000644 _0806E0C4: .4byte 0x00000149 _0806E0C8: .4byte 0x000001f5 @@ -2210,7 +2210,7 @@ _0806E17E: strb r0, [r1] b _0806E1CA .align 2, 0 -_0806E1AC: .4byte gDungeonGlobalData +_0806E1AC: .4byte gDungeon _0806E1B0: .4byte 0x00000179 _0806E1B4: ldr r2, _0806E4E4 @@ -2578,7 +2578,7 @@ _0806E486: bne _0806E4B8 mov r0, r8 adds r1, r7, 0 - bl HasType + bl MonsterIsType lsls r0, 24 cmp r0, 0 beq _0806E4B8 @@ -2595,7 +2595,7 @@ _0806E486: bl sub_800A34C _0806E4B8: mov r0, r8 - bl GetWeather + bl GetApparentWeather lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x1 @@ -2615,7 +2615,7 @@ _0806E4B8: b _0806E53E .align 2, 0 _0806E4E4: .4byte gTypeEffectivenessChart -_0806E4E8: .4byte gDungeonGlobalData +_0806E4E8: .4byte gDungeon _0806E4EC: .4byte gUnknown_8106F54 _0806E4F0: .4byte gUnknown_80F54B4 _0806E4F4: .4byte gUnknown_8106EFC @@ -2660,7 +2660,7 @@ _0806E53E: bl sub_800A34C b _0806E586 .align 2, 0 -_0806E560: .4byte gDungeonGlobalData +_0806E560: .4byte gDungeon _0806E564: .4byte gUnknown_8106F1C _0806E568: .4byte 0x0000016b _0806E56C: @@ -2762,7 +2762,7 @@ _0806E61A: pop {r1} bx r1 .align 2, 0 -_0806E62C: .4byte gDungeonGlobalData +_0806E62C: .4byte gDungeon _0806E630: .4byte 0x0000016b _0806E634: .4byte gUnknown_8106F14 _0806E638: .4byte gUnknown_8106F64 diff --git a/asm/code_806E8B0.s b/asm/code_806E8B0.s index 3596b4d3f..85f83c19e 100644 --- a/asm/code_806E8B0.s +++ b/asm/code_806E8B0.s @@ -281,7 +281,7 @@ _0806EACA: .align 2, 0 _0806EADC: .4byte gUnknown_80FEE04 _0806EAE0: .4byte gUnknown_80FEE2C -_0806EAE4: .4byte gDungeonGlobalData +_0806EAE4: .4byte gDungeon _0806EAE8: .4byte 0x000037fa _0806EAEC: .4byte 0x000037f8 _0806EAF0: .4byte gUnknown_80FEE54 @@ -569,14 +569,14 @@ _0806ED0E: asrs r0, 8 str r0, [sp, 0xC] movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt str r0, [sp, 0x84] ldr r0, [sp, 0x80] cmp r0, 0 bne _0806EDC8 ldr r0, [sp, 0x70] movs r1, 0x13 - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _0806ED4A @@ -597,7 +597,7 @@ _0806ED0E: _0806ED4A: ldr r0, [sp, 0x70] movs r1, 0x2B - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _0806ED74 @@ -621,7 +621,7 @@ _0806ED74: beq _0806EE4A mov r0, r9 movs r1, 0x1E - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _0806EE4A @@ -640,7 +640,7 @@ _0806ED74: adds r0, r6 b _0806EE48 .align 2, 0 -_0806EDA4: .4byte gDungeonGlobalData +_0806EDA4: .4byte gDungeon _0806EDA8: .4byte 0x000001a1 _0806EDAC: .4byte 0x000001a3 _0806EDB0: .4byte gUnknown_80F504C @@ -655,7 +655,7 @@ _0806EDC8: beq _0806EDF6 mov r0, r9 movs r1, 0x22 - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _0806EDF6 @@ -675,7 +675,7 @@ _0806EDC8: _0806EDF6: ldr r0, [sp, 0x70] movs r1, 0x21 - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _0806EE20 @@ -696,7 +696,7 @@ _0806EDF6: _0806EE20: ldr r0, [sp, 0x70] movs r1, 0x2B - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _0806EE4A @@ -803,7 +803,7 @@ _0806EE7C: _0806EEF8: .4byte gUnknown_810AC66 _0806EEFC: .4byte 0x00000163 _0806EF00: .4byte gUnknown_810AC62 -_0806EF04: .4byte gDungeonGlobalData +_0806EF04: .4byte gDungeon _0806EF08: .4byte 0x00000161 _0806EF0C: .4byte gUnknown_810AC68 _0806EF10: .4byte 0x000003e6 @@ -980,7 +980,7 @@ _0806F036: bl sub_80522F4 b _0806F0BC .align 2, 0 -_0806F098: .4byte gDungeonGlobalData +_0806F098: .4byte gDungeon _0806F09C: .4byte 0x00000ccc _0806F0A0: .4byte gUnknown_8106F24 _0806F0A4: .4byte gUnknown_8106F04 @@ -1073,13 +1073,13 @@ _0806F140: .align 2, 0 _0806F15C: .4byte gUnknown_80FADD8 _0806F160: .4byte gUnknown_8106F1C -_0806F164: .4byte gDungeonGlobalData +_0806F164: .4byte gDungeon _0806F168: .4byte 0x00000167 _0806F16C: .4byte 0x000003e7 _0806F170: ldr r0, [sp, 0x70] movs r1, 0xC - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _0806F194 @@ -1097,7 +1097,7 @@ _0806F170: _0806F194: mov r0, r9 movs r1, 0xD - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _0806F1B6 @@ -1116,7 +1116,7 @@ _0806F1B6: beq _0806F1DA ldr r0, [sp, 0x70] movs r1, 0x1 - bl HasIQSkill + bl IQSkillIsEnabled lsls r0, 24 cmp r0, 0 beq _0806F1DA @@ -1131,7 +1131,7 @@ _0806F1B6: strb r0, [r1] _0806F1DA: movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt cmp r0, r4 bge _0806F1F4 ldr r2, _0806F2B8 @@ -1177,7 +1177,7 @@ _0806F1F4: str r0, [r1] movs r0, 0x80 lsls r0, 7 - bl DungeonRandomCapped + bl DungeonRandInt movs r6, 0 str r6, [sp, 0x58] movs r1, 0xE0 @@ -1222,7 +1222,7 @@ _0806F294: bx r0 .align 2, 0 _0806F2A4: .4byte gUnknown_80F4DAE -_0806F2A8: .4byte gDungeonGlobalData +_0806F2A8: .4byte gDungeon _0806F2AC: .4byte 0x00000165 _0806F2B0: .4byte gUnknown_80F4DB0 _0806F2B4: .4byte 0x00000169 @@ -1498,7 +1498,7 @@ sub_806F4A4: lsrs r4, r1, 24 ldr r5, [r0, 0x70] movs r1, 0xE - bl HasType + bl MonsterIsType lsls r0, 24 cmp r0, 0 beq _0806F4CE @@ -1670,7 +1670,7 @@ sub_806F500: strb r2, [r0] bx lr .align 2, 0 -_0806F5F4: .4byte gDungeonGlobalData +_0806F5F4: .4byte gDungeon _0806F5F8: .4byte 0x00000161 _0806F5FC: .4byte 0x00000163 _0806F600: .4byte 0x00000165 @@ -1713,7 +1713,7 @@ _0806F652: pop {r0} bx r0 .align 2, 0 -_0806F658: .4byte gDungeonGlobalData +_0806F658: .4byte gDungeon _0806F65C: .4byte 0x000181e8 thumb_func_end sub_806F63C @@ -1734,7 +1734,7 @@ sub_806F660: mov r9, r1 movs r2, 0x4 ldrsh r0, [r4, r2] - bl GetPokemonSize + bl GetBodySize lsls r0, 24 lsrs r5, r0, 24 ldr r0, _0806F6C0 @@ -1766,7 +1766,7 @@ sub_806F660: bne _0806F702 b _0806F8FC .align 2, 0 -_0806F6C0: .4byte gDungeonGlobalData +_0806F6C0: .4byte gDungeon _0806F6C4: .4byte 0x00003a14 _0806F6C8: .4byte 0x0000065c _0806F6CC: @@ -1910,7 +1910,7 @@ _0806F7C2: _0806F7CE: mov r0, r8 adds r1, r6, 0 - bl CanSee + bl CanSeeTarget lsls r0, 24 cmp r0, 0 bne _0806F7DE @@ -1919,11 +1919,11 @@ _0806F7DE: bl sub_806F910 movs r0, 0xFA lsls r0, 2 - bl DungeonRandomCapped + bl DungeonRandInt adds r7, r0, 0 movs r1, 0x2 ldrsh r0, [r4, r1] - bl GetBaseRecruit + bl GetRecruitRate lsls r0, 16 asrs r4, r0, 16 ldr r0, _0806F844 @@ -1933,7 +1933,7 @@ _0806F7DE: _0806F800: adds r0, r6, 0 movs r1, 0x2E - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _0806F816 @@ -1959,7 +1959,7 @@ _0806F816: b _0806F856 .align 2, 0 _0806F834: .4byte 0x00000644 -_0806F838: .4byte gDungeonGlobalData +_0806F838: .4byte gDungeon _0806F83C: .4byte 0x0000065d _0806F840: .4byte 0x0000010d _0806F844: .4byte 0xfffffc19 @@ -2051,7 +2051,7 @@ _0806F8E2: movs r0, 0x1 b _0806F8FE .align 2, 0 -_0806F8EC: .4byte gDungeonGlobalData +_0806F8EC: .4byte gDungeon _0806F8F0: .4byte 0x0001357c _0806F8F4: adds r0, r6, 0 @@ -2100,7 +2100,7 @@ _0806F91C: ldr r0, [r4, 0x70] movs r2, 0x4 ldrsh r0, [r0, r2] - bl GetPokemonSize + bl GetBodySize lsls r0, 24 lsrs r1, r0, 24 adds r0, r4, 0 @@ -2158,7 +2158,7 @@ _0806F9A2: pop {r0} bx r0 .align 2, 0 -_0806F9AC: .4byte gDungeonGlobalData +_0806F9AC: .4byte gDungeon _0806F9B0: .4byte 0x0001357c _0806F9B4: .4byte 0x00000167 _0806F9B8: .4byte gUnknown_202EE70 @@ -2231,7 +2231,7 @@ _0806FA3C: movs r0, 0 b _0806FA52 .align 2, 0 -_0806FA40: .4byte gDungeonGlobalData +_0806FA40: .4byte gDungeon _0806FA44: .4byte 0x00000199 _0806FA48: .4byte 0x000001a1 _0806FA4C: .4byte 0x000001a3 @@ -2258,7 +2258,7 @@ sub_806FA5C: adds r0, r5, 0x4 mov r1, r8 adds r1, 0x4 - bl CalculateFacingDir + bl GetDirectionTowardsPosition adds r4, r0, 0 movs r0, 0 mov r10, r0 @@ -2281,7 +2281,7 @@ sub_806FA5C: ldr r0, _0806FAD4 movs r3, 0 ldrsh r1, [r6, r3] - bl CopyCyanSpeciesNametoBuffer + bl CopyCyanMonsterNametoBuffer ldr r0, _0806FAD8 ldr r1, [r0] movs r0, 0 @@ -2477,7 +2477,7 @@ _0806FBC4: _0806FC40: .4byte gRecruitedPokemonRef _0806FC44: .4byte 0x00008df8 _0806FC48: .4byte 0x0000ffff -_0806FC4C: .4byte gDungeonGlobalData +_0806FC4C: .4byte gDungeon _0806FC50: .4byte 0x00000644 _0806FC54: .4byte gUnknown_80FA058 _0806FC58: @@ -2520,7 +2520,7 @@ _0806FC94: mov r0, r10 cmp r0, 0 beq _0806FCD8 - bl xxx_call_GetLeaderEntity + bl xxx_call_GetLeader adds r1, r0, 0 adds r0, r4, 0 movs r2, 0 @@ -2564,7 +2564,7 @@ _0806FD04: .4byte gAvailablePokemonNames _0806FD08: .4byte gUnknown_80FA0F0 _0806FD0C: .4byte gUnknown_202E628 _0806FD10: .4byte gUnknown_80FA120 -_0806FD14: .4byte gDungeonGlobalData +_0806FD14: .4byte gDungeon thumb_func_end sub_806FA5C thumb_func_start sub_806FD18 @@ -2575,7 +2575,7 @@ sub_806FD18: negs r6, r6 movs r1, 0x4 ldrsh r0, [r4, r1] - bl GetPokemonSize + bl GetBodySize lsls r0, 24 lsrs r5, r0, 24 movs r2, 0x2 @@ -2677,7 +2677,7 @@ _0806FDDA: movs r0, 0x1 b _0806FDEE .align 2, 0 -_0806FDE4: .4byte gDungeonGlobalData +_0806FDE4: .4byte gDungeon _0806FDE8: .4byte 0x0001357c _0806FDEC: movs r0, 0 @@ -2877,7 +2877,7 @@ _0806FF34: _0806FF74: .4byte gRecruitedPokemonRef _0806FF78: .4byte 0x00008df8 _0806FF7C: .4byte 0x0000ffff -_0806FF80: .4byte gDungeonGlobalData +_0806FF80: .4byte gDungeon _0806FF84: .4byte 0x00000644 _0806FF88: ldr r0, _0806FF9C @@ -2906,7 +2906,7 @@ _0806FFB8: mov r4, r9 cmp r4, 0 beq _0806FFE6 - bl xxx_call_GetLeaderEntity + bl xxx_call_GetLeader adds r1, r0, 0 ldr r0, _0807000C movs r2, 0 diff --git a/asm/code_80701A4.s b/asm/code_80701A4.s index df0521b9e..aed1f4620 100644 --- a/asm/code_80701A4.s +++ b/asm/code_80701A4.s @@ -18,7 +18,7 @@ sub_80701A4: adds r0, r6, 0 adds r0, 0x44 movs r1, 0x1 - bl SetAction + bl SetMonsterActionFields adds r0, r6, 0 adds r0, 0xA8 ldrb r0, [r0] @@ -165,7 +165,7 @@ _080702B0: adds r0, r6, 0 adds r0, 0x44 movs r1, 0x14 - bl SetAction + bl SetMonsterActionFields adds r3, r5, 0 adds r7, r6, 0 adds r7, 0x50 diff --git a/asm/code_807034C.s b/asm/code_807034C.s index bc889fd8c..5e55c31b7 100644 --- a/asm/code_807034C.s +++ b/asm/code_807034C.s @@ -67,7 +67,7 @@ sub_80703A0: ldrsh r0, [r4, r1] movs r2, 0x2 ldrsh r1, [r4, r2] - bl GetMapTile_1 + bl GetTile adds r5, r0, 0 movs r1, 0 ldrsh r0, [r4, r1] @@ -89,7 +89,7 @@ sub_80703A0: ands r0, r1 cmp r0, 0 bne _08070456 - bl IsFixedDungeon + bl IsCurrentFixedRoomBossFight lsls r0, 24 cmp r0, 0 bne _08070400 @@ -100,7 +100,7 @@ sub_80703A0: beq _0807044E adds r0, r6, 0 movs r1, 0x9 - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 bne _0807044E @@ -115,7 +115,7 @@ _08070400: ands r5, r0 adds r0, r6, 0 movs r1, 0xC - bl HasIQSkill + bl IQSkillIsEnabled lsls r0, 24 cmp r0, 0 beq _08070422 @@ -123,7 +123,7 @@ _08070400: _08070422: adds r0, r6, 0 movs r1, 0xD - bl HasIQSkill + bl IQSkillIsEnabled lsls r0, 24 cmp r0, 0 beq _08070432 diff --git a/asm/code_807049C.s b/asm/code_807049C.s index 4c6a55892..8de9c55ab 100644 --- a/asm/code_807049C.s +++ b/asm/code_807049C.s @@ -14,7 +14,7 @@ sub_8070564: ldrsh r0, [r4, r1] movs r2, 0x2 ldrsh r1, [r4, r2] - bl GetMapTile_1 + bl GetTile adds r5, r0, 0 movs r1, 0 ldrsh r0, [r4, r1] diff --git a/asm/code_8070BC0.s b/asm/code_8070BC0.s index 4435a85aa..08c0cb17b 100644 --- a/asm/code_8070BC0.s +++ b/asm/code_8070BC0.s @@ -23,7 +23,7 @@ sub_8070BC0: cmp r0, 0x3 beq _08070C56 adds r0, r4, 0 - bl ShouldAvoidEnemies + bl ShouldMonsterRunAway lsls r0, 24 cmp r0, 0 bne _08070C56 diff --git a/asm/code_80718D8.s b/asm/code_80718D8.s index fb2cc620b..5450c81bb 100644 --- a/asm/code_80718D8.s +++ b/asm/code_80718D8.s @@ -48,7 +48,7 @@ _08071B7C: ldr r0, _08071BA8 b _08071BAE .align 2, 0 -_08071B94: .4byte gDungeonGlobalData +_08071B94: .4byte gDungeon _08071B98: .4byte 0x00000664 _08071B9C: .4byte 0x000037fd _08071BA0: .4byte 0x00000662 @@ -117,7 +117,7 @@ _08071C08: ldrsh r0, [r4, r1] movs r2, 0x6 ldrsh r1, [r4, r2] - bl GetMapTile_1 + bl GetTile ldrh r0, [r0] movs r2, 0x80 lsls r2, 1 @@ -154,7 +154,7 @@ _08071C6C: .4byte 0x00017b40 _08071C70: .4byte gAvailablePokemonNames _08071C74: .4byte 0x0001358c _08071C78: .4byte 0x0000066e -_08071C7C: .4byte gDungeonGlobalData +_08071C7C: .4byte gDungeon _08071C80: .4byte 0x00003a0c _08071C84: .4byte gUnknown_80F4DA6 _08071C88: @@ -217,7 +217,7 @@ _08071CDC: strh r4, [r0, 0x8] strb r1, [r0, 0x2] movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 ldr r0, _08071D24 ldr r0, [r0] @@ -232,7 +232,7 @@ _08071CDC: movs r0, 0x1 b _08071D2E .align 2, 0 -_08071D24: .4byte gDungeonGlobalData +_08071D24: .4byte gDungeon _08071D28: .4byte 0x00000644 _08071D2C: movs r0, 0 @@ -301,7 +301,7 @@ _08071D94: .align 2, 0 _08071D98: .4byte 0x0098967e _08071D9C: .4byte 0x0098967f -_08071DA0: .4byte gDungeonGlobalData +_08071DA0: .4byte gDungeon thumb_func_end sub_8071D4C thumb_func_start sub_8071DA4 @@ -391,7 +391,7 @@ _08071E32: strb r2, [r1] b _08071FCA .align 2, 0 -_08071E44: .4byte gDungeonGlobalData +_08071E44: .4byte gDungeon _08071E48: .4byte 0x000135cc _08071E4C: movs r1, 0xFE @@ -464,7 +464,7 @@ _08071EB6: cmp r7, 0 beq _08071F38 adds r0, r7, 0 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 movs r1, 0 b _08071F02 @@ -856,7 +856,7 @@ _080721EC: bl sub_806A3D4 b _0807220A .align 2, 0 -_080721F8: .4byte gDungeonGlobalData +_080721F8: .4byte gDungeon _080721FC: .4byte 0x0000065c _08072200: ldr r0, _08072308 @@ -980,7 +980,7 @@ _080722E2: movs r2, 0x1 bl PrintFieldMessage _080722F4: - bl GetLeaderEntity + bl GetLeader movs r1, 0 bl sub_806A2BC add sp, 0x190 @@ -1610,7 +1610,7 @@ _080727A8: cmp r7, 0 beq _08072810 adds r0, r7, 0 - bl DungeonRandomCapped + bl DungeonRandInt movs r2, 0 lsls r0, 1 mov r1, sp @@ -2020,7 +2020,7 @@ _08072AEA: cmp r5, 0x4 bne _08072AF6 movs r0, 0x4 - bl DungeonRandomCapped + bl DungeonRandInt b _08072AFA _08072AF6: adds r0, r5, 0 @@ -2075,7 +2075,7 @@ _08072B44: cmp r3, 0 bge _08072B32 adds r0, r4, 0 - bl DungeonRandomCapped + bl DungeonRandInt adds r3, r0, 0 adds r4, r5, 0 adds r4, 0x38 @@ -2117,7 +2117,7 @@ sub_8072B78: adds r4, 0x50 adds r0, r4, 0 adds r1, r5, 0 - bl CopyCyanSpeciesNametoBuffer + bl CopyCyanMonsterNametoBuffer adds r0, r5, 0 bl sub_80687D0 adds r4, r0, 0 @@ -2175,7 +2175,7 @@ _08072C0C: movs r3, 0x6 ldrsh r2, [r7, r3] adds r1, r2 - bl GetMapTile_1 + bl GetTile adds r1, r0, 0 ldr r0, _08072C80 bl sub_807034C diff --git a/asm/code_8072CF4.s b/asm/code_8072CF4.s index 3aaf33cbc..ce34e024b 100644 --- a/asm/code_8072CF4.s +++ b/asm/code_8072CF4.s @@ -50,7 +50,7 @@ sub_8072CF4: b _08072D64 .align 2, 0 _08072D4C: .4byte gUnknown_203B434 -_08072D50: .4byte gDungeonGlobalData +_08072D50: .4byte gDungeon _08072D54: .4byte gUnknown_80F58F4 _08072D58: adds r0, r2, 0x1 @@ -339,7 +339,7 @@ _08072FE8: bl sub_8074FB0 adds r0, r4, 0 movs r1, 0xD - bl HasIQSkill + bl IQSkillIsEnabled lsls r0, 24 cmp r0, 0 beq _08073038 @@ -350,7 +350,7 @@ _08072FE8: beq _08073038 adds r0, r4, 0 movs r1, 0x9 - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 bne _08073038 @@ -380,7 +380,7 @@ _08073046: ldr r0, _08073070 b _080731A2 .align 2, 0 -_08073064: .4byte gDungeonGlobalData +_08073064: .4byte gDungeon _08073068: .4byte 0x00000644 _0807306C: .4byte 0x000037fe _08073070: .4byte gUnknown_80FA5B4 @@ -397,7 +397,7 @@ _08073074: strb r0, [r1] b _080731B8 .align 2, 0 -_0807308C: .4byte gDungeonGlobalData +_0807308C: .4byte gDungeon _08073090: .4byte gUnknown_202F32C _08073094: adds r0, r4, 0 @@ -453,7 +453,7 @@ _080730E0: str r0, [r2] b _080731B8 .align 2, 0 -_080730FC: .4byte gDungeonGlobalData +_080730FC: .4byte gDungeon _08073100: .4byte 0x0001357c _08073104: adds r0, r4, 0 @@ -746,7 +746,7 @@ _08073332: strb r0, [r4] b _08073472 .align 2, 0 -_0807335C: .4byte gDungeonGlobalData +_0807335C: .4byte gDungeon _08073360: .4byte 0x000135cc _08073364: adds r0, r7, 0 @@ -762,7 +762,7 @@ _0807336E: b _08073472 _08073378: movs r0, 0x4 - bl DungeonRandomCapped + bl DungeonRandInt adds r3, r0, 0 movs r4, 0 _08073382: @@ -820,7 +820,7 @@ _080733DE: mov r0, r8 adds r1, r5, 0 movs r2, 0x1 - bl IsMoveUsable + bl CanMonsterUseMove lsls r0, 24 cmp r0, 0 bne _08073440 @@ -951,7 +951,7 @@ _080734CC: strb r0, [r4] b _080735DA .align 2, 0 -_080734E8: .4byte gDungeonGlobalData +_080734E8: .4byte gDungeon _080734EC: .4byte 0x000135cc _080734F0: .4byte 0x00000165 _080734F4: @@ -1031,7 +1031,7 @@ _0807357A: adds r1, r5, 0 movs r2, 0x1 str r3, [sp, 0x14] - bl IsMoveUsable + bl CanMonsterUseMove lsls r0, 24 ldr r3, [sp, 0x14] cmp r0, 0 diff --git a/asm/code_8073CF0.s b/asm/code_8073CF0.s index 8792590ce..f4d79313a 100644 --- a/asm/code_8073CF0.s +++ b/asm/code_8073CF0.s @@ -15,7 +15,7 @@ sub_8073D14: sub sp, 0xB0 adds r6, r0, 0 ldr r4, [r6, 0x70] - bl GetMapTileForDungeonEntity_2 + bl GetTileAtEntitySafe ldr r5, [r0, 0x14] cmp r5, 0 bne _08073D30 @@ -81,7 +81,7 @@ _08073D80: _08073D98: adds r0, r6, 0 movs r1, 0x1 - bl ShouldAvoidEnemiesAndShowEffect + bl ShouldMonsterRunAwayAndShowEffect lsls r0, 24 cmp r0, 0 beq _08073DC8 @@ -104,7 +104,7 @@ _08073DC8: cmp r0, 0 bne _08073E24 ldrb r0, [r5, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0x6 @@ -171,7 +171,7 @@ _08073E48: mov r8, r0 b _08073E80 .align 2, 0 -_08073E64: .4byte gDungeonGlobalData +_08073E64: .4byte gDungeon _08073E68: .4byte 0x0000065b _08073E6C: .4byte gTeamInventory_203B460 _08073E70: @@ -487,7 +487,7 @@ _080740C8: bl sub_807E8F0 adds r0, r5, 0 movs r1, 0x16 - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _08074170 @@ -504,7 +504,7 @@ _080740C8: strb r0, [r4] _08074102: movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt ldr r2, _08074350 ldrb r1, [r4] lsls r1, 1 @@ -565,7 +565,7 @@ _0807417A: movs r4, 0xA adds r0, r5, 0 movs r1, 0x17 - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _08074190 @@ -573,7 +573,7 @@ _0807417A: _08074190: adds r0, r5, 0 movs r1, 0x1F - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _080741A0 @@ -581,7 +581,7 @@ _08074190: _080741A0: adds r0, r5, 0 movs r1, 0x10 - bl HasIQSkill + bl IQSkillIsEnabled lsls r0, 24 cmp r0, 0 beq _080741B0 @@ -589,7 +589,7 @@ _080741A0: _080741B0: adds r0, r5, 0 movs r1, 0x1B - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _080741C0 @@ -597,7 +597,7 @@ _080741B0: _080741C0: adds r0, r5, 0 movs r1, 0xA - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _080741D0 @@ -605,7 +605,7 @@ _080741C0: _080741D0: adds r0, r5, 0 movs r1, 0x2B - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _080741E0 @@ -786,7 +786,7 @@ _08074320: .align 2, 0 _0807434C: .4byte 0x00000169 _08074350: .4byte gWarpScarfActivationChances -_08074354: .4byte gDungeonGlobalData +_08074354: .4byte gDungeon _08074358: .4byte 0x0000199a _0807435C: .4byte gUnknown_80F54F4 _08074360: .4byte 0x00000153 @@ -842,14 +842,14 @@ _080743CA: cmp r0, 0 bne _08074480 adds r0, r5, 0 - bl GetWeather + bl GetApparentWeather lsls r0, 24 lsrs r0, 24 cmp r0, 0x5 bne _0807441C adds r0, r5, 0 movs r1, 0x6 - bl HasType + bl MonsterIsType lsls r0, 24 cmp r0, 0 bne _08074466 @@ -863,33 +863,33 @@ _080743CA: bl sub_806F324 b _08074466 .align 2, 0 -_08074408: .4byte gDungeonGlobalData +_08074408: .4byte gDungeon _0807440C: .4byte 0x00000679 _08074410: .4byte 0x00000153 _08074414: .4byte 0x0000e266 _08074418: .4byte gUnknown_80F4F8E _0807441C: adds r0, r5, 0 - bl GetWeather + bl GetApparentWeather lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 bne _08074466 adds r0, r5, 0 movs r1, 0x9 - bl HasType + bl MonsterIsType lsls r0, 24 cmp r0, 0 bne _08074466 adds r0, r5, 0 movs r1, 0xD - bl HasType + bl MonsterIsType lsls r0, 24 cmp r0, 0 bne _08074466 adds r0, r5, 0 movs r1, 0x11 - bl HasType + bl MonsterIsType lsls r0, 24 cmp r0, 0 bne _08074466 @@ -916,7 +916,7 @@ _08074474: b _08074B2E _08074480: movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 adds r0, r5, 0 movs r1, 0x21 @@ -1456,7 +1456,7 @@ _080748D4: .4byte gUnknown_80F4F3C _080748D8: .4byte gUnknown_80F4FB2 _080748DC: .4byte gUnknown_80F4F3E _080748E0: .4byte gUnknown_80F4FB4 -_080748E4: .4byte gDungeonGlobalData +_080748E4: .4byte gDungeon _080748E8: .4byte 0x000135cc _080748EC: .4byte gUnknown_80F4F40 _080748F0: @@ -1643,7 +1643,7 @@ _08074A46: cmp r0, 0 bne _08074AD4 adds r0, r5, 0 - bl CannotAct + bl HasStatusThatPreventsActing lsls r0, 24 lsrs r6, r0, 24 cmp r6, 0 @@ -1778,7 +1778,7 @@ _08074B7A: bne _08074BAE movs r2, 0x2 ldrsh r0, [r6, r2] - bl GetUnk1B + bl GetRegenSpeed lsls r0, 24 lsrs r4, r0, 24 _08074BAE: @@ -1786,7 +1786,7 @@ _08074BAE: beq _08074C48 adds r0, r7, 0 movs r1, 0xA - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _08074BC8 @@ -1812,7 +1812,7 @@ _08074BDA: cmp r0, 0 beq _08074BFE adds r0, r7, 0 - bl GetWeather + bl GetApparentWeather lsls r0, 24 lsrs r0, 24 cmp r0, 0x4 @@ -2253,7 +2253,7 @@ _08074F5C: adds r0, r2 ldr r4, [r0] adds r0, r7, 0 - bl GetMovementSpeed + bl GetSpeedStatus adds r5, r0, 0 cmp r4, r5 beq _08074F96 @@ -2664,14 +2664,14 @@ _0807524E: cmp r0, 0 beq _080752B2 adds r0, r5, 0 - bl CannotAct + bl HasStatusThatPreventsActing lsls r0, 24 cmp r0, 0 bne _0807534C _080752B2: adds r0, r5, 0x4 adds r1, r6, 0 - bl CalculateFacingDir + bl GetDirectionTowardsPosition adds r1, r0, 0 adds r0, r4, 0 adds r0, 0x46 @@ -2683,7 +2683,7 @@ _080752B2: b _0807534C .align 2, 0 _080752D0: .4byte gUnknown_202F378 -_080752D4: .4byte gDungeonGlobalData +_080752D4: .4byte gDungeon _080752D8: .4byte 0x000135cc _080752DC: .4byte 0x00000147 _080752E0: @@ -2776,7 +2776,7 @@ _08075384: movs r5, 0 b _0807549E .align 2, 0 -_08075390: .4byte gDungeonGlobalData +_08075390: .4byte gDungeon _08075394: .4byte 0x0000066c _08075398: movs r0, 0x7 @@ -2846,7 +2846,7 @@ _080753A6: strh r2, [r6] b _08075492 .align 2, 0 -_08075420: .4byte gDungeonGlobalData +_08075420: .4byte gDungeon _08075424: .4byte 0x000135cc _08075428: movs r0, 0 @@ -2965,7 +2965,7 @@ _08075506: b _08075600 .align 2, 0 _08075510: .4byte gUnknown_202F378 -_08075514: .4byte gDungeonGlobalData +_08075514: .4byte gDungeon _08075518: .4byte 0x000135cc _0807551C: ldr r2, [r4, 0x70] @@ -3110,7 +3110,7 @@ _08075632: str r3, [r0] b _0807566A .align 2, 0 -_08075650: .4byte gDungeonGlobalData +_08075650: .4byte gDungeon _08075654: .4byte 0x00003a08 _08075658: .4byte gUnknown_202F32D _0807565C: .4byte 0x000135cc @@ -3132,7 +3132,7 @@ _0807566C: pop {r1} bx r1 .align 2, 0 -_0807567C: .4byte gDungeonGlobalData +_0807567C: .4byte gDungeon thumb_func_end UseAttack thumb_func_start sub_8075680 @@ -3173,7 +3173,7 @@ _08075684: bne _080756EE adds r0, r5, 0x4 adds r1, r4, 0 - bl CalculateFacingDir + bl GetDirectionTowardsPosition adds r4, r0, 0 movs r1, 0x7 ands r0, r1 @@ -3196,7 +3196,7 @@ _080756EE: pop {r0} bx r0 .align 2, 0 -_080756FC: .4byte gDungeonGlobalData +_080756FC: .4byte gDungeon _08075700: .4byte 0x000135cc thumb_func_end sub_8075680 @@ -3218,11 +3218,11 @@ sub_8075708: cmp r0, 0 beq _0807580C adds r0, r4, 0 - bl GetMapTileForDungeonEntity_2 + bl GetTileAtEntitySafe adds r5, r0, 0 adds r0, r4, 0 movs r1, 0xD - bl HasIQSkill + bl IQSkillIsEnabled lsls r0, 24 cmp r0, 0 beq _08075752 @@ -3233,7 +3233,7 @@ sub_8075708: beq _08075752 adds r0, r4, 0 movs r1, 0x9 - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 bne _08075752 @@ -3271,7 +3271,7 @@ _08075788: mov r9, r0 adds r0, r4, 0 movs r1, 0x13 - bl HasIQSkill + bl IQSkillIsEnabled lsls r0, 24 cmp r0, 0 beq _080757BA diff --git a/asm/code_8077274.s b/asm/code_8077274.s index e78f1d0fc..ebd544302 100644 --- a/asm/code_8077274.s +++ b/asm/code_8077274.s @@ -271,7 +271,7 @@ _08078B86: bne _08078BB8 adds r0, r6, 0 movs r1, 0x1B - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _08078BB8 diff --git a/asm/code_8077274_1.s b/asm/code_8077274_1.s index 322710401..7a688bffd 100644 --- a/asm/code_8077274_1.s +++ b/asm/code_8077274_1.s @@ -24,7 +24,7 @@ sub_807AB38: _0807AB54: adds r0, r2, 0 str r2, [sp, 0x1A4] - bl GetMapTileForDungeonEntity_2 + bl GetTileAtEntitySafe ldrh r1, [r0] movs r0, 0x40 ands r0, r1 @@ -86,7 +86,7 @@ _0807ABC6: adds r0, r4, 0 adds r1, r6, 0 str r2, [sp, 0x1A4] - bl GetMapTile_2 + bl GetTileSafe adds r1, r0, 0 ldr r0, [r1, 0x10] ldr r2, [sp, 0x1A4] @@ -121,7 +121,7 @@ _0807AC00: ble _0807ABAE b _0807ACB4 .align 2, 0 -_0807AC10: .4byte gDungeonGlobalData +_0807AC10: .4byte gDungeon _0807AC14: .4byte 0x00000671 _0807AC18: .4byte 0x00003a0c _0807AC1C: .4byte 0x000104c4 @@ -176,7 +176,7 @@ _0807AC72: adds r0, r4, 0 adds r1, r6, 0 str r2, [sp, 0x1A4] - bl GetMapTile_2 + bl GetTileSafe adds r1, r0, 0 ldr r0, [r1, 0x10] ldr r2, [sp, 0x1A4] @@ -214,7 +214,7 @@ _0807ACB4: ldr r1, _0807AD78 movs r4, 0 ldrsh r1, [r1, r4] - bl DungeonRandomRange + bl DungeonRandRange adds r7, r0, 0 cmp r7, r8 blt _0807ACCC @@ -226,7 +226,7 @@ _0807ACCC: mov r10, r6 _0807ACD4: mov r0, r8 - bl DungeonRandomCapped + bl DungeonRandInt adds r2, r0, 0 movs r3, 0 cmp r3, r8 diff --git a/asm/code_807CABC.s b/asm/code_807CABC.s index 2e8680f9a..9735b7161 100644 --- a/asm/code_807CABC.s +++ b/asm/code_807CABC.s @@ -108,7 +108,7 @@ _0807CB80: stm r0!, {r2-r4} ldm r1!, {r2-r4} stm r0!, {r2-r4} - bl IsBossBattle + bl IsBossFight lsls r0, 24 cmp r0, 0 beq _0807CBAC @@ -126,7 +126,7 @@ _0807CBAC: add r4, sp, 0x20 lsls r5, 8 lsrs r0, r5, 24 - bl GetItemMove + bl GetItemMoveID adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 @@ -151,7 +151,7 @@ _0807CBAC: adds r2, r7, r3 adds r0, r4, 0 adds r1, r6, 0 - bl FindMoveTarget + bl AIConsiderMove ldrb r0, [r4] cmp r0, 0 beq _0807CC08 @@ -301,7 +301,7 @@ _0807CD18: bl sub_8075900 b _0807CD44 .align 2, 0 -_0807CD30: .4byte gDungeonGlobalData +_0807CD30: .4byte gDungeon _0807CD34: .4byte 0x00003a08 _0807CD38: cmp r4, 0 diff --git a/asm/code_807CD9C.s b/asm/code_807CD9C.s index d5703dd8c..3d726aaae 100644 --- a/asm/code_807CD9C.s +++ b/asm/code_807CD9C.s @@ -18,7 +18,7 @@ sub_807CD9C: adds r4, r2, 0 movs r0, 0xA str r0, [sp, 0x24] - bl IsFixedDungeon + bl IsCurrentFixedRoomBossFight lsls r0, 24 cmp r0, 0 beq _0807CDC4 @@ -167,7 +167,7 @@ _0807CED8: ldrsh r0, [r7, r1] ldr r1, [sp, 0x18] asrs r1, 16 - bl GetMapTile_1 + bl GetTile adds r5, r0, 0 ldr r0, [r5, 0x10] cmp r0, 0 @@ -333,7 +333,7 @@ _0807D050: .4byte gUnknown_80F4F90 _0807D054: .4byte 0x00000219 _0807D058: .4byte 0x00000163 _0807D05C: .4byte 0x0000021a -_0807D060: .4byte gDungeonGlobalData +_0807D060: .4byte gDungeon _0807D064: .4byte 0x00003a08 thumb_func_end sub_807CD9C @@ -483,7 +483,7 @@ sub_807D148: _0807D180: .4byte gAvailablePokemonNames _0807D184: .4byte gUnknown_80FCAE8 _0807D188: - bl IsFixedDungeon + bl IsCurrentFixedRoomBossFight lsls r0, 24 cmp r0, 0 beq _0807D1A4 @@ -518,7 +518,7 @@ _0807D1A4: bl PetrifiedStatusTarget b _0807D3A8 .align 2, 0 -_0807D1D0: .4byte gDungeonGlobalData +_0807D1D0: .4byte gDungeon _0807D1D4: .4byte 0x0000e21c _0807D1D8: .4byte gUnknown_80FC9A0 _0807D1DC: @@ -618,7 +618,7 @@ _0807D288: str r3, [sp, 0x8] b _0807D2CE .align 2, 0 -_0807D2A8: .4byte gDungeonGlobalData +_0807D2A8: .4byte gDungeon _0807D2AC: .4byte 0x0000e21c _0807D2B0: mov r0, sp @@ -751,7 +751,7 @@ _0807D3A8: _0807D3B8: .4byte gUnknown_202EDCC _0807D3BC: .4byte 0xfffffc00 _0807D3C0: .4byte gUnknown_80FCB14 -_0807D3C4: .4byte gDungeonGlobalData +_0807D3C4: .4byte gDungeon _0807D3C8: .4byte 0x00003a08 thumb_func_end sub_807D148 @@ -774,7 +774,7 @@ sub_807D3CC: _0807D3E8: mov r0, r8 str r2, [sp] - bl GetEntityRoomIndex + bl GetEntityRoom lsls r0, 24 lsrs r1, r0, 24 ldr r2, [sp] @@ -822,7 +822,7 @@ _0807D438: ble _0807D408 b _0807D4A8 .align 2, 0 -_0807D448: .4byte gDungeonGlobalData +_0807D448: .4byte gDungeon _0807D44C: .4byte 0x00018209 _0807D450: lsls r0, r1, 3 @@ -902,7 +902,7 @@ _0807D4DC: .4byte gUnknown_80FD320 thumb_func_start sub_807D4E0 sub_807D4E0: push {r4,lr} - bl GetMapTile_1 + bl GetTile ldr r4, [r0, 0x14] cmp r4, 0 beq _0807D506 @@ -990,7 +990,7 @@ _0807D580: ldrsh r0, [r5, r1] movs r2, 0x6 ldrsh r1, [r5, r2] - bl GetMapTile_1 + bl GetTile ldrh r1, [r0] movs r2, 0x3 adds r0, r2, 0 @@ -1092,7 +1092,7 @@ _0807D634: _0807D650: .4byte 0x00000d08 _0807D654: .4byte 0x00000b58 _0807D658: .4byte 0x00000d0c -_0807D65C: .4byte gDungeonGlobalData +_0807D65C: .4byte gDungeon _0807D660: .4byte 0x00003804 _0807D664: .4byte 0x00003904 _0807D668: .4byte 0x0001361c @@ -1190,7 +1190,7 @@ _0807D6DA: lsls r0, r6, 16 asrs r0, 16 asrs r1, r6, 16 - bl GetMapTile_1 + bl GetTile adds r2, r0, 0 ldrh r1, [r2] movs r3, 0x3 @@ -1514,7 +1514,7 @@ _0807D9B8: .4byte 0x00000bbc _0807D9BC: .4byte 0x00000d0c _0807D9C0: .4byte 0x00000c24 _0807D9C4: .4byte 0x00000d08 -_0807D9C8: .4byte gDungeonGlobalData +_0807D9C8: .4byte gDungeon _0807D9CC: .4byte 0x00018210 _0807D9D0: .4byte 0x00000d14 _0807D9D4: .4byte 0x00000d1c @@ -1575,7 +1575,7 @@ sub_807DA14: _0807DA48: .4byte gAvailablePokemonNames _0807DA4C: .4byte gUnknown_80FCB98 _0807DA50: - bl IsFixedDungeon + bl IsCurrentFixedRoomBossFight lsls r0, 24 cmp r0, 0 beq _0807DA6C @@ -1631,7 +1631,7 @@ _0807DA8C: bgt _0807DB00 adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_1 + bl GetTile adds r1, r0, 0 ldr r0, [r1, 0x10] cmp r0, 0 @@ -1709,7 +1709,7 @@ _0807DB5E: pop {r0} bx r0 .align 2, 0 -_0807DB6C: .4byte gDungeonGlobalData +_0807DB6C: .4byte gDungeon _0807DB70: .4byte 0x00003a08 thumb_func_end sub_807DA14 @@ -1722,7 +1722,7 @@ sub_807DB74: adds r7, r0, 0 movs r0, 0 mov r8, r0 - bl IsFixedDungeon + bl IsCurrentFixedRoomBossFight lsls r0, 24 cmp r0, 0 beq _0807DB94 @@ -1752,7 +1752,7 @@ _0807DBB6: _0807DBB8: adds r0, r4, 0 adds r1, r5, 0 - bl GetMapTile_2 + bl GetTileSafe adds r2, r0, 0 ldrh r1, [r2] movs r0, 0x3 @@ -1830,7 +1830,7 @@ _0807DC54: bx r0 .align 2, 0 _0807DC60: .4byte gUnknown_80FD060 -_0807DC64: .4byte gDungeonGlobalData +_0807DC64: .4byte gDungeon thumb_func_end sub_807DB74 thumb_func_start sub_807DC68 @@ -1851,7 +1851,7 @@ sub_807DC68: ldr r0, _0807DC90 b _0807DCB8 .align 2, 0 -_0807DC88: .4byte gDungeonGlobalData +_0807DC88: .4byte gDungeon _0807DC8C: .4byte 0x00003a08 _0807DC90: .4byte gUnknown_80FD3C8 _0807DC94: @@ -1866,7 +1866,7 @@ _0807DC94: _0807DCA4: .4byte 0x00003a0b _0807DCA8: .4byte gUnknown_80FD3CC _0807DCAC: - bl IsBossBattle + bl IsBossFight lsls r0, 24 cmp r0, 0 beq _0807DCC8 @@ -1892,7 +1892,7 @@ _0807DCD8: movs r6, 0 adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe adds r2, r0, 0 ldrh r1, [r2] ldr r3, _0807DD6C @@ -1967,7 +1967,7 @@ _0807DD5C: _0807DD68: .4byte 0x0000fffc _0807DD6C: .4byte 0x0000fbff _0807DD70: .4byte 0x0000fff7 -_0807DD74: .4byte gDungeonGlobalData +_0807DD74: .4byte gDungeon _0807DD78: ldrh r1, [r2] movs r0, 0x3 @@ -2015,7 +2015,7 @@ _0807DDC8: _0807DDCA: adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe adds r2, r0, 0 ldrh r1, [r2] movs r3, 0x80 @@ -2062,7 +2062,7 @@ _0807DE1A: beq _0807DE30 adds r0, r5, 0 adds r1, r4, 0 - bl GetMapTile_2 + bl GetTileSafe ldrh r2, [r0] movs r1, 0x40 orrs r1, r2 @@ -2095,7 +2095,7 @@ _0807DE46: ldrsh r0, [r4, r1] movs r2, 0x6 ldrsh r1, [r4, r2] - bl GetMapTile_1 + bl GetTile ldrb r1, [r0, 0x9] adds r0, r4, 0 adds r0, 0x25 @@ -2174,7 +2174,7 @@ _0807DF0E: pop {r0} bx r0 .align 2, 0 -_0807DF1C: .4byte gDungeonGlobalData +_0807DF1C: .4byte gDungeon _0807DF20: .4byte 0x0000e21c _0807DF24: .4byte 0x0000fffc _0807DF28: .4byte 0x00003a0c @@ -2240,12 +2240,12 @@ _0807DF8E: bl SetMessageArgument b _0807DFC2 .align 2, 0 -_0807DFA8: .4byte gDungeonGlobalData +_0807DFA8: .4byte gDungeon _0807DFAC: .4byte 0x000135cc _0807DFB0: .4byte gAvailablePokemonNames _0807DFB4: mov r0, r10 - bl GetWeather + bl GetApparentWeather lsls r0, 24 lsrs r0, 24 cmp r0, 0x4 @@ -2323,7 +2323,7 @@ _0807E014: bgt _0807E112 cmp r1, 0x1F bgt _0807E112 - bl GetMapTile_2 + bl GetTileSafe mov r8, r0 ldr r0, [sp, 0x18] movs r2, 0 @@ -2522,7 +2522,7 @@ sub_807E1A0: asrs r4, r5, 1 adds r0, r6, 0 movs r1, 0x2 - bl HasType + bl MonsterIsType lsls r0, 24 cmp r0, 0 beq _0807E202 @@ -2540,7 +2540,7 @@ _0807E210: ldr r4, [sp, 0x40] adds r0, r6, 0 movs r1, 0x2 - bl HasType + bl MonsterIsType lsls r0, 24 cmp r0, 0 beq _0807E226 @@ -2700,14 +2700,14 @@ _0807E366: pop {r0} bx r0 .align 2, 0 -_0807E370: .4byte gDungeonGlobalData +_0807E370: .4byte gDungeon _0807E374: .4byte 0x00003a08 thumb_func_end sub_807E254 thumb_func_start sub_807E378 sub_807E378: push {r4-r7,lr} - bl GetLeaderEntity + bl GetLeader adds r4, r0, 0 bl EntityExists lsls r0, 24 @@ -2785,7 +2785,7 @@ _0807E3EE: strb r1, [r0] b _0807E564 .align 2, 0 -_0807E41C: .4byte gDungeonGlobalData +_0807E41C: .4byte gDungeon _0807E420: .4byte 0x00000666 _0807E424: .4byte 0x0000067a _0807E428: .4byte gUnknown_80F9C4C diff --git a/asm/code_807E5AC.s b/asm/code_807E5AC.s index ffe0b3ca1..1957f6a4c 100644 --- a/asm/code_807E5AC.s +++ b/asm/code_807E5AC.s @@ -17,7 +17,7 @@ sub_807E698: lsrs r0, 24 str r0, [sp] movs r0, 0 - bl GetWeather + bl GetApparentWeather lsls r0, 24 lsrs r0, 16 str r0, [sp, 0x4] @@ -26,7 +26,7 @@ sub_807E698: ldr r0, [r0, 0x4] mov r10, r0 movs r0, 0 - bl GetWeather + bl GetApparentWeather lsls r0, 24 lsrs r0, 24 ldr r1, [sp] @@ -76,7 +76,7 @@ _0807E71A: .align 2, 0 _0807E724: .4byte gUnknown_202ECA0 _0807E728: .4byte gUnknown_203B40D -_0807E72C: .4byte gDungeonGlobalData +_0807E72C: .4byte gDungeon _0807E730: movs r7, 0x1 adds r2, r0, 0 @@ -206,7 +206,7 @@ sub_807E7FC: ldr r5, [r0] cmp r5, 0 bne _0807E816 - bl GetLeaderEntity + bl GetLeader adds r5, r0, 0 _0807E816: cmp r4, 0 @@ -219,7 +219,7 @@ _0807E816: bne _0807E844 ldr r4, _0807E880 movs r0, 0 - bl GetWeather + bl GetApparentWeather adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -254,7 +254,7 @@ _0807E866: pop {r0} bx r0 .align 2, 0 -_0807E874: .4byte gDungeonGlobalData +_0807E874: .4byte gDungeon _0807E878: .4byte 0x000181f8 _0807E87C: .4byte 0x0001356c _0807E880: .4byte gAvailablePokemonNames @@ -266,7 +266,7 @@ _0807E888: .4byte 0x000135cc sub_807E88C: push {r4-r7,lr} movs r0, 0 - bl GetWeather + bl GetApparentWeather lsls r0, 24 ldr r1, _0807E8E4 ldr r1, [r1] @@ -309,7 +309,7 @@ _0807E8A8: bx r0 .align 2, 0 _0807E8E4: .4byte gUnknown_202ECA0 -_0807E8E8: .4byte gDungeonGlobalData +_0807E8E8: .4byte gDungeon _0807E8EC: .4byte 0x0000017d thumb_func_end sub_807E88C @@ -344,7 +344,7 @@ _0807E90E: ldrb r0, [r7] strb r0, [r1, 0x1] adds r0, r5, 0 - bl GetMovementSpeed + bl GetSpeedStatus adds r0, r5, 0 movs r1, 0x25 bl HasAbility @@ -352,7 +352,7 @@ _0807E90E: cmp r0, 0 beq _0807E958 adds r0, r5, 0 - bl GetWeather + bl GetApparentWeather ldr r1, _0807E954 lsls r0, 24 lsrs r0, 22 @@ -491,14 +491,14 @@ sub_807EA30: ldr r2, _0807EA64 adds r1, r2 strb r0, [r1] - bl GetLeaderEntity + bl GetLeader ldr r1, _0807EA68 ldr r1, [r1] bl SendMessage b _0807EA8C .align 2, 0 _0807EA5C: .4byte gUnknown_80F4EAC -_0807EA60: .4byte gDungeonGlobalData +_0807EA60: .4byte gDungeon _0807EA64: .4byte 0x0000e277 _0807EA68: .4byte gUnknown_80FAD8C _0807EA6C: @@ -511,7 +511,7 @@ _0807EA6C: ldr r2, _0807EA98 adds r1, r2 strb r0, [r1] - bl GetLeaderEntity + bl GetLeader ldr r1, _0807EA9C ldr r1, [r1] bl SendMessage @@ -520,7 +520,7 @@ _0807EA8C: bx r0 .align 2, 0 _0807EA90: .4byte gUnknown_80F4EAC -_0807EA94: .4byte gDungeonGlobalData +_0807EA94: .4byte gDungeon _0807EA98: .4byte 0x0000e278 _0807EA9C: .4byte gUnknown_80FADB0 thumb_func_end sub_807EA30 @@ -546,7 +546,7 @@ sub_807EAA0: mov r9, r1 movs r2, 0 str r2, [sp, 0x8] - bl GetWeather + bl GetApparentWeather lsls r0, 24 lsrs r0, 24 mov r10, r0 @@ -568,7 +568,7 @@ _0807EAD6: strb r0, [r4] b _0807EB08 .align 2, 0 -_0807EAF0: .4byte gDungeonGlobalData +_0807EAF0: .4byte gDungeon _0807EAF4: .4byte 0x0000e267 _0807EAF8: .4byte 0x0000e26f _0807EAFC: @@ -605,7 +605,7 @@ _0807EB1C: b _0807EB4E .align 2, 0 _0807EB38: .4byte 0x0000e267 -_0807EB3C: .4byte gDungeonGlobalData +_0807EB3C: .4byte gDungeon _0807EB40: .4byte 0x0000e265 _0807EB44: ldr r0, [r0] @@ -627,7 +627,7 @@ _0807EB4E: strb r0, [r1] _0807EB64: movs r0, 0 - bl GetWeather + bl GetApparentWeather lsls r0, 24 lsrs r0, 24 cmp r10, r0 @@ -652,7 +652,7 @@ _0807EB82: b _0807EBA6 .align 2, 0 _0807EB94: .4byte 0x0000e264 -_0807EB98: .4byte gDungeonGlobalData +_0807EB98: .4byte gDungeon _0807EB9C: .4byte 0x0000e279 _0807EBA0: .4byte 0x0000e266 _0807EBA4: @@ -674,7 +674,7 @@ _0807EBA6: ldrb r0, [r0] cmp r0, 0 bne _0807EBD4 - bl GetLeaderEntity + bl GetLeader ldr r1, _0807EC1C ldr r1, [r1] bl SendMessage @@ -694,7 +694,7 @@ _0807EBD4: ldrb r0, [r0] cmp r0, 0 bne _0807EC00 - bl GetLeaderEntity + bl GetLeader ldr r1, _0807EC24 ldr r1, [r1] bl SendMessage @@ -709,7 +709,7 @@ _0807EC00: pop {r1} bx r1 .align 2, 0 -_0807EC14: .4byte gDungeonGlobalData +_0807EC14: .4byte gDungeon _0807EC18: .4byte 0x0000e277 _0807EC1C: .4byte gUnknown_80FA778 _0807EC20: .4byte 0x0000e278 @@ -733,7 +733,7 @@ sub_807EC28: beq _0807EC46 b _0807EF32 _0807EC46: - bl GetLeaderEntity + bl GetLeader adds r7, r0, 0 ldr r0, [r7, 0x70] mov r9, r0 @@ -745,7 +745,7 @@ _0807EC46: ldrb r0, [r0] str r0, [sp, 0x8] adds r0, r7, 0 - bl GetMapTileForDungeonEntity_2 + bl GetTileAtEntitySafe ldrh r0, [r0] lsrs r0, 5 mov r10, r0 @@ -788,7 +788,7 @@ _0807EC9C: strb r1, [r0] b _0807EF32 .align 2, 0 -_0807ECB4: .4byte gDungeonGlobalData +_0807ECB4: .4byte gDungeon _0807ECB8: .4byte 0x00000699 _0807ECBC: .4byte 0x0000066e _0807ECC0: @@ -818,10 +818,10 @@ _0807ECC6: cmp r0, 0 beq _0807ED0E adds r0, r7, 0 - bl GetEntityRoomIndex + bl GetEntityRoom adds r4, r0, 0 adds r0, r5, 0 - bl GetEntityRoomIndex + bl GetEntityRoom lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -859,7 +859,7 @@ _0807ED3A: bl PrintFieldMessage b _0807EF32 .align 2, 0 -_0807ED48: .4byte gDungeonGlobalData +_0807ED48: .4byte gDungeon _0807ED4C: .4byte 0x0001358c _0807ED50: .4byte 0xffff0000 _0807ED54: .4byte 0xff00ffff @@ -924,10 +924,10 @@ _0807EDB8: b _0807EEC4 _0807EDC6: adds r0, r7, 0 - bl GetEntityRoomIndex + bl GetEntityRoom adds r4, r0, 0 adds r0, r5, 0 - bl GetEntityRoomIndex + bl GetEntityRoom lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -992,7 +992,7 @@ _0807EE22: ldrsh r0, [r6, r2] asrs r1, 16 str r3, [sp, 0x18] - bl GetMapTile_1 + bl GetTile ldrb r0, [r0, 0x9] ldr r3, [sp, 0x18] cmp r0, 0xFF @@ -1019,13 +1019,13 @@ _0807EE72: beq _0807EEAE mov r0, r9 mov r1, r8 - bl CalculateFacingDir + bl GetDirectionTowardsPosition adds r1, r0, 0 adds r0, r7, 0 bl sub_806CE34 b _0807EEB2 .align 2, 0 -_0807EE90: .4byte gDungeonGlobalData +_0807EE90: .4byte gDungeon _0807EE94: .4byte 0x0001358c _0807EE98: .4byte 0xffff0000 _0807EE9C: .4byte 0x0000ffff @@ -1042,7 +1042,7 @@ _0807EEAE: _0807EEB2: mov r0, r8 mov r1, r9 - bl CalculateFacingDir + bl GetDirectionTowardsPosition adds r1, r0, 0 adds r0, r5, 0 bl sub_806CE68 @@ -1077,7 +1077,7 @@ _0807EEF2: bl sub_807F33C b _0807EF32 .align 2, 0 -_0807EEF8: .4byte gDungeonGlobalData +_0807EEF8: .4byte gDungeon _0807EEFC: .4byte 0x00000694 _0807EF00: .4byte 0x0000068c _0807EF04: @@ -1137,7 +1137,7 @@ sub_807EF48: movs r0, 0 b _0807EF7E .align 2, 0 -_0807EF70: .4byte gDungeonGlobalData +_0807EF70: .4byte gDungeon _0807EF74: .4byte 0x00000694 _0807EF78: .4byte 0x0000068c _0807EF7C: @@ -1167,8 +1167,8 @@ sub_807EF84: adds r4, r0, 0 cmp r4, 0 beq _0807EFE2 - bl GetLeaderEntity - bl GetMapTileForDungeonEntity_2 + bl GetLeader + bl GetTileAtEntitySafe ldrh r1, [r0] movs r0, 0x20 ands r0, r1 @@ -1293,7 +1293,7 @@ _0807F09A: str r0, [sp, 0x4] adds r0, r6, 0 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile adds r4, r0, 0 ldrh r1, [r4] movs r0, 0x20 @@ -1389,7 +1389,7 @@ _0807F158: pop {r0} bx r0 .align 2, 0 -_0807F168: .4byte gDungeonGlobalData +_0807F168: .4byte gDungeon _0807F16C: .4byte 0xffff0000 _0807F170: .4byte 0xff00ffff _0807F174: .4byte gUnknown_202DE30 @@ -1449,7 +1449,7 @@ _0807F1E6: .align 2, 0 _0807F1EC: .4byte 0xffff0000 _0807F1F0: .4byte 0xff00ffff -_0807F1F4: .4byte gDungeonGlobalData +_0807F1F4: .4byte gDungeon _0807F1F8: .4byte 0x00000694 _0807F1FC: .4byte gUnknown_202DE30 _0807F200: .4byte gUnknown_80FE568 @@ -1485,7 +1485,7 @@ _0807F23C: _0807F240: adds r0, r6, 0 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile adds r4, r0, 0 ldrh r1, [r4] movs r0, 0x20 @@ -1598,7 +1598,7 @@ _0807F31C: bx r1 .align 2, 0 _0807F324: .4byte gTeamInventory_203B460 -_0807F328: .4byte gDungeonGlobalData +_0807F328: .4byte gDungeon _0807F32C: .4byte 0x000135cc _0807F330: .4byte 0x00000694 _0807F334: .4byte 0x0000068c @@ -1618,7 +1618,7 @@ sub_807F33C: ldr r2, _0807F424 adds r0, r2 strb r1, [r0] - bl GetLeaderEntity + bl GetLeader ldr r1, _0807F428 ldr r1, [r1] bl SendMessage @@ -1629,7 +1629,7 @@ _0807F360: _0807F364: adds r0, r6, 0 adds r1, r5, 0 - bl GetMapTile_1 + bl GetTile adds r4, r0, 0 ldr r0, [r4, 0x14] cmp r0, 0 @@ -1688,7 +1688,7 @@ _0807F3BC: movs r0, 0 strb r0, [r4, 0x8] adds r0, r5, 0 - bl GetMovementSpeed + bl GetSpeedStatus adds r4, 0x60 ldrb r1, [r4] movs r0, 0x1 @@ -1719,7 +1719,7 @@ _0807F3F4: pop {r0} bx r0 .align 2, 0 -_0807F41C: .4byte gDungeonGlobalData +_0807F41C: .4byte gDungeon _0807F420: .4byte 0x0000066e _0807F424: .4byte 0x0000066f _0807F428: .4byte gUnknown_80FE4B8 @@ -1810,7 +1810,7 @@ _0807F4D0: b _0807F602 _0807F4D6: adds r1, r4, 0 - bl CanSee + bl CanSeeTarget lsls r0, 24 cmp r0, 0 bne _0807F4E4 @@ -1832,7 +1832,7 @@ _0807F4E4: _0807F500: b _0807F51E .align 2, 0 -_0807F504: .4byte gDungeonGlobalData +_0807F504: .4byte gDungeon _0807F508: .4byte 0x000135cc _0807F50C: ldr r0, [sp, 0xEC] @@ -1990,7 +1990,7 @@ _0807F634: .4byte 0xffff0000 _0807F638: .4byte 0x0000ffff _0807F63C: mov r0, r9 - bl DungeonRandomCapped + bl DungeonRandInt lsls r0, 2 add r0, sp adds r0, 0x18 @@ -2004,7 +2004,7 @@ _0807F64E: _0807F654: ldr r0, [r4] ldr r1, [r4, 0x8] - bl DungeonRandomRange + bl DungeonRandRange lsls r0, 16 lsrs r0, 16 ldr r2, _0807F6A0 @@ -2014,7 +2014,7 @@ _0807F654: str r1, [r6] ldr r0, [r4, 0x4] ldr r1, [r4, 0xC] - bl DungeonRandomRange + bl DungeonRandRange lsls r0, 16 ldrh r1, [r6] orrs r1, r0 @@ -2096,7 +2096,7 @@ _0807F70C: mov r1, r8 adds r1, 0x4 add r0, sp, 0xD4 - bl CalculateFacingDir + bl GetDirectionTowardsPosition adds r5, r0, 0 add r2, sp, 0xD4 movs r1, 0 @@ -2230,7 +2230,7 @@ _0807F7FC: adds r4, r2, 0 movs r3, 0x2 ldrsh r1, [r4, r3] - bl GetMapTile_1 + bl GetTile ldr r6, [r0, 0x10] adds r0, r6, 0 bl EntityExists @@ -2453,7 +2453,7 @@ _0807FA0A: pop {r0} bx r0 .align 2, 0 -_0807FA10: .4byte gDungeonGlobalData +_0807FA10: .4byte gDungeon _0807FA14: .4byte 0x00003a08 thumb_func_end sub_807F9BC @@ -2468,7 +2468,7 @@ _0807FA1E: _0807FA22: adds r0, r5, 0 adds r1, r6, 0 - bl GetMapTile_2 + bl GetTileSafe adds r4, r0, 0 ldrh r1, [r4, 0x4] movs r0, 0x4 @@ -2552,7 +2552,7 @@ sub_807FA9C: mov r8, r1 b _0807FBFE .align 2, 0 -_0807FAC4: .4byte gDungeonGlobalData +_0807FAC4: .4byte gDungeon _0807FAC8: .4byte 0x0001820f _0807FACC: .4byte 0x000181ea _0807FAD0: @@ -2581,7 +2581,7 @@ _0807FAF8: movs r6, 0 adds r0, r5, 0 mov r1, r8 - bl GetMapTile_1 + bl GetTile adds r4, r0, 0 ldr r0, [r4, 0x14] cmp r0, 0 @@ -2729,7 +2729,7 @@ _0807FC06: _0807FC18: .4byte 0x000181e8 _0807FC1C: .4byte gUnknown_202EDC0 _0807FC20: .4byte 0x0000f3ff -_0807FC24: .4byte gDungeonGlobalData +_0807FC24: .4byte gDungeon _0807FC28: .4byte 0x000181f0 _0807FC2C: .4byte 0x000181f2 _0807FC30: .4byte 0x00000fff diff --git a/asm/code_807FCD4.s b/asm/code_807FCD4.s index f84d53f4e..6a7bb9261 100644 --- a/asm/code_807FCD4.s +++ b/asm/code_807FCD4.s @@ -20,7 +20,7 @@ sub_807FCD4: ldrsh r0, [r7, r1] movs r2, 0x2 ldrsh r1, [r7, r2] - bl GetMapTile_2 + bl GetTileSafe adds r6, r0, 0 cmp r5, 0x13 bls _0807FD12 @@ -115,7 +115,7 @@ sub_807FD84: movs r0, 0 b _0807FDF6 .align 2, 0 -_0807FD9C: .4byte gDungeonGlobalData +_0807FD9C: .4byte gDungeon _0807FDA0: .4byte 0x00013570 _0807FDA4: strb r5, [r1] @@ -174,7 +174,7 @@ sub_807FE04: ldrsh r0, [r2, r1] movs r3, 0x2 ldrsh r1, [r2, r3] - bl GetMapTile_2 + bl GetTileSafe adds r4, r0, 0 ldr r0, [r4, 0x14] cmp r0, 0 @@ -210,7 +210,7 @@ sub_807FE44: ldrsh r0, [r2, r1] movs r3, 0x2 ldrsh r1, [r2, r3] - bl GetMapTile_1 + bl GetTile adds r4, r0, 0 ldr r0, [r4, 0x14] cmp r0, 0 @@ -268,7 +268,7 @@ sub_807FE9C: ldrsh r0, [r1, r2] movs r3, 0x2 ldrsh r1, [r1, r3] - bl GetMapTile_2 + bl GetTileSafe str r0, [sp, 0x4] ldr r0, [r0, 0x14] mov r10, r0 @@ -317,12 +317,12 @@ _0807FEFE: cmp r0, 0x11 beq _0807FF96 movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt adds r7, r0, 0 movs r6, 0 adds r0, r4, 0 movs r1, 0x1C - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _0807FF3C @@ -346,7 +346,7 @@ _0807FF50: .align 2, 0 _0807FF58: .4byte gAvailablePokemonNames _0807FF5C: .4byte gUnknown_80FDB5C -_0807FF60: .4byte gDungeonGlobalData +_0807FF60: .4byte gDungeon _0807FF64: .4byte 0x0001820f _0807FF68: cmp r7, 0xE @@ -402,7 +402,7 @@ _0807FF96: b _0807FFFA .align 2, 0 _0807FFD8: .4byte gUnknown_80FDB7C -_0807FFDC: .4byte gDungeonGlobalData +_0807FFDC: .4byte gDungeon _0807FFE0: .4byte 0x0001820a _0807FFE4: .4byte gUnknown_80FD7F4 _0807FFE8: @@ -633,7 +633,7 @@ sub_80801CC: cmp r4, 0 beq _08080240 movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt adds r1, r0, 0 cmp r0, 0x18 bgt _080801EC @@ -705,7 +705,7 @@ sub_808024C: mov r8, r0 mov r0, r10 movs r1, 0xE - bl HasItem + bl HasHeldItem lsls r0, 24 cmp r0, 0 beq _08080278 @@ -795,7 +795,7 @@ _0808030C: .4byte gTeamInventory_203B460 _08080310: .4byte gUnknown_80FDC40 _08080314: adds r0, r6, 0 - bl DungeonRandomCapped + bl DungeonRandInt ldr r2, _0808035C lsls r0, 2 mov r1, sp @@ -998,7 +998,7 @@ _08080470: _08080478: ldr r0, [r4] ldrb r0, [r0, 0x2] - bl GetItemType + bl GetItemCategory lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 @@ -1008,7 +1008,7 @@ _08080478: cmp r0, 0x54 beq _080804AE movs r0, 0x64 - bl DungeonRandomCapped + bl DungeonRandInt ldr r1, _080804C4 movs r2, 0 ldrsh r1, [r1, r2] @@ -1080,7 +1080,7 @@ sub_8080504: bne _0808051A b _0808060E _0808051A: - bl IsBossBattle + bl IsBossFight lsls r0, 24 cmp r0, 0 beq _08080534 @@ -1145,7 +1145,7 @@ _0808055E: _080805A4: .4byte 0x00000193 _080805A8: .4byte gUnknown_80F4F8A _080805AC: .4byte 0x00000215 -_080805B0: .4byte gDungeonGlobalData +_080805B0: .4byte gDungeon _080805B4: ldr r0, _080805C0 ldr r1, [r0] @@ -1210,13 +1210,13 @@ sub_8080620: str r0, [sp, 0x14] adds r7, r1, 0 movs r0, 0x3 - bl DungeonRandomCapped + bl DungeonRandInt adds r6, r0, 0 adds r4, r6, 0x2 movs r0, 0x8 - bl DungeonRandomCapped + bl DungeonRandInt adds r5, r0, 0 - bl IsBossBattle + bl IsBossFight lsls r0, 24 cmp r0, 0 bne _080806CA @@ -1352,7 +1352,7 @@ _08080742: cmp r4, 0 beq _0808077A adds r0, r4, 0 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 lsls r4, 2 mov r0, sp @@ -1464,7 +1464,7 @@ _08080816: cmp r5, 0 beq _08080848 adds r0, r5, 0 - bl DungeonRandomCapped + bl DungeonRandInt lsls r0, 2 mov r1, sp adds r3, r1, r0 @@ -1518,7 +1518,7 @@ sub_8080884: cmp r4, 0 beq _0808089E movs r0, 0x8 - bl DungeonRandomCapped + bl DungeonRandInt adds r2, r0, 0 adds r0, r5, 0 adds r1, r4, 0 @@ -1546,14 +1546,14 @@ sub_80808A4: ldr r1, _080808D4 adds r0, r1 ldrb r4, [r0] - bl IsBossBattle + bl IsBossFight lsls r0, 24 cmp r0, 0 beq _080808DC ldr r0, _080808D8 b _08080A2E .align 2, 0 -_080808D0: .4byte gDungeonGlobalData +_080808D0: .4byte gDungeon _080808D4: .4byte 0x00018209 _080808D8: .4byte gUnknown_80FED08 _080808DC: @@ -1565,7 +1565,7 @@ _080808E2: ldrsh r0, [r5, r2] movs r3, 0x2 ldrsh r1, [r5, r3] - bl GetMapTile_1 + bl GetTile ldrb r1, [r0, 0x9] cmp r1, 0xFF bne _0808090A @@ -1618,7 +1618,7 @@ _0808093E: _0808094A: adds r0, r6, 0 adds r1, r7, 0 - bl GetMapTile_1 + bl GetTile adds r4, r0, 0 ldr r0, [r4, 0x14] adds r2, r6, 0x1 @@ -1653,7 +1653,7 @@ _08080980: b _080809AE .align 2, 0 _08080994: .4byte 0x000104c4 -_08080998: .4byte gDungeonGlobalData +_08080998: .4byte gDungeon _0808099C: .4byte 0x0000066e _080809A0: movs r0, 0 @@ -1916,7 +1916,7 @@ sub_8080B90: bx r0 .align 2, 0 _08080BB0: .4byte gUnknown_81071E0 -_08080BB4: .4byte gDungeonGlobalData +_08080BB4: .4byte gDungeon _08080BB8: .4byte 0x00000644 thumb_func_end sub_8080B90 @@ -1982,7 +1982,7 @@ _08080C28: bx r0 .align 2, 0 _08080C38: .4byte gUnknown_81071E0 -_08080C3C: .4byte gDungeonGlobalData +_08080C3C: .4byte gDungeon _08080C40: .4byte 0x0001361c thumb_func_end sub_8080BBC @@ -2065,7 +2065,7 @@ _08080CD6: bx r0 .align 2, 0 _08080CE4: .4byte gUnknown_81071E0 -_08080CE8: .4byte gDungeonGlobalData +_08080CE8: .4byte gDungeon _08080CEC: .4byte 0x0001371c thumb_func_end sub_8080C44 @@ -2175,7 +2175,7 @@ _08080DB6: bx r0 .align 2, 0 _08080DD4: .4byte gUnknown_81071E0 -_08080DD8: .4byte gDungeonGlobalData +_08080DD8: .4byte gDungeon _08080DDC: .4byte 0x000037f0 _08080DE0: .4byte 0x000037f4 _08080DE4: .4byte 0x000037f8 @@ -3065,7 +3065,7 @@ _080815B2: bx r0 .align 2, 0 _08081600: .4byte gUnknown_81071E0 -_08081604: .4byte gDungeonGlobalData +_08081604: .4byte gDungeon _08081608: .4byte 0x00003a08 _0808160C: .4byte 0x00003a09 _08081610: .4byte 0x00003a0a @@ -3167,7 +3167,7 @@ sub_808165C: bx r0 .align 2, 0 _08081708: .4byte gUnknown_81071E0 -_0808170C: .4byte gDungeonGlobalData +_0808170C: .4byte gDungeon _08081710: .4byte 0x00018208 _08081714: .4byte 0x00018209 _08081718: .4byte 0x0001820a @@ -3211,7 +3211,7 @@ sub_808173C: pop {r0} bx r0 .align 2, 0 -_08081778: .4byte gDungeonGlobalData +_08081778: .4byte gDungeon _0808177C: .4byte 0x0001ced6 _08081780: .4byte 0x0001ced8 _08081784: .4byte 0x0001ceda @@ -3867,7 +3867,7 @@ sub_8081C50: bx r0 .align 2, 0 _08081C70: .4byte gUnknown_81071E0 -_08081C74: .4byte gDungeonGlobalData +_08081C74: .4byte gDungeon _08081C78: .4byte 0x00000644 thumb_func_end sub_8081C50 @@ -4067,7 +4067,7 @@ _08081DD0: bx r0 .align 2, 0 _08081E20: .4byte gUnknown_81071E0 -_08081E24: .4byte gDungeonGlobalData +_08081E24: .4byte gDungeon _08081E28: .4byte 0x00003a08 _08081E2C: .4byte 0x00003a09 _08081E30: .4byte 0x00003a0a @@ -4257,7 +4257,7 @@ sub_8081F2C: bx r0 .align 2, 0 _08081FE4: .4byte gUnknown_81071E0 -_08081FE8: .4byte gDungeonGlobalData +_08081FE8: .4byte gDungeon _08081FEC: .4byte 0x000181f8 _08081FF0: .4byte 0x00018208 _08081FF4: .4byte 0x00018209 @@ -4298,7 +4298,7 @@ sub_808201C: pop {r0} bx r0 .align 2, 0 -_08082050: .4byte gDungeonGlobalData +_08082050: .4byte gDungeon _08082054: .4byte 0x0001ced6 _08082058: .4byte 0x0001ced8 _0808205C: .4byte 0x0001ceda @@ -4416,7 +4416,7 @@ _080820FC: mov r3, sp movs r2, 0x6 ldrsh r1, [r3, r2] - bl GetMapTile_2 + bl GetTileSafe adds r4, r0, 0 ldrb r0, [r7] mov r3, r9 @@ -4544,7 +4544,7 @@ _08082238: bx r0 .align 2, 0 _08082250: .4byte gUnknown_81071E0 -_08082254: .4byte gDungeonGlobalData +_08082254: .4byte gDungeon _08082258: .4byte 0x000037f0 _0808225C: .4byte 0x000037f4 _08082260: .4byte 0x000037f8 @@ -4978,7 +4978,7 @@ _080824DC: b _08082678 .align 2, 0 _0808266C: .4byte 0xfffffd60 -_08082670: .4byte gLeaderPokemon +_08082670: .4byte gLeaderPointer _08082674: .4byte 0x0000010d _08082678: ldr r1, _08082818 @@ -5165,7 +5165,7 @@ _08082830: .4byte 0x00000155 _08082834: .4byte 0x00000165 _08082838: .4byte 0x00000167 _0808283C: .4byte 0x00000169 -_08082840: .4byte gLeaderPokemon +_08082840: .4byte gLeaderPointer _08082844: mov r0, sp movs r1, 0x2 @@ -5190,7 +5190,7 @@ _08082856: add r3, sp movs r2, 0 ldrsh r1, [r3, r2] - bl GetMapTile_2 + bl GetTileSafe ldr r1, [r4] str r1, [r7, 0x8] ldr r1, [r4] @@ -5238,7 +5238,7 @@ _080828BE: bx r0 .align 2, 0 _080828D4: .4byte 0x0000020a -_080828D8: .4byte gLeaderPokemon +_080828D8: .4byte gLeaderPointer _080828DC: .4byte gUnknown_203B410 thumb_func_end sub_8082280 @@ -5259,7 +5259,7 @@ sub_80828E0: movs r4, 0x1 negs r4, r4 mov r0, r8 - bl GetPokemonSize + bl GetBodySize lsls r0, 24 lsrs r6, r0, 24 movs r3, 0 @@ -5389,7 +5389,7 @@ _080829E6: pop {r1} bx r1 .align 2, 0 -_080829F4: .4byte gDungeonGlobalData +_080829F4: .4byte gDungeon _080829F8: .4byte 0x0001357c _080829FC: .4byte 0x0000069c _08082A00: .4byte 0x00000167 @@ -5415,7 +5415,7 @@ sub_8082A08: negs r0, r0 mov r8, r0 mov r0, r9 - bl GetPokemonSize + bl GetBodySize lsls r0, 24 lsrs r6, r0, 24 movs r3, 0 @@ -5552,7 +5552,7 @@ _08082B1C: pop {r1} bx r1 .align 2, 0 -_08082B2C: .4byte gDungeonGlobalData +_08082B2C: .4byte gDungeon _08082B30: .4byte 0x0001358c _08082B34: .4byte 0x00000ebc _08082B38: .4byte 0x00000167 @@ -5603,7 +5603,7 @@ _08082B46: ldrsh r0, [r5, r1] movs r2, 0x6 ldrsh r1, [r5, r2] - bl GetMapTile_2 + bl GetTileSafe ldrb r1, [r0, 0x9] adds r0, r5, 0 adds r0, 0x25 @@ -5617,7 +5617,7 @@ _08082BA8: pop {r0} bx r0 .align 2, 0 -_08082BB8: .4byte gDungeonGlobalData +_08082BB8: .4byte gDungeon _08082BBC: .4byte 0x000135cc thumb_func_end sub_8082B40 diff --git a/asm/code_808333C.s b/asm/code_808333C.s index 1be445a95..4adc4d157 100644 --- a/asm/code_808333C.s +++ b/asm/code_808333C.s @@ -66,7 +66,7 @@ sub_8083568: movs r0, 0x1 b _080835FA .align 2, 0 -_080835E0: .4byte gDungeonGlobalData +_080835E0: .4byte gDungeon _080835E4: .4byte 0x000181f0 _080835E8: .4byte 0x000181f2 _080835EC: .4byte gUnknown_202ED28 diff --git a/asm/code_8083654.s b/asm/code_8083654.s index 28971461b..09d394f40 100644 --- a/asm/code_8083654.s +++ b/asm/code_8083654.s @@ -18,7 +18,7 @@ sub_8083660: lsls r1, 5 add r1, sp str r0, [r1] - bl GetLeaderEntity + bl GetLeader ldr r2, _080836D8 add r2, sp str r0, [r2] @@ -29,10 +29,10 @@ sub_8083660: str r0, [r1] _0808368A: movs r0, 0x38 - bl DungeonRandomCapped + bl DungeonRandInt adds r4, r0, 0 movs r0, 0x20 - bl DungeonRandomCapped + bl DungeonRandInt ldr r2, _080836E0 add r2, sp str r0, [r2] @@ -178,7 +178,7 @@ _0808379C: ldr r2, _0808380C add r2, sp str r3, [r2] - bl GetMapTile_1 + bl GetTile adds r2, r0, 0 ldr r0, _08083810 ldr r1, _0808380C @@ -210,7 +210,7 @@ _080837E6: cmp r7, 0 beq _08083820 adds r0, r7, 0 - bl DungeonRandomCapped + bl DungeonRandInt lsls r0, 2 mov r2, sp adds r1, r2, r0 @@ -290,7 +290,7 @@ _0808386A: adds r0, r5, 0 adds r1, r4, 0 str r3, [sp] - bl GetMapTile_1 + bl GetTile adds r1, r0, 0 ldrh r2, [r1] movs r7, 0x80 @@ -441,7 +441,7 @@ _08083960: b _080839D0 .align 2, 0 _080839A0: .4byte gUnknown_80F4CC4 -_080839A4: .4byte gDungeonGlobalData +_080839A4: .4byte gDungeon _080839A8: .4byte 0x000037fc _080839AC: .4byte 0x000135cc _080839B0: diff --git a/asm/code_808417C.s b/asm/code_808417C.s index a8712e9b7..5fbcab26b 100644 --- a/asm/code_808417C.s +++ b/asm/code_808417C.s @@ -68,7 +68,7 @@ sub_80841EC: bl sub_8083DE0 b _0808427C .align 2, 0 -_0808426C: .4byte gDungeonGlobalData +_0808426C: .4byte gDungeon _08084270: .4byte 0x0001ceac _08084274: .4byte 0x00000225 _08084278: @@ -102,7 +102,7 @@ _08084290: b _08084290 .align 2, 0 _080842B8: .4byte gUnknown_80FE6E8 -_080842BC: .4byte gDungeonGlobalData +_080842BC: .4byte gDungeon _080842C0: .4byte 0x0001ce98 _080842C4: bl sub_8094D14 @@ -191,7 +191,7 @@ _08084320: strb r7, [r2, 0x9] b _080843A8 .align 2, 0 -_0808436C: .4byte gDungeonGlobalData +_0808436C: .4byte gDungeon _08084370: .4byte 0x00000677 _08084374: .4byte 0x0000068a _08084378: .4byte 0x0000ffff @@ -285,7 +285,7 @@ _0808440C: bx r0 .align 2, 0 _08084418: .4byte 0x0000ffff -_0808441C: .4byte gDungeonGlobalData +_0808441C: .4byte gDungeon _08084420: .4byte 0x00000644 thumb_func_end sub_80843BC @@ -318,7 +318,7 @@ sub_8084448: adds r5, r0, 0 ldr r7, [r5, 0x70] ldr r4, _0808447C - bl GetLeaderEntity + bl GetLeader adds r1, r0, 0 adds r0, r4, 0 movs r2, 0 @@ -402,7 +402,7 @@ _080844F0: bl PrintFieldMessage b _080845D4 .align 2, 0 -_080844FC: .4byte gDungeonGlobalData +_080844FC: .4byte gDungeon _08084500: .4byte 0x0000068a _08084504: .4byte gUnknown_80FA32C _08084508: .4byte gUnknown_202DE58 @@ -481,7 +481,7 @@ _08084582: _080845B0: .4byte gUnknown_80FA2F0 _080845B4: .4byte gUnknown_80FA260 _080845B8: .4byte gUnknown_80FA36C -_080845BC: .4byte gDungeonGlobalData +_080845BC: .4byte gDungeon _080845C0: .4byte gUnknown_80FA394 _080845C4: ldr r0, _080845DC @@ -512,7 +512,7 @@ sub_80845E0: movs r1, 0 mov r9, r1 ldr r4, _08084620 - bl GetLeaderEntity + bl GetLeader adds r1, r0, 0 adds r0, r4, 0 movs r2, 0 @@ -563,7 +563,7 @@ _0808465A: movs r0, 0x1 b _0808466A .align 2, 0 -_08084660: .4byte gDungeonGlobalData +_08084660: .4byte gDungeon _08084664: .4byte 0x0001357c _08084668: movs r0, 0 @@ -599,7 +599,7 @@ _080846A0: .4byte gUnknown_80FA54C _080846A4: adds r0, r6, 0 adds r1, r7, 0 - bl CanSee + bl CanSeeTarget lsls r0, 24 cmp r0, 0 bne _080846C4 @@ -670,7 +670,7 @@ _08084716: b _08084768 .align 2, 0 _08084744: .4byte gUnknown_80FA4D4 -_08084748: .4byte gDungeonGlobalData +_08084748: .4byte gDungeon _0808474C: .4byte 0x00000644 _08084750: .4byte gUnknown_80FA4D8 _08084754: .4byte gUnknown_80FA394 @@ -722,12 +722,12 @@ _08084784: movs r0, 0xE ldrsh r1, [r1, r0] ldr r0, _080847B8 - bl CopyCyanSpeciesNametoBuffer + bl CopyCyanMonsterNametoBuffer b _080847CE .align 2, 0 _080847B8: .4byte gUnknown_202E088 _080847BC: .4byte gUnknown_8107224 -_080847C0: .4byte gDungeonGlobalData +_080847C0: .4byte gDungeon _080847C4: .4byte 0x00000644 _080847C8: adds r4, 0x1 @@ -780,7 +780,7 @@ _08084810: bl sub_8084854 b _08084846 .align 2, 0 -_08084820: .4byte gDungeonGlobalData +_08084820: .4byte gDungeon _08084824: .4byte 0x00003a0d _08084828: .4byte 0x0001356c _0808482C: .4byte gUnknown_8107234 diff --git a/asm/code_80848F0.s b/asm/code_80848F0.s index fcc2dabbe..f6cf9bc34 100644 --- a/asm/code_80848F0.s +++ b/asm/code_80848F0.s @@ -218,7 +218,7 @@ _080853EE: lsls r0, r4, 16 asrs r0, 16 asrs r1, r4, 16 - bl GetMapTile_1 + bl GetTile adds r1, r0, 0 mov r0, r8 bl sub_807034C @@ -241,7 +241,7 @@ _080853EE: bl sub_806B7F8 b _0808546E .align 2, 0 -_08085444: .4byte gDungeonGlobalData +_08085444: .4byte gDungeon _08085448: .4byte 0x0001357c _0808544C: .4byte 0x0000065c _08085450: .4byte gUnknown_80F4598 @@ -269,13 +269,13 @@ _0808546E: _0808547C: .4byte gUnknown_80F4598 thumb_func_end sub_8085374 - thumb_func_start xxx_call_GetLeaderEntity -xxx_call_GetLeaderEntity: + thumb_func_start xxx_call_GetLeader +xxx_call_GetLeader: push {lr} - bl GetLeaderEntity + bl GetLeader pop {r1} bx r1 - thumb_func_end xxx_call_GetLeaderEntity + thumb_func_end xxx_call_GetLeader thumb_func_start GetPartnerEntity GetPartnerEntity: @@ -302,7 +302,7 @@ _08085490: adds r0, r4, 0 b _080854CC .align 2, 0 -_080854B8: .4byte gDungeonGlobalData +_080854B8: .4byte gDungeon _080854BC: .4byte 0x0001357c _080854C0: adds r5, 0x1 @@ -461,7 +461,7 @@ _080855C4: pop {r0} bx r0 .align 2, 0 -_080855D8: .4byte gDungeonGlobalData +_080855D8: .4byte gDungeon _080855DC: .4byte 0x0001357c _080855E0: .4byte 0x0000e220 thumb_func_end sub_80854D4 diff --git a/asm/code_8085B0C.s b/asm/code_8085B0C.s index dcdd87787..e68ed1d69 100644 --- a/asm/code_8085B0C.s +++ b/asm/code_8085B0C.s @@ -443,7 +443,7 @@ _08085E74: .4byte 0xffffff00 _08085E78: .4byte 0xffff00ff _08085E7C: .4byte 0xff00ffff _08085E80: .4byte gUnknown_202EDC8 -_08085E84: .4byte gDungeonGlobalData +_08085E84: .4byte gDungeon _08085E88: .4byte 0xffff0000 _08085E8C: .4byte gUnknown_202EE8C _08085E90: .4byte gUnknown_202ECA4 @@ -460,7 +460,7 @@ sub_8085E98: strb r1, [r0] bx lr .align 2, 0 -_08085EA8: .4byte gDungeonGlobalData +_08085EA8: .4byte gDungeon _08085EAC: .4byte 0x00018215 thumb_func_end sub_8085E98 @@ -474,7 +474,7 @@ sub_8085EB0: strb r1, [r0] bx lr .align 2, 0 -_08085EC0: .4byte gDungeonGlobalData +_08085EC0: .4byte gDungeon _08085EC4: .4byte 0x00018215 thumb_func_end sub_8085EB0 @@ -562,7 +562,7 @@ _08085F5C: pop {r0} bx r0 .align 2, 0 -_08085F70: .4byte gDungeonGlobalData +_08085F70: .4byte gDungeon _08085F74: .4byte 0x000181f0 thumb_func_end sub_8085F44 @@ -584,7 +584,7 @@ _08085F8A: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08085F94: .4byte gDungeonGlobalData +_08085F94: .4byte gDungeon _08085F98: .4byte 0x00003a0d _08085F9C: .4byte _08085FA0 .align 2, 0 @@ -718,7 +718,7 @@ _08086104: b _0808611C .align 2, 0 _08086108: .4byte gTeamInventory_203B460 -_0808610C: .4byte gDungeonGlobalData +_0808610C: .4byte gDungeon _08086110: .4byte 0x0001357c _08086114: adds r5, 0x1 diff --git a/asm/code_8086A3C.s b/asm/code_8086A3C.s index 80e503289..b169933f4 100644 --- a/asm/code_8086A3C.s +++ b/asm/code_8086A3C.s @@ -54,14 +54,14 @@ _08086FA8: pop {r0} bx r0 .align 2, 0 -_08086FB0: .4byte gDungeonGlobalData +_08086FB0: .4byte gDungeon _08086FB4: .4byte 0x0001358c thumb_func_end sub_8086F54 thumb_func_start TeamMeaniesPreFightDialogue TeamMeaniesPreFightDialogue: push {r4,lr} - bl xxx_call_GetLeaderEntity + bl xxx_call_GetLeader adds r4, r0, 0 bl sub_8086448 movs r0, 0xA @@ -125,7 +125,7 @@ _08087060: .4byte gTeamMeaniesPreFightDialogue_7 thumb_func_start TeamMeaniesReFightDialogue TeamMeaniesReFightDialogue: push {r4,r5,lr} - bl xxx_call_GetLeaderEntity + bl xxx_call_GetLeader adds r4, r0, 0 bl GetPartnerEntity adds r5, r0, 0 @@ -321,7 +321,7 @@ _0808722C: .4byte 0x0000015f thumb_func_start sub_8087230 sub_8087230: push {r4-r6,lr} - bl xxx_call_GetLeaderEntity + bl xxx_call_GetLeader adds r6, r0, 0 movs r0, 0x8 bl GetEntityFromClientType @@ -350,11 +350,11 @@ sub_8087230: movs r1, 0x96 lsls r1, 1 adds r0, r4, 0 - bl CopySpeciesNametoBuffer + bl CopyMonsterNametoBuffer adds r4, 0x50 adds r0, r4, 0 movs r1, 0x91 - bl CopySpeciesNametoBuffer + bl CopyMonsterNametoBuffer pop {r4-r6} pop {r0} bx r0 @@ -367,7 +367,7 @@ _08087298: .4byte gUnknown_202E038 sub_808729C: push {r4-r6,lr} sub sp, 0x4 - bl xxx_call_GetLeaderEntity + bl xxx_call_GetLeader adds r5, r0, 0 movs r0, 0x8 bl GetEntityFromClientType @@ -417,11 +417,11 @@ _08087300: movs r1, 0x96 lsls r1, 1 adds r0, r4, 0 - bl CopySpeciesNametoBuffer + bl CopyMonsterNametoBuffer adds r4, 0x50 adds r0, r4, 0 movs r1, 0x91 - bl CopySpeciesNametoBuffer + bl CopyMonsterNametoBuffer add sp, 0x4 pop {r4-r6} pop {r0} @@ -455,7 +455,7 @@ _0808735A: pop {r0} bx r0 .align 2, 0 -_08087360: .4byte gDungeonGlobalData +_08087360: .4byte gDungeon thumb_func_end sub_8087334 thumb_func_start ZapdosPreFightDialogue @@ -466,7 +466,7 @@ ZapdosPreFightDialogue: mov r5, r8 push {r5-r7} sub sp, 0x70 - bl xxx_call_GetLeaderEntity + bl xxx_call_GetLeader mov r9, r0 bl GetPartnerEntity adds r6, r0, 0 diff --git a/asm/code_8095014.s b/asm/code_8095014.s index d5e9a3525..b3fb15438 100644 --- a/asm/code_8095014.s +++ b/asm/code_8095014.s @@ -400,7 +400,7 @@ sub_809542C: ldr r0, [r0] str r0, [r2, 0x4] str r1, [r2, 0x8] - bl Random + bl Rand32Bit bl sub_8094D28 bl sub_8094E4C ldr r1, [r4] diff --git a/asm/code_80958E8.s b/asm/code_80958E8.s index ff49585cc..6f439f9b6 100644 --- a/asm/code_80958E8.s +++ b/asm/code_80958E8.s @@ -26,7 +26,7 @@ _08095B48: movs r0, 0x5 strb r0, [r4] movs r0, 0x8 - bl RandomCapped + bl RandInt ldr r1, _08095BC8 adds r0, r1 ldrb r0, [r0] @@ -42,7 +42,7 @@ _08095B48: _08095B6C: movs r0, 0 strb r0, [r4, 0x2] - bl Random + bl Rand32Bit ldr r1, _08095BCC ands r1, r0 str r1, [r4, 0x8] @@ -72,13 +72,13 @@ _08095B9E: cmp r7, 0 beq _08095BD4 adds r0, r7, 0 - bl RandomCapped + bl RandInt lsls r0, 1 add r0, sp ldrh r0, [r0] strh r0, [r4, 0xC] adds r0, r7, 0 - bl RandomCapped + bl RandInt lsls r0, 1 add r0, sp ldrh r0, [r0] @@ -152,7 +152,7 @@ _08095C28: _08095C4E: cmp r0, 0x4 bgt _08095CCA - bl Random + bl Rand32Bit adds r1, r0, 0 movs r0, 0xE0 lsls r0, 3 @@ -165,7 +165,7 @@ _08095C4E: bgt _08095CB4 b _08095CAA _08095C6C: - bl Random + bl Rand32Bit adds r1, r0, 0 movs r0, 0x70 ands r1, r0 @@ -183,7 +183,7 @@ _08095C88: bl sub_803C45C b _08095CCA _08095C90: - bl Random + bl Rand32Bit movs r1, 0xC0 lsls r1, 6 ands r1, r0 @@ -251,7 +251,7 @@ sub_8095CE0: str r2, [sp, 0x4C] _08095D0C: ldr r0, [sp, 0x4C] - bl RandomCapped + bl RandInt mov r9, r0 str r0, [sp, 0x48] mov r1, sp @@ -270,7 +270,7 @@ _08095D1C: asrs r0, 1 str r0, [sp, 0x54] adds r1, r2, 0 - bl RandomRange + bl RandRange adds r4, r0, 0 str r4, [sp, 0x50] _08095D3E: @@ -528,7 +528,7 @@ _08095F08: .4byte gUnknown_203B490 _08095F0C: .4byte 0x00000101 _08095F10: adds r0, r6, 0 - bl RandomCapped + bl RandInt add r0, sp ldrb r0, [r0] _08095F1A: @@ -581,7 +581,7 @@ _08095F6A: cmp r6, 0 beq _08095F80 adds r0, r6, 0 - bl RandomCapped + bl RandInt add r0, sp ldrb r0, [r0] b _08095F82 @@ -944,7 +944,7 @@ sub_80961D8: bl sub_8095F8C adds r6, r0, 0 movs r1, 0x4 - bl RandomRange + bl RandRange mov r8, r0 cmp r6, 0x3 bgt _08096202 @@ -1127,7 +1127,7 @@ _08096340: _0809636C: movs r0, 0x5 movs r1, 0xA - bl RandomRange + bl RandRange strb r0, [r4, 0x11] lsls r0, 24 lsrs r0, 24 @@ -1236,7 +1236,7 @@ _08096418: strb r0, [r5, 0x4] movs r0, 0x3 strb r0, [r5, 0x5] - bl Random + bl Rand32Bit ldr r1, _08096484 ands r1, r0 str r1, [r5, 0x8] @@ -1679,7 +1679,7 @@ sub_809674C: push {r7} movs r0, 0x4 movs r1, 0x8 - bl RandomRange + bl RandRange mov r8, r0 ldr r3, _08096864 movs r2, 0 @@ -1713,7 +1713,7 @@ _08096764: strb r0, [r5, 0x4] movs r0, 0xA strb r0, [r5, 0x5] - bl Random + bl Rand32Bit ldr r1, _08096868 ands r1, r0 str r1, [r5, 0x8] @@ -1749,7 +1749,7 @@ _080967C0: strb r0, [r5, 0x4] movs r0, 0xF strb r0, [r5, 0x5] - bl Random + bl Rand32Bit ldr r1, _08096868 ands r1, r0 str r1, [r5, 0x8] @@ -1784,7 +1784,7 @@ _0809680A: strb r0, [r5, 0x4] movs r0, 0x14 strb r0, [r5, 0x5] - bl Random + bl Rand32Bit ldr r1, _08096868 ands r1, r0 str r1, [r5, 0x8] @@ -1814,7 +1814,7 @@ _0809686C: .4byte 0x0000014d _08096870: movs r0, 0 movs r1, 0x4 - bl RandomRange + bl RandRange ldr r1, [r6] adds r1, r4 adds r1, 0x61 diff --git a/asm/code_8098BDC.s b/asm/code_8098BDC.s index 877f21eae..2a48d7f45 100644 --- a/asm/code_8098BDC.s +++ b/asm/code_8098BDC.s @@ -3455,7 +3455,7 @@ _0809AB80: adds r0, r4, r0 movs r2, 0x2 ldrsh r1, [r6, r2] - bl CopyCyanSpeciesNametoBuffer + bl CopyCyanMonsterNametoBuffer ldr r0, _0809ABAC adds r4, r0 ldr r1, _0809ABB0 @@ -3506,7 +3506,7 @@ _0809ABE8: movs r0, 0x2 ldrsh r1, [r6, r0] adds r0, r5, 0 - bl CopyCyanSpeciesNametoBuffer + bl CopyCyanMonsterNametoBuffer ldr r0, _0809AC14 adds r4, r0 adds r0, r4, 0 @@ -3555,7 +3555,7 @@ _0809AC4C: adds r0, r4, r0 movs r2, 0x2 ldrsh r1, [r6, r2] - bl CopyCyanSpeciesNametoBuffer + bl CopyCyanMonsterNametoBuffer ldr r0, _0809AC78 adds r4, r0 movs r3, 0 @@ -4174,7 +4174,7 @@ _0809B0E4: lsls r2, 4 ldr r3, _0809B13C adds r2, r3 - bl sprintf_2 + bl sprintfStatic _0809B0F6: adds r0, r4, 0 bl sub_809AE3C @@ -4471,7 +4471,7 @@ _0809B318: lsls r2, 4 ldr r3, _0809B3D8 adds r2, r3 - bl sprintf_2 + bl sprintfStatic _0809B32A: ldr r0, _0809B3DC mov r8, r0 @@ -4483,7 +4483,7 @@ _0809B32A: ldr r1, _0809B3E0 adds r0, r4, 0 adds r2, r7, 0 - bl sprintf_2 + bl sprintfStatic adds r7, r4, 0 _0809B344: adds r0, r6, 0 @@ -7539,7 +7539,7 @@ sub_809CBBC: adds r0, r3 ldr r3, [r0] mov r0, sp - bl sprintf_2 + bl sprintfStatic ldr r0, _0809CC14 ldr r0, [r0] movs r1, 0x98 diff --git a/asm/code_809D148.s b/asm/code_809D148.s index 7e51a98d8..b334680db 100644 --- a/asm/code_809D148.s +++ b/asm/code_809D148.s @@ -192,12 +192,12 @@ _0809D3A8: negs r4, r4 adds r0, r4, 0 movs r1, 0x2 - bl OtherRandomRange + bl OtherRandRange lsls r0, 10 str r0, [r5, 0x34] adds r0, r4, 0 movs r1, 0x2 - bl OtherRandomRange + bl OtherRandRange lsls r0, 10 b _0809D402 _0809D3D2: @@ -212,14 +212,14 @@ _0809D3D2: negs r4, r4 adds r0, r4, 0 movs r1, 0x2 - bl OtherRandomRange + bl OtherRandRange ldr r1, [r5, 0x28] muls r0, r1 lsls r0, 8 str r0, [r5, 0x34] adds r0, r4, 0 movs r1, 0x2 - bl OtherRandomRange + bl OtherRandRange ldr r1, [r5, 0x28] muls r0, r1 lsls r0, 8 diff --git a/asm/dungeon_2.s b/asm/dungeon_2.s index 83dbd901d..74e74980d 100644 --- a/asm/dungeon_2.s +++ b/asm/dungeon_2.s @@ -170,7 +170,7 @@ _0809048E: beq _0809054E ldr r0, _080904B0 adds r1, r2, 0 - bl CopyCyanSpeciesNametoBuffer + bl CopyCyanMonsterNametoBuffer cmp r5, 0x3 ble _080904D2 mov r0, r8 @@ -197,7 +197,7 @@ _080904BA: mov r8, r1 _080904D2: ldr r0, [sp, 0xE0] - bl GetPokemonSize + bl GetBodySize lsls r0, 24 lsrs r5, r0, 24 movs r4, 0 @@ -222,7 +222,7 @@ _080904E4: beq _08090510 movs r1, 0x8 ldrsh r0, [r2, r1] - bl GetPokemonSize + bl GetBodySize lsls r0, 24 lsrs r0, 24 adds r5, r0 @@ -572,7 +572,7 @@ _080907DA: bne _0809080C ldr r1, _08090808 adds r0, r7, 0 - bl sprintf_2 + bl sprintfStatic movs r0, 0 b _0809080E .align 2, 0 diff --git a/asm/friend_rescue.s b/asm/friend_rescue.s index 660e78d01..a0e5443e3 100644 --- a/asm/friend_rescue.s +++ b/asm/friend_rescue.s @@ -1542,7 +1542,7 @@ _080335C0: adds r0, r4 ldr r1, _080335F0 add r2, sp, 0x14 - bl sprintf_2 + bl sprintfStatic ldr r0, [r5] adds r0, r4 b _0803388E diff --git a/asm/ground_lives.s b/asm/ground_lives.s index c85d53637..52fe124b9 100644 --- a/asm/ground_lives.s +++ b/asm/ground_lives.s @@ -1051,7 +1051,7 @@ _080A7FF4: b _080A8094 _080A7FFC: movs r0, 0xF - bl RandomCapped + bl RandInt ldr r1, _080A8010 lsls r0, 1 adds r0, r1 @@ -1558,7 +1558,7 @@ _080A834A: cmp r0, 0xF bhi _080A83E4 movs r0, 0x12 - bl OtherRandomCapped + bl OtherRandInt movs r2, 0xA0 lsls r2, 1 adds r1, r5, r2 @@ -3103,7 +3103,7 @@ _080A8F30: ldrsh r1, [r0, r2] _080A8F34: adds r0, r4, 0 - bl CopySpeciesNametoBuffer + bl CopyMonsterNametoBuffer b _080A8F44 _080A8F3C: ldr r1, _080A8F4C diff --git a/asm/ground_script.s b/asm/ground_script.s index 5c288ba7b..1720f9cb8 100644 --- a/asm/ground_script.s +++ b/asm/ground_script.s @@ -4130,12 +4130,12 @@ _0809FFBA: add r0, sp, 0x8 movs r5, 0x2 ldrsh r0, [r0, r5] - bl OtherRandomCapped + bl OtherRandInt lsls r0, 8 add r4, sp, 0xD4 str r0, [r4] ldr r0, [sp, 0xC] - bl OtherRandomCapped + bl OtherRandInt lsls r0, 8 str r0, [r4, 0x4] mov r0, r9 @@ -4185,14 +4185,14 @@ _080A0010: ldr r0, [r5] ldr r1, [r4] subs r0, r1 - bl OtherRandomCapped + bl OtherRandInt ldr r1, [r4] adds r1, r0 str r1, [r6] ldr r0, [r5, 0x4] ldr r1, [r4, 0x4] subs r0, r1 - bl OtherRandomCapped + bl OtherRandInt ldr r1, [r4, 0x4] adds r1, r0 str r1, [r6, 0x4] @@ -4452,7 +4452,7 @@ _080A0250: str r0, [r5, 0x30] add r0, sp, 0x8 ldrb r0, [r0, 0x1] - bl OtherRandomCapped + bl OtherRandInt b _080A05EA _080A0282: ldr r0, [sp, 0xC] @@ -4584,7 +4584,7 @@ _080A0370: ldr r2, [r2, 0xC] bl _call_via_r2 adds r0, r4, 0 - bl OtherRandomCapped + bl OtherRandInt add r1, sp, 0x8 movs r2, 0x2 ldrsh r1, [r1, r2] @@ -4595,7 +4595,7 @@ _080A0370: adds r1, r0 str r1, [r3, 0x3C] adds r0, r5, 0 - bl OtherRandomCapped + bl OtherRandInt ldr r1, [sp, 0xC] subs r0, r1 lsls r0, 8 @@ -4705,7 +4705,7 @@ _080A0462: adds r1, r5, 0 bl sub_80AD8B4 adds r0, r4, 0 - bl OtherRandomCapped + bl OtherRandInt add r1, sp, 0x8 movs r3, 0x2 ldrsh r1, [r1, r3] @@ -4716,7 +4716,7 @@ _080A0462: adds r1, r0 str r1, [r5, 0x3C] adds r0, r4, 0 - bl OtherRandomCapped + bl OtherRandInt add r1, sp, 0x8 movs r2, 0x2 ldrsh r1, [r1, r2] @@ -5987,7 +5987,7 @@ _080A0EFA: add r0, sp, 0x8 movs r3, 0x2 ldrsh r0, [r0, r3] - bl OtherRandomCapped + bl OtherRandInt adds r1, r0, 0 b _080A1098 _080A0F08: @@ -6459,7 +6459,7 @@ _080A12B4: ldrsh r1, [r0, r3] ldr r0, [sp, 0xC] subs r0, r1 - bl OtherRandomCapped + bl OtherRandInt add r1, sp, 0x8 ldrh r1, [r1, 0x2] adds r1, r0 @@ -6853,7 +6853,7 @@ _080A164C: negs r1, r1 cmp r0, r1 bne _080A1660 - bl Random + bl Rand32Bit bl sub_8011C40 _080A1660: movs r0, 0x1 @@ -7092,7 +7092,7 @@ _080A184C: bl sub_80A8BFC lsls r0, 16 asrs r0, 16 - bl GetIsMoving + bl CanMove b _080A171E _080A185E: lsls r0, r5, 16 @@ -7593,12 +7593,12 @@ _080A1C80: .4byte gUnknown_81167E4 _080A1C84: movs r0, 0xD1 lsls r0, 1 - bl RandomCapped + bl RandInt adds r0, 0x1 lsls r0, 16 asrs r5, r0, 16 movs r0, 0x20 - bl RandomCapped + bl RandInt adds r4, r0, 0 movs r7, 0xD2 lsls r7, 1 @@ -7623,7 +7623,7 @@ _080A1CBC: cmp r4, r6 blt _080A1CCC adds r0, r6, 0 - bl RandomCapped + bl RandInt adds r4, r0, 0 movs r7, 0xD2 lsls r7, 1 @@ -7972,7 +7972,7 @@ _080A1FA2: _080A1FB2: movs r0, 0x80 lsls r0, 1 - bl OtherRandomCapped + bl OtherRandInt cmp r0, 0 bne _080A1FCC movs r0, 0 diff --git a/asm/ground_sprite.s b/asm/ground_sprite.s index 1a0d2ac89..5b0c1e072 100644 --- a/asm/ground_sprite.s +++ b/asm/ground_sprite.s @@ -2344,7 +2344,7 @@ sub_80A7428: movs r1, 0 bl GetFileDataPtr adds r0, r4, 0 - bl GetPokemonSize + bl GetBodySize lsls r0, 24 lsrs r0, 24 ldr r1, _080A7488 diff --git a/asm/moves_1.s b/asm/moves_1.s index 969c450de..59330d628 100644 --- a/asm/moves_1.s +++ b/asm/moves_1.s @@ -2522,7 +2522,7 @@ sub_8093E90: adds r3, r5, 0 bl xxx_format_and_draw adds r0, r6, 0 - bl GetMovePower + bl GetMoveBasePower ldr r1, _08093F0C str r0, [r1] add sp, 0x4 diff --git a/asm/pokemon.s b/asm/pokemon.s index 105c4ed83..cdec1a012 100644 --- a/asm/pokemon.s +++ b/asm/pokemon.s @@ -45,22 +45,22 @@ _0808CEA4: strh r0, [r1, 0x16] adds r0, r7, 0 movs r1, 0 - bl GetPokemonAttSpatt + bl GetBaseOffensiveStat mov r1, sp strb r0, [r1, 0x18] adds r0, r7, 0 movs r1, 0x1 - bl GetPokemonAttSpatt + bl GetBaseOffensiveStat mov r1, sp strb r0, [r1, 0x19] adds r0, r7, 0 movs r1, 0 - bl GetPokemonDefSpdef + bl GetBaseDefensiveStat mov r1, sp strb r0, [r1, 0x1A] adds r0, r7, 0 movs r1, 0x1 - bl GetPokemonDefSpdef + bl GetBaseDefensiveStat mov r1, sp strb r0, [r1, 0x1B] mov r0, sp @@ -90,7 +90,7 @@ _0808CEA4: add r4, sp, 0x58 adds r0, r4, 0 adds r1, r7, 0 - bl CopySpeciesNametoBuffer + bl CopyMonsterNametoBuffer add r0, sp, 0x4C adds r1, r4, 0 movs r2, 0xA @@ -207,19 +207,19 @@ sub_808CFD0: strh r0, [r7, 0x16] mov r0, r9 movs r1, 0 - bl GetPokemonAttSpatt + bl GetBaseOffensiveStat strb r0, [r7, 0x18] mov r0, r9 movs r1, 0x1 - bl GetPokemonAttSpatt + bl GetBaseOffensiveStat strb r0, [r7, 0x19] mov r0, r9 movs r1, 0 - bl GetPokemonDefSpdef + bl GetBaseDefensiveStat strb r0, [r7, 0x1A] mov r0, r9 movs r1, 0x1 - bl GetPokemonDefSpdef + bl GetBaseDefensiveStat strb r0, [r7, 0x1B] mov r1, r9 strh r1, [r7, 0x8] @@ -282,7 +282,7 @@ _0808D09A: bne _0808D0B4 mov r0, sp mov r1, r9 - bl CopySpeciesNametoBuffer + bl CopyMonsterNametoBuffer mov r0, r8 mov r1, sp movs r2, 0xA @@ -326,22 +326,22 @@ sub_808D0D8: movs r2, 0x8 ldrsh r0, [r7, r2] movs r1, 0 - bl GetPokemonAttSpatt + bl GetBaseOffensiveStat strb r0, [r7, 0x18] movs r1, 0x8 ldrsh r0, [r7, r1] movs r1, 0x1 - bl GetPokemonAttSpatt + bl GetBaseOffensiveStat strb r0, [r7, 0x19] movs r2, 0x8 ldrsh r0, [r7, r2] movs r1, 0 - bl GetPokemonDefSpdef + bl GetBaseDefensiveStat strb r0, [r7, 0x1A] movs r1, 0x8 ldrsh r0, [r7, r1] movs r1, 0x1 - bl GetPokemonDefSpdef + bl GetBaseDefensiveStat strb r0, [r7, 0x1B] str r6, [r7, 0x1C] adds r0, r7, 0 diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s index 99129d1ea..c625c3bf3 100644 --- a/asm/pokemon_3.s +++ b/asm/pokemon_3.s @@ -1195,7 +1195,7 @@ _0808FDB0: movs r3, 0 ldrsh r1, [r2, r3] adds r0, r6, 0 - bl CopySpeciesNametoBuffer + bl CopyMonsterNametoBuffer ldr r1, _0808FEF4 mov r2, r10 movs r3, 0 @@ -1283,7 +1283,7 @@ _0808FDB0: mov r3, r10 movs r1, 0 ldrsh r0, [r3, r1] - bl GetPokemonSize + bl GetBodySize lsls r0, 24 lsrs r0, 22 adds r0, r4 diff --git a/asm/sprite.s b/asm/sprite.s index 2714e7e39..214956ecb 100644 --- a/asm/sprite.s +++ b/asm/sprite.s @@ -1052,7 +1052,7 @@ _08005524: _08005542: ldr r0, [r4, 0x28] str r0, [r4, 0x2C] - bl Random + bl Rand32Bit movs r1, 0x1 ands r0, r1 strh r0, [r4, 0x4] diff --git a/asm/wonder_mail_5.s b/asm/wonder_mail_5.s index 7cae32e18..d2dbeb07d 100644 --- a/asm/wonder_mail_5.s +++ b/asm/wonder_mail_5.s @@ -114,7 +114,7 @@ _08030EE8: ldr r1, _08030F54 adds r0, r6, 0 adds r2, r4, 0 - bl sprintf_2 + bl sprintfStatic ldr r0, [r5] ldr r3, [r0, 0x10] mov r0, r8 diff --git a/data/data_80F59C8.s b/data/data_80F59C8.s index 81ee966bc..8cbcb5f5c 100644 --- a/data/data_80F59C8.s +++ b/data/data_80F59C8.s @@ -284,122 +284,122 @@ gUnknown_80F6624: @ 80F6624 .global gStatusSpriteMasks_SleepStatus gStatusSpriteMasks_SleepStatus: @ 80F669C - .4byte 0 @ SLEEP_STATUS_NONE - .4byte STATUS_SPRITE_SLEEP @ SLEEP_STATUS_SLEEP - .4byte STATUS_SPRITE_SLEEPLESS @ SLEEP_STATUS_SLEEPLESS - .4byte STATUS_SPRITE_SLEEP @ SLEEP_STATUS_NIGHTMARE - .4byte 0 @ SLEEP_STATUS_YAWNING - .4byte STATUS_SPRITE_SLEEP @ SLEEP_STATUS_NAPPING + .4byte 0 @ STATUS_NONE + .4byte STATUS_SPRITE_SLEEP @ STATUS_SLEEP + .4byte STATUS_SPRITE_SLEEPLESS @ STATUS_SLEEPLESS + .4byte STATUS_SPRITE_SLEEP @ STATUS_NIGHTMARE + .4byte 0 @ STATUS_YAWNING + .4byte STATUS_SPRITE_SLEEP @ STATUS_NAPPING .global gStatusSpriteMasks_NonVolatileStatus gStatusSpriteMasks_NonVolatileStatus: @ 80F66B4 - .4byte 0 @ NON_VOLATILE_STATUS_NONE - .4byte STATUS_SPRITE_BURNED @ NON_VOLATILE_STATUS_BURNED - .4byte STATUS_SPRITE_POISONED @ NON_VOLATILE_STATUS_POISONED - .4byte STATUS_SPRITE_BADLY_POISONED @ NON_VOLATILE_STATUS_BADLY_POISONED - .4byte 0 @ NON_VOLATILE_STATUS_PARALYZED + .4byte 0 @ STATUS_NONE + .4byte STATUS_SPRITE_BURNED @ STATUS_BURN + .4byte STATUS_SPRITE_POISONED @ STATUS_POISONED + .4byte STATUS_SPRITE_BADLY_POISONED @ STATUS_BADLY_POISONED + .4byte 0 @ STATUS_PARALYSIS .global gStatusSpriteMasks_ImmobilizeStatus gStatusSpriteMasks_ImmobilizeStatus: @ 80F66C8 - .4byte 0 @ IMMOBILIZE_STATUS_NONE - .4byte STATUS_SPRITE_FROZEN @ IMMOBILIZE_STATUS_FROZEN - .4byte 0 @ IMMOBILIZE_STATUS_IMMOBILIZED - .4byte 0 @ IMMOBILIZE_STATUS_WRAPPED_AROUND_FOE - .4byte 0 @ IMMOBILIZE_STATUS_WRAPPED_BY_FOE - .4byte 0 @ IMMOBILIZE_STATUS_INGRAIN - .4byte 0 @ IMMOBILIZE_STATUS_PETRIFIED - .4byte 0 @ IMMOBILIZE_STATUS_SQUEEZED + .4byte 0 @ STATUS_NONE + .4byte STATUS_SPRITE_FROZEN @ STATUS_FROZEN + .4byte 0 @ STATUS_SHADOW_HOLD + .4byte 0 @ STATUS_WRAP + .4byte 0 @ STATUS_WRAPPED + .4byte 0 @ STATUS_INGRAIN + .4byte 0 @ STATUS_PETRIFIED + .4byte 0 @ STATUS_CONSTRICTION .global gStatusSpriteMasks_VolatileStatus gStatusSpriteMasks_VolatileStatus: @ 80F66E8 - .4byte 0 @ VOLATILE_STATUS_NONE - .4byte 0 @ VOLATILE_STATUS_CRINGING - .4byte STATUS_SPRITE_CONFUSED @ VOLATILE_STATUS_CONFUSED - .4byte 0 @ VOLATILE_STATUS_PAUSED - .4byte STATUS_SPRITE_COWERING @ VOLATILE_STATUS_COWERING - .4byte STATUS_SPRITE_TAUNTED @ VOLATILE_STATUS_TAUNTED - .4byte STATUS_SPRITE_ENCORE @ VOLATILE_STATUS_ENCORE - .4byte 0 @ VOLATILE_STATUS_INFATUATED + .4byte 0 @ STATUS_NONE + .4byte 0 @ STATUS_CRINGE + .4byte STATUS_SPRITE_CONFUSED @ STATUS_CONFUSED + .4byte 0 @ STATUS_PAUSED + .4byte STATUS_SPRITE_COWERING @ STATUS_COWERING + .4byte STATUS_SPRITE_TAUNTED @ STATUS_TAUNTED + .4byte STATUS_SPRITE_ENCORE @ STATUS_ENCORE + .4byte 0 @ STATUS_INFATUATED .global gStatusSpriteMasks_ChargingStatus gStatusSpriteMasks_ChargingStatus: @ 80F6708 - .4byte 0 @ CHARGING_STATUS_NONE - .4byte 0 @ CHARGING_STATUS_BIDE - .4byte 0 @ CHARGING_STATUS_SOLARBEAM - .4byte 0 @ CHARGING_STATUS_SKY_ATTACK - .4byte 0 @ CHARGING_STATUS_RAZOR_WIND - .4byte 0 @ CHARGING_STATUS_FOCUS_PUNCH - .4byte 0 @ CHARGING_STATUS_SKULL_BASH - .4byte 0 @ CHARGING_STATUS_FLY - .4byte 0 @ CHARGING_STATUS_BOUNCE - .4byte 0 @ CHARGING_STATUS_DIVE - .4byte 0 @ CHARGING_STATUS_DIG - .4byte 0 @ CHARGING_STATUS_CHARGE - .4byte 0 @ CHARGING_STATUS_RAGE + .4byte 0 @ STATUS_NONE + .4byte 0 @ STATUS_BIDE + .4byte 0 @ STATUS_SOLARBEAM + .4byte 0 @ STATUS_SKY_ATTACK + .4byte 0 @ STATUS_RAZOR_WIND + .4byte 0 @ STATUS_FOCUS_PUNCH + .4byte 0 @ STATUS_SKULL_BASH + .4byte 0 @ STATUS_FLYING + .4byte 0 @ STATUS_BOUNCING + .4byte 0 @ STATUS_DIVING + .4byte 0 @ STATUS_DIGGING + .4byte 0 @ STATUS_CHARGING + .4byte 0 @ STATUS_ENRAGED .global gStatusSpriteMasks_ProtectionStatus gStatusSpriteMasks_ProtectionStatus: @ 80F673C - .4byte 0 @ PROTECTION_STATUS_NONE - .4byte STATUS_SPRITE_SHIELD_BLUE @ PROTECTION_STATUS_REFLECT - .4byte STATUS_SPRITE_SHIELD_RED @ PROTECTION_STATUS_SAFEGUARD - .4byte STATUS_SPRITE_SHIELD_YELLOW @ PROTECTION_STATUS_LIGHT_SCREEN - .4byte STATUS_SPRITE_SHIELD_BLUE @ PROTECTION_STATUS_COUNTER - .4byte STATUS_SPRITE_SHIELD_YELLOW @ PROTECTION_STATUS_MAGIC_COAT - .4byte 0 @ PROTECTION_STATUS_WISH - .4byte STATUS_SPRITE_SHIELD_GREEN @ PROTECTION_STATUS_PROTECT - .4byte STATUS_SPRITE_SHIELD_RED @ PROTECTION_STATUS_MIRROR_COAT - .4byte STATUS_SPRITE_ENDURE @ PROTECTION_STATUS_ENDURE - .4byte STATUS_SPRITE_SHIELD_BLUE @ PROTECTION_STATUS_MINI_COUNTER - .4byte STATUS_SPRITE_SHIELD_GREEN @ PROTECTION_STATUS_MIRROR_MOVE - .4byte 0 @ PROTECTION_STATUS_CONVERSION_2 - .4byte STATUS_SPRITE_SHIELD_GREEN @ PROTECTION_STATUS_VITAL_THROW - .4byte STATUS_SPRITE_SHIELD_BLUE @ PROTECTION_STATUS_MIST + .4byte 0 @ STATUS_NONE + .4byte STATUS_SPRITE_SHIELD_BLUE @ STATUS_REFLECT + .4byte STATUS_SPRITE_SHIELD_RED @ STATUS_SAFEGUARD + .4byte STATUS_SPRITE_SHIELD_YELLOW @ STATUS_LIGHT_SCREEN + .4byte STATUS_SPRITE_SHIELD_BLUE @ STATUS_COUNTER + .4byte STATUS_SPRITE_SHIELD_YELLOW @ STATUS_MAGIC_COAT + .4byte 0 @ STATUS_WISH + .4byte STATUS_SPRITE_SHIELD_GREEN @ STATUS_PROTECT + .4byte STATUS_SPRITE_SHIELD_RED @ STATUS_MIRROR_COAT + .4byte STATUS_SPRITE_ENDURE @ STATUS_ENDURING + .4byte STATUS_SPRITE_SHIELD_BLUE @ STATUS_MINI_COUNTER + .4byte STATUS_SPRITE_SHIELD_GREEN @ STATUS_MIRROR_MOVE + .4byte 0 @ STATUS_CONVERSION2 + .4byte STATUS_SPRITE_SHIELD_GREEN @ STATUS_VITAL_THROW + .4byte STATUS_SPRITE_SHIELD_BLUE @ STATUS_MIST .global gStatusSpriteMasks_WaitingStatus gStatusSpriteMasks_WaitingStatus: @ 80F6778 - .4byte 0 @ WAITING_STATUS_NONE - .4byte STATUS_SPRITE_CURSED @ WAITING_STATUS_CURSED - .4byte 0 @ WAITING_STATUS_DECOY - .4byte STATUS_SPRITE_SNATCH @ WAITING_STATUS_SNATCH + .4byte 0 @ STATUS_NONE + .4byte STATUS_SPRITE_CURSED @ STATUS_CURSED + .4byte 0 @ STATUS_DECOY + .4byte STATUS_SPRITE_SNATCH @ STATUS_SNATCH .global gStatusSpriteMasks_LinkedStatus gStatusSpriteMasks_LinkedStatus: @ 80F6788 - .4byte 0 @ LINKED_STATUS_NONE - .4byte 0 @ LINKED_STATUS_LEECH_SEED - .4byte 0 @ LINKED_STATUS_DESTINY_BOND + .4byte 0 @ STATUS_NONE + .4byte 0 @ STATUS_LEECH_SEED + .4byte 0 @ STATUS_DESTINY_BOND .global gStatusSpriteMasks_MoveStatus gStatusSpriteMasks_MoveStatus: @ 80F6794 - .4byte 0 @ MOVE_STATUS_NONE - .4byte STATUS_SPRITE_SURE_SHOT @ MOVE_STATUS_SURE_SHOT - .4byte STATUS_SPRITE_WHIFFER @ MOVE_STATUS_WHIFFER - .4byte STATUS_SPRITE_SET_DAMAGE @ MOVE_STATUS_SET_DAMAGE - .4byte STATUS_SPRITE_FOCUS_ENERGY @ MOVE_STATUS_FOCUS_ENERGY + .4byte 0 @ STATUS_NONE + .4byte STATUS_SPRITE_SURE_SHOT @ STATUS_SURE_SHOT + .4byte STATUS_SPRITE_WHIFFER @ STATUS_WHIFFER + .4byte STATUS_SPRITE_SET_DAMAGE @ STATUS_SET_DAMAGE + .4byte STATUS_SPRITE_FOCUS_ENERGY @ STATUS_FOCUS_ENERGY .global gStatusSpriteMasks_ItemStatus gStatusSpriteMasks_ItemStatus: @ 80F67A8 - .4byte 0 @ ITEM_STATUS_NONE - .4byte 0 @ ITEM_STATUS_LONG_TOSS - .4byte 0 @ ITEM_STATUS_PIERCE + .4byte 0 @ STATUS_NONE + .4byte 0 @ STATUS_LONG_TOSS + .4byte 0 @ STATUS_PIERCE .global gStatusSpriteMasks_TransformStatus gStatusSpriteMasks_TransformStatus: @ 80F67B4 - .4byte 0 @ TRANSFORM_STATUS_NONE - .4byte 0 @ TRANSFORM_STATUS_INVISIBLE - .4byte 0 @ TRANSFORM_STATUS_TRANSFORMED - .4byte 0 @ TRANSFORM_STATUS_MOBILE + .4byte 0 @ STATUS_NONE + .4byte 0 @ STATUS_INVISIBLE + .4byte 0 @ STATUS_TRANSFORMED + .4byte 0 @ STATUS_MOBILE .global gStatusSpriteMasks_EyesightStatus gStatusSpriteMasks_EyesightStatus: @ 80F67C4 - .4byte 0 @ EYESIGHT_STATUS_NONE - .4byte STATUS_SPRITE_BLINKER @ EYESIGHT_STATUS_BLINKER - .4byte STATUS_SPRITE_CROSS_EYED @ EYESIGHT_STATUS_CROSS_EYED - .4byte STATUS_SPRITE_EYEDROPS @ EYESIGHT_STATUS_EYEDROPS + .4byte 0 @ STATUS_NONE + .4byte STATUS_SPRITE_BLINKER @ STATUS_BLINKER + .4byte STATUS_SPRITE_CROSS_EYED @ STATUS_CROSS_EYED + .4byte STATUS_SPRITE_EYEDROPS @ STATUS_EYEDROPS .global gStatusSpriteMasks_MuzzledStatus gStatusSpriteMasks_MuzzledStatus: @ 80F67D4 - .4byte 0 @ MUZZLED_STATUS_NONE - .4byte STATUS_SPRITE_MUZZLED @ MUZZLED_STATUS_MUZZLED + .4byte 0 @ STATUS_NONE + .4byte STATUS_SPRITE_MUZZLED @ STATUS_MUZZLED .global gUnknown_80F67DC gUnknown_80F67DC: @ 80F67DC diff --git a/data/dungeon/Boss3/pokemon_found.json b/data/dungeon/Boss3/pokemon_found.json index 12aff90be..2b5eea05b 100644 --- a/data/dungeon/Boss3/pokemon_found.json +++ b/data/dungeon/Boss3/pokemon_found.json @@ -4,22 +4,22 @@ "name": "pokemon_found_out206", "pokemon": [ { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 10, "probability": 7273 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 2727 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/Boss4/pokemon_found.json b/data/dungeon/Boss4/pokemon_found.json index 25a6bd5fa..830c55495 100644 --- a/data/dungeon/Boss4/pokemon_found.json +++ b/data/dungeon/Boss4/pokemon_found.json @@ -4,37 +4,37 @@ "name": "pokemon_found_out207", "pokemon": [ { - "species": "SPECIES_PIDGEY", + "species": "MONSTER_PIDGEY", "level": 1, "probability": 2000 }, { - "species": "SPECIES_NIDORAN_F", + "species": "MONSTER_NIDORAN_F", "level": 4, "probability": 2000 }, { - "species": "SPECIES_NIDORAN_M", + "species": "MONSTER_NIDORAN_M", "level": 12, "probability": 2000 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 10, "probability": 2000 }, { - "species": "SPECIES_ELECTRIKE", + "species": "MONSTER_ELECTRIKE", "level": 12, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -44,42 +44,42 @@ "name": "pokemon_found_out208", "pokemon": [ { - "species": "SPECIES_PIDGEY", + "species": "MONSTER_PIDGEY", "level": 1, "probability": 1667 }, { - "species": "SPECIES_NIDORAN_F", + "species": "MONSTER_NIDORAN_F", "level": 4, "probability": 1666 }, { - "species": "SPECIES_NIDORAN_M", + "species": "MONSTER_NIDORAN_M", "level": 12, "probability": 1667 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 10, "probability": 1667 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 1666 }, { - "species": "SPECIES_ELECTRIKE", + "species": "MONSTER_ELECTRIKE", "level": 12, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -89,37 +89,37 @@ "name": "pokemon_found_out209", "pokemon": [ { - "species": "SPECIES_PIDGEOTTO", + "species": "MONSTER_PIDGEOTTO", "level": 11, "probability": 2000 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 2000 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 13, "probability": 2000 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 2000 }, { - "species": "SPECIES_STANTLER", + "species": "MONSTER_STANTLER", "level": 12, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -129,42 +129,42 @@ "name": "pokemon_found_out210", "pokemon": [ { - "species": "SPECIES_PIDGEOTTO", + "species": "MONSTER_PIDGEOTTO", "level": 11, "probability": 1667 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 1666 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 13, "probability": 1667 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 1667 }, { - "species": "SPECIES_STANTLER", + "species": "MONSTER_STANTLER", "level": 12, "probability": 1666 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 10, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -174,37 +174,37 @@ "name": "pokemon_found_out211", "pokemon": [ { - "species": "SPECIES_PIDGEOT", + "species": "MONSTER_PIDGEOT", "level": 16, "probability": 2000 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 13, "probability": 2000 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 2000 }, { - "species": "SPECIES_STANTLER", + "species": "MONSTER_STANTLER", "level": 12, "probability": 2000 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 10, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -214,37 +214,37 @@ "name": "pokemon_found_out212", "pokemon": [ { - "species": "SPECIES_PIDGEOT", + "species": "MONSTER_PIDGEOT", "level": 16, "probability": 1905 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 13, "probability": 1905 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 1904 }, { - "species": "SPECIES_STANTLER", + "species": "MONSTER_STANTLER", "level": 12, "probability": 1905 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 10, "probability": 2381 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -254,32 +254,32 @@ "name": "pokemon_found_out213", "pokemon": [ { - "species": "SPECIES_PIDGEOT", + "species": "MONSTER_PIDGEOT", "level": 16, "probability": 2353 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 13, "probability": 2353 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 2353 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 10, "probability": 2941 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -289,17 +289,17 @@ "name": "pokemon_found_out214", "pokemon": [ { - "species": "SPECIES_SHEDINJA", + "species": "MONSTER_SHEDINJA", "level": 5, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/Boss9/pokemon_found.json b/data/dungeon/Boss9/pokemon_found.json index 5067dfe63..74b7a90ae 100644 --- a/data/dungeon/Boss9/pokemon_found.json +++ b/data/dungeon/Boss9/pokemon_found.json @@ -4,17 +4,17 @@ "name": "pokemon_found_out339", "pokemon": [ { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHUPPET", + "species": "MONSTER_SHUPPET", "level": 28, "probability": 10000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/BuriedRelic/pokemon_found.json b/data/dungeon/BuriedRelic/pokemon_found.json index 39cd0e14f..6fd79b34a 100644 --- a/data/dungeon/BuriedRelic/pokemon_found.json +++ b/data/dungeon/BuriedRelic/pokemon_found.json @@ -4,27 +4,27 @@ "name": "pokemon_found_out278", "pokemon": [ { - "species": "SPECIES_GOLBAT", + "species": "MONSTER_GOLBAT", "level": 10, "probability": 3333 }, { - "species": "SPECIES_SNEASEL", + "species": "MONSTER_SNEASEL", "level": 15, "probability": 3334 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_WYNAUT", + "species": "MONSTER_WYNAUT", "level": 20, "probability": 3333 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -34,42 +34,42 @@ "name": "pokemon_found_out279", "pokemon": [ { - "species": "SPECIES_RATICATE", + "species": "MONSTER_RATICATE", "level": 19, "probability": 1628 }, { - "species": "SPECIES_GOLBAT", + "species": "MONSTER_GOLBAT", "level": 10, "probability": 1860 }, { - "species": "SPECIES_MACHOP", + "species": "MONSTER_MACHOP", "level": 22, "probability": 931 }, { - "species": "SPECIES_SNEASEL", + "species": "MONSTER_SNEASEL", "level": 15, "probability": 1860 }, { - "species": "SPECIES_WHISMUR", + "species": "MONSTER_WHISMUR", "level": 20, "probability": 1861 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_WYNAUT", + "species": "MONSTER_WYNAUT", "level": 20, "probability": 1860 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -79,47 +79,47 @@ "name": "pokemon_found_out280", "pokemon": [ { - "species": "SPECIES_RATICATE", + "species": "MONSTER_RATICATE", "level": 19, "probability": 1373 }, { - "species": "SPECIES_MACHOP", + "species": "MONSTER_MACHOP", "level": 22, "probability": 784 }, { - "species": "SPECIES_HITMONLEE", + "species": "MONSTER_HITMONLEE", "level": 22, "probability": 1568 }, { - "species": "SPECIES_HITMONCHAN", + "species": "MONSTER_HITMONCHAN", "level": 22, "probability": 1569 }, { - "species": "SPECIES_PORYGON", + "species": "MONSTER_PORYGON", "level": 30, "probability": 1569 }, { - "species": "SPECIES_HOOTHOOT", + "species": "MONSTER_HOOTHOOT", "level": 36, "probability": 1568 }, { - "species": "SPECIES_WHISMUR", + "species": "MONSTER_WHISMUR", "level": 20, "probability": 1569 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -129,42 +129,42 @@ "name": "pokemon_found_out281", "pokemon": [ { - "species": "SPECIES_GASTLY", + "species": "MONSTER_GASTLY", "level": 23, "probability": 1667 }, { - "species": "SPECIES_DROWZEE", + "species": "MONSTER_DROWZEE", "level": 35, "probability": 1666 }, { - "species": "SPECIES_HITMONLEE", + "species": "MONSTER_HITMONLEE", "level": 22, "probability": 1667 }, { - "species": "SPECIES_HITMONCHAN", + "species": "MONSTER_HITMONCHAN", "level": 22, "probability": 1667 }, { - "species": "SPECIES_PORYGON", + "species": "MONSTER_PORYGON", "level": 30, "probability": 1666 }, { - "species": "SPECIES_HOOTHOOT", + "species": "MONSTER_HOOTHOOT", "level": 36, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -174,47 +174,47 @@ "name": "pokemon_found_out282", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 24 }, { - "species": "SPECIES_GASTLY", + "species": "MONSTER_GASTLY", "level": 23, "probability": 1947 }, { - "species": "SPECIES_DROWZEE", + "species": "MONSTER_DROWZEE", "level": 35, "probability": 1946 }, { - "species": "SPECIES_HITMONLEE", + "species": "MONSTER_HITMONLEE", "level": 22, "probability": 1947 }, { - "species": "SPECIES_HITMONCHAN", + "species": "MONSTER_HITMONCHAN", "level": 22, "probability": 1946 }, { - "species": "SPECIES_PORYGON", + "species": "MONSTER_PORYGON", "level": 30, "probability": 1947 }, { - "species": "SPECIES_PORYGON2", + "species": "MONSTER_PORYGON2", "level": 20, "probability": 243 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -224,37 +224,37 @@ "name": "pokemon_found_out283", "pokemon": [ { - "species": "SPECIES_GASTLY", + "species": "MONSTER_GASTLY", "level": 23, "probability": 2424 }, { - "species": "SPECIES_DROWZEE", + "species": "MONSTER_DROWZEE", "level": 35, "probability": 2424 }, { - "species": "SPECIES_HITMONLEE", + "species": "MONSTER_HITMONLEE", "level": 22, "probability": 2425 }, { - "species": "SPECIES_HITMONCHAN", + "species": "MONSTER_HITMONCHAN", "level": 22, "probability": 2424 }, { - "species": "SPECIES_PORYGON2", + "species": "MONSTER_PORYGON2", "level": 20, "probability": 303 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -264,27 +264,27 @@ "name": "pokemon_found_out284", "pokemon": [ { - "species": "SPECIES_GASTLY", + "species": "MONSTER_GASTLY", "level": 23, "probability": 4706 }, { - "species": "SPECIES_DROWZEE", + "species": "MONSTER_DROWZEE", "level": 35, "probability": 4706 }, { - "species": "SPECIES_PORYGON2", + "species": "MONSTER_PORYGON2", "level": 20, "probability": 588 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -294,37 +294,37 @@ "name": "pokemon_found_out285", "pokemon": [ { - "species": "SPECIES_GASTLY", + "species": "MONSTER_GASTLY", "level": 23, "probability": 2500 }, { - "species": "SPECIES_DROWZEE", + "species": "MONSTER_DROWZEE", "level": 35, "probability": 2500 }, { - "species": "SPECIES_PORYGON2", + "species": "MONSTER_PORYGON2", "level": 20, "probability": 312 }, { - "species": "SPECIES_ARON", + "species": "MONSTER_ARON", "level": 35, "probability": 2188 }, { - "species": "SPECIES_GULPIN", + "species": "MONSTER_GULPIN", "level": 20, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -334,57 +334,57 @@ "name": "pokemon_found_out286", "pokemon": [ { - "species": "SPECIES_GEODUDE", + "species": "MONSTER_GEODUDE", "level": 27, "probability": 0 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 0 }, { - "species": "SPECIES_NOCTOWL", + "species": "MONSTER_NOCTOWL", "level": 30, "probability": 0 }, { - "species": "SPECIES_PORYGON2", + "species": "MONSTER_PORYGON2", "level": 20, "probability": 0 }, { - "species": "SPECIES_ARON", + "species": "MONSTER_ARON", "level": 35, "probability": 0 }, { - "species": "SPECIES_GULPIN", + "species": "MONSTER_GULPIN", "level": 20, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_REGIROCK", + "species": "MONSTER_REGIROCK", "level": 18, "probability": 10000 }, { - "species": "SPECIES_REGICE", + "species": "MONSTER_REGICE", "level": 23, "probability": 0 }, { - "species": "SPECIES_REGISTEEL", + "species": "MONSTER_REGISTEEL", "level": 25, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -394,42 +394,42 @@ "name": "pokemon_found_out287", "pokemon": [ { - "species": "SPECIES_GEODUDE", + "species": "MONSTER_GEODUDE", "level": 27, "probability": 2353 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 588 }, { - "species": "SPECIES_NOCTOWL", + "species": "MONSTER_NOCTOWL", "level": 30, "probability": 2353 }, { - "species": "SPECIES_PORYGON2", + "species": "MONSTER_PORYGON2", "level": 20, "probability": 294 }, { - "species": "SPECIES_ARON", + "species": "MONSTER_ARON", "level": 35, "probability": 2059 }, { - "species": "SPECIES_GULPIN", + "species": "MONSTER_GULPIN", "level": 20, "probability": 2353 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -439,47 +439,47 @@ "name": "pokemon_found_out288", "pokemon": [ { - "species": "SPECIES_GEODUDE", + "species": "MONSTER_GEODUDE", "level": 27, "probability": 1905 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 476 }, { - "species": "SPECIES_NOCTOWL", + "species": "MONSTER_NOCTOWL", "level": 30, "probability": 1905 }, { - "species": "SPECIES_PORYGON2", + "species": "MONSTER_PORYGON2", "level": 20, "probability": 238 }, { - "species": "SPECIES_ARON", + "species": "MONSTER_ARON", "level": 35, "probability": 1666 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 30, "probability": 1905 }, { - "species": "SPECIES_GULPIN", + "species": "MONSTER_GULPIN", "level": 20, "probability": 1905 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -489,47 +489,47 @@ "name": "pokemon_found_out289", "pokemon": [ { - "species": "SPECIES_GEODUDE", + "species": "MONSTER_GEODUDE", "level": 27, "probability": 1633 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 408 }, { - "species": "SPECIES_NOCTOWL", + "species": "MONSTER_NOCTOWL", "level": 30, "probability": 1632 }, { - "species": "SPECIES_WOBBUFFET", + "species": "MONSTER_WOBBUFFET", "level": 30, "probability": 1633 }, { - "species": "SPECIES_ARON", + "species": "MONSTER_ARON", "level": 35, "probability": 1429 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 30, "probability": 1632 }, { - "species": "SPECIES_GULPIN", + "species": "MONSTER_GULPIN", "level": 20, "probability": 1633 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -539,42 +539,42 @@ "name": "pokemon_found_out290", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 29 }, { - "species": "SPECIES_GEODUDE", + "species": "MONSTER_GEODUDE", "level": 27, "probability": 2346 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 587 }, { - "species": "SPECIES_NOCTOWL", + "species": "MONSTER_NOCTOWL", "level": 30, "probability": 2346 }, { - "species": "SPECIES_WOBBUFFET", + "species": "MONSTER_WOBBUFFET", "level": 30, "probability": 2346 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 30, "probability": 2346 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -584,27 +584,27 @@ "name": "pokemon_found_out291", "pokemon": [ { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 1111 }, { - "species": "SPECIES_WOBBUFFET", + "species": "MONSTER_WOBBUFFET", "level": 30, "probability": 4445 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 30, "probability": 4444 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -614,27 +614,27 @@ "name": "pokemon_found_out292", "pokemon": [ { - "species": "SPECIES_HYPNO", + "species": "MONSTER_HYPNO", "level": 33, "probability": 2857 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 1429 }, { - "species": "SPECIES_WOBBUFFET", + "species": "MONSTER_WOBBUFFET", "level": 30, "probability": 5714 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -644,32 +644,32 @@ "name": "pokemon_found_out293", "pokemon": [ { - "species": "SPECIES_HYPNO", + "species": "MONSTER_HYPNO", "level": 33, "probability": 1818 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 909 }, { - "species": "SPECIES_WOBBUFFET", + "species": "MONSTER_WOBBUFFET", "level": 30, "probability": 3637 }, { - "species": "SPECIES_HITMONTOP", + "species": "MONSTER_HITMONTOP", "level": 22, "probability": 3636 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -679,42 +679,42 @@ "name": "pokemon_found_out294", "pokemon": [ { - "species": "SPECIES_HYPNO", + "species": "MONSTER_HYPNO", "level": 33, "probability": 0 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 0 }, { - "species": "SPECIES_HITMONTOP", + "species": "MONSTER_HITMONTOP", "level": 22, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_REGIROCK", + "species": "MONSTER_REGIROCK", "level": 18, "probability": 0 }, { - "species": "SPECIES_REGICE", + "species": "MONSTER_REGICE", "level": 23, "probability": 10000 }, { - "species": "SPECIES_REGISTEEL", + "species": "MONSTER_REGISTEEL", "level": 25, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -724,32 +724,32 @@ "name": "pokemon_found_out295", "pokemon": [ { - "species": "SPECIES_HYPNO", + "species": "MONSTER_HYPNO", "level": 33, "probability": 2353 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 1176 }, { - "species": "SPECIES_HITMONTOP", + "species": "MONSTER_HITMONTOP", "level": 22, "probability": 4706 }, { - "species": "SPECIES_SHEDINJA", + "species": "MONSTER_SHEDINJA", "level": 5, "probability": 1765 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -759,32 +759,32 @@ "name": "pokemon_found_out296", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 76 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 1527 }, { - "species": "SPECIES_SHEDINJA", + "species": "MONSTER_SHEDINJA", "level": 5, "probability": 2290 }, { - "species": "SPECIES_MAKUHITA", + "species": "MONSTER_MAKUHITA", "level": 25, "probability": 6107 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -794,27 +794,27 @@ "name": "pokemon_found_out297", "pokemon": [ { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 1538 }, { - "species": "SPECIES_SHEDINJA", + "species": "MONSTER_SHEDINJA", "level": 5, "probability": 2308 }, { - "species": "SPECIES_MAKUHITA", + "species": "MONSTER_MAKUHITA", "level": 25, "probability": 6154 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -824,37 +824,37 @@ "name": "pokemon_found_out298", "pokemon": [ { - "species": "SPECIES_SANDSHREW", + "species": "MONSTER_SANDSHREW", "level": 30, "probability": 0 }, { - "species": "SPECIES_SHEDINJA", + "species": "MONSTER_SHEDINJA", "level": 5, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_REGIROCK", + "species": "MONSTER_REGIROCK", "level": 18, "probability": 0 }, { - "species": "SPECIES_REGICE", + "species": "MONSTER_REGICE", "level": 23, "probability": 0 }, { - "species": "SPECIES_REGISTEEL", + "species": "MONSTER_REGISTEEL", "level": 25, "probability": 10000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -864,27 +864,27 @@ "name": "pokemon_found_out299", "pokemon": [ { - "species": "SPECIES_SANDSHREW", + "species": "MONSTER_SANDSHREW", "level": 30, "probability": 7207 }, { - "species": "SPECIES_MEW", + "species": "MONSTER_MEW", "level": 40, "probability": 90 }, { - "species": "SPECIES_SHEDINJA", + "species": "MONSTER_SHEDINJA", "level": 5, "probability": 2703 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -894,27 +894,27 @@ "name": "pokemon_found_out300", "pokemon": [ { - "species": "SPECIES_SANDSHREW", + "species": "MONSTER_SANDSHREW", "level": 30, "probability": 4969 }, { - "species": "SPECIES_KADABRA", + "species": "MONSTER_KADABRA", "level": 30, "probability": 4969 }, { - "species": "SPECIES_MEW", + "species": "MONSTER_MEW", "level": 40, "probability": 62 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -924,32 +924,32 @@ "name": "pokemon_found_out301", "pokemon": [ { - "species": "SPECIES_SANDSHREW", + "species": "MONSTER_SANDSHREW", "level": 30, "probability": 3319 }, { - "species": "SPECIES_KADABRA", + "species": "MONSTER_KADABRA", "level": 30, "probability": 3320 }, { - "species": "SPECIES_MEW", + "species": "MONSTER_MEW", "level": 40, "probability": 41 }, { - "species": "SPECIES_ELEKID", + "species": "MONSTER_ELEKID", "level": 34, "probability": 3320 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -959,32 +959,32 @@ "name": "pokemon_found_out302", "pokemon": [ { - "species": "SPECIES_SANDSHREW", + "species": "MONSTER_SANDSHREW", "level": 30, "probability": 3319 }, { - "species": "SPECIES_MR_MIME", + "species": "MONSTER_MR_MIME", "level": 29, "probability": 3320 }, { - "species": "SPECIES_MEW", + "species": "MONSTER_MEW", "level": 40, "probability": 41 }, { - "species": "SPECIES_ELEKID", + "species": "MONSTER_ELEKID", "level": 34, "probability": 3320 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -994,27 +994,27 @@ "name": "pokemon_found_out303", "pokemon": [ { - "species": "SPECIES_MR_MIME", + "species": "MONSTER_MR_MIME", "level": 29, "probability": 4969 }, { - "species": "SPECIES_MEW", + "species": "MONSTER_MEW", "level": 40, "probability": 62 }, { - "species": "SPECIES_PUPITAR", + "species": "MONSTER_PUPITAR", "level": 35, "probability": 4969 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1024,32 +1024,32 @@ "name": "pokemon_found_out304", "pokemon": [ { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 16, "probability": 3319 }, { - "species": "SPECIES_MR_MIME", + "species": "MONSTER_MR_MIME", "level": 29, "probability": 3320 }, { - "species": "SPECIES_MEW", + "species": "MONSTER_MEW", "level": 40, "probability": 41 }, { - "species": "SPECIES_PUPITAR", + "species": "MONSTER_PUPITAR", "level": 35, "probability": 3320 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1059,37 +1059,37 @@ "name": "pokemon_found_out305", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 35, "probability": 2492 }, { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 16, "probability": 2492 }, { - "species": "SPECIES_MR_MIME", + "species": "MONSTER_MR_MIME", "level": 29, "probability": 2493 }, { - "species": "SPECIES_MEW", + "species": "MONSTER_MEW", "level": 40, "probability": 31 }, { - "species": "SPECIES_PUPITAR", + "species": "MONSTER_PUPITAR", "level": 35, "probability": 2492 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1099,47 +1099,47 @@ "name": "pokemon_found_out306", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 35, "probability": 1699 }, { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 16, "probability": 1698 }, { - "species": "SPECIES_MR_MIME", + "species": "MONSTER_MR_MIME", "level": 29, "probability": 1699 }, { - "species": "SPECIES_MEW", + "species": "MONSTER_MEW", "level": 40, "probability": 21 }, { - "species": "SPECIES_PUPITAR", + "species": "MONSTER_PUPITAR", "level": 35, "probability": 1698 }, { - "species": "SPECIES_SHIFTRY", + "species": "MONSTER_SHIFTRY", "level": 35, "probability": 1699 }, { - "species": "SPECIES_MAWILE", + "species": "MONSTER_MAWILE", "level": 30, "probability": 1486 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1149,42 +1149,42 @@ "name": "pokemon_found_out307", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 35, "probability": 2046 }, { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 16, "probability": 2046 }, { - "species": "SPECIES_MEW", + "species": "MONSTER_MEW", "level": 40, "probability": 26 }, { - "species": "SPECIES_PUPITAR", + "species": "MONSTER_PUPITAR", "level": 35, "probability": 2046 }, { - "species": "SPECIES_SHIFTRY", + "species": "MONSTER_SHIFTRY", "level": 35, "probability": 2046 }, { - "species": "SPECIES_MAWILE", + "species": "MONSTER_MAWILE", "level": 30, "probability": 1790 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1194,37 +1194,37 @@ "name": "pokemon_found_out308", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 35, "probability": 2572 }, { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 16, "probability": 2573 }, { - "species": "SPECIES_MEW", + "species": "MONSTER_MEW", "level": 40, "probability": 32 }, { - "species": "SPECIES_SHIFTRY", + "species": "MONSTER_SHIFTRY", "level": 35, "probability": 2572 }, { - "species": "SPECIES_MAWILE", + "species": "MONSTER_MAWILE", "level": 30, "probability": 2251 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1234,37 +1234,37 @@ "name": "pokemon_found_out309", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 35, "probability": 2572 }, { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 35, "probability": 2573 }, { - "species": "SPECIES_MEW", + "species": "MONSTER_MEW", "level": 40, "probability": 32 }, { - "species": "SPECIES_SHIFTRY", + "species": "MONSTER_SHIFTRY", "level": 35, "probability": 2572 }, { - "species": "SPECIES_MAWILE", + "species": "MONSTER_MAWILE", "level": 30, "probability": 2251 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1274,27 +1274,27 @@ "name": "pokemon_found_out310", "pokemon": [ { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 35, "probability": 5298 }, { - "species": "SPECIES_MEW", + "species": "MONSTER_MEW", "level": 40, "probability": 66 }, { - "species": "SPECIES_MAWILE", + "species": "MONSTER_MAWILE", "level": 30, "probability": 4636 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1304,27 +1304,27 @@ "name": "pokemon_found_out311", "pokemon": [ { - "species": "SPECIES_MACHOKE", + "species": "MONSTER_MACHOKE", "level": 24, "probability": 5298 }, { - "species": "SPECIES_MEW", + "species": "MONSTER_MEW", "level": 40, "probability": 66 }, { - "species": "SPECIES_MAWILE", + "species": "MONSTER_MAWILE", "level": 30, "probability": 4636 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1334,32 +1334,32 @@ "name": "pokemon_found_out312", "pokemon": [ { - "species": "SPECIES_MACHOKE", + "species": "MONSTER_MACHOKE", "level": 24, "probability": 3463 }, { - "species": "SPECIES_HAUNTER", + "species": "MONSTER_HAUNTER", "level": 25, "probability": 3463 }, { - "species": "SPECIES_MEW", + "species": "MONSTER_MEW", "level": 40, "probability": 44 }, { - "species": "SPECIES_MAWILE", + "species": "MONSTER_MAWILE", "level": 30, "probability": 3030 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1369,27 +1369,27 @@ "name": "pokemon_found_out313", "pokemon": [ { - "species": "SPECIES_HAUNTER", + "species": "MONSTER_HAUNTER", "level": 25, "probability": 5298 }, { - "species": "SPECIES_MEW", + "species": "MONSTER_MEW", "level": 40, "probability": 66 }, { - "species": "SPECIES_MAWILE", + "species": "MONSTER_MAWILE", "level": 30, "probability": 4636 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1399,27 +1399,27 @@ "name": "pokemon_found_out314", "pokemon": [ { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 29, "probability": 4969 }, { - "species": "SPECIES_HAUNTER", + "species": "MONSTER_HAUNTER", "level": 25, "probability": 4969 }, { - "species": "SPECIES_MEW", + "species": "MONSTER_MEW", "level": 40, "probability": 62 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1429,22 +1429,22 @@ "name": "pokemon_found_out315", "pokemon": [ { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 29, "probability": 9877 }, { - "species": "SPECIES_MEW", + "species": "MONSTER_MEW", "level": 40, "probability": 123 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1454,17 +1454,17 @@ "name": "pokemon_found_out316", "pokemon": [ { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 29, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/D51/pokemon_found.json b/data/dungeon/D51/pokemon_found.json index 337b9770a..444f85d48 100644 --- a/data/dungeon/D51/pokemon_found.json +++ b/data/dungeon/D51/pokemon_found.json @@ -4,47 +4,47 @@ "name": "pokemon_found_out526", "pokemon": [ { - "species": "SPECIES_WEEDLE", + "species": "MONSTER_WEEDLE", "level": 8, "probability": 1429 }, { - "species": "SPECIES_PIDGEY", + "species": "MONSTER_PIDGEY", "level": 1, "probability": 1428 }, { - "species": "SPECIES_RATTATA", + "species": "MONSTER_RATTATA", "level": 3, "probability": 1429 }, { - "species": "SPECIES_NIDORAN_F", + "species": "MONSTER_NIDORAN_F", "level": 4, "probability": 1428 }, { - "species": "SPECIES_NIDORAN_M", + "species": "MONSTER_NIDORAN_M", "level": 12, "probability": 1429 }, { - "species": "SPECIES_CLEFAIRY", + "species": "MONSTER_CLEFAIRY", "level": 8, "probability": 1428 }, { - "species": "SPECIES_ZUBAT", + "species": "MONSTER_ZUBAT", "level": 17, "probability": 1429 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -54,37 +54,37 @@ "name": "pokemon_found_out527", "pokemon": [ { - "species": "SPECIES_ODDISH", + "species": "MONSTER_ODDISH", "level": 7, "probability": 2000 }, { - "species": "SPECIES_PARAS", + "species": "MONSTER_PARAS", "level": 11, "probability": 2000 }, { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 10, "probability": 2000 }, { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 22, "probability": 2000 }, { - "species": "SPECIES_PONYTA", + "species": "MONSTER_PONYTA", "level": 30, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -94,57 +94,57 @@ "name": "pokemon_found_out528", "pokemon": [ { - "species": "SPECIES_ODDISH", + "species": "MONSTER_ODDISH", "level": 7, "probability": 1111 }, { - "species": "SPECIES_PARAS", + "species": "MONSTER_PARAS", "level": 11, "probability": 1111 }, { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 10, "probability": 1111 }, { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 22, "probability": 1111 }, { - "species": "SPECIES_PONYTA", + "species": "MONSTER_PONYTA", "level": 30, "probability": 1112 }, { - "species": "SPECIES_DODUO", + "species": "MONSTER_DODUO", "level": 14, "probability": 1111 }, { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 18, "probability": 1111 }, { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 20, "probability": 1111 }, { - "species": "SPECIES_SHELLDER", + "species": "MONSTER_SHELLDER", "level": 25, "probability": 1111 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -154,42 +154,42 @@ "name": "pokemon_found_out529", "pokemon": [ { - "species": "SPECIES_GASTLY", + "species": "MONSTER_GASTLY", "level": 15, "probability": 1667 }, { - "species": "SPECIES_HYPNO", + "species": "MONSTER_HYPNO", "level": 15, "probability": 1666 }, { - "species": "SPECIES_VOLTORB", + "species": "MONSTER_VOLTORB", "level": 3, "probability": 1667 }, { - "species": "SPECIES_EXEGGCUTE", + "species": "MONSTER_EXEGGCUTE", "level": 1, "probability": 1667 }, { - "species": "SPECIES_HITMONLEE", + "species": "MONSTER_HITMONLEE", "level": 22, "probability": 1666 }, { - "species": "SPECIES_LICKITUNG", + "species": "MONSTER_LICKITUNG", "level": 36, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -199,47 +199,47 @@ "name": "pokemon_found_out530", "pokemon": [ { - "species": "SPECIES_TANGELA", + "species": "MONSTER_TANGELA", "level": 14, "probability": 1429 }, { - "species": "SPECIES_MR_MIME", + "species": "MONSTER_MR_MIME", "level": 15, "probability": 1428 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 1429 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 1428 }, { - "species": "SPECIES_PINSIR", + "species": "MONSTER_PINSIR", "level": 6, "probability": 1429 }, { - "species": "SPECIES_SENTRET", + "species": "MONSTER_SENTRET", "level": 6, "probability": 1428 }, { - "species": "SPECIES_LEDYBA", + "species": "MONSTER_LEDYBA", "level": 7, "probability": 1429 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -249,52 +249,52 @@ "name": "pokemon_found_out531", "pokemon": [ { - "species": "SPECIES_FLAAFFY", + "species": "MONSTER_FLAAFFY", "level": 30, "probability": 1250 }, { - "species": "SPECIES_MARILL", + "species": "MONSTER_MARILL", "level": 8, "probability": 1250 }, { - "species": "SPECIES_HOPPIP", + "species": "MONSTER_HOPPIP", "level": 8, "probability": 1250 }, { - "species": "SPECIES_SKIPLOOM", + "species": "MONSTER_SKIPLOOM", "level": 13, "probability": 1250 }, { - "species": "SPECIES_AIPOM", + "species": "MONSTER_AIPOM", "level": 15, "probability": 1250 }, { - "species": "SPECIES_WOOPER", + "species": "MONSTER_WOOPER", "level": 32, "probability": 1250 }, { - "species": "SPECIES_MURKROW", + "species": "MONSTER_MURKROW", "level": 14, "probability": 1250 }, { - "species": "SPECIES_MISDREAVUS", + "species": "MONSTER_MISDREAVUS", "level": 25, "probability": 1250 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -304,37 +304,37 @@ "name": "pokemon_found_out532", "pokemon": [ { - "species": "SPECIES_ODDISH", + "species": "MONSTER_ODDISH", "level": 7, "probability": 2000 }, { - "species": "SPECIES_PARAS", + "species": "MONSTER_PARAS", "level": 25, "probability": 2000 }, { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 10, "probability": 2000 }, { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 22, "probability": 2000 }, { - "species": "SPECIES_PONYTA", + "species": "MONSTER_PONYTA", "level": 30, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -344,57 +344,57 @@ "name": "pokemon_found_out533", "pokemon": [ { - "species": "SPECIES_ODDISH", + "species": "MONSTER_ODDISH", "level": 7, "probability": 1111 }, { - "species": "SPECIES_PARAS", + "species": "MONSTER_PARAS", "level": 25, "probability": 1111 }, { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 10, "probability": 1111 }, { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 22, "probability": 1111 }, { - "species": "SPECIES_PONYTA", + "species": "MONSTER_PONYTA", "level": 30, "probability": 1112 }, { - "species": "SPECIES_DODUO", + "species": "MONSTER_DODUO", "level": 14, "probability": 1111 }, { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 18, "probability": 1111 }, { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 20, "probability": 1111 }, { - "species": "SPECIES_SHELLDER", + "species": "MONSTER_SHELLDER", "level": 25, "probability": 1111 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -404,42 +404,42 @@ "name": "pokemon_found_out534", "pokemon": [ { - "species": "SPECIES_PINECO", + "species": "MONSTER_PINECO", "level": 18, "probability": 1667 }, { - "species": "SPECIES_DUNSPARCE", + "species": "MONSTER_DUNSPARCE", "level": 13, "probability": 1666 }, { - "species": "SPECIES_QWILFISH", + "species": "MONSTER_QWILFISH", "level": 30, "probability": 1667 }, { - "species": "SPECIES_SHUCKLE", + "species": "MONSTER_SHUCKLE", "level": 15, "probability": 1667 }, { - "species": "SPECIES_HERACROSS", + "species": "MONSTER_HERACROSS", "level": 14, "probability": 1666 }, { - "species": "SPECIES_TEDDIURSA", + "species": "MONSTER_TEDDIURSA", "level": 10, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -449,47 +449,47 @@ "name": "pokemon_found_out535", "pokemon": [ { - "species": "SPECIES_SWINUB", + "species": "MONSTER_SWINUB", "level": 8, "probability": 1429 }, { - "species": "SPECIES_DELIBIRD", + "species": "MONSTER_DELIBIRD", "level": 26, "probability": 1428 }, { - "species": "SPECIES_PHANPY", + "species": "MONSTER_PHANPY", "level": 14, "probability": 1429 }, { - "species": "SPECIES_STANTLER", + "species": "MONSTER_STANTLER", "level": 12, "probability": 1428 }, { - "species": "SPECIES_TYROGUE", + "species": "MONSTER_TYROGUE", "level": 6, "probability": 1429 }, { - "species": "SPECIES_SMOOCHUM", + "species": "MONSTER_SMOOCHUM", "level": 15, "probability": 1428 }, { - "species": "SPECIES_ELEKID", + "species": "MONSTER_ELEKID", "level": 4, "probability": 1429 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -499,47 +499,47 @@ "name": "pokemon_found_out536", "pokemon": [ { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1429 }, { - "species": "SPECIES_LARVITAR", + "species": "MONSTER_LARVITAR", "level": 28, "probability": 1428 }, { - "species": "SPECIES_POOCHYENA", + "species": "MONSTER_POOCHYENA", "level": 3, "probability": 1429 }, { - "species": "SPECIES_WURMPLE", + "species": "MONSTER_WURMPLE", "level": 1, "probability": 1428 }, { - "species": "SPECIES_CASCOON", + "species": "MONSTER_CASCOON", "level": 8, "probability": 1429 }, { - "species": "SPECIES_SEEDOT", + "species": "MONSTER_SEEDOT", "level": 16, "probability": 1428 }, { - "species": "SPECIES_TAILLOW", + "species": "MONSTER_TAILLOW", "level": 25, "probability": 1429 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -549,52 +549,52 @@ "name": "pokemon_found_out537", "pokemon": [ { - "species": "SPECIES_SURSKIT", + "species": "MONSTER_SURSKIT", "level": 24, "probability": 1250 }, { - "species": "SPECIES_SHROOMISH", + "species": "MONSTER_SHROOMISH", "level": 9, "probability": 1250 }, { - "species": "SPECIES_SLAKOTH", + "species": "MONSTER_SLAKOTH", "level": 8, "probability": 1250 }, { - "species": "SPECIES_NINCADA", + "species": "MONSTER_NINCADA", "level": 14, "probability": 1250 }, { - "species": "SPECIES_WHISMUR", + "species": "MONSTER_WHISMUR", "level": 1, "probability": 1250 }, { - "species": "SPECIES_MAKUHITA", + "species": "MONSTER_MAKUHITA", "level": 25, "probability": 1250 }, { - "species": "SPECIES_AZURILL", + "species": "MONSTER_AZURILL", "level": 27, "probability": 1250 }, { - "species": "SPECIES_NOSEPASS", + "species": "MONSTER_NOSEPASS", "level": 16, "probability": 1250 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -604,37 +604,37 @@ "name": "pokemon_found_out538", "pokemon": [ { - "species": "SPECIES_SABLEYE", + "species": "MONSTER_SABLEYE", "level": 30, "probability": 2000 }, { - "species": "SPECIES_MAWILE", + "species": "MONSTER_MAWILE", "level": 20, "probability": 2000 }, { - "species": "SPECIES_ARON", + "species": "MONSTER_ARON", "level": 6, "probability": 2000 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 6, "probability": 2000 }, { - "species": "SPECIES_ELECTRIKE", + "species": "MONSTER_ELECTRIKE", "level": 12, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -644,37 +644,37 @@ "name": "pokemon_found_out539", "pokemon": [ { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 10, "probability": 2000 }, { - "species": "SPECIES_PLUSLE", + "species": "MONSTER_PLUSLE", "level": 3, "probability": 2000 }, { - "species": "SPECIES_MINUN", + "species": "MONSTER_MINUN", "level": 3, "probability": 2000 }, { - "species": "SPECIES_VOLBEAT", + "species": "MONSTER_VOLBEAT", "level": 28, "probability": 2000 }, { - "species": "SPECIES_ILLIMISE", + "species": "MONSTER_ILLIMISE", "level": 15, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -684,52 +684,52 @@ "name": "pokemon_found_out540", "pokemon": [ { - "species": "SPECIES_ROSELIA", + "species": "MONSTER_ROSELIA", "level": 16, "probability": 1250 }, { - "species": "SPECIES_NUMEL", + "species": "MONSTER_NUMEL", "level": 14, "probability": 1250 }, { - "species": "SPECIES_TORKOAL", + "species": "MONSTER_TORKOAL", "level": 15, "probability": 1250 }, { - "species": "SPECIES_SPOINK", + "species": "MONSTER_SPOINK", "level": 20, "probability": 1250 }, { - "species": "SPECIES_SPINDA", + "species": "MONSTER_SPINDA", "level": 2, "probability": 1250 }, { - "species": "SPECIES_TRAPINCH", + "species": "MONSTER_TRAPINCH", "level": 11, "probability": 1250 }, { - "species": "SPECIES_CACNEA", + "species": "MONSTER_CACNEA", "level": 13, "probability": 1250 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 18, "probability": 1250 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -739,42 +739,42 @@ "name": "pokemon_found_out541", "pokemon": [ { - "species": "SPECIES_ZANGOOSE", + "species": "MONSTER_ZANGOOSE", "level": 18, "probability": 1667 }, { - "species": "SPECIES_SEVIPER", + "species": "MONSTER_SEVIPER", "level": 19, "probability": 1666 }, { - "species": "SPECIES_LUNATONE", + "species": "MONSTER_LUNATONE", "level": 24, "probability": 1667 }, { - "species": "SPECIES_SOLROCK", + "species": "MONSTER_SOLROCK", "level": 24, "probability": 1667 }, { - "species": "SPECIES_BALTOY", + "species": "MONSTER_BALTOY", "level": 5, "probability": 1666 }, { - "species": "SPECIES_CLAYDOL", + "species": "MONSTER_CLAYDOL", "level": 26, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -784,42 +784,42 @@ "name": "pokemon_found_out542", "pokemon": [ { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHUPPET", + "species": "MONSTER_SHUPPET", "level": 28, "probability": 1667 }, { - "species": "SPECIES_BANETTE", + "species": "MONSTER_BANETTE", "level": 30, "probability": 1666 }, { - "species": "SPECIES_DUSKULL", + "species": "MONSTER_DUSKULL", "level": 27, "probability": 1667 }, { - "species": "SPECIES_TROPIUS", + "species": "MONSTER_TROPIUS", "level": 25, "probability": 1667 }, { - "species": "SPECIES_CHIMECHO", + "species": "MONSTER_CHIMECHO", "level": 22, "probability": 1666 }, { - "species": "SPECIES_ABSOL", + "species": "MONSTER_ABSOL", "level": 45, "probability": 1667 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/D61/pokemon_found.json b/data/dungeon/D61/pokemon_found.json index 744c456e3..921c33a4d 100644 --- a/data/dungeon/D61/pokemon_found.json +++ b/data/dungeon/D61/pokemon_found.json @@ -4,47 +4,47 @@ "name": "pokemon_found_out727", "pokemon": [ { - "species": "SPECIES_JYNX", + "species": "MONSTER_JYNX", "level": 32, "probability": 1702 }, { - "species": "SPECIES_CLEFFA", + "species": "MONSTER_CLEFFA", "level": 1, "probability": 851 }, { - "species": "SPECIES_MARILL", + "species": "MONSTER_MARILL", "level": 8, "probability": 638 }, { - "species": "SPECIES_WHISMUR", + "species": "MONSTER_WHISMUR", "level": 1, "probability": 1703 }, { - "species": "SPECIES_AZURILL", + "species": "MONSTER_AZURILL", "level": 27, "probability": 1702 }, { - "species": "SPECIES_ROSELIA", + "species": "MONSTER_ROSELIA", "level": 16, "probability": 1702 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_WYNAUT", + "species": "MONSTER_WYNAUT", "level": 1, "probability": 1702 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -54,42 +54,42 @@ "name": "pokemon_found_out728", "pokemon": [ { - "species": "SPECIES_JYNX", + "species": "MONSTER_JYNX", "level": 32, "probability": 2051 }, { - "species": "SPECIES_CLEFFA", + "species": "MONSTER_CLEFFA", "level": 1, "probability": 1026 }, { - "species": "SPECIES_MARILL", + "species": "MONSTER_MARILL", "level": 8, "probability": 769 }, { - "species": "SPECIES_WHISMUR", + "species": "MONSTER_WHISMUR", "level": 1, "probability": 2051 }, { - "species": "SPECIES_ROSELIA", + "species": "MONSTER_ROSELIA", "level": 16, "probability": 2052 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_WYNAUT", + "species": "MONSTER_WYNAUT", "level": 1, "probability": 2051 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -99,47 +99,47 @@ "name": "pokemon_found_out729", "pokemon": [ { - "species": "SPECIES_HITMONLEE", + "species": "MONSTER_HITMONLEE", "level": 22, "probability": 1702 }, { - "species": "SPECIES_HITMONCHAN", + "species": "MONSTER_HITMONCHAN", "level": 22, "probability": 1702 }, { - "species": "SPECIES_CLEFFA", + "species": "MONSTER_CLEFFA", "level": 1, "probability": 851 }, { - "species": "SPECIES_MARILL", + "species": "MONSTER_MARILL", "level": 8, "probability": 639 }, { - "species": "SPECIES_DELIBIRD", + "species": "MONSTER_DELIBIRD", "level": 26, "probability": 1702 }, { - "species": "SPECIES_PELIPPER", + "species": "MONSTER_PELIPPER", "level": 23, "probability": 1702 }, { - "species": "SPECIES_MAKUHITA", + "species": "MONSTER_MAKUHITA", "level": 25, "probability": 1702 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -149,37 +149,37 @@ "name": "pokemon_found_out730", "pokemon": [ { - "species": "SPECIES_HITMONLEE", + "species": "MONSTER_HITMONLEE", "level": 22, "probability": 2000 }, { - "species": "SPECIES_HITMONCHAN", + "species": "MONSTER_HITMONCHAN", "level": 22, "probability": 2000 }, { - "species": "SPECIES_DELIBIRD", + "species": "MONSTER_DELIBIRD", "level": 26, "probability": 2000 }, { - "species": "SPECIES_PELIPPER", + "species": "MONSTER_PELIPPER", "level": 23, "probability": 2000 }, { - "species": "SPECIES_MAKUHITA", + "species": "MONSTER_MAKUHITA", "level": 25, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -189,47 +189,47 @@ "name": "pokemon_found_out731", "pokemon": [ { - "species": "SPECIES_HITMONLEE", + "species": "MONSTER_HITMONLEE", "level": 22, "probability": 1538 }, { - "species": "SPECIES_HITMONCHAN", + "species": "MONSTER_HITMONCHAN", "level": 22, "probability": 1539 }, { - "species": "SPECIES_MR_MIME", + "species": "MONSTER_MR_MIME", "level": 15, "probability": 1154 }, { - "species": "SPECIES_NATU", + "species": "MONSTER_NATU", "level": 8, "probability": 1154 }, { - "species": "SPECIES_DELIBIRD", + "species": "MONSTER_DELIBIRD", "level": 26, "probability": 1538 }, { - "species": "SPECIES_PELIPPER", + "species": "MONSTER_PELIPPER", "level": 23, "probability": 1539 }, { - "species": "SPECIES_MAKUHITA", + "species": "MONSTER_MAKUHITA", "level": 25, "probability": 1538 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -239,37 +239,37 @@ "name": "pokemon_found_out732", "pokemon": [ { - "species": "SPECIES_MR_MIME", + "species": "MONSTER_MR_MIME", "level": 15, "probability": 1667 }, { - "species": "SPECIES_NATU", + "species": "MONSTER_NATU", "level": 8, "probability": 1666 }, { - "species": "SPECIES_DELIBIRD", + "species": "MONSTER_DELIBIRD", "level": 26, "probability": 2223 }, { - "species": "SPECIES_SHIFTRY", + "species": "MONSTER_SHIFTRY", "level": 20, "probability": 2222 }, { - "species": "SPECIES_MAWILE", + "species": "MONSTER_MAWILE", "level": 20, "probability": 2222 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -279,47 +279,47 @@ "name": "pokemon_found_out733", "pokemon": [ { - "species": "SPECIES_MR_MIME", + "species": "MONSTER_MR_MIME", "level": 15, "probability": 1429 }, { - "species": "SPECIES_NATU", + "species": "MONSTER_NATU", "level": 8, "probability": 1428 }, { - "species": "SPECIES_AZUMARILL", + "species": "MONSTER_AZUMARILL", "level": 24, "probability": 1191 }, { - "species": "SPECIES_BLISSEY", + "species": "MONSTER_BLISSEY", "level": 28, "probability": 238 }, { - "species": "SPECIES_SHIFTRY", + "species": "MONSTER_SHIFTRY", "level": 20, "probability": 1904 }, { - "species": "SPECIES_RALTS", + "species": "MONSTER_RALTS", "level": 8, "probability": 1905 }, { - "species": "SPECIES_LOUDRED", + "species": "MONSTER_LOUDRED", "level": 20, "probability": 1905 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -329,42 +329,42 @@ "name": "pokemon_found_out734", "pokemon": [ { - "species": "SPECIES_MR_MIME", + "species": "MONSTER_MR_MIME", "level": 15, "probability": 1765 }, { - "species": "SPECIES_NATU", + "species": "MONSTER_NATU", "level": 8, "probability": 1764 }, { - "species": "SPECIES_AZUMARILL", + "species": "MONSTER_AZUMARILL", "level": 24, "probability": 1471 }, { - "species": "SPECIES_BLISSEY", + "species": "MONSTER_BLISSEY", "level": 28, "probability": 294 }, { - "species": "SPECIES_RALTS", + "species": "MONSTER_RALTS", "level": 8, "probability": 2353 }, { - "species": "SPECIES_LOUDRED", + "species": "MONSTER_LOUDRED", "level": 20, "probability": 2353 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -374,37 +374,37 @@ "name": "pokemon_found_out735", "pokemon": [ { - "species": "SPECIES_NATU", + "species": "MONSTER_NATU", "level": 8, "probability": 2143 }, { - "species": "SPECIES_AZUMARILL", + "species": "MONSTER_AZUMARILL", "level": 24, "probability": 1786 }, { - "species": "SPECIES_BLISSEY", + "species": "MONSTER_BLISSEY", "level": 28, "probability": 357 }, { - "species": "SPECIES_RALTS", + "species": "MONSTER_RALTS", "level": 8, "probability": 2857 }, { - "species": "SPECIES_LOUDRED", + "species": "MONSTER_LOUDRED", "level": 20, "probability": 2857 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -414,32 +414,32 @@ "name": "pokemon_found_out736", "pokemon": [ { - "species": "SPECIES_AZUMARILL", + "species": "MONSTER_AZUMARILL", "level": 24, "probability": 2273 }, { - "species": "SPECIES_BLISSEY", + "species": "MONSTER_BLISSEY", "level": 28, "probability": 454 }, { - "species": "SPECIES_RALTS", + "species": "MONSTER_RALTS", "level": 8, "probability": 3637 }, { - "species": "SPECIES_LOUDRED", + "species": "MONSTER_LOUDRED", "level": 20, "probability": 3636 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -449,32 +449,32 @@ "name": "pokemon_found_out737", "pokemon": [ { - "species": "SPECIES_KANGASKHAN", + "species": "MONSTER_KANGASKHAN", "level": 36, "probability": 3200 }, { - "species": "SPECIES_IGGLYBUFF", + "species": "MONSTER_IGGLYBUFF", "level": 15, "probability": 1600 }, { - "species": "SPECIES_AZUMARILL", + "species": "MONSTER_AZUMARILL", "level": 24, "probability": 2000 }, { - "species": "SPECIES_WOBBUFFET", + "species": "MONSTER_WOBBUFFET", "level": 20, "probability": 3200 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -484,37 +484,37 @@ "name": "pokemon_found_out738", "pokemon": [ { - "species": "SPECIES_KANGASKHAN", + "species": "MONSTER_KANGASKHAN", "level": 36, "probability": 2424 }, { - "species": "SPECIES_IGGLYBUFF", + "species": "MONSTER_IGGLYBUFF", "level": 15, "probability": 1212 }, { - "species": "SPECIES_AZUMARILL", + "species": "MONSTER_AZUMARILL", "level": 24, "probability": 1516 }, { - "species": "SPECIES_WOBBUFFET", + "species": "MONSTER_WOBBUFFET", "level": 20, "probability": 2424 }, { - "species": "SPECIES_HARIYAMA", + "species": "MONSTER_HARIYAMA", "level": 35, "probability": 2424 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -524,32 +524,32 @@ "name": "pokemon_found_out739", "pokemon": [ { - "species": "SPECIES_KANGASKHAN", + "species": "MONSTER_KANGASKHAN", "level": 36, "probability": 2857 }, { - "species": "SPECIES_IGGLYBUFF", + "species": "MONSTER_IGGLYBUFF", "level": 15, "probability": 1429 }, { - "species": "SPECIES_WOBBUFFET", + "species": "MONSTER_WOBBUFFET", "level": 20, "probability": 2857 }, { - "species": "SPECIES_HARIYAMA", + "species": "MONSTER_HARIYAMA", "level": 35, "probability": 2857 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -559,37 +559,37 @@ "name": "pokemon_found_out740", "pokemon": [ { - "species": "SPECIES_KANGASKHAN", + "species": "MONSTER_KANGASKHAN", "level": 36, "probability": 2424 }, { - "species": "SPECIES_IGGLYBUFF", + "species": "MONSTER_IGGLYBUFF", "level": 15, "probability": 1212 }, { - "species": "SPECIES_WOBBUFFET", + "species": "MONSTER_WOBBUFFET", "level": 20, "probability": 2425 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1515 }, { - "species": "SPECIES_HARIYAMA", + "species": "MONSTER_HARIYAMA", "level": 35, "probability": 2424 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -599,42 +599,42 @@ "name": "pokemon_found_out741", "pokemon": [ { - "species": "SPECIES_KANGASKHAN", + "species": "MONSTER_KANGASKHAN", "level": 36, "probability": 2353 }, { - "species": "SPECIES_IGGLYBUFF", + "species": "MONSTER_IGGLYBUFF", "level": 15, "probability": 1176 }, { - "species": "SPECIES_WOBBUFFET", + "species": "MONSTER_WOBBUFFET", "level": 20, "probability": 2353 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1471 }, { - "species": "SPECIES_BLISSEY", + "species": "MONSTER_BLISSEY", "level": 28, "probability": 294 }, { - "species": "SPECIES_HARIYAMA", + "species": "MONSTER_HARIYAMA", "level": 35, "probability": 2353 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -644,42 +644,42 @@ "name": "pokemon_found_out742", "pokemon": [ { - "species": "SPECIES_KANGASKHAN", + "species": "MONSTER_KANGASKHAN", "level": 36, "probability": 2105 }, { - "species": "SPECIES_WOBBUFFET", + "species": "MONSTER_WOBBUFFET", "level": 20, "probability": 2106 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1315 }, { - "species": "SPECIES_BLISSEY", + "species": "MONSTER_BLISSEY", "level": 28, "probability": 263 }, { - "species": "SPECIES_GARDEVOIR", + "species": "MONSTER_GARDEVOIR", "level": 18, "probability": 2106 }, { - "species": "SPECIES_HARIYAMA", + "species": "MONSTER_HARIYAMA", "level": 35, "probability": 2105 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -689,37 +689,37 @@ "name": "pokemon_found_out743", "pokemon": [ { - "species": "SPECIES_WOBBUFFET", + "species": "MONSTER_WOBBUFFET", "level": 20, "probability": 2667 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1666 }, { - "species": "SPECIES_BLISSEY", + "species": "MONSTER_BLISSEY", "level": 28, "probability": 334 }, { - "species": "SPECIES_GARDEVOIR", + "species": "MONSTER_GARDEVOIR", "level": 18, "probability": 2666 }, { - "species": "SPECIES_HARIYAMA", + "species": "MONSTER_HARIYAMA", "level": 35, "probability": 2667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -729,32 +729,32 @@ "name": "pokemon_found_out744", "pokemon": [ { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 2273 }, { - "species": "SPECIES_BLISSEY", + "species": "MONSTER_BLISSEY", "level": 28, "probability": 454 }, { - "species": "SPECIES_GARDEVOIR", + "species": "MONSTER_GARDEVOIR", "level": 18, "probability": 3637 }, { - "species": "SPECIES_EXPLOUD", + "species": "MONSTER_EXPLOUD", "level": 25, "probability": 3636 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -764,27 +764,27 @@ "name": "pokemon_found_out745", "pokemon": [ { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 3571 }, { - "species": "SPECIES_BLISSEY", + "species": "MONSTER_BLISSEY", "level": 28, "probability": 715 }, { - "species": "SPECIES_GARDEVOIR", + "species": "MONSTER_GARDEVOIR", "level": 18, "probability": 5714 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -794,22 +794,22 @@ "name": "pokemon_found_out746", "pokemon": [ { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 8333 }, { - "species": "SPECIES_BLISSEY", + "species": "MONSTER_BLISSEY", "level": 28, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -819,27 +819,27 @@ "name": "pokemon_found_out747", "pokemon": [ { - "species": "SPECIES_XATU", + "species": "MONSTER_XATU", "level": 27, "probability": 5714 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 3572 }, { - "species": "SPECIES_BLISSEY", + "species": "MONSTER_BLISSEY", "level": 28, "probability": 714 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -849,22 +849,22 @@ "name": "pokemon_found_out748", "pokemon": [ { - "species": "SPECIES_XATU", + "species": "MONSTER_XATU", "level": 27, "probability": 8889 }, { - "species": "SPECIES_BLISSEY", + "species": "MONSTER_BLISSEY", "level": 28, "probability": 1111 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -874,17 +874,17 @@ "name": "pokemon_found_out749", "pokemon": [ { - "species": "SPECIES_BLISSEY", + "species": "MONSTER_BLISSEY", "level": 28, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/DarknightRelic/pokemon_found.json b/data/dungeon/DarknightRelic/pokemon_found.json index 43165889b..3c7f777f8 100644 --- a/data/dungeon/DarknightRelic/pokemon_found.json +++ b/data/dungeon/DarknightRelic/pokemon_found.json @@ -4,37 +4,37 @@ "name": "pokemon_found_out443", "pokemon": [ { - "species": "SPECIES_GASTLY", + "species": "MONSTER_GASTLY", "level": 30, "probability": 2963 }, { - "species": "SPECIES_MISDREAVUS", + "species": "MONSTER_MISDREAVUS", "level": 25, "probability": 1852 }, { - "species": "SPECIES_SHEDINJA", + "species": "MONSTER_SHEDINJA", "level": 5, "probability": 370 }, { - "species": "SPECIES_SABLEYE", + "species": "MONSTER_SABLEYE", "level": 30, "probability": 1852 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHUPPET", + "species": "MONSTER_SHUPPET", "level": 28, "probability": 2963 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -44,37 +44,37 @@ "name": "pokemon_found_out444", "pokemon": [ { - "species": "SPECIES_GASTLY", + "species": "MONSTER_GASTLY", "level": 30, "probability": 2963 }, { - "species": "SPECIES_MISDREAVUS", + "species": "MONSTER_MISDREAVUS", "level": 25, "probability": 1852 }, { - "species": "SPECIES_SHEDINJA", + "species": "MONSTER_SHEDINJA", "level": 5, "probability": 370 }, { - "species": "SPECIES_SABLEYE", + "species": "MONSTER_SABLEYE", "level": 30, "probability": 1852 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BANETTE", + "species": "MONSTER_BANETTE", "level": 30, "probability": 2963 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -84,37 +84,37 @@ "name": "pokemon_found_out445", "pokemon": [ { - "species": "SPECIES_HAUNTER", + "species": "MONSTER_HAUNTER", "level": 25, "probability": 2963 }, { - "species": "SPECIES_MISDREAVUS", + "species": "MONSTER_MISDREAVUS", "level": 25, "probability": 1852 }, { - "species": "SPECIES_SHEDINJA", + "species": "MONSTER_SHEDINJA", "level": 5, "probability": 370 }, { - "species": "SPECIES_SABLEYE", + "species": "MONSTER_SABLEYE", "level": 30, "probability": 1852 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BANETTE", + "species": "MONSTER_BANETTE", "level": 30, "probability": 2963 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -124,37 +124,37 @@ "name": "pokemon_found_out446", "pokemon": [ { - "species": "SPECIES_HAUNTER", + "species": "MONSTER_HAUNTER", "level": 25, "probability": 2963 }, { - "species": "SPECIES_MISDREAVUS", + "species": "MONSTER_MISDREAVUS", "level": 25, "probability": 1852 }, { - "species": "SPECIES_SHEDINJA", + "species": "MONSTER_SHEDINJA", "level": 5, "probability": 370 }, { - "species": "SPECIES_SABLEYE", + "species": "MONSTER_SABLEYE", "level": 30, "probability": 1852 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DUSKULL", + "species": "MONSTER_DUSKULL", "level": 35, "probability": 2963 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -164,37 +164,37 @@ "name": "pokemon_found_out447", "pokemon": [ { - "species": "SPECIES_GENGAR", + "species": "MONSTER_GENGAR", "level": 32, "probability": 2963 }, { - "species": "SPECIES_MISDREAVUS", + "species": "MONSTER_MISDREAVUS", "level": 25, "probability": 1852 }, { - "species": "SPECIES_SHEDINJA", + "species": "MONSTER_SHEDINJA", "level": 5, "probability": 370 }, { - "species": "SPECIES_SABLEYE", + "species": "MONSTER_SABLEYE", "level": 30, "probability": 1852 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DUSKULL", + "species": "MONSTER_DUSKULL", "level": 35, "probability": 2963 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/DesertRegion/pokemon_found.json b/data/dungeon/DesertRegion/pokemon_found.json index f584e3e03..6d8141b51 100644 --- a/data/dungeon/DesertRegion/pokemon_found.json +++ b/data/dungeon/DesertRegion/pokemon_found.json @@ -4,42 +4,42 @@ "name": "pokemon_found_out340", "pokemon": [ { - "species": "SPECIES_SANDSHREW", + "species": "MONSTER_SANDSHREW", "level": 30, "probability": 3077 }, { - "species": "SPECIES_SANDSLASH", + "species": "MONSTER_SANDSLASH", "level": 35, "probability": 0 }, { - "species": "SPECIES_SHEDINJA", + "species": "MONSTER_SHEDINJA", "level": 5, "probability": 1923 }, { - "species": "SPECIES_NOSEPASS", + "species": "MONSTER_NOSEPASS", "level": 31, "probability": 1923 }, { - "species": "SPECIES_TRAPINCH", + "species": "MONSTER_TRAPINCH", "level": 35, "probability": 3077 }, { - "species": "SPECIES_VIBRAVA", + "species": "MONSTER_VIBRAVA", "level": 30, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -49,32 +49,32 @@ "name": "pokemon_found_out341", "pokemon": [ { - "species": "SPECIES_NIDOQUEEN", + "species": "MONSTER_NIDOQUEEN", "level": 33, "probability": 4000 }, { - "species": "SPECIES_HITMONTOP", + "species": "MONSTER_HITMONTOP", "level": 30, "probability": 2000 }, { - "species": "SPECIES_TRAPINCH", + "species": "MONSTER_TRAPINCH", "level": 35, "probability": 4000 }, { - "species": "SPECIES_VIBRAVA", + "species": "MONSTER_VIBRAVA", "level": 30, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -84,32 +84,32 @@ "name": "pokemon_found_out342", "pokemon": [ { - "species": "SPECIES_NIDOQUEEN", + "species": "MONSTER_NIDOQUEEN", "level": 33, "probability": 4000 }, { - "species": "SPECIES_HITMONTOP", + "species": "MONSTER_HITMONTOP", "level": 30, "probability": 2000 }, { - "species": "SPECIES_BALTOY", + "species": "MONSTER_BALTOY", "level": 35, "probability": 4000 }, { - "species": "SPECIES_CLAYDOL", + "species": "MONSTER_CLAYDOL", "level": 26, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -119,27 +119,27 @@ "name": "pokemon_found_out343", "pokemon": [ { - "species": "SPECIES_NIDOQUEEN", + "species": "MONSTER_NIDOQUEEN", "level": 33, "probability": 5000 }, { - "species": "SPECIES_BALTOY", + "species": "MONSTER_BALTOY", "level": 35, "probability": 5000 }, { - "species": "SPECIES_CLAYDOL", + "species": "MONSTER_CLAYDOL", "level": 26, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -149,37 +149,37 @@ "name": "pokemon_found_out344", "pokemon": [ { - "species": "SPECIES_SANDSLASH", + "species": "MONSTER_SANDSLASH", "level": 35, "probability": 2759 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 2758 }, { - "species": "SPECIES_BALTOY", + "species": "MONSTER_BALTOY", "level": 35, "probability": 2759 }, { - "species": "SPECIES_CLAYDOL", + "species": "MONSTER_CLAYDOL", "level": 26, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DUSCLOPS", + "species": "MONSTER_DUSCLOPS", "level": 33, "probability": 1724 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/DojoRegistration/pokemon_found.json b/data/dungeon/DojoRegistration/pokemon_found.json index 4e1ed7ec0..f9ea70e06 100644 --- a/data/dungeon/DojoRegistration/pokemon_found.json +++ b/data/dungeon/DojoRegistration/pokemon_found.json @@ -4,22 +4,22 @@ "name": "pokemon_found_out543", "pokemon": [ { - "species": "SPECIES_RATICATE", + "species": "MONSTER_RATICATE", "level": 19, "probability": 10000 }, { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -29,37 +29,37 @@ "name": "pokemon_found_out544", "pokemon": [ { - "species": "SPECIES_RATICATE", + "species": "MONSTER_RATICATE", "level": 19, "probability": 2500 }, { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 10, "probability": 2500 }, { - "species": "SPECIES_FURRET", + "species": "MONSTER_FURRET", "level": 14, "probability": 2500 }, { - "species": "SPECIES_ZIGZAGOON", + "species": "MONSTER_ZIGZAGOON", "level": 5, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -69,32 +69,32 @@ "name": "pokemon_found_out545", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_PONYTA", + "species": "MONSTER_PONYTA", "level": 30, "probability": 3333 }, { - "species": "SPECIES_SLUGMA", + "species": "MONSTER_SLUGMA", "level": 16, "probability": 3334 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -104,22 +104,22 @@ "name": "pokemon_found_out546", "pokemon": [ { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 10, "probability": 10000 }, { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -129,27 +129,27 @@ "name": "pokemon_found_out547", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_EXEGGCUTE", + "species": "MONSTER_EXEGGCUTE", "level": 1, "probability": 5000 }, { - "species": "SPECIES_SUNKERN", + "species": "MONSTER_SUNKERN", "level": 1, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -159,37 +159,37 @@ "name": "pokemon_found_out548", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_EXEGGCUTE", + "species": "MONSTER_EXEGGCUTE", "level": 1, "probability": 2500 }, { - "species": "SPECIES_SUNKERN", + "species": "MONSTER_SUNKERN", "level": 1, "probability": 2500 }, { - "species": "SPECIES_SHROOMISH", + "species": "MONSTER_SHROOMISH", "level": 9, "probability": 2500 }, { - "species": "SPECIES_CACNEA", + "species": "MONSTER_CACNEA", "level": 13, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -199,22 +199,22 @@ "name": "pokemon_found_out549", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_VOLTORB", + "species": "MONSTER_VOLTORB", "level": 3, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -224,27 +224,27 @@ "name": "pokemon_found_out550", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_VOLTORB", + "species": "MONSTER_VOLTORB", "level": 3, "probability": 6970 }, { - "species": "SPECIES_ELECTRIKE", + "species": "MONSTER_ELECTRIKE", "level": 12, "probability": 3030 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -254,32 +254,32 @@ "name": "pokemon_found_out551", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_SWINUB", + "species": "MONSTER_SWINUB", "level": 8, "probability": 4000 }, { - "species": "SPECIES_PILOSWINE", + "species": "MONSTER_PILOSWINE", "level": 16, "probability": 4000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SNORUNT", + "species": "MONSTER_SNORUNT", "level": 20, "probability": 2000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -289,27 +289,27 @@ "name": "pokemon_found_out552", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_TYROGUE", + "species": "MONSTER_TYROGUE", "level": 6, "probability": 5000 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 6, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -319,32 +319,32 @@ "name": "pokemon_found_out553", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_HITMONLEE", + "species": "MONSTER_HITMONLEE", "level": 22, "probability": 3333 }, { - "species": "SPECIES_TYROGUE", + "species": "MONSTER_TYROGUE", "level": 6, "probability": 3334 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 6, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -354,27 +354,27 @@ "name": "pokemon_found_out554", "pokemon": [ { - "species": "SPECIES_DIGLETT", + "species": "MONSTER_DIGLETT", "level": 20, "probability": 6667 }, { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_PHANPY", + "species": "MONSTER_PHANPY", "level": 14, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -385,22 +385,22 @@ "name": "pokemon_found_out555", "pokemon": [ { - "species": "SPECIES_PIDGEY", + "species": "MONSTER_PIDGEY", "level": 1, "probability": 10000 }, { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -410,32 +410,32 @@ "name": "pokemon_found_out556", "pokemon": [ { - "species": "SPECIES_PIDGEY", + "species": "MONSTER_PIDGEY", "level": 1, "probability": 3333 }, { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 10, "probability": 3334 }, { - "species": "SPECIES_DODUO", + "species": "MONSTER_DODUO", "level": 14, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -445,22 +445,22 @@ "name": "pokemon_found_out557", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_WOBBUFFET", + "species": "MONSTER_WOBBUFFET", "level": 30, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -470,22 +470,22 @@ "name": "pokemon_found_out558", "pokemon": [ { - "species": "SPECIES_NIDORAN_F", + "species": "MONSTER_NIDORAN_F", "level": 4, "probability": 10000 }, { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -495,27 +495,27 @@ "name": "pokemon_found_out559", "pokemon": [ { - "species": "SPECIES_NIDORAN_F", + "species": "MONSTER_NIDORAN_F", "level": 4, "probability": 5000 }, { - "species": "SPECIES_NIDORAN_M", + "species": "MONSTER_NIDORAN_M", "level": 12, "probability": 5000 }, { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -525,32 +525,32 @@ "name": "pokemon_found_out560", "pokemon": [ { - "species": "SPECIES_WEEDLE", + "species": "MONSTER_WEEDLE", "level": 8, "probability": 3333 }, { - "species": "SPECIES_BEEDRILL", + "species": "MONSTER_BEEDRILL", "level": 10, "probability": 3334 }, { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_PINSIR", + "species": "MONSTER_PINSIR", "level": 6, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -560,27 +560,27 @@ "name": "pokemon_found_out561", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_GEODUDE", + "species": "MONSTER_GEODUDE", "level": 5, "probability": 5000 }, { - "species": "SPECIES_SUDOWOODO", + "species": "MONSTER_SUDOWOODO", "level": 7, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -590,32 +590,32 @@ "name": "pokemon_found_out562", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_GEODUDE", + "species": "MONSTER_GEODUDE", "level": 5, "probability": 3333 }, { - "species": "SPECIES_SUDOWOODO", + "species": "MONSTER_SUDOWOODO", "level": 7, "probability": 3334 }, { - "species": "SPECIES_PUPITAR", + "species": "MONSTER_PUPITAR", "level": 17, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -625,22 +625,22 @@ "name": "pokemon_found_out563", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_GASTLY", + "species": "MONSTER_GASTLY", "level": 23, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -650,27 +650,27 @@ "name": "pokemon_found_out564", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BAGON", + "species": "MONSTER_BAGON", "level": 16, "probability": 5000 }, { - "species": "SPECIES_SHELGON", + "species": "MONSTER_SHELGON", "level": 19, "probability": 5000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -680,22 +680,22 @@ "name": "pokemon_found_out565", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_POOCHYENA", + "species": "MONSTER_POOCHYENA", "level": 3, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -705,27 +705,27 @@ "name": "pokemon_found_out566", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_MURKROW", + "species": "MONSTER_MURKROW", "level": 14, "probability": 5000 }, { - "species": "SPECIES_POOCHYENA", + "species": "MONSTER_POOCHYENA", "level": 3, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -735,27 +735,27 @@ "name": "pokemon_found_out567", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_ARON", + "species": "MONSTER_ARON", "level": 6, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BELDUM", + "species": "MONSTER_BELDUM", "level": 5, "probability": 5000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -765,22 +765,22 @@ "name": "pokemon_found_out568", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_NUZLEAF", + "species": "MONSTER_NUZLEAF", "level": 10, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -790,27 +790,27 @@ "name": "pokemon_found_out569", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_NUZLEAF", + "species": "MONSTER_NUZLEAF", "level": 10, "probability": 5000 }, { - "species": "SPECIES_SHIFTRY", + "species": "MONSTER_SHIFTRY", "level": 20, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -820,22 +820,22 @@ "name": "pokemon_found_out570", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_TENTACOOL", + "species": "MONSTER_TENTACOOL", "level": 27, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -845,32 +845,32 @@ "name": "pokemon_found_out571", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_TENTACRUEL", + "species": "MONSTER_TENTACRUEL", "level": 33, "probability": 2500 }, { - "species": "SPECIES_OCTILLERY", + "species": "MONSTER_OCTILLERY", "level": 30, "probability": 2500 }, { - "species": "SPECIES_CRADILY", + "species": "MONSTER_CRADILY", "level": 45, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -880,32 +880,32 @@ "name": "pokemon_found_out572", "pokemon": [ { - "species": "SPECIES_BLASTOISE", + "species": "MONSTER_BLASTOISE", "level": 38, "probability": 2500 }, { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_FERALIGATR", + "species": "MONSTER_FERALIGATR", "level": 32, "probability": 5000 }, { - "species": "SPECIES_SWAMPERT", + "species": "MONSTER_SWAMPERT", "level": 37, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -915,22 +915,22 @@ "name": "pokemon_found_out573", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 22, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -940,27 +940,27 @@ "name": "pokemon_found_out574", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 22, "probability": 5000 }, { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 15, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -970,42 +970,42 @@ "name": "pokemon_found_out575", "pokemon": [ { - "species": "SPECIES_PIDGEY", + "species": "MONSTER_PIDGEY", "level": 1, "probability": 2000 }, { - "species": "SPECIES_RATTATA", + "species": "MONSTER_RATTATA", "level": 3, "probability": 2000 }, { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 0 }, { - "species": "SPECIES_VOLTORB", + "species": "MONSTER_VOLTORB", "level": 3, "probability": 2000 }, { - "species": "SPECIES_EXEGGCUTE", + "species": "MONSTER_EXEGGCUTE", "level": 1, "probability": 2000 }, { - "species": "SPECIES_SUNKERN", + "species": "MONSTER_SUNKERN", "level": 1, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/FantasyStrait/pokemon_found.json b/data/dungeon/FantasyStrait/pokemon_found.json index cbc5251eb..dbb847d75 100644 --- a/data/dungeon/FantasyStrait/pokemon_found.json +++ b/data/dungeon/FantasyStrait/pokemon_found.json @@ -4,37 +4,37 @@ "name": "pokemon_found_out509", "pokemon": [ { - "species": "SPECIES_TENTACOOL", + "species": "MONSTER_TENTACOOL", "level": 27, "probability": 2000 }, { - "species": "SPECIES_SHELLDER", + "species": "MONSTER_SHELLDER", "level": 25, "probability": 2000 }, { - "species": "SPECIES_OMANYTE", + "species": "MONSTER_OMANYTE", "level": 30, "probability": 2000 }, { - "species": "SPECIES_QWILFISH", + "species": "MONSTER_QWILFISH", "level": 30, "probability": 2000 }, { - "species": "SPECIES_WINGULL", + "species": "MONSTER_WINGULL", "level": 23, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -44,47 +44,47 @@ "name": "pokemon_found_out510", "pokemon": [ { - "species": "SPECIES_TENTACOOL", + "species": "MONSTER_TENTACOOL", "level": 27, "probability": 1429 }, { - "species": "SPECIES_SHELLDER", + "species": "MONSTER_SHELLDER", "level": 25, "probability": 1428 }, { - "species": "SPECIES_OMANYTE", + "species": "MONSTER_OMANYTE", "level": 30, "probability": 1429 }, { - "species": "SPECIES_KABUTO", + "species": "MONSTER_KABUTO", "level": 28, "probability": 1428 }, { - "species": "SPECIES_QWILFISH", + "species": "MONSTER_QWILFISH", "level": 30, "probability": 1429 }, { - "species": "SPECIES_CORSOLA", + "species": "MONSTER_CORSOLA", "level": 27, "probability": 1428 }, { - "species": "SPECIES_WINGULL", + "species": "MONSTER_WINGULL", "level": 23, "probability": 1429 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -94,52 +94,52 @@ "name": "pokemon_found_out511", "pokemon": [ { - "species": "SPECIES_TENTACOOL", + "species": "MONSTER_TENTACOOL", "level": 27, "probability": 1250 }, { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 1250 }, { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 30, "probability": 1250 }, { - "species": "SPECIES_SHELLDER", + "species": "MONSTER_SHELLDER", "level": 25, "probability": 1250 }, { - "species": "SPECIES_OMANYTE", + "species": "MONSTER_OMANYTE", "level": 30, "probability": 1250 }, { - "species": "SPECIES_KABUTO", + "species": "MONSTER_KABUTO", "level": 28, "probability": 1250 }, { - "species": "SPECIES_QWILFISH", + "species": "MONSTER_QWILFISH", "level": 30, "probability": 1250 }, { - "species": "SPECIES_CORSOLA", + "species": "MONSTER_CORSOLA", "level": 27, "probability": 1250 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -149,47 +149,47 @@ "name": "pokemon_found_out512", "pokemon": [ { - "species": "SPECIES_TENTACOOL", + "species": "MONSTER_TENTACOOL", "level": 27, "probability": 1429 }, { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 1428 }, { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 30, "probability": 1429 }, { - "species": "SPECIES_OMANYTE", + "species": "MONSTER_OMANYTE", "level": 30, "probability": 1428 }, { - "species": "SPECIES_KABUTO", + "species": "MONSTER_KABUTO", "level": 28, "probability": 1429 }, { - "species": "SPECIES_QWILFISH", + "species": "MONSTER_QWILFISH", "level": 30, "probability": 1428 }, { - "species": "SPECIES_CORSOLA", + "species": "MONSTER_CORSOLA", "level": 27, "probability": 1429 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -199,47 +199,47 @@ "name": "pokemon_found_out513", "pokemon": [ { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 1429 }, { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 30, "probability": 1428 }, { - "species": "SPECIES_HORSEA", + "species": "MONSTER_HORSEA", "level": 29, "probability": 1429 }, { - "species": "SPECIES_KABUTO", + "species": "MONSTER_KABUTO", "level": 28, "probability": 1428 }, { - "species": "SPECIES_CORSOLA", + "species": "MONSTER_CORSOLA", "level": 27, "probability": 1429 }, { - "species": "SPECIES_REMORAID", + "species": "MONSTER_REMORAID", "level": 28, "probability": 1428 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SPHEAL", + "species": "MONSTER_SPHEAL", "level": 22, "probability": 1429 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -249,42 +249,42 @@ "name": "pokemon_found_out514", "pokemon": [ { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 1667 }, { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 30, "probability": 1666 }, { - "species": "SPECIES_HORSEA", + "species": "MONSTER_HORSEA", "level": 29, "probability": 1667 }, { - "species": "SPECIES_REMORAID", + "species": "MONSTER_REMORAID", "level": 28, "probability": 1667 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 26, "probability": 1666 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SPHEAL", + "species": "MONSTER_SPHEAL", "level": 22, "probability": 1667 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -294,42 +294,42 @@ "name": "pokemon_found_out515", "pokemon": [ { - "species": "SPECIES_KRABBY", + "species": "MONSTER_KRABBY", "level": 32, "probability": 1667 }, { - "species": "SPECIES_HORSEA", + "species": "MONSTER_HORSEA", "level": 29, "probability": 1666 }, { - "species": "SPECIES_STARYU", + "species": "MONSTER_STARYU", "level": 28, "probability": 1667 }, { - "species": "SPECIES_REMORAID", + "species": "MONSTER_REMORAID", "level": 28, "probability": 1667 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 26, "probability": 1666 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SPHEAL", + "species": "MONSTER_SPHEAL", "level": 22, "probability": 1667 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -339,47 +339,47 @@ "name": "pokemon_found_out516", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 32, "probability": 1633 }, { - "species": "SPECIES_KRABBY", + "species": "MONSTER_KRABBY", "level": 32, "probability": 1632 }, { - "species": "SPECIES_HORSEA", + "species": "MONSTER_HORSEA", "level": 29, "probability": 1633 }, { - "species": "SPECIES_STARYU", + "species": "MONSTER_STARYU", "level": 28, "probability": 1633 }, { - "species": "SPECIES_VAPOREON", + "species": "MONSTER_VAPOREON", "level": 22, "probability": 204 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 1632 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 26, "probability": 1633 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -389,37 +389,37 @@ "name": "pokemon_found_out517", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 32, "probability": 2000 }, { - "species": "SPECIES_KRABBY", + "species": "MONSTER_KRABBY", "level": 32, "probability": 2000 }, { - "species": "SPECIES_STARYU", + "species": "MONSTER_STARYU", "level": 28, "probability": 2000 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 2000 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 26, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -429,32 +429,32 @@ "name": "pokemon_found_out518", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 32, "probability": 2500 }, { - "species": "SPECIES_STARYU", + "species": "MONSTER_STARYU", "level": 28, "probability": 2500 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 2500 }, { - "species": "SPECIES_KABUTOPS", + "species": "MONSTER_KABUTOPS", "level": 33, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -464,32 +464,32 @@ "name": "pokemon_found_out519", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 32, "probability": 2500 }, { - "species": "SPECIES_KINGLER", + "species": "MONSTER_KINGLER", "level": 35, "probability": 2500 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 2500 }, { - "species": "SPECIES_KABUTOPS", + "species": "MONSTER_KABUTOPS", "level": 33, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -499,42 +499,42 @@ "name": "pokemon_found_out520", "pokemon": [ { - "species": "SPECIES_SLOWBRO", + "species": "MONSTER_SLOWBRO", "level": 27, "probability": 1951 }, { - "species": "SPECIES_KINGLER", + "species": "MONSTER_KINGLER", "level": 35, "probability": 1951 }, { - "species": "SPECIES_SEADRA", + "species": "MONSTER_SEADRA", "level": 20, "probability": 1952 }, { - "species": "SPECIES_VAPOREON", + "species": "MONSTER_VAPOREON", "level": 22, "probability": 244 }, { - "species": "SPECIES_KABUTOPS", + "species": "MONSTER_KABUTOPS", "level": 33, "probability": 1951 }, { - "species": "SPECIES_CARVANHA", + "species": "MONSTER_CARVANHA", "level": 27, "probability": 1951 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/FaroffSea/pokemon_found.json b/data/dungeon/FaroffSea/pokemon_found.json index 5381395bb..5e946702d 100644 --- a/data/dungeon/FaroffSea/pokemon_found.json +++ b/data/dungeon/FaroffSea/pokemon_found.json @@ -4,27 +4,27 @@ "name": "pokemon_found_out689", "pokemon": [ { - "species": "SPECIES_SHELLDER", + "species": "MONSTER_SHELLDER", "level": 25, "probability": 3810 }, { - "species": "SPECIES_KRABBY", + "species": "MONSTER_KRABBY", "level": 32, "probability": 2380 }, { - "species": "SPECIES_OMANYTE", + "species": "MONSTER_OMANYTE", "level": 30, "probability": 3810 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -34,37 +34,37 @@ "name": "pokemon_found_out690", "pokemon": [ { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 2162 }, { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 18, "probability": 2162 }, { - "species": "SPECIES_SHELLDER", + "species": "MONSTER_SHELLDER", "level": 25, "probability": 2162 }, { - "species": "SPECIES_KRABBY", + "species": "MONSTER_KRABBY", "level": 32, "probability": 1352 }, { - "species": "SPECIES_OMANYTE", + "species": "MONSTER_OMANYTE", "level": 30, "probability": 2162 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -74,32 +74,32 @@ "name": "pokemon_found_out691", "pokemon": [ { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 2759 }, { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 18, "probability": 2758 }, { - "species": "SPECIES_KRABBY", + "species": "MONSTER_KRABBY", "level": 32, "probability": 1724 }, { - "species": "SPECIES_OMANYTE", + "species": "MONSTER_OMANYTE", "level": 30, "probability": 2759 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -109,32 +109,32 @@ "name": "pokemon_found_out692", "pokemon": [ { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 2759 }, { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 18, "probability": 2758 }, { - "species": "SPECIES_KRABBY", + "species": "MONSTER_KRABBY", "level": 32, "probability": 1724 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SPHEAL", + "species": "MONSTER_SPHEAL", "level": 22, "probability": 2759 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -144,27 +144,27 @@ "name": "pokemon_found_out693", "pokemon": [ { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 3333 }, { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 18, "probability": 3334 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SPHEAL", + "species": "MONSTER_SPHEAL", "level": 22, "probability": 3333 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -174,32 +174,32 @@ "name": "pokemon_found_out694", "pokemon": [ { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 2500 }, { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 18, "probability": 2500 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 26, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SPHEAL", + "species": "MONSTER_SPHEAL", "level": 22, "probability": 2500 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -209,22 +209,22 @@ "name": "pokemon_found_out695", "pokemon": [ { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 26, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SPHEAL", + "species": "MONSTER_SPHEAL", "level": 22, "probability": 5000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -234,32 +234,32 @@ "name": "pokemon_found_out696", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 20, "probability": 3200 }, { - "species": "SPECIES_VAPOREON", + "species": "MONSTER_VAPOREON", "level": 25, "probability": 400 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 3200 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 26, "probability": 3200 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -269,27 +269,27 @@ "name": "pokemon_found_out697", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 20, "probability": 3333 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 3334 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 26, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -299,22 +299,22 @@ "name": "pokemon_found_out698", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 20, "probability": 5000 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -324,27 +324,27 @@ "name": "pokemon_found_out699", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 20, "probability": 3333 }, { - "species": "SPECIES_KINGLER", + "species": "MONSTER_KINGLER", "level": 35, "probability": 3334 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -354,32 +354,32 @@ "name": "pokemon_found_out700", "pokemon": [ { - "species": "SPECIES_SLOWBRO", + "species": "MONSTER_SLOWBRO", "level": 27, "probability": 3200 }, { - "species": "SPECIES_KINGLER", + "species": "MONSTER_KINGLER", "level": 35, "probability": 3200 }, { - "species": "SPECIES_VAPOREON", + "species": "MONSTER_VAPOREON", "level": 25, "probability": 400 }, { - "species": "SPECIES_CARVANHA", + "species": "MONSTER_CARVANHA", "level": 27, "probability": 3200 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -389,27 +389,27 @@ "name": "pokemon_found_out701", "pokemon": [ { - "species": "SPECIES_SLOWBRO", + "species": "MONSTER_SLOWBRO", "level": 27, "probability": 3333 }, { - "species": "SPECIES_KINGLER", + "species": "MONSTER_KINGLER", "level": 35, "probability": 3334 }, { - "species": "SPECIES_CARVANHA", + "species": "MONSTER_CARVANHA", "level": 27, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -419,42 +419,42 @@ "name": "pokemon_found_out702", "pokemon": [ { - "species": "SPECIES_SLOWBRO", + "species": "MONSTER_SLOWBRO", "level": 27, "probability": 1667 }, { - "species": "SPECIES_KINGLER", + "species": "MONSTER_KINGLER", "level": 35, "probability": 1666 }, { - "species": "SPECIES_STARMIE", + "species": "MONSTER_STARMIE", "level": 22, "probability": 1667 }, { - "species": "SPECIES_CARVANHA", + "species": "MONSTER_CARVANHA", "level": 27, "probability": 1667 }, { - "species": "SPECIES_ARMALDO", + "species": "MONSTER_ARMALDO", "level": 33, "probability": 1666 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SEALEO", + "species": "MONSTER_SEALEO", "level": 24, "probability": 1667 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -464,37 +464,37 @@ "name": "pokemon_found_out703", "pokemon": [ { - "species": "SPECIES_SLOWBRO", + "species": "MONSTER_SLOWBRO", "level": 27, "probability": 2000 }, { - "species": "SPECIES_STARMIE", + "species": "MONSTER_STARMIE", "level": 22, "probability": 2000 }, { - "species": "SPECIES_CARVANHA", + "species": "MONSTER_CARVANHA", "level": 27, "probability": 2000 }, { - "species": "SPECIES_ARMALDO", + "species": "MONSTER_ARMALDO", "level": 33, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SEALEO", + "species": "MONSTER_SEALEO", "level": 24, "probability": 2000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -504,32 +504,32 @@ "name": "pokemon_found_out704", "pokemon": [ { - "species": "SPECIES_STARMIE", + "species": "MONSTER_STARMIE", "level": 22, "probability": 2500 }, { - "species": "SPECIES_CARVANHA", + "species": "MONSTER_CARVANHA", "level": 27, "probability": 2500 }, { - "species": "SPECIES_ARMALDO", + "species": "MONSTER_ARMALDO", "level": 33, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SEALEO", + "species": "MONSTER_SEALEO", "level": 24, "probability": 2500 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -539,27 +539,27 @@ "name": "pokemon_found_out705", "pokemon": [ { - "species": "SPECIES_STARMIE", + "species": "MONSTER_STARMIE", "level": 22, "probability": 3333 }, { - "species": "SPECIES_ARMALDO", + "species": "MONSTER_ARMALDO", "level": 33, "probability": 3334 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SEALEO", + "species": "MONSTER_SEALEO", "level": 24, "probability": 3333 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -569,32 +569,32 @@ "name": "pokemon_found_out706", "pokemon": [ { - "species": "SPECIES_STARMIE", + "species": "MONSTER_STARMIE", "level": 22, "probability": 2500 }, { - "species": "SPECIES_WAILMER", + "species": "MONSTER_WAILMER", "level": 35, "probability": 2500 }, { - "species": "SPECIES_ARMALDO", + "species": "MONSTER_ARMALDO", "level": 33, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SEALEO", + "species": "MONSTER_SEALEO", "level": 24, "probability": 2500 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -604,27 +604,27 @@ "name": "pokemon_found_out707", "pokemon": [ { - "species": "SPECIES_LAPRAS", + "species": "MONSTER_LAPRAS", "level": 30, "probability": 2000 }, { - "species": "SPECIES_WAILMER", + "species": "MONSTER_WAILMER", "level": 35, "probability": 4000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_LUVDISC", + "species": "MONSTER_LUVDISC", "level": 30, "probability": 4000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -634,42 +634,42 @@ "name": "pokemon_found_out708", "pokemon": [ { - "species": "SPECIES_LAPRAS", + "species": "MONSTER_LAPRAS", "level": 30, "probability": 1176 }, { - "species": "SPECIES_VAPOREON", + "species": "MONSTER_VAPOREON", "level": 25, "probability": 295 }, { - "species": "SPECIES_DRATINI", + "species": "MONSTER_DRATINI", "level": 30, "probability": 1470 }, { - "species": "SPECIES_SLOWKING", + "species": "MONSTER_SLOWKING", "level": 38, "probability": 2353 }, { - "species": "SPECIES_WAILMER", + "species": "MONSTER_WAILMER", "level": 35, "probability": 2353 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_LUVDISC", + "species": "MONSTER_LUVDISC", "level": 30, "probability": 2353 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -679,27 +679,27 @@ "name": "pokemon_found_out709", "pokemon": [ { - "species": "SPECIES_DRATINI", + "species": "MONSTER_DRATINI", "level": 30, "probability": 2381 }, { - "species": "SPECIES_SLOWKING", + "species": "MONSTER_SLOWKING", "level": 38, "probability": 3809 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_LUVDISC", + "species": "MONSTER_LUVDISC", "level": 30, "probability": 3810 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -709,32 +709,32 @@ "name": "pokemon_found_out710", "pokemon": [ { - "species": "SPECIES_DEWGONG", + "species": "MONSTER_DEWGONG", "level": 35, "probability": 2759 }, { - "species": "SPECIES_DRATINI", + "species": "MONSTER_DRATINI", "level": 30, "probability": 1724 }, { - "species": "SPECIES_SLOWKING", + "species": "MONSTER_SLOWKING", "level": 38, "probability": 2758 }, { - "species": "SPECIES_OCTILLERY", + "species": "MONSTER_OCTILLERY", "level": 30, "probability": 2759 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -744,42 +744,42 @@ "name": "pokemon_found_out711", "pokemon": [ { - "species": "SPECIES_DEWGONG", + "species": "MONSTER_DEWGONG", "level": 35, "probability": 1951 }, { - "species": "SPECIES_MUK", + "species": "MONSTER_MUK", "level": 36, "probability": 1951 }, { - "species": "SPECIES_VAPOREON", + "species": "MONSTER_VAPOREON", "level": 25, "probability": 244 }, { - "species": "SPECIES_OCTILLERY", + "species": "MONSTER_OCTILLERY", "level": 30, "probability": 1952 }, { - "species": "SPECIES_SHARPEDO", + "species": "MONSTER_SHARPEDO", "level": 35, "probability": 1951 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_WALREIN", + "species": "MONSTER_WALREIN", "level": 28, "probability": 1951 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -789,32 +789,32 @@ "name": "pokemon_found_out712", "pokemon": [ { - "species": "SPECIES_MUK", + "species": "MONSTER_MUK", "level": 36, "probability": 2500 }, { - "species": "SPECIES_SHARPEDO", + "species": "MONSTER_SHARPEDO", "level": 35, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_WALREIN", + "species": "MONSTER_WALREIN", "level": 28, "probability": 2500 }, { - "species": "SPECIES_CLAMPERL", + "species": "MONSTER_CLAMPERL", "level": 35, "probability": 2500 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -824,32 +824,32 @@ "name": "pokemon_found_out713", "pokemon": [ { - "species": "SPECIES_VAPOREON", + "species": "MONSTER_VAPOREON", "level": 25, "probability": 400 }, { - "species": "SPECIES_KINGDRA", + "species": "MONSTER_KINGDRA", "level": 40, "probability": 3200 }, { - "species": "SPECIES_WAILORD", + "species": "MONSTER_WAILORD", "level": 40, "probability": 3200 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_CLAMPERL", + "species": "MONSTER_CLAMPERL", "level": 35, "probability": 3200 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -859,27 +859,27 @@ "name": "pokemon_found_out714", "pokemon": [ { - "species": "SPECIES_KINGDRA", + "species": "MONSTER_KINGDRA", "level": 40, "probability": 3333 }, { - "species": "SPECIES_WAILORD", + "species": "MONSTER_WAILORD", "level": 40, "probability": 3334 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_CLAMPERL", + "species": "MONSTER_CLAMPERL", "level": 35, "probability": 3333 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/FieryField/pokemon_found.json b/data/dungeon/FieryField/pokemon_found.json index 8210d28ed..ab36599e8 100644 --- a/data/dungeon/FieryField/pokemon_found.json +++ b/data/dungeon/FieryField/pokemon_found.json @@ -4,42 +4,42 @@ "name": "pokemon_found_out381", "pokemon": [ { - "species": "SPECIES_VULPIX", + "species": "MONSTER_VULPIX", "level": 32, "probability": 2759 }, { - "species": "SPECIES_NINETALES", + "species": "MONSTER_NINETALES", "level": 50, "probability": 0 }, { - "species": "SPECIES_URSARING", + "species": "MONSTER_URSARING", "level": 25, "probability": 2758 }, { - "species": "SPECIES_SLUGMA", + "species": "MONSTER_SLUGMA", "level": 28, "probability": 2759 }, { - "species": "SPECIES_NUMEL", + "species": "MONSTER_NUMEL", "level": 35, "probability": 1724 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 37, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -49,47 +49,47 @@ "name": "pokemon_found_out382", "pokemon": [ { - "species": "SPECIES_VULPIX", + "species": "MONSTER_VULPIX", "level": 32, "probability": 2051 }, { - "species": "SPECIES_NINETALES", + "species": "MONSTER_NINETALES", "level": 50, "probability": 0 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 33, "probability": 2564 }, { - "species": "SPECIES_URSARING", + "species": "MONSTER_URSARING", "level": 25, "probability": 2052 }, { - "species": "SPECIES_SLUGMA", + "species": "MONSTER_SLUGMA", "level": 28, "probability": 2051 }, { - "species": "SPECIES_NUMEL", + "species": "MONSTER_NUMEL", "level": 35, "probability": 1282 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 37, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -99,37 +99,37 @@ "name": "pokemon_found_out383", "pokemon": [ { - "species": "SPECIES_CHARMANDER", + "species": "MONSTER_CHARMANDER", "level": 30, "probability": 1333 }, { - "species": "SPECIES_CHARMELEON", + "species": "MONSTER_CHARMELEON", "level": 30, "probability": 0 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 33, "probability": 3334 }, { - "species": "SPECIES_URSARING", + "species": "MONSTER_URSARING", "level": 25, "probability": 2666 }, { - "species": "SPECIES_SLUGMA", + "species": "MONSTER_SLUGMA", "level": 28, "probability": 2667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -139,32 +139,32 @@ "name": "pokemon_found_out384", "pokemon": [ { - "species": "SPECIES_CHARMANDER", + "species": "MONSTER_CHARMANDER", "level": 30, "probability": 1818 }, { - "species": "SPECIES_CHARMELEON", + "species": "MONSTER_CHARMELEON", "level": 30, "probability": 0 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 33, "probability": 4546 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 31, "probability": 3636 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -174,27 +174,27 @@ "name": "pokemon_found_out385", "pokemon": [ { - "species": "SPECIES_CHARMANDER", + "species": "MONSTER_CHARMANDER", "level": 30, "probability": 3333 }, { - "species": "SPECIES_CHARMELEON", + "species": "MONSTER_CHARMELEON", "level": 30, "probability": 0 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 31, "probability": 6667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -204,22 +204,22 @@ "name": "pokemon_found_out386", "pokemon": [ { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 31, "probability": 6154 }, { - "species": "SPECIES_TORKOAL", + "species": "MONSTER_TORKOAL", "level": 33, "probability": 3846 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -229,32 +229,32 @@ "name": "pokemon_found_out387", "pokemon": [ { - "species": "SPECIES_RAPIDASH", + "species": "MONSTER_RAPIDASH", "level": 30, "probability": 2667 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 40, "probability": 666 }, { - "species": "SPECIES_FLAREON", + "species": "MONSTER_FLAREON", "level": 22, "probability": 5000 }, { - "species": "SPECIES_TORKOAL", + "species": "MONSTER_TORKOAL", "level": 33, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -264,37 +264,37 @@ "name": "pokemon_found_out388", "pokemon": [ { - "species": "SPECIES_RAPIDASH", + "species": "MONSTER_RAPIDASH", "level": 30, "probability": 1951 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 40, "probability": 488 }, { - "species": "SPECIES_FLAREON", + "species": "MONSTER_FLAREON", "level": 22, "probability": 3659 }, { - "species": "SPECIES_QUILAVA", + "species": "MONSTER_QUILAVA", "level": 25, "probability": 1951 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 37, "probability": 1951 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -304,37 +304,37 @@ "name": "pokemon_found_out389", "pokemon": [ { - "species": "SPECIES_MACHOKE", + "species": "MONSTER_MACHOKE", "level": 24, "probability": 2353 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 40, "probability": 588 }, { - "species": "SPECIES_QUILAVA", + "species": "MONSTER_QUILAVA", "level": 25, "probability": 2353 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 30, "probability": 2353 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 37, "probability": 2353 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -344,32 +344,32 @@ "name": "pokemon_found_out390", "pokemon": [ { - "species": "SPECIES_MACHOKE", + "species": "MONSTER_MACHOKE", "level": 24, "probability": 2500 }, { - "species": "SPECIES_QUILAVA", + "species": "MONSTER_QUILAVA", "level": 25, "probability": 2500 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 30, "probability": 2500 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 37, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -379,32 +379,32 @@ "name": "pokemon_found_out391", "pokemon": [ { - "species": "SPECIES_MACHOKE", + "species": "MONSTER_MACHOKE", "level": 24, "probability": 2500 }, { - "species": "SPECIES_QUILAVA", + "species": "MONSTER_QUILAVA", "level": 25, "probability": 2500 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 30, "probability": 2500 }, { - "species": "SPECIES_COMBUSKEN", + "species": "MONSTER_COMBUSKEN", "level": 26, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -414,27 +414,27 @@ "name": "pokemon_found_out392", "pokemon": [ { - "species": "SPECIES_MACHOKE", + "species": "MONSTER_MACHOKE", "level": 24, "probability": 3333 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 30, "probability": 3334 }, { - "species": "SPECIES_COMBUSKEN", + "species": "MONSTER_COMBUSKEN", "level": 26, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -444,27 +444,27 @@ "name": "pokemon_found_out393", "pokemon": [ { - "species": "SPECIES_CHARMELEON", + "species": "MONSTER_CHARMELEON", "level": 30, "probability": 5000 }, { - "species": "SPECIES_CHARIZARD", + "species": "MONSTER_CHARIZARD", "level": 55, "probability": 0 }, { - "species": "SPECIES_COMBUSKEN", + "species": "MONSTER_COMBUSKEN", "level": 26, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -474,32 +474,32 @@ "name": "pokemon_found_out394", "pokemon": [ { - "species": "SPECIES_CHARMELEON", + "species": "MONSTER_CHARMELEON", "level": 30, "probability": 0 }, { - "species": "SPECIES_CHARIZARD", + "species": "MONSTER_CHARIZARD", "level": 55, "probability": 0 }, { - "species": "SPECIES_ENTEI", + "species": "MONSTER_ENTEI", "level": 45, "probability": 10000 }, { - "species": "SPECIES_COMBUSKEN", + "species": "MONSTER_COMBUSKEN", "level": 26, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/FrostyForest/pokemon_found.json b/data/dungeon/FrostyForest/pokemon_found.json index c35cf48c5..db2f767f1 100644 --- a/data/dungeon/FrostyForest/pokemon_found.json +++ b/data/dungeon/FrostyForest/pokemon_found.json @@ -2,22 +2,22 @@ "tables": [{ "name": "FrostyForest_1F_2F_Pokemon", "pokemon": [{ - "species": "SPECIES_FURRET", + "species": "MONSTER_FURRET", "level": 14, "probability": 6250 }, { - "species": "SPECIES_AZURILL", + "species": "MONSTER_AZURILL", "level": 11, "probability": 3750 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -27,27 +27,27 @@ "name": "FrostyForest_3F_Pokemon", "pokemon": [ { - "species": "SPECIES_FURRET", + "species": "MONSTER_FURRET", "level": 14, "probability": 4167 }, { - "species": "SPECIES_AZURILL", + "species": "MONSTER_AZURILL", "level": 11, "probability": 2500 }, { - "species": "SPECIES_NOSEPASS", + "species": "MONSTER_NOSEPASS", "level": 13, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -57,32 +57,32 @@ "name": "FrostyForest_4F_Pokemon", "pokemon": [ { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 1429 }, { - "species": "SPECIES_FURRET", + "species": "MONSTER_FURRET", "level": 14, "probability": 3571 }, { - "species": "SPECIES_PILOSWINE", + "species": "MONSTER_PILOSWINE", "level": 14, "probability": 2143 }, { - "species": "SPECIES_NOSEPASS", + "species": "MONSTER_NOSEPASS", "level": 13, "probability": 2857 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -91,27 +91,27 @@ "name": "FrostyForest_5F_6F_Pokemon", "pokemon": [ { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 2222 }, { - "species": "SPECIES_PILOSWINE", + "species": "MONSTER_PILOSWINE", "level": 14, "probability": 3334 }, { - "species": "SPECIES_NOSEPASS", + "species": "MONSTER_NOSEPASS", "level": 13, "probability": 4444 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -120,27 +120,27 @@ "name": "FrostyForest_7F_Pokemon", "pokemon": [ { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 2000 }, { - "species": "SPECIES_MIGHTYENA", + "species": "MONSTER_MIGHTYENA", "level": 17, "probability": 4000 }, { - "species": "SPECIES_LAIRON", + "species": "MONSTER_LAIRON", "level": 17, "probability": 4000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -149,32 +149,32 @@ "name": "FrostyForest_8F_9F_Pokemon", "pokemon": [ { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 1600 }, { - "species": "SPECIES_MIGHTYENA", + "species": "MONSTER_MIGHTYENA", "level": 17, "probability": 3200 }, { - "species": "SPECIES_LAIRON", + "species": "MONSTER_LAIRON", "level": 17, "probability": 3200 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SNORUNT", + "species": "MONSTER_SNORUNT", "level": 20, "probability": 2000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/FrostyGrotto/pokemon_found.json b/data/dungeon/FrostyGrotto/pokemon_found.json index 241f0940c..6bd5c4642 100644 --- a/data/dungeon/FrostyGrotto/pokemon_found.json +++ b/data/dungeon/FrostyGrotto/pokemon_found.json @@ -3,22 +3,22 @@ "name": "FrostyGrotto_1F_4F_Pokemon", "pokemon": [ { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 16, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_METANG", + "species": "MONSTER_METANG", "level": 17, "probability": 5000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -27,17 +27,17 @@ "name": "FrostyGrotto_5F_Pokemon", "pokemon": [ { - "species": "SPECIES_ARTICUNO", + "species": "MONSTER_ARTICUNO", "level": 33, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/GrandSea/pokemon_found.json b/data/dungeon/GrandSea/pokemon_found.json index 095b05c6e..e42e036da 100644 --- a/data/dungeon/GrandSea/pokemon_found.json +++ b/data/dungeon/GrandSea/pokemon_found.json @@ -4,27 +4,27 @@ "name": "pokemon_found_out460", "pokemon": [ { - "species": "SPECIES_TENTACOOL", + "species": "MONSTER_TENTACOOL", "level": 25, "probability": 3333 }, { - "species": "SPECIES_QWILFISH", + "species": "MONSTER_QWILFISH", "level": 30, "probability": 3334 }, { - "species": "SPECIES_WINGULL", + "species": "MONSTER_WINGULL", "level": 23, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -34,37 +34,37 @@ "name": "pokemon_found_out461", "pokemon": [ { - "species": "SPECIES_TENTACOOL", + "species": "MONSTER_TENTACOOL", "level": 25, "probability": 2000 }, { - "species": "SPECIES_KABUTO", + "species": "MONSTER_KABUTO", "level": 28, "probability": 2000 }, { - "species": "SPECIES_QWILFISH", + "species": "MONSTER_QWILFISH", "level": 30, "probability": 2000 }, { - "species": "SPECIES_CORSOLA", + "species": "MONSTER_CORSOLA", "level": 27, "probability": 2000 }, { - "species": "SPECIES_WINGULL", + "species": "MONSTER_WINGULL", "level": 23, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -74,37 +74,37 @@ "name": "pokemon_found_out462", "pokemon": [ { - "species": "SPECIES_TENTACOOL", + "species": "MONSTER_TENTACOOL", "level": 25, "probability": 2000 }, { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 2000 }, { - "species": "SPECIES_KABUTO", + "species": "MONSTER_KABUTO", "level": 28, "probability": 2000 }, { - "species": "SPECIES_QWILFISH", + "species": "MONSTER_QWILFISH", "level": 30, "probability": 2000 }, { - "species": "SPECIES_CORSOLA", + "species": "MONSTER_CORSOLA", "level": 27, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -114,37 +114,37 @@ "name": "pokemon_found_out463", "pokemon": [ { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 2424 }, { - "species": "SPECIES_HORSEA", + "species": "MONSTER_HORSEA", "level": 29, "probability": 2424 }, { - "species": "SPECIES_KABUTO", + "species": "MONSTER_KABUTO", "level": 28, "probability": 2425 }, { - "species": "SPECIES_DRAGONITE", + "species": "MONSTER_DRAGONITE", "level": 24, "probability": 303 }, { - "species": "SPECIES_CORSOLA", + "species": "MONSTER_CORSOLA", "level": 27, "probability": 2424 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -154,32 +154,32 @@ "name": "pokemon_found_out464", "pokemon": [ { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 2500 }, { - "species": "SPECIES_HORSEA", + "species": "MONSTER_HORSEA", "level": 29, "probability": 2500 }, { - "species": "SPECIES_KABUTO", + "species": "MONSTER_KABUTO", "level": 28, "probability": 2500 }, { - "species": "SPECIES_CORSOLA", + "species": "MONSTER_CORSOLA", "level": 27, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -189,27 +189,27 @@ "name": "pokemon_found_out465", "pokemon": [ { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 3333 }, { - "species": "SPECIES_HORSEA", + "species": "MONSTER_HORSEA", "level": 29, "probability": 3334 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 26, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -219,37 +219,37 @@ "name": "pokemon_found_out466", "pokemon": [ { - "species": "SPECIES_KRABBY", + "species": "MONSTER_KRABBY", "level": 32, "probability": 2424 }, { - "species": "SPECIES_HORSEA", + "species": "MONSTER_HORSEA", "level": 29, "probability": 2424 }, { - "species": "SPECIES_STARYU", + "species": "MONSTER_STARYU", "level": 28, "probability": 2425 }, { - "species": "SPECIES_DRAGONITE", + "species": "MONSTER_DRAGONITE", "level": 24, "probability": 303 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 26, "probability": 2424 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -259,32 +259,32 @@ "name": "pokemon_found_out467", "pokemon": [ { - "species": "SPECIES_KRABBY", + "species": "MONSTER_KRABBY", "level": 32, "probability": 2500 }, { - "species": "SPECIES_HORSEA", + "species": "MONSTER_HORSEA", "level": 29, "probability": 2500 }, { - "species": "SPECIES_STARYU", + "species": "MONSTER_STARYU", "level": 28, "probability": 2500 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 26, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -294,42 +294,42 @@ "name": "pokemon_found_out468", "pokemon": [ { - "species": "SPECIES_KRABBY", + "species": "MONSTER_KRABBY", "level": 32, "probability": 2353 }, { - "species": "SPECIES_HORSEA", + "species": "MONSTER_HORSEA", "level": 29, "probability": 2353 }, { - "species": "SPECIES_STARYU", + "species": "MONSTER_STARYU", "level": 28, "probability": 2353 }, { - "species": "SPECIES_VAPOREON", + "species": "MONSTER_VAPOREON", "level": 22, "probability": 294 }, { - "species": "SPECIES_DRAGONITE", + "species": "MONSTER_DRAGONITE", "level": 24, "probability": 294 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 26, "probability": 2353 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -339,27 +339,27 @@ "name": "pokemon_found_out469", "pokemon": [ { - "species": "SPECIES_TENTACRUEL", + "species": "MONSTER_TENTACRUEL", "level": 33, "probability": 3333 }, { - "species": "SPECIES_STARYU", + "species": "MONSTER_STARYU", "level": 28, "probability": 3334 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 26, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -369,32 +369,32 @@ "name": "pokemon_found_out470", "pokemon": [ { - "species": "SPECIES_TENTACRUEL", + "species": "MONSTER_TENTACRUEL", "level": 33, "probability": 2500 }, { - "species": "SPECIES_KINGLER", + "species": "MONSTER_KINGLER", "level": 35, "probability": 2500 }, { - "species": "SPECIES_STARYU", + "species": "MONSTER_STARYU", "level": 28, "probability": 2500 }, { - "species": "SPECIES_KABUTOPS", + "species": "MONSTER_KABUTOPS", "level": 33, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -404,42 +404,42 @@ "name": "pokemon_found_out471", "pokemon": [ { - "species": "SPECIES_TENTACRUEL", + "species": "MONSTER_TENTACRUEL", "level": 33, "probability": 1951 }, { - "species": "SPECIES_SLOWBRO", + "species": "MONSTER_SLOWBRO", "level": 27, "probability": 1951 }, { - "species": "SPECIES_KINGLER", + "species": "MONSTER_KINGLER", "level": 35, "probability": 1952 }, { - "species": "SPECIES_STARYU", + "species": "MONSTER_STARYU", "level": 28, "probability": 1951 }, { - "species": "SPECIES_KABUTOPS", + "species": "MONSTER_KABUTOPS", "level": 33, "probability": 1951 }, { - "species": "SPECIES_DRAGONITE", + "species": "MONSTER_DRAGONITE", "level": 24, "probability": 244 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -449,32 +449,32 @@ "name": "pokemon_found_out472", "pokemon": [ { - "species": "SPECIES_TENTACRUEL", + "species": "MONSTER_TENTACRUEL", "level": 33, "probability": 2500 }, { - "species": "SPECIES_SLOWBRO", + "species": "MONSTER_SLOWBRO", "level": 27, "probability": 2500 }, { - "species": "SPECIES_KINGLER", + "species": "MONSTER_KINGLER", "level": 35, "probability": 2500 }, { - "species": "SPECIES_KABUTOPS", + "species": "MONSTER_KABUTOPS", "level": 33, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -484,37 +484,37 @@ "name": "pokemon_found_out473", "pokemon": [ { - "species": "SPECIES_TENTACRUEL", + "species": "MONSTER_TENTACRUEL", "level": 33, "probability": 2000 }, { - "species": "SPECIES_SLOWBRO", + "species": "MONSTER_SLOWBRO", "level": 27, "probability": 2000 }, { - "species": "SPECIES_KINGLER", + "species": "MONSTER_KINGLER", "level": 35, "probability": 2000 }, { - "species": "SPECIES_SEADRA", + "species": "MONSTER_SEADRA", "level": 20, "probability": 2000 }, { - "species": "SPECIES_KABUTOPS", + "species": "MONSTER_KABUTOPS", "level": 33, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -524,47 +524,47 @@ "name": "pokemon_found_out474", "pokemon": [ { - "species": "SPECIES_TENTACRUEL", + "species": "MONSTER_TENTACRUEL", "level": 33, "probability": 1633 }, { - "species": "SPECIES_SLOWBRO", + "species": "MONSTER_SLOWBRO", "level": 27, "probability": 1632 }, { - "species": "SPECIES_KINGLER", + "species": "MONSTER_KINGLER", "level": 35, "probability": 1633 }, { - "species": "SPECIES_SEADRA", + "species": "MONSTER_SEADRA", "level": 20, "probability": 1633 }, { - "species": "SPECIES_VAPOREON", + "species": "MONSTER_VAPOREON", "level": 22, "probability": 204 }, { - "species": "SPECIES_KABUTOPS", + "species": "MONSTER_KABUTOPS", "level": 33, "probability": 1632 }, { - "species": "SPECIES_MANTINE", + "species": "MONSTER_MANTINE", "level": 15, "probability": 1633 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/GreatCanyon/pokemon_found.json b/data/dungeon/GreatCanyon/pokemon_found.json index bf2dde4e8..5ebec7d8c 100644 --- a/data/dungeon/GreatCanyon/pokemon_found.json +++ b/data/dungeon/GreatCanyon/pokemon_found.json @@ -3,32 +3,32 @@ "name": "GreatCanyon_1F_3F_Pokemon", "pokemon": [ { - "species": "SPECIES_DODUO", + "species": "MONSTER_DODUO", "level": 14, "probability": 1429 }, { - "species": "SPECIES_SKIPLOOM", + "species": "MONSTER_SKIPLOOM", "level": 13, "probability": 2857 }, { - "species": "SPECIES_DUNSPARCE", + "species": "MONSTER_DUNSPARCE", "level": 13, "probability": 2857 }, { - "species": "SPECIES_PHANPY", + "species": "MONSTER_PHANPY", "level": 14, "probability": 2857 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -37,27 +37,27 @@ "name": "GreatCanyon_4F_Pokemon", "pokemon": [ { - "species": "SPECIES_VILEPLUME", + "species": "MONSTER_VILEPLUME", "level": 14, "probability": 4000 }, { - "species": "SPECIES_DODUO", + "species": "MONSTER_DODUO", "level": 14, "probability": 2000 }, { - "species": "SPECIES_BRELOOM", + "species": "MONSTER_BRELOOM", "level": 14, "probability": 4000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -66,32 +66,32 @@ "name": "GreatCanyon_5F_Pokemon", "pokemon": [ { - "species": "SPECIES_VILEPLUME", + "species": "MONSTER_VILEPLUME", "level": 14, "probability": 2500 }, { - "species": "SPECIES_MURKROW", + "species": "MONSTER_MURKROW", "level": 14, "probability": 2500 }, { - "species": "SPECIES_BRELOOM", + "species": "MONSTER_BRELOOM", "level": 14, "probability": 2500 }, { - "species": "SPECIES_CACTURNE", + "species": "MONSTER_CACTURNE", "level": 14, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -100,37 +100,37 @@ "name": "GreatCanyon_6F_Pokemon", "pokemon": [ { - "species": "SPECIES_VILEPLUME", + "species": "MONSTER_VILEPLUME", "level": 14, "probability": 2000 }, { - "species": "SPECIES_NOCTOWL", + "species": "MONSTER_NOCTOWL", "level": 14, "probability": 2000 }, { - "species": "SPECIES_MURKROW", + "species": "MONSTER_MURKROW", "level": 14, "probability": 2000 }, { - "species": "SPECIES_BRELOOM", + "species": "MONSTER_BRELOOM", "level": 14, "probability": 2000 }, { - "species": "SPECIES_CACTURNE", + "species": "MONSTER_CACTURNE", "level": 14, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -139,32 +139,32 @@ "name": "GreatCanyon_7F_Pokemon", "pokemon": [ { - "species": "SPECIES_NOCTOWL", + "species": "MONSTER_NOCTOWL", "level": 14, "probability": 2500 }, { - "species": "SPECIES_MURKROW", + "species": "MONSTER_MURKROW", "level": 14, "probability": 2500 }, { - "species": "SPECIES_HERACROSS", + "species": "MONSTER_HERACROSS", "level": 14, "probability": 2500 }, { - "species": "SPECIES_CACTURNE", + "species": "MONSTER_CACTURNE", "level": 14, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -173,32 +173,32 @@ "name": "GreatCanyon_8F_Pokemon", "pokemon": [ { - "species": "SPECIES_NOCTOWL", + "species": "MONSTER_NOCTOWL", "level": 14, "probability": 2500 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 14, "probability": 2500 }, { - "species": "SPECIES_HERACROSS", + "species": "MONSTER_HERACROSS", "level": 14, "probability": 2500 }, { - "species": "SPECIES_CACTURNE", + "species": "MONSTER_CACTURNE", "level": 14, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -207,22 +207,22 @@ "name": "GreatCanyon_9F_Pokemon", "pokemon": [ { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 14, "probability": 5000 }, { - "species": "SPECIES_HERACROSS", + "species": "MONSTER_HERACROSS", "level": 14, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -231,27 +231,27 @@ "name": "GreatCanyon_10F_11F_Pokemon", "pokemon": [ { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 15, "probability": 3077 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 14, "probability": 3077 }, { - "species": "SPECIES_HOUNDOOM", + "species": "MONSTER_HOUNDOOM", "level": 15, "probability": 3846 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -260,22 +260,22 @@ "name": "GreatCanyon_12F_Pokemon", "pokemon": [ { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 15, "probability": 4444 }, { - "species": "SPECIES_HOUNDOOM", + "species": "MONSTER_HOUNDOOM", "level": 15, "probability": 5556 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/HowlingForest/pokemon_found.json b/data/dungeon/HowlingForest/pokemon_found.json index 17eaa67fc..ed6a6501f 100644 --- a/data/dungeon/HowlingForest/pokemon_found.json +++ b/data/dungeon/HowlingForest/pokemon_found.json @@ -4,37 +4,37 @@ "name": "pokemon_found_out576", "pokemon": [ { - "species": "SPECIES_HOUNDOUR", + "species": "MONSTER_HOUNDOUR", "level": 18, "probability": 2462 }, { - "species": "SPECIES_POOCHYENA", + "species": "MONSTER_POOCHYENA", "level": 20, "probability": 2461 }, { - "species": "SPECIES_WHISMUR", + "species": "MONSTER_WHISMUR", "level": 15, "probability": 2462 }, { - "species": "SPECIES_AZURILL", + "species": "MONSTER_AZURILL", "level": 11, "probability": 153 }, { - "species": "SPECIES_SPOINK", + "species": "MONSTER_SPOINK", "level": 13, "probability": 2462 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -44,42 +44,42 @@ "name": "pokemon_found_out577", "pokemon": [ { - "species": "SPECIES_FURRET", + "species": "MONSTER_FURRET", "level": 18, "probability": 845 }, { - "species": "SPECIES_HOUNDOUR", + "species": "MONSTER_HOUNDOUR", "level": 18, "probability": 2254 }, { - "species": "SPECIES_POOCHYENA", + "species": "MONSTER_POOCHYENA", "level": 20, "probability": 2253 }, { - "species": "SPECIES_WHISMUR", + "species": "MONSTER_WHISMUR", "level": 15, "probability": 2254 }, { - "species": "SPECIES_AZURILL", + "species": "MONSTER_AZURILL", "level": 11, "probability": 140 }, { - "species": "SPECIES_SPOINK", + "species": "MONSTER_SPOINK", "level": 13, "probability": 2254 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -89,37 +89,37 @@ "name": "pokemon_found_out578", "pokemon": [ { - "species": "SPECIES_FURRET", + "species": "MONSTER_FURRET", "level": 18, "probability": 857 }, { - "species": "SPECIES_HOUNDOUR", + "species": "MONSTER_HOUNDOUR", "level": 18, "probability": 2286 }, { - "species": "SPECIES_POOCHYENA", + "species": "MONSTER_POOCHYENA", "level": 20, "probability": 2286 }, { - "species": "SPECIES_WHISMUR", + "species": "MONSTER_WHISMUR", "level": 15, "probability": 2285 }, { - "species": "SPECIES_SPOINK", + "species": "MONSTER_SPOINK", "level": 13, "probability": 2286 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -129,42 +129,42 @@ "name": "pokemon_found_out579", "pokemon": [ { - "species": "SPECIES_FURRET", + "species": "MONSTER_FURRET", "level": 18, "probability": 833 }, { - "species": "SPECIES_SHUCKLE", + "species": "MONSTER_SHUCKLE", "level": 15, "probability": 278 }, { - "species": "SPECIES_HOUNDOUR", + "species": "MONSTER_HOUNDOUR", "level": 18, "probability": 2222 }, { - "species": "SPECIES_POOCHYENA", + "species": "MONSTER_POOCHYENA", "level": 20, "probability": 2223 }, { - "species": "SPECIES_WHISMUR", + "species": "MONSTER_WHISMUR", "level": 15, "probability": 2222 }, { - "species": "SPECIES_SPOINK", + "species": "MONSTER_SPOINK", "level": 13, "probability": 2222 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -174,42 +174,42 @@ "name": "pokemon_found_out580", "pokemon": [ { - "species": "SPECIES_PIDGEY", + "species": "MONSTER_PIDGEY", "level": 1, "probability": 149 }, { - "species": "SPECIES_SHUCKLE", + "species": "MONSTER_SHUCKLE", "level": 15, "probability": 299 }, { - "species": "SPECIES_HOUNDOOM", + "species": "MONSTER_HOUNDOOM", "level": 20, "probability": 2388 }, { - "species": "SPECIES_MIGHTYENA", + "species": "MONSTER_MIGHTYENA", "level": 25, "probability": 2388 }, { - "species": "SPECIES_LOUDRED", + "species": "MONSTER_LOUDRED", "level": 10, "probability": 2388 }, { - "species": "SPECIES_GRUMPIG", + "species": "MONSTER_GRUMPIG", "level": 15, "probability": 2388 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -219,47 +219,47 @@ "name": "pokemon_found_out581", "pokemon": [ { - "species": "SPECIES_PIDGEY", + "species": "MONSTER_PIDGEY", "level": 1, "probability": 147 }, { - "species": "SPECIES_SNORLAX", + "species": "MONSTER_SNORLAX", "level": 25, "probability": 147 }, { - "species": "SPECIES_SHUCKLE", + "species": "MONSTER_SHUCKLE", "level": 15, "probability": 294 }, { - "species": "SPECIES_HOUNDOOM", + "species": "MONSTER_HOUNDOOM", "level": 20, "probability": 2353 }, { - "species": "SPECIES_MIGHTYENA", + "species": "MONSTER_MIGHTYENA", "level": 25, "probability": 2353 }, { - "species": "SPECIES_LOUDRED", + "species": "MONSTER_LOUDRED", "level": 10, "probability": 2353 }, { - "species": "SPECIES_GRUMPIG", + "species": "MONSTER_GRUMPIG", "level": 15, "probability": 2353 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -269,42 +269,42 @@ "name": "pokemon_found_out582", "pokemon": [ { - "species": "SPECIES_PIDGEY", + "species": "MONSTER_PIDGEY", "level": 1, "probability": 152 }, { - "species": "SPECIES_SNORLAX", + "species": "MONSTER_SNORLAX", "level": 25, "probability": 151 }, { - "species": "SPECIES_HOUNDOOM", + "species": "MONSTER_HOUNDOOM", "level": 20, "probability": 2424 }, { - "species": "SPECIES_MIGHTYENA", + "species": "MONSTER_MIGHTYENA", "level": 25, "probability": 2425 }, { - "species": "SPECIES_LOUDRED", + "species": "MONSTER_LOUDRED", "level": 10, "probability": 2424 }, { - "species": "SPECIES_GRUMPIG", + "species": "MONSTER_GRUMPIG", "level": 15, "probability": 2424 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -314,42 +314,42 @@ "name": "pokemon_found_out583", "pokemon": [ { - "species": "SPECIES_EXEGGCUTE", + "species": "MONSTER_EXEGGCUTE", "level": 20, "probability": 61 }, { - "species": "SPECIES_SNORLAX", + "species": "MONSTER_SNORLAX", "level": 25, "probability": 153 }, { - "species": "SPECIES_HOUNDOOM", + "species": "MONSTER_HOUNDOOM", "level": 20, "probability": 2447 }, { - "species": "SPECIES_MIGHTYENA", + "species": "MONSTER_MIGHTYENA", "level": 25, "probability": 2446 }, { - "species": "SPECIES_LOUDRED", + "species": "MONSTER_LOUDRED", "level": 10, "probability": 2447 }, { - "species": "SPECIES_GRUMPIG", + "species": "MONSTER_GRUMPIG", "level": 15, "probability": 2446 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -359,17 +359,17 @@ "name": "pokemon_found_out584", "pokemon": [ { - "species": "SPECIES_SMEARGLE", + "species": "MONSTER_SMEARGLE", "level": 25, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/JoyousTower/pokemon_found.json b/data/dungeon/JoyousTower/pokemon_found.json index 8ba4a4429..b0a13c94d 100644 --- a/data/dungeon/JoyousTower/pokemon_found.json +++ b/data/dungeon/JoyousTower/pokemon_found.json @@ -4,32 +4,32 @@ "name": "pokemon_found_out611", "pokemon": [ { - "species": "SPECIES_BULBASAUR", + "species": "MONSTER_BULBASAUR", "level": 1, "probability": 2759 }, { - "species": "SPECIES_JIGGLYPUFF", + "species": "MONSTER_JIGGLYPUFF", "level": 2, "probability": 1724 }, { - "species": "SPECIES_TREECKO", + "species": "MONSTER_TREECKO", "level": 1, "probability": 2758 }, { - "species": "SPECIES_WURMPLE", + "species": "MONSTER_WURMPLE", "level": 1, "probability": 2759 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -39,37 +39,37 @@ "name": "pokemon_found_out612", "pokemon": [ { - "species": "SPECIES_BULBASAUR", + "species": "MONSTER_BULBASAUR", "level": 1, "probability": 2162 }, { - "species": "SPECIES_JIGGLYPUFF", + "species": "MONSTER_JIGGLYPUFF", "level": 2, "probability": 1352 }, { - "species": "SPECIES_TREECKO", + "species": "MONSTER_TREECKO", "level": 1, "probability": 2162 }, { - "species": "SPECIES_WURMPLE", + "species": "MONSTER_WURMPLE", "level": 1, "probability": 2162 }, { - "species": "SPECIES_TAILLOW", + "species": "MONSTER_TAILLOW", "level": 1, "probability": 2162 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -79,37 +79,37 @@ "name": "pokemon_found_out613", "pokemon": [ { - "species": "SPECIES_BULBASAUR", + "species": "MONSTER_BULBASAUR", "level": 1, "probability": 2162 }, { - "species": "SPECIES_JIGGLYPUFF", + "species": "MONSTER_JIGGLYPUFF", "level": 2, "probability": 1352 }, { - "species": "SPECIES_PICHU", + "species": "MONSTER_PICHU", "level": 1, "probability": 2162 }, { - "species": "SPECIES_TREECKO", + "species": "MONSTER_TREECKO", "level": 1, "probability": 2162 }, { - "species": "SPECIES_TAILLOW", + "species": "MONSTER_TAILLOW", "level": 1, "probability": 2162 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -119,37 +119,37 @@ "name": "pokemon_found_out614", "pokemon": [ { - "species": "SPECIES_BULBASAUR", + "species": "MONSTER_BULBASAUR", "level": 1, "probability": 2000 }, { - "species": "SPECIES_DIGLETT", + "species": "MONSTER_DIGLETT", "level": 5, "probability": 2000 }, { - "species": "SPECIES_PICHU", + "species": "MONSTER_PICHU", "level": 1, "probability": 2000 }, { - "species": "SPECIES_TREECKO", + "species": "MONSTER_TREECKO", "level": 1, "probability": 2000 }, { - "species": "SPECIES_TAILLOW", + "species": "MONSTER_TAILLOW", "level": 1, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -159,42 +159,42 @@ "name": "pokemon_found_out615", "pokemon": [ { - "species": "SPECIES_BULBASAUR", + "species": "MONSTER_BULBASAUR", "level": 1, "probability": 1905 }, { - "species": "SPECIES_DIGLETT", + "species": "MONSTER_DIGLETT", "level": 5, "probability": 1905 }, { - "species": "SPECIES_PICHU", + "species": "MONSTER_PICHU", "level": 1, "probability": 1904 }, { - "species": "SPECIES_PLUSLE", + "species": "MONSTER_PLUSLE", "level": 3, "probability": 1191 }, { - "species": "SPECIES_MINUN", + "species": "MONSTER_MINUN", "level": 3, "probability": 1190 }, { - "species": "SPECIES_SPINDA", + "species": "MONSTER_SPINDA", "level": 2, "probability": 1905 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -204,37 +204,37 @@ "name": "pokemon_found_out616", "pokemon": [ { - "species": "SPECIES_DIGLETT", + "species": "MONSTER_DIGLETT", "level": 5, "probability": 2353 }, { - "species": "SPECIES_PICHU", + "species": "MONSTER_PICHU", "level": 1, "probability": 2353 }, { - "species": "SPECIES_PLUSLE", + "species": "MONSTER_PLUSLE", "level": 3, "probability": 1470 }, { - "species": "SPECIES_MINUN", + "species": "MONSTER_MINUN", "level": 3, "probability": 1471 }, { - "species": "SPECIES_SPINDA", + "species": "MONSTER_SPINDA", "level": 2, "probability": 2353 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -244,32 +244,32 @@ "name": "pokemon_found_out617", "pokemon": [ { - "species": "SPECIES_METAPOD", + "species": "MONSTER_METAPOD", "level": 1, "probability": 1000 }, { - "species": "SPECIES_PLUSLE", + "species": "MONSTER_PLUSLE", "level": 3, "probability": 2500 }, { - "species": "SPECIES_MINUN", + "species": "MONSTER_MINUN", "level": 3, "probability": 2500 }, { - "species": "SPECIES_SPINDA", + "species": "MONSTER_SPINDA", "level": 2, "probability": 4000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -279,32 +279,32 @@ "name": "pokemon_found_out618", "pokemon": [ { - "species": "SPECIES_METAPOD", + "species": "MONSTER_METAPOD", "level": 1, "probability": 1000 }, { - "species": "SPECIES_CHIKORITA", + "species": "MONSTER_CHIKORITA", "level": 9, "probability": 4000 }, { - "species": "SPECIES_PLUSLE", + "species": "MONSTER_PLUSLE", "level": 3, "probability": 2500 }, { - "species": "SPECIES_MINUN", + "species": "MONSTER_MINUN", "level": 3, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -314,37 +314,37 @@ "name": "pokemon_found_out619", "pokemon": [ { - "species": "SPECIES_KAKUNA", + "species": "MONSTER_KAKUNA", "level": 9, "probability": 645 }, { - "species": "SPECIES_CLEFAIRY", + "species": "MONSTER_CLEFAIRY", "level": 8, "probability": 2581 }, { - "species": "SPECIES_PSYDUCK", + "species": "MONSTER_PSYDUCK", "level": 11, "probability": 2580 }, { - "species": "SPECIES_PINSIR", + "species": "MONSTER_PINSIR", "level": 6, "probability": 1613 }, { - "species": "SPECIES_CHIKORITA", + "species": "MONSTER_CHIKORITA", "level": 9, "probability": 2581 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -354,42 +354,42 @@ "name": "pokemon_found_out620", "pokemon": [ { - "species": "SPECIES_KAKUNA", + "species": "MONSTER_KAKUNA", "level": 9, "probability": 513 }, { - "species": "SPECIES_CLEFAIRY", + "species": "MONSTER_CLEFAIRY", "level": 8, "probability": 2051 }, { - "species": "SPECIES_PSYDUCK", + "species": "MONSTER_PSYDUCK", "level": 11, "probability": 2051 }, { - "species": "SPECIES_PINSIR", + "species": "MONSTER_PINSIR", "level": 6, "probability": 1282 }, { - "species": "SPECIES_CHIKORITA", + "species": "MONSTER_CHIKORITA", "level": 9, "probability": 2052 }, { - "species": "SPECIES_TORCHIC", + "species": "MONSTER_TORCHIC", "level": 12, "probability": 2051 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -399,37 +399,37 @@ "name": "pokemon_found_out621", "pokemon": [ { - "species": "SPECIES_KAKUNA", + "species": "MONSTER_KAKUNA", "level": 9, "probability": 588 }, { - "species": "SPECIES_CLEFAIRY", + "species": "MONSTER_CLEFAIRY", "level": 8, "probability": 2353 }, { - "species": "SPECIES_PSYDUCK", + "species": "MONSTER_PSYDUCK", "level": 11, "probability": 2353 }, { - "species": "SPECIES_EEVEE", + "species": "MONSTER_EEVEE", "level": 9, "probability": 2353 }, { - "species": "SPECIES_TORCHIC", + "species": "MONSTER_TORCHIC", "level": 12, "probability": 2353 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -439,37 +439,37 @@ "name": "pokemon_found_out622", "pokemon": [ { - "species": "SPECIES_KAKUNA", + "species": "MONSTER_KAKUNA", "level": 9, "probability": 588 }, { - "species": "SPECIES_CLEFAIRY", + "species": "MONSTER_CLEFAIRY", "level": 8, "probability": 2353 }, { - "species": "SPECIES_EEVEE", + "species": "MONSTER_EEVEE", "level": 9, "probability": 2353 }, { - "species": "SPECIES_CYNDAQUIL", + "species": "MONSTER_CYNDAQUIL", "level": 14, "probability": 2353 }, { - "species": "SPECIES_TORCHIC", + "species": "MONSTER_TORCHIC", "level": 12, "probability": 2353 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -479,37 +479,37 @@ "name": "pokemon_found_out623", "pokemon": [ { - "species": "SPECIES_CLEFAIRY", + "species": "MONSTER_CLEFAIRY", "level": 8, "probability": 2162 }, { - "species": "SPECIES_EEVEE", + "species": "MONSTER_EEVEE", "level": 9, "probability": 2162 }, { - "species": "SPECIES_CYNDAQUIL", + "species": "MONSTER_CYNDAQUIL", "level": 14, "probability": 2162 }, { - "species": "SPECIES_TORCHIC", + "species": "MONSTER_TORCHIC", "level": 12, "probability": 2163 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BELDUM", + "species": "MONSTER_BELDUM", "level": 5, "probability": 1351 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -519,37 +519,37 @@ "name": "pokemon_found_out624", "pokemon": [ { - "species": "SPECIES_SCYTHER", + "species": "MONSTER_SCYTHER", "level": 10, "probability": 1212 }, { - "species": "SPECIES_EEVEE", + "species": "MONSTER_EEVEE", "level": 9, "probability": 2424 }, { - "species": "SPECIES_CYNDAQUIL", + "species": "MONSTER_CYNDAQUIL", "level": 14, "probability": 2425 }, { - "species": "SPECIES_TORCHIC", + "species": "MONSTER_TORCHIC", "level": 12, "probability": 2424 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BELDUM", + "species": "MONSTER_BELDUM", "level": 5, "probability": 1515 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -559,32 +559,32 @@ "name": "pokemon_found_out625", "pokemon": [ { - "species": "SPECIES_SCYTHER", + "species": "MONSTER_SCYTHER", "level": 10, "probability": 1600 }, { - "species": "SPECIES_EEVEE", + "species": "MONSTER_EEVEE", "level": 9, "probability": 3200 }, { - "species": "SPECIES_CYNDAQUIL", + "species": "MONSTER_CYNDAQUIL", "level": 14, "probability": 3200 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BELDUM", + "species": "MONSTER_BELDUM", "level": 5, "probability": 2000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -594,37 +594,37 @@ "name": "pokemon_found_out626", "pokemon": [ { - "species": "SPECIES_EXEGGUTOR", + "species": "MONSTER_EXEGGUTOR", "level": 8, "probability": 1765 }, { - "species": "SPECIES_SCYTHER", + "species": "MONSTER_SCYTHER", "level": 10, "probability": 1176 }, { - "species": "SPECIES_EEVEE", + "species": "MONSTER_EEVEE", "level": 9, "probability": 2353 }, { - "species": "SPECIES_CYNDAQUIL", + "species": "MONSTER_CYNDAQUIL", "level": 14, "probability": 2353 }, { - "species": "SPECIES_LINOONE", + "species": "MONSTER_LINOONE", "level": 8, "probability": 2353 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -634,32 +634,32 @@ "name": "pokemon_found_out627", "pokemon": [ { - "species": "SPECIES_EXEGGUTOR", + "species": "MONSTER_EXEGGUTOR", "level": 8, "probability": 2308 }, { - "species": "SPECIES_SCYTHER", + "species": "MONSTER_SCYTHER", "level": 10, "probability": 1538 }, { - "species": "SPECIES_LINOONE", + "species": "MONSTER_LINOONE", "level": 8, "probability": 3077 }, { - "species": "SPECIES_SLAKOTH", + "species": "MONSTER_SLAKOTH", "level": 8, "probability": 3077 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -669,37 +669,37 @@ "name": "pokemon_found_out628", "pokemon": [ { - "species": "SPECIES_EXEGGUTOR", + "species": "MONSTER_EXEGGUTOR", "level": 8, "probability": 2000 }, { - "species": "SPECIES_SCYTHER", + "species": "MONSTER_SCYTHER", "level": 10, "probability": 1333 }, { - "species": "SPECIES_SUNFLORA", + "species": "MONSTER_SUNFLORA", "level": 8, "probability": 1334 }, { - "species": "SPECIES_LINOONE", + "species": "MONSTER_LINOONE", "level": 8, "probability": 2666 }, { - "species": "SPECIES_SLAKOTH", + "species": "MONSTER_SLAKOTH", "level": 8, "probability": 2667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -709,32 +709,32 @@ "name": "pokemon_found_out629", "pokemon": [ { - "species": "SPECIES_EXEGGUTOR", + "species": "MONSTER_EXEGGUTOR", "level": 8, "probability": 2308 }, { - "species": "SPECIES_SUNFLORA", + "species": "MONSTER_SUNFLORA", "level": 8, "probability": 1538 }, { - "species": "SPECIES_LINOONE", + "species": "MONSTER_LINOONE", "level": 8, "probability": 3077 }, { - "species": "SPECIES_SLAKOTH", + "species": "MONSTER_SLAKOTH", "level": 8, "probability": 3077 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -744,37 +744,37 @@ "name": "pokemon_found_out630", "pokemon": [ { - "species": "SPECIES_EXEGGUTOR", + "species": "MONSTER_EXEGGUTOR", "level": 8, "probability": 1875 }, { - "species": "SPECIES_SUNFLORA", + "species": "MONSTER_SUNFLORA", "level": 8, "probability": 1250 }, { - "species": "SPECIES_SMOOCHUM", + "species": "MONSTER_SMOOCHUM", "level": 15, "probability": 1875 }, { - "species": "SPECIES_SHROOMISH", + "species": "MONSTER_SHROOMISH", "level": 9, "probability": 2500 }, { - "species": "SPECIES_TRAPINCH", + "species": "MONSTER_TRAPINCH", "level": 11, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -784,47 +784,47 @@ "name": "pokemon_found_out631", "pokemon": [ { - "species": "SPECIES_CLEFABLE", + "species": "MONSTER_CLEFABLE", "level": 15, "probability": 1304 }, { - "species": "SPECIES_EXEGGUTOR", + "species": "MONSTER_EXEGGUTOR", "level": 8, "probability": 1305 }, { - "species": "SPECIES_LEDYBA", + "species": "MONSTER_LEDYBA", "level": 7, "probability": 1739 }, { - "species": "SPECIES_SUNFLORA", + "species": "MONSTER_SUNFLORA", "level": 8, "probability": 869 }, { - "species": "SPECIES_SMOOCHUM", + "species": "MONSTER_SMOOCHUM", "level": 15, "probability": 1305 }, { - "species": "SPECIES_SHROOMISH", + "species": "MONSTER_SHROOMISH", "level": 9, "probability": 1739 }, { - "species": "SPECIES_TRAPINCH", + "species": "MONSTER_TRAPINCH", "level": 11, "probability": 1739 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -834,42 +834,42 @@ "name": "pokemon_found_out632", "pokemon": [ { - "species": "SPECIES_CLEFABLE", + "species": "MONSTER_CLEFABLE", "level": 15, "probability": 1463 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 10, "probability": 1952 }, { - "species": "SPECIES_LEDYBA", + "species": "MONSTER_LEDYBA", "level": 7, "probability": 1951 }, { - "species": "SPECIES_SMOOCHUM", + "species": "MONSTER_SMOOCHUM", "level": 15, "probability": 1463 }, { - "species": "SPECIES_SHROOMISH", + "species": "MONSTER_SHROOMISH", "level": 9, "probability": 1951 }, { - "species": "SPECIES_TRAPINCH", + "species": "MONSTER_TRAPINCH", "level": 11, "probability": 1220 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -879,47 +879,47 @@ "name": "pokemon_found_out633", "pokemon": [ { - "species": "SPECIES_CLEFABLE", + "species": "MONSTER_CLEFABLE", "level": 15, "probability": 1333 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 10, "probability": 1778 }, { - "species": "SPECIES_LEDYBA", + "species": "MONSTER_LEDYBA", "level": 7, "probability": 1778 }, { - "species": "SPECIES_SMOOCHUM", + "species": "MONSTER_SMOOCHUM", "level": 15, "probability": 1333 }, { - "species": "SPECIES_SHROOMISH", + "species": "MONSTER_SHROOMISH", "level": 9, "probability": 1778 }, { - "species": "SPECIES_SKITTY", + "species": "MONSTER_SKITTY", "level": 22, "probability": 889 }, { - "species": "SPECIES_TRAPINCH", + "species": "MONSTER_TRAPINCH", "level": 11, "probability": 1111 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -929,47 +929,47 @@ "name": "pokemon_found_out634", "pokemon": [ { - "species": "SPECIES_CLEFABLE", + "species": "MONSTER_CLEFABLE", "level": 15, "probability": 1277 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 10, "probability": 1702 }, { - "species": "SPECIES_LEDYBA", + "species": "MONSTER_LEDYBA", "level": 7, "probability": 1702 }, { - "species": "SPECIES_HOUNDOUR", + "species": "MONSTER_HOUNDOUR", "level": 11, "probability": 1489 }, { - "species": "SPECIES_SMOOCHUM", + "species": "MONSTER_SMOOCHUM", "level": 15, "probability": 1277 }, { - "species": "SPECIES_SHROOMISH", + "species": "MONSTER_SHROOMISH", "level": 9, "probability": 1702 }, { - "species": "SPECIES_SKITTY", + "species": "MONSTER_SKITTY", "level": 22, "probability": 851 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -979,37 +979,37 @@ "name": "pokemon_found_out635", "pokemon": [ { - "species": "SPECIES_CLEFABLE", + "species": "MONSTER_CLEFABLE", "level": 15, "probability": 2000 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 10, "probability": 2667 }, { - "species": "SPECIES_TEDDIURSA", + "species": "MONSTER_TEDDIURSA", "level": 10, "probability": 1666 }, { - "species": "SPECIES_HOUNDOUR", + "species": "MONSTER_HOUNDOUR", "level": 11, "probability": 2334 }, { - "species": "SPECIES_SKITTY", + "species": "MONSTER_SKITTY", "level": 22, "probability": 1333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1019,47 +1019,47 @@ "name": "pokemon_found_out636", "pokemon": [ { - "species": "SPECIES_CLEFABLE", + "species": "MONSTER_CLEFABLE", "level": 15, "probability": 1364 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 10, "probability": 1818 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 1818 }, { - "species": "SPECIES_TEDDIURSA", + "species": "MONSTER_TEDDIURSA", "level": 10, "probability": 1136 }, { - "species": "SPECIES_HOUNDOUR", + "species": "MONSTER_HOUNDOUR", "level": 11, "probability": 1591 }, { - "species": "SPECIES_DUSTOX", + "species": "MONSTER_DUSTOX", "level": 10, "probability": 1364 }, { - "species": "SPECIES_SKITTY", + "species": "MONSTER_SKITTY", "level": 22, "probability": 909 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1069,37 +1069,37 @@ "name": "pokemon_found_out637", "pokemon": [ { - "species": "SPECIES_WEEDLE", + "species": "MONSTER_WEEDLE", "level": 8, "probability": 800 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 3200 }, { - "species": "SPECIES_TEDDIURSA", + "species": "MONSTER_TEDDIURSA", "level": 10, "probability": 2000 }, { - "species": "SPECIES_DUSTOX", + "species": "MONSTER_DUSTOX", "level": 10, "probability": 2400 }, { - "species": "SPECIES_SKITTY", + "species": "MONSTER_SKITTY", "level": 22, "probability": 1600 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1109,32 +1109,32 @@ "name": "pokemon_found_out638", "pokemon": [ { - "species": "SPECIES_WEEDLE", + "species": "MONSTER_WEEDLE", "level": 8, "probability": 952 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 3810 }, { - "species": "SPECIES_TEDDIURSA", + "species": "MONSTER_TEDDIURSA", "level": 10, "probability": 2381 }, { - "species": "SPECIES_DUSTOX", + "species": "MONSTER_DUSTOX", "level": 10, "probability": 2857 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1144,42 +1144,42 @@ "name": "pokemon_found_out639", "pokemon": [ { - "species": "SPECIES_WEEDLE", + "species": "MONSTER_WEEDLE", "level": 8, "probability": 541 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 2162 }, { - "species": "SPECIES_BELLOSSOM", + "species": "MONSTER_BELLOSSOM", "level": 15, "probability": 2162 }, { - "species": "SPECIES_TEDDIURSA", + "species": "MONSTER_TEDDIURSA", "level": 10, "probability": 1351 }, { - "species": "SPECIES_DUSTOX", + "species": "MONSTER_DUSTOX", "level": 10, "probability": 1622 }, { - "species": "SPECIES_GARDEVOIR", + "species": "MONSTER_GARDEVOIR", "level": 18, "probability": 2162 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1189,47 +1189,47 @@ "name": "pokemon_found_out640", "pokemon": [ { - "species": "SPECIES_WEEDLE", + "species": "MONSTER_WEEDLE", "level": 8, "probability": 541 }, { - "species": "SPECIES_BEEDRILL", + "species": "MONSTER_BEEDRILL", "level": 10, "probability": 810 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 2163 }, { - "species": "SPECIES_BELLOSSOM", + "species": "MONSTER_BELLOSSOM", "level": 15, "probability": 2162 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 1081 }, { - "species": "SPECIES_STANTLER", + "species": "MONSTER_STANTLER", "level": 12, "probability": 1081 }, { - "species": "SPECIES_GARDEVOIR", + "species": "MONSTER_GARDEVOIR", "level": 18, "probability": 2162 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1239,47 +1239,47 @@ "name": "pokemon_found_out641", "pokemon": [ { - "species": "SPECIES_WEEDLE", + "species": "MONSTER_WEEDLE", "level": 8, "probability": 541 }, { - "species": "SPECIES_BEEDRILL", + "species": "MONSTER_BEEDRILL", "level": 10, "probability": 810 }, { - "species": "SPECIES_BELLOSSOM", + "species": "MONSTER_BELLOSSOM", "level": 15, "probability": 2163 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 1081 }, { - "species": "SPECIES_STANTLER", + "species": "MONSTER_STANTLER", "level": 12, "probability": 1081 }, { - "species": "SPECIES_GARDEVOIR", + "species": "MONSTER_GARDEVOIR", "level": 18, "probability": 2162 }, { - "species": "SPECIES_CACNEA", + "species": "MONSTER_CACNEA", "level": 13, "probability": 2162 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1289,47 +1289,47 @@ "name": "pokemon_found_out642", "pokemon": [ { - "species": "SPECIES_BEEDRILL", + "species": "MONSTER_BEEDRILL", "level": 10, "probability": 698 }, { - "species": "SPECIES_DODUO", + "species": "MONSTER_DODUO", "level": 14, "probability": 1860 }, { - "species": "SPECIES_BELLOSSOM", + "species": "MONSTER_BELLOSSOM", "level": 15, "probability": 1861 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 930 }, { - "species": "SPECIES_STANTLER", + "species": "MONSTER_STANTLER", "level": 12, "probability": 930 }, { - "species": "SPECIES_GARDEVOIR", + "species": "MONSTER_GARDEVOIR", "level": 18, "probability": 1861 }, { - "species": "SPECIES_CACNEA", + "species": "MONSTER_CACNEA", "level": 13, "probability": 1860 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1339,42 +1339,42 @@ "name": "pokemon_found_out643", "pokemon": [ { - "species": "SPECIES_DODUO", + "species": "MONSTER_DODUO", "level": 14, "probability": 1818 }, { - "species": "SPECIES_BELLOSSOM", + "species": "MONSTER_BELLOSSOM", "level": 15, "probability": 1818 }, { - "species": "SPECIES_STANTLER", + "species": "MONSTER_STANTLER", "level": 12, "probability": 909 }, { - "species": "SPECIES_GARDEVOIR", + "species": "MONSTER_GARDEVOIR", "level": 18, "probability": 1819 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 10, "probability": 1818 }, { - "species": "SPECIES_CACNEA", + "species": "MONSTER_CACNEA", "level": 13, "probability": 1818 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1384,32 +1384,32 @@ "name": "pokemon_found_out644", "pokemon": [ { - "species": "SPECIES_DODUO", + "species": "MONSTER_DODUO", "level": 14, "probability": 2500 }, { - "species": "SPECIES_BELLOSSOM", + "species": "MONSTER_BELLOSSOM", "level": 15, "probability": 2500 }, { - "species": "SPECIES_BRELOOM", + "species": "MONSTER_BRELOOM", "level": 14, "probability": 2500 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 10, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1419,32 +1419,32 @@ "name": "pokemon_found_out645", "pokemon": [ { - "species": "SPECIES_DODUO", + "species": "MONSTER_DODUO", "level": 14, "probability": 2500 }, { - "species": "SPECIES_HERACROSS", + "species": "MONSTER_HERACROSS", "level": 14, "probability": 2500 }, { - "species": "SPECIES_BRELOOM", + "species": "MONSTER_BRELOOM", "level": 14, "probability": 2500 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 10, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1454,32 +1454,32 @@ "name": "pokemon_found_out646", "pokemon": [ { - "species": "SPECIES_IGGLYBUFF", + "species": "MONSTER_IGGLYBUFF", "level": 15, "probability": 2920 }, { - "species": "SPECIES_HERACROSS", + "species": "MONSTER_HERACROSS", "level": 14, "probability": 2360 }, { - "species": "SPECIES_BRELOOM", + "species": "MONSTER_BRELOOM", "level": 14, "probability": 2360 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 10, "probability": 2360 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1489,37 +1489,37 @@ "name": "pokemon_found_out647", "pokemon": [ { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 15, "probability": 1909 }, { - "species": "SPECIES_IGGLYBUFF", + "species": "MONSTER_IGGLYBUFF", "level": 15, "probability": 2363 }, { - "species": "SPECIES_HERACROSS", + "species": "MONSTER_HERACROSS", "level": 14, "probability": 1909 }, { - "species": "SPECIES_HOUNDOOM", + "species": "MONSTER_HOUNDOOM", "level": 15, "probability": 1910 }, { - "species": "SPECIES_BRELOOM", + "species": "MONSTER_BRELOOM", "level": 14, "probability": 1909 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1529,47 +1529,47 @@ "name": "pokemon_found_out648", "pokemon": [ { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 15, "probability": 1406 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 14, "probability": 1406 }, { - "species": "SPECIES_IGGLYBUFF", + "species": "MONSTER_IGGLYBUFF", "level": 15, "probability": 1740 }, { - "species": "SPECIES_SKIPLOOM", + "species": "MONSTER_SKIPLOOM", "level": 13, "probability": 1406 }, { - "species": "SPECIES_HERACROSS", + "species": "MONSTER_HERACROSS", "level": 14, "probability": 1406 }, { - "species": "SPECIES_HOUNDOOM", + "species": "MONSTER_HOUNDOOM", "level": 15, "probability": 1406 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BAGON", + "species": "MONSTER_BAGON", "level": 16, "probability": 1230 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1579,47 +1579,47 @@ "name": "pokemon_found_out649", "pokemon": [ { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 15, "probability": 1382 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 14, "probability": 1381 }, { - "species": "SPECIES_IGGLYBUFF", + "species": "MONSTER_IGGLYBUFF", "level": 15, "probability": 1710 }, { - "species": "SPECIES_SKIPLOOM", + "species": "MONSTER_SKIPLOOM", "level": 13, "probability": 1382 }, { - "species": "SPECIES_DUNSPARCE", + "species": "MONSTER_DUNSPARCE", "level": 13, "probability": 1382 }, { - "species": "SPECIES_HOUNDOOM", + "species": "MONSTER_HOUNDOOM", "level": 15, "probability": 1381 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BAGON", + "species": "MONSTER_BAGON", "level": 16, "probability": 1382 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1629,52 +1629,52 @@ "name": "pokemon_found_out650", "pokemon": [ { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 20, "probability": 795 }, { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 15, "probability": 1272 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 14, "probability": 1272 }, { - "species": "SPECIES_IGGLYBUFF", + "species": "MONSTER_IGGLYBUFF", "level": 15, "probability": 1574 }, { - "species": "SPECIES_SKIPLOOM", + "species": "MONSTER_SKIPLOOM", "level": 13, "probability": 1271 }, { - "species": "SPECIES_DUNSPARCE", + "species": "MONSTER_DUNSPARCE", "level": 13, "probability": 1272 }, { - "species": "SPECIES_HOUNDOOM", + "species": "MONSTER_HOUNDOOM", "level": 15, "probability": 1272 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BAGON", + "species": "MONSTER_BAGON", "level": 16, "probability": 1272 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1684,47 +1684,47 @@ "name": "pokemon_found_out651", "pokemon": [ { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 20, "probability": 982 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 14, "probability": 1572 }, { - "species": "SPECIES_IGGLYBUFF", + "species": "MONSTER_IGGLYBUFF", "level": 15, "probability": 1945 }, { - "species": "SPECIES_SKIPLOOM", + "species": "MONSTER_SKIPLOOM", "level": 13, "probability": 1572 }, { - "species": "SPECIES_HOUNDOOM", + "species": "MONSTER_HOUNDOOM", "level": 15, "probability": 1571 }, { - "species": "SPECIES_NINCADA", + "species": "MONSTER_NINCADA", "level": 14, "probability": 786 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BAGON", + "species": "MONSTER_BAGON", "level": 16, "probability": 1572 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1734,47 +1734,47 @@ "name": "pokemon_found_out652", "pokemon": [ { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 20, "probability": 982 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 14, "probability": 1572 }, { - "species": "SPECIES_IGGLYBUFF", + "species": "MONSTER_IGGLYBUFF", "level": 15, "probability": 1945 }, { - "species": "SPECIES_SKIPLOOM", + "species": "MONSTER_SKIPLOOM", "level": 13, "probability": 1572 }, { - "species": "SPECIES_HOUNDOOM", + "species": "MONSTER_HOUNDOOM", "level": 15, "probability": 1571 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1572 }, { - "species": "SPECIES_NINCADA", + "species": "MONSTER_NINCADA", "level": 14, "probability": 786 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1784,37 +1784,37 @@ "name": "pokemon_found_out653", "pokemon": [ { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 20, "probability": 1515 }, { - "species": "SPECIES_TANGELA", + "species": "MONSTER_TANGELA", "level": 14, "probability": 2424 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 2425 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 2424 }, { - "species": "SPECIES_NINCADA", + "species": "MONSTER_NINCADA", "level": 14, "probability": 1212 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1824,52 +1824,52 @@ "name": "pokemon_found_out654", "pokemon": [ { - "species": "SPECIES_WIGGLYTUFF", + "species": "MONSTER_WIGGLYTUFF", "level": 25, "probability": 1695 }, { - "species": "SPECIES_ELECTRODE", + "species": "MONSTER_ELECTRODE", "level": 20, "probability": 1370 }, { - "species": "SPECIES_CHANSEY", + "species": "MONSTER_CHANSEY", "level": 15, "probability": 86 }, { - "species": "SPECIES_TANGELA", + "species": "MONSTER_TANGELA", "level": 14, "probability": 1370 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 1369 }, { - "species": "SPECIES_AZUMARILL", + "species": "MONSTER_AZUMARILL", "level": 24, "probability": 1370 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1370 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SNORUNT", + "species": "MONSTER_SNORUNT", "level": 20, "probability": 1370 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1879,47 +1879,47 @@ "name": "pokemon_found_out655", "pokemon": [ { - "species": "SPECIES_FEAROW", + "species": "MONSTER_FEAROW", "level": 17, "probability": 1382 }, { - "species": "SPECIES_WIGGLYTUFF", + "species": "MONSTER_WIGGLYTUFF", "level": 25, "probability": 1710 }, { - "species": "SPECIES_VICTREEBEL", + "species": "MONSTER_VICTREEBEL", "level": 40, "probability": 1381 }, { - "species": "SPECIES_ELECTRODE", + "species": "MONSTER_ELECTRODE", "level": 20, "probability": 1382 }, { - "species": "SPECIES_AZUMARILL", + "species": "MONSTER_AZUMARILL", "level": 24, "probability": 1382 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1381 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SNORUNT", + "species": "MONSTER_SNORUNT", "level": 20, "probability": 1382 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1929,42 +1929,42 @@ "name": "pokemon_found_out656", "pokemon": [ { - "species": "SPECIES_FEAROW", + "species": "MONSTER_FEAROW", "level": 17, "probability": 1253 }, { - "species": "SPECIES_WIGGLYTUFF", + "species": "MONSTER_WIGGLYTUFF", "level": 25, "probability": 2066 }, { - "species": "SPECIES_VICTREEBEL", + "species": "MONSTER_VICTREEBEL", "level": 40, "probability": 1671 }, { - "species": "SPECIES_ELECTRODE", + "species": "MONSTER_ELECTRODE", "level": 20, "probability": 1670 }, { - "species": "SPECIES_AZUMARILL", + "species": "MONSTER_AZUMARILL", "level": 24, "probability": 1670 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SNORUNT", + "species": "MONSTER_SNORUNT", "level": 20, "probability": 1670 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1974,52 +1974,52 @@ "name": "pokemon_found_out657", "pokemon": [ { - "species": "SPECIES_FEAROW", + "species": "MONSTER_FEAROW", "level": 17, "probability": 1073 }, { - "species": "SPECIES_WIGGLYTUFF", + "species": "MONSTER_WIGGLYTUFF", "level": 25, "probability": 1771 }, { - "species": "SPECIES_VICTREEBEL", + "species": "MONSTER_VICTREEBEL", "level": 40, "probability": 1431 }, { - "species": "SPECIES_ELECTRODE", + "species": "MONSTER_ELECTRODE", "level": 20, "probability": 1432 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 357 }, { - "species": "SPECIES_AZUMARILL", + "species": "MONSTER_AZUMARILL", "level": 24, "probability": 1432 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 18, "probability": 1073 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SNORUNT", + "species": "MONSTER_SNORUNT", "level": 20, "probability": 1431 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2029,52 +2029,52 @@ "name": "pokemon_found_out658", "pokemon": [ { - "species": "SPECIES_PIDGEOT", + "species": "MONSTER_PIDGEOT", "level": 16, "probability": 1382 }, { - "species": "SPECIES_WIGGLYTUFF", + "species": "MONSTER_WIGGLYTUFF", "level": 25, "probability": 1710 }, { - "species": "SPECIES_VICTREEBEL", + "species": "MONSTER_VICTREEBEL", "level": 40, "probability": 1381 }, { - "species": "SPECIES_ELECTRODE", + "species": "MONSTER_ELECTRODE", "level": 20, "probability": 1382 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 345 }, { - "species": "SPECIES_AZUMARILL", + "species": "MONSTER_AZUMARILL", "level": 24, "probability": 1382 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 18, "probability": 1036 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SNORUNT", + "species": "MONSTER_SNORUNT", "level": 20, "probability": 1382 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2084,52 +2084,52 @@ "name": "pokemon_found_out659", "pokemon": [ { - "species": "SPECIES_PIDGEOT", + "species": "MONSTER_PIDGEOT", "level": 16, "probability": 1382 }, { - "species": "SPECIES_WIGGLYTUFF", + "species": "MONSTER_WIGGLYTUFF", "level": 25, "probability": 1710 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 345 }, { - "species": "SPECIES_AZUMARILL", + "species": "MONSTER_AZUMARILL", "level": 24, "probability": 1382 }, { - "species": "SPECIES_MIGHTYENA", + "species": "MONSTER_MIGHTYENA", "level": 17, "probability": 1381 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 18, "probability": 1037 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SNORUNT", + "species": "MONSTER_SNORUNT", "level": 20, "probability": 1381 }, { - "species": "SPECIES_METANG", + "species": "MONSTER_METANG", "level": 17, "probability": 1382 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2139,57 +2139,57 @@ "name": "pokemon_found_out660", "pokemon": [ { - "species": "SPECIES_PIDGEOT", + "species": "MONSTER_PIDGEOT", "level": 16, "probability": 1270 }, { - "species": "SPECIES_PONYTA", + "species": "MONSTER_PONYTA", "level": 30, "probability": 1111 }, { - "species": "SPECIES_RAPIDASH", + "species": "MONSTER_RAPIDASH", "level": 16, "probability": 1270 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 317 }, { - "species": "SPECIES_MIGHTYENA", + "species": "MONSTER_MIGHTYENA", "level": 17, "probability": 1270 }, { - "species": "SPECIES_TORKOAL", + "species": "MONSTER_TORKOAL", "level": 15, "probability": 1270 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 18, "probability": 952 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SNORUNT", + "species": "MONSTER_SNORUNT", "level": 20, "probability": 1270 }, { - "species": "SPECIES_METANG", + "species": "MONSTER_METANG", "level": 17, "probability": 1270 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2199,52 +2199,52 @@ "name": "pokemon_found_out661", "pokemon": [ { - "species": "SPECIES_PONYTA", + "species": "MONSTER_PONYTA", "level": 30, "probability": 1273 }, { - "species": "SPECIES_RAPIDASH", + "species": "MONSTER_RAPIDASH", "level": 16, "probability": 1454 }, { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 16, "probability": 1455 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 363 }, { - "species": "SPECIES_MIGHTYENA", + "species": "MONSTER_MIGHTYENA", "level": 17, "probability": 1455 }, { - "species": "SPECIES_TORKOAL", + "species": "MONSTER_TORKOAL", "level": 15, "probability": 1455 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 18, "probability": 1090 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_METANG", + "species": "MONSTER_METANG", "level": 17, "probability": 1455 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2254,52 +2254,52 @@ "name": "pokemon_found_out662", "pokemon": [ { - "species": "SPECIES_PONYTA", + "species": "MONSTER_PONYTA", "level": 30, "probability": 1321 }, { - "species": "SPECIES_RAPIDASH", + "species": "MONSTER_RAPIDASH", "level": 16, "probability": 1509 }, { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 16, "probability": 1510 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 377 }, { - "species": "SPECIES_MIGHTYENA", + "species": "MONSTER_MIGHTYENA", "level": 17, "probability": 1132 }, { - "species": "SPECIES_TORKOAL", + "species": "MONSTER_TORKOAL", "level": 15, "probability": 1509 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 18, "probability": 1133 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_METANG", + "species": "MONSTER_METANG", "level": 17, "probability": 1509 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2309,57 +2309,57 @@ "name": "pokemon_found_out663", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 21, "probability": 1370 }, { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 16, "probability": 1370 }, { - "species": "SPECIES_CHANSEY", + "species": "MONSTER_CHANSEY", "level": 15, "probability": 85 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 343 }, { - "species": "SPECIES_GRANBULL", + "species": "MONSTER_GRANBULL", "level": 23, "probability": 1695 }, { - "species": "SPECIES_MIGHTYENA", + "species": "MONSTER_MIGHTYENA", "level": 17, "probability": 1027 }, { - "species": "SPECIES_LAIRON", + "species": "MONSTER_LAIRON", "level": 17, "probability": 1370 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHELGON", + "species": "MONSTER_SHELGON", "level": 19, "probability": 1370 }, { - "species": "SPECIES_METANG", + "species": "MONSTER_METANG", "level": 17, "probability": 1370 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2369,52 +2369,52 @@ "name": "pokemon_found_out664", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 21, "probability": 1336 }, { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 16, "probability": 1335 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 334 }, { - "species": "SPECIES_PINECO", + "species": "MONSTER_PINECO", "level": 18, "probability": 1336 }, { - "species": "SPECIES_GRANBULL", + "species": "MONSTER_GRANBULL", "level": 23, "probability": 1652 }, { - "species": "SPECIES_LAIRON", + "species": "MONSTER_LAIRON", "level": 17, "probability": 1336 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHELGON", + "species": "MONSTER_SHELGON", "level": 19, "probability": 1335 }, { - "species": "SPECIES_METANG", + "species": "MONSTER_METANG", "level": 17, "probability": 1336 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2424,52 +2424,52 @@ "name": "pokemon_found_out665", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 21, "probability": 1382 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 345 }, { - "species": "SPECIES_PINECO", + "species": "MONSTER_PINECO", "level": 18, "probability": 1382 }, { - "species": "SPECIES_GRANBULL", + "species": "MONSTER_GRANBULL", "level": 23, "probability": 1710 }, { - "species": "SPECIES_PUPITAR", + "species": "MONSTER_PUPITAR", "level": 17, "probability": 1381 }, { - "species": "SPECIES_LAIRON", + "species": "MONSTER_LAIRON", "level": 17, "probability": 1382 }, { - "species": "SPECIES_SEVIPER", + "species": "MONSTER_SEVIPER", "level": 19, "probability": 1036 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHELGON", + "species": "MONSTER_SHELGON", "level": 19, "probability": 1382 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2479,52 +2479,52 @@ "name": "pokemon_found_out666", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 21, "probability": 1382 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 345 }, { - "species": "SPECIES_PINECO", + "species": "MONSTER_PINECO", "level": 18, "probability": 1382 }, { - "species": "SPECIES_GRANBULL", + "species": "MONSTER_GRANBULL", "level": 23, "probability": 1710 }, { - "species": "SPECIES_PUPITAR", + "species": "MONSTER_PUPITAR", "level": 17, "probability": 1381 }, { - "species": "SPECIES_SLAKING", + "species": "MONSTER_SLAKING", "level": 15, "probability": 1382 }, { - "species": "SPECIES_SEVIPER", + "species": "MONSTER_SEVIPER", "level": 19, "probability": 1036 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHELGON", + "species": "MONSTER_SHELGON", "level": 19, "probability": 1382 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2534,42 +2534,42 @@ "name": "pokemon_found_out667", "pokemon": [ { - "species": "SPECIES_KOFFING", + "species": "MONSTER_KOFFING", "level": 20, "probability": 1743 }, { - "species": "SPECIES_GRANBULL", + "species": "MONSTER_GRANBULL", "level": 23, "probability": 2157 }, { - "species": "SPECIES_PUPITAR", + "species": "MONSTER_PUPITAR", "level": 17, "probability": 1743 }, { - "species": "SPECIES_SLAKING", + "species": "MONSTER_SLAKING", "level": 15, "probability": 1743 }, { - "species": "SPECIES_SEVIPER", + "species": "MONSTER_SEVIPER", "level": 19, "probability": 1307 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_GLALIE", + "species": "MONSTER_GLALIE", "level": 20, "probability": 1307 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2579,47 +2579,47 @@ "name": "pokemon_found_out668", "pokemon": [ { - "species": "SPECIES_KOFFING", + "species": "MONSTER_KOFFING", "level": 20, "probability": 1572 }, { - "species": "SPECIES_GRANBULL", + "species": "MONSTER_GRANBULL", "level": 23, "probability": 1945 }, { - "species": "SPECIES_PUPITAR", + "species": "MONSTER_PUPITAR", "level": 17, "probability": 1571 }, { - "species": "SPECIES_MASQUERAIN", + "species": "MONSTER_MASQUERAIN", "level": 27, "probability": 983 }, { - "species": "SPECIES_SLAKING", + "species": "MONSTER_SLAKING", "level": 15, "probability": 1571 }, { - "species": "SPECIES_SEVIPER", + "species": "MONSTER_SEVIPER", "level": 19, "probability": 1179 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_GLALIE", + "species": "MONSTER_GLALIE", "level": 20, "probability": 1179 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2629,42 +2629,42 @@ "name": "pokemon_found_out669", "pokemon": [ { - "species": "SPECIES_KOFFING", + "species": "MONSTER_KOFFING", "level": 20, "probability": 1865 }, { - "species": "SPECIES_GRANBULL", + "species": "MONSTER_GRANBULL", "level": 23, "probability": 2307 }, { - "species": "SPECIES_MASQUERAIN", + "species": "MONSTER_MASQUERAIN", "level": 27, "probability": 1166 }, { - "species": "SPECIES_SLAKING", + "species": "MONSTER_SLAKING", "level": 15, "probability": 1865 }, { - "species": "SPECIES_SEVIPER", + "species": "MONSTER_SEVIPER", "level": 19, "probability": 1398 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_GLALIE", + "species": "MONSTER_GLALIE", "level": 20, "probability": 1399 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2674,52 +2674,52 @@ "name": "pokemon_found_out670", "pokemon": [ { - "species": "SPECIES_SANDSHREW", + "species": "MONSTER_SANDSHREW", "level": 20, "probability": 1111 }, { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 22, "probability": 1296 }, { - "species": "SPECIES_KOFFING", + "species": "MONSTER_KOFFING", "level": 20, "probability": 1482 }, { - "species": "SPECIES_RHYDON", + "species": "MONSTER_RHYDON", "level": 23, "probability": 1481 }, { - "species": "SPECIES_MASQUERAIN", + "species": "MONSTER_MASQUERAIN", "level": 27, "probability": 926 }, { - "species": "SPECIES_SLAKING", + "species": "MONSTER_SLAKING", "level": 15, "probability": 1482 }, { - "species": "SPECIES_SEVIPER", + "species": "MONSTER_SEVIPER", "level": 19, "probability": 1111 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_GLALIE", + "species": "MONSTER_GLALIE", "level": 20, "probability": 1111 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2729,52 +2729,52 @@ "name": "pokemon_found_out671", "pokemon": [ { - "species": "SPECIES_SANDSHREW", + "species": "MONSTER_SANDSHREW", "level": 20, "probability": 1132 }, { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 22, "probability": 1321 }, { - "species": "SPECIES_KOFFING", + "species": "MONSTER_KOFFING", "level": 20, "probability": 1509 }, { - "species": "SPECIES_RHYDON", + "species": "MONSTER_RHYDON", "level": 23, "probability": 1510 }, { - "species": "SPECIES_MASQUERAIN", + "species": "MONSTER_MASQUERAIN", "level": 27, "probability": 943 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 25, "probability": 1510 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHUPPET", + "species": "MONSTER_SHUPPET", "level": 28, "probability": 943 }, { - "species": "SPECIES_GLALIE", + "species": "MONSTER_GLALIE", "level": 20, "probability": 1132 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2784,42 +2784,42 @@ "name": "pokemon_found_out672", "pokemon": [ { - "species": "SPECIES_SANDSHREW", + "species": "MONSTER_SANDSHREW", "level": 20, "probability": 1500 }, { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 22, "probability": 1750 }, { - "species": "SPECIES_RHYDON", + "species": "MONSTER_RHYDON", "level": 23, "probability": 2000 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 25, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHUPPET", + "species": "MONSTER_SHUPPET", "level": 28, "probability": 1250 }, { - "species": "SPECIES_GLALIE", + "species": "MONSTER_GLALIE", "level": 20, "probability": 1500 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2829,47 +2829,47 @@ "name": "pokemon_found_out673", "pokemon": [ { - "species": "SPECIES_SANDSHREW", + "species": "MONSTER_SANDSHREW", "level": 20, "probability": 1304 }, { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 22, "probability": 1522 }, { - "species": "SPECIES_RHYDON", + "species": "MONSTER_RHYDON", "level": 23, "probability": 1739 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1305 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 25, "probability": 1739 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHUPPET", + "species": "MONSTER_SHUPPET", "level": 28, "probability": 1087 }, { - "species": "SPECIES_GLALIE", + "species": "MONSTER_GLALIE", "level": 20, "probability": 1304 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2879,42 +2879,42 @@ "name": "pokemon_found_out674", "pokemon": [ { - "species": "SPECIES_SANDSLASH", + "species": "MONSTER_SANDSLASH", "level": 24, "probability": 1795 }, { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 15, "probability": 2051 }, { - "species": "SPECIES_LEDIAN", + "species": "MONSTER_LEDIAN", "level": 24, "probability": 1282 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1539 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 25, "probability": 2051 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHUPPET", + "species": "MONSTER_SHUPPET", "level": 28, "probability": 1282 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2924,47 +2924,47 @@ "name": "pokemon_found_out675", "pokemon": [ { - "species": "SPECIES_SANDSLASH", + "species": "MONSTER_SANDSLASH", "level": 24, "probability": 1400 }, { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 15, "probability": 1600 }, { - "species": "SPECIES_LEDIAN", + "species": "MONSTER_LEDIAN", "level": 24, "probability": 1000 }, { - "species": "SPECIES_FORRETRESS", + "species": "MONSTER_FORRETRESS", "level": 23, "probability": 1600 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1200 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 25, "probability": 1600 }, { - "species": "SPECIES_ALTARIA", + "species": "MONSTER_ALTARIA", "level": 24, "probability": 1600 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2974,52 +2974,52 @@ "name": "pokemon_found_out676", "pokemon": [ { - "species": "SPECIES_SANDSLASH", + "species": "MONSTER_SANDSLASH", "level": 24, "probability": 1333 }, { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 15, "probability": 1524 }, { - "species": "SPECIES_CHANSEY", + "species": "MONSTER_CHANSEY", "level": 15, "probability": 95 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 1524 }, { - "species": "SPECIES_LEDIAN", + "species": "MONSTER_LEDIAN", "level": 24, "probability": 953 }, { - "species": "SPECIES_FORRETRESS", + "species": "MONSTER_FORRETRESS", "level": 23, "probability": 1523 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 25, "probability": 1524 }, { - "species": "SPECIES_ALTARIA", + "species": "MONSTER_ALTARIA", "level": 24, "probability": 1524 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3029,47 +3029,47 @@ "name": "pokemon_found_out677", "pokemon": [ { - "species": "SPECIES_SANDSLASH", + "species": "MONSTER_SANDSLASH", "level": 24, "probability": 1346 }, { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 15, "probability": 1539 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 1538 }, { - "species": "SPECIES_LEDIAN", + "species": "MONSTER_LEDIAN", "level": 24, "probability": 962 }, { - "species": "SPECIES_FORRETRESS", + "species": "MONSTER_FORRETRESS", "level": 23, "probability": 1538 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 25, "probability": 1539 }, { - "species": "SPECIES_ALTARIA", + "species": "MONSTER_ALTARIA", "level": 24, "probability": 1538 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3079,42 +3079,42 @@ "name": "pokemon_found_out678", "pokemon": [ { - "species": "SPECIES_SANDSLASH", + "species": "MONSTER_SANDSLASH", "level": 24, "probability": 1489 }, { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 15, "probability": 1702 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 1703 }, { - "species": "SPECIES_FORRETRESS", + "species": "MONSTER_FORRETRESS", "level": 23, "probability": 1702 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 25, "probability": 1702 }, { - "species": "SPECIES_ALTARIA", + "species": "MONSTER_ALTARIA", "level": 24, "probability": 1702 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3124,32 +3124,32 @@ "name": "pokemon_found_out679", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 25, "probability": 2667 }, { - "species": "SPECIES_PORYGON2", + "species": "MONSTER_PORYGON2", "level": 25, "probability": 2000 }, { - "species": "SPECIES_LUNATONE", + "species": "MONSTER_LUNATONE", "level": 29, "probability": 2666 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DUSCLOPS", + "species": "MONSTER_DUSCLOPS", "level": 29, "probability": 2667 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 6, "probability": 0 } @@ -3159,37 +3159,37 @@ "name": "pokemon_found_out680", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 25, "probability": 2105 }, { - "species": "SPECIES_SCIZOR", + "species": "MONSTER_SCIZOR", "level": 29, "probability": 2106 }, { - "species": "SPECIES_PORYGON2", + "species": "MONSTER_PORYGON2", "level": 25, "probability": 1578 }, { - "species": "SPECIES_LUNATONE", + "species": "MONSTER_LUNATONE", "level": 29, "probability": 2106 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DUSCLOPS", + "species": "MONSTER_DUSCLOPS", "level": 29, "probability": 2105 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 6, "probability": 0 } @@ -3199,32 +3199,32 @@ "name": "pokemon_found_out681", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 25, "probability": 2500 }, { - "species": "SPECIES_SCIZOR", + "species": "MONSTER_SCIZOR", "level": 29, "probability": 2500 }, { - "species": "SPECIES_LUNATONE", + "species": "MONSTER_LUNATONE", "level": 29, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DUSCLOPS", + "species": "MONSTER_DUSCLOPS", "level": 29, "probability": 2500 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 6, "probability": 0 } @@ -3234,32 +3234,32 @@ "name": "pokemon_found_out682", "pokemon": [ { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 25, "probability": 769 }, { - "species": "SPECIES_SCIZOR", + "species": "MONSTER_SCIZOR", "level": 29, "probability": 3077 }, { - "species": "SPECIES_LUNATONE", + "species": "MONSTER_LUNATONE", "level": 29, "probability": 3077 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_TROPIUS", + "species": "MONSTER_TROPIUS", "level": 30, "probability": 3077 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 6, "probability": 0 } @@ -3269,32 +3269,32 @@ "name": "pokemon_found_out683", "pokemon": [ { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 25, "probability": 1081 }, { - "species": "SPECIES_SCIZOR", + "species": "MONSTER_SCIZOR", "level": 29, "probability": 4324 }, { - "species": "SPECIES_BLISSEY", + "species": "MONSTER_BLISSEY", "level": 33, "probability": 271 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_TROPIUS", + "species": "MONSTER_TROPIUS", "level": 30, "probability": 4324 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 6, "probability": 0 } @@ -3304,32 +3304,32 @@ "name": "pokemon_found_out684", "pokemon": [ { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 25, "probability": 769 }, { - "species": "SPECIES_SCIZOR", + "species": "MONSTER_SCIZOR", "level": 29, "probability": 3077 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_TROPIUS", + "species": "MONSTER_TROPIUS", "level": 30, "probability": 3077 }, { - "species": "SPECIES_METAGROSS", + "species": "MONSTER_METAGROSS", "level": 33, "probability": 3077 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 6, "probability": 0 } @@ -3339,42 +3339,42 @@ "name": "pokemon_found_out685", "pokemon": [ { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 25, "probability": 541 }, { - "species": "SPECIES_AERODACTYL", + "species": "MONSTER_AERODACTYL", "level": 30, "probability": 1351 }, { - "species": "SPECIES_SCIZOR", + "species": "MONSTER_SCIZOR", "level": 29, "probability": 2162 }, { - "species": "SPECIES_FLYGON", + "species": "MONSTER_FLYGON", "level": 30, "probability": 1622 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_TROPIUS", + "species": "MONSTER_TROPIUS", "level": 30, "probability": 2162 }, { - "species": "SPECIES_METAGROSS", + "species": "MONSTER_METAGROSS", "level": 33, "probability": 2162 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 6, "probability": 0 } @@ -3384,32 +3384,32 @@ "name": "pokemon_found_out686", "pokemon": [ { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 25, "probability": 952 }, { - "species": "SPECIES_AERODACTYL", + "species": "MONSTER_AERODACTYL", "level": 30, "probability": 2381 }, { - "species": "SPECIES_FLYGON", + "species": "MONSTER_FLYGON", "level": 30, "probability": 2857 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_METAGROSS", + "species": "MONSTER_METAGROSS", "level": 33, "probability": 3810 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 6, "probability": 0 } @@ -3419,42 +3419,42 @@ "name": "pokemon_found_out687", "pokemon": [ { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 25, "probability": 541 }, { - "species": "SPECIES_AERODACTYL", + "species": "MONSTER_AERODACTYL", "level": 30, "probability": 1351 }, { - "species": "SPECIES_FLYGON", + "species": "MONSTER_FLYGON", "level": 30, "probability": 1622 }, { - "species": "SPECIES_CLAYDOL", + "species": "MONSTER_CLAYDOL", "level": 31, "probability": 2162 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SALAMENCE", + "species": "MONSTER_SALAMENCE", "level": 31, "probability": 2162 }, { - "species": "SPECIES_METAGROSS", + "species": "MONSTER_METAGROSS", "level": 33, "probability": 2162 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 6, "probability": 0 } @@ -3464,37 +3464,37 @@ "name": "pokemon_found_out688", "pokemon": [ { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 25, "probability": 645 }, { - "species": "SPECIES_AERODACTYL", + "species": "MONSTER_AERODACTYL", "level": 30, "probability": 1613 }, { - "species": "SPECIES_CLAYDOL", + "species": "MONSTER_CLAYDOL", "level": 31, "probability": 2581 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SALAMENCE", + "species": "MONSTER_SALAMENCE", "level": 31, "probability": 2580 }, { - "species": "SPECIES_METAGROSS", + "species": "MONSTER_METAGROSS", "level": 33, "probability": 2581 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 6, "probability": 0 } diff --git a/data/dungeon/LapisCave/pokemon_found.json b/data/dungeon/LapisCave/pokemon_found.json index 796448031..69f4e841f 100644 --- a/data/dungeon/LapisCave/pokemon_found.json +++ b/data/dungeon/LapisCave/pokemon_found.json @@ -2,22 +2,22 @@ "tables": [{ "name": "LapisCave_1F_3F_Pokemon", "pokemon": [{ - "species": "SPECIES_ZUBAT", + "species": "MONSTER_ZUBAT", "level": 17, "probability": 5000 }, { - "species": "SPECIES_NINCADA", + "species": "MONSTER_NINCADA", "level": 14, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -25,27 +25,27 @@ }, { "name": "LapisCave_4F_Pokemon", "pokemon": [{ - "species": "SPECIES_NIDORINA", + "species": "MONSTER_NIDORINA", "level": 15, "probability": 3333 }, { - "species": "SPECIES_NIDORINO", + "species": "MONSTER_NIDORINO", "level": 15, "probability": 3334 }, { - "species": "SPECIES_NINCADA", + "species": "MONSTER_NINCADA", "level": 14, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -53,27 +53,27 @@ }, { "name": "LapisCave_5F_8F_Pokemon", "pokemon": [{ - "species": "SPECIES_NIDORINA", + "species": "MONSTER_NIDORINA", "level": 15, "probability": 3333 }, { - "species": "SPECIES_NIDORINO", + "species": "MONSTER_NIDORINO", "level": 15, "probability": 3334 }, { - "species": "SPECIES_ILLIMISE", + "species": "MONSTER_ILLIMISE", "level": 15, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -81,22 +81,22 @@ }, { "name": "LapisCave_9F_10F_Pokemon", "pokemon": [{ - "species": "SPECIES_TANGELA", + "species": "MONSTER_TANGELA", "level": 14, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BAGON", + "species": "MONSTER_BAGON", "level": 16, "probability": 5000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -104,27 +104,27 @@ }, { "name": "LapisCave_11F_12F_Pokemon", "pokemon": [{ - "species": "SPECIES_GOLBAT", + "species": "MONSTER_GOLBAT", "level": 10, "probability": 3333 }, { - "species": "SPECIES_TANGELA", + "species": "MONSTER_TANGELA", "level": 14, "probability": 3334 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BAGON", + "species": "MONSTER_BAGON", "level": 16, "probability": 3333 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -132,22 +132,22 @@ }, { "name": "LapisCave_13F_Pokemon", "pokemon": [{ - "species": "SPECIES_GOLBAT", + "species": "MONSTER_GOLBAT", "level": 10, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BAGON", + "species": "MONSTER_BAGON", "level": 16, "probability": 5000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -155,17 +155,17 @@ }, { "name": "LapisCave_14F_Pokemon", "pokemon": [{ - "species": "SPECIES_GOLBAT", + "species": "MONSTER_GOLBAT", "level": 10, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/LightningField/pokemon_found.json b/data/dungeon/LightningField/pokemon_found.json index 3f88642a2..8b3dd95b9 100644 --- a/data/dungeon/LightningField/pokemon_found.json +++ b/data/dungeon/LightningField/pokemon_found.json @@ -4,42 +4,42 @@ "name": "pokemon_found_out427", "pokemon": [ { - "species": "SPECIES_MAGNEMITE", + "species": "MONSTER_MAGNEMITE", "level": 25, "probability": 3333 }, { - "species": "SPECIES_MAGNETON", + "species": "MONSTER_MAGNETON", "level": 28, "probability": 0 }, { - "species": "SPECIES_MAREEP", + "species": "MONSTER_MAREEP", "level": 28, "probability": 3334 }, { - "species": "SPECIES_FLAAFFY", + "species": "MONSTER_FLAAFFY", "level": 30, "probability": 0 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 33, "probability": 0 }, { - "species": "SPECIES_ELECTRIKE", + "species": "MONSTER_ELECTRIKE", "level": 12, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -49,37 +49,37 @@ "name": "pokemon_found_out428", "pokemon": [ { - "species": "SPECIES_PIKACHU", + "species": "MONSTER_PIKACHU", "level": 30, "probability": 3333 }, { - "species": "SPECIES_RAICHU", + "species": "MONSTER_RAICHU", "level": 25, "probability": 0 }, { - "species": "SPECIES_MAGNEMITE", + "species": "MONSTER_MAGNEMITE", "level": 25, "probability": 3334 }, { - "species": "SPECIES_MAGNETON", + "species": "MONSTER_MAGNETON", "level": 28, "probability": 0 }, { - "species": "SPECIES_ELECTRIKE", + "species": "MONSTER_ELECTRIKE", "level": 12, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -89,52 +89,52 @@ "name": "pokemon_found_out429", "pokemon": [ { - "species": "SPECIES_PIKACHU", + "species": "MONSTER_PIKACHU", "level": 30, "probability": 2667 }, { - "species": "SPECIES_RAICHU", + "species": "MONSTER_RAICHU", "level": 25, "probability": 0 }, { - "species": "SPECIES_MAGNEMITE", + "species": "MONSTER_MAGNEMITE", "level": 25, "probability": 2666 }, { - "species": "SPECIES_MAGNETON", + "species": "MONSTER_MAGNETON", "level": 28, "probability": 0 }, { - "species": "SPECIES_FLAAFFY", + "species": "MONSTER_FLAAFFY", "level": 30, "probability": 2667 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 33, "probability": 0 }, { - "species": "SPECIES_PLUSLE", + "species": "MONSTER_PLUSLE", "level": 30, "probability": 1000 }, { - "species": "SPECIES_MINUN", + "species": "MONSTER_MINUN", "level": 30, "probability": 1000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -144,47 +144,47 @@ "name": "pokemon_found_out430", "pokemon": [ { - "species": "SPECIES_PIKACHU", + "species": "MONSTER_PIKACHU", "level": 30, "probability": 2667 }, { - "species": "SPECIES_RAICHU", + "species": "MONSTER_RAICHU", "level": 25, "probability": 0 }, { - "species": "SPECIES_JOLTEON", + "species": "MONSTER_JOLTEON", "level": 25, "probability": 2666 }, { - "species": "SPECIES_FLAAFFY", + "species": "MONSTER_FLAAFFY", "level": 30, "probability": 2667 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 33, "probability": 0 }, { - "species": "SPECIES_PLUSLE", + "species": "MONSTER_PLUSLE", "level": 30, "probability": 1000 }, { - "species": "SPECIES_MINUN", + "species": "MONSTER_MINUN", "level": 30, "probability": 1000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -194,42 +194,42 @@ "name": "pokemon_found_out431", "pokemon": [ { - "species": "SPECIES_JOLTEON", + "species": "MONSTER_JOLTEON", "level": 25, "probability": 2963 }, { - "species": "SPECIES_FLAAFFY", + "species": "MONSTER_FLAAFFY", "level": 30, "probability": 2963 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 33, "probability": 0 }, { - "species": "SPECIES_PLUSLE", + "species": "MONSTER_PLUSLE", "level": 30, "probability": 1111 }, { - "species": "SPECIES_MINUN", + "species": "MONSTER_MINUN", "level": 30, "probability": 1111 }, { - "species": "SPECIES_CACTURNE", + "species": "MONSTER_CACTURNE", "level": 35, "probability": 1852 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -239,32 +239,32 @@ "name": "pokemon_found_out432", "pokemon": [ { - "species": "SPECIES_JOLTEON", + "species": "MONSTER_JOLTEON", "level": 25, "probability": 4211 }, { - "species": "SPECIES_PLUSLE", + "species": "MONSTER_PLUSLE", "level": 30, "probability": 1578 }, { - "species": "SPECIES_MINUN", + "species": "MONSTER_MINUN", "level": 30, "probability": 1579 }, { - "species": "SPECIES_CACTURNE", + "species": "MONSTER_CACTURNE", "level": 35, "probability": 2632 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -274,42 +274,42 @@ "name": "pokemon_found_out433", "pokemon": [ { - "species": "SPECIES_ELECTRODE", + "species": "MONSTER_ELECTRODE", "level": 35, "probability": 2963 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 0 }, { - "species": "SPECIES_ELEKID", + "species": "MONSTER_ELEKID", "level": 34, "probability": 2963 }, { - "species": "SPECIES_PLUSLE", + "species": "MONSTER_PLUSLE", "level": 30, "probability": 1111 }, { - "species": "SPECIES_MINUN", + "species": "MONSTER_MINUN", "level": 30, "probability": 1111 }, { - "species": "SPECIES_CACTURNE", + "species": "MONSTER_CACTURNE", "level": 35, "probability": 1852 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -319,47 +319,47 @@ "name": "pokemon_found_out434", "pokemon": [ { - "species": "SPECIES_ELECTRODE", + "species": "MONSTER_ELECTRODE", "level": 35, "probability": 2286 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 0 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 33, "probability": 2285 }, { - "species": "SPECIES_ELEKID", + "species": "MONSTER_ELEKID", "level": 34, "probability": 2286 }, { - "species": "SPECIES_PLUSLE", + "species": "MONSTER_PLUSLE", "level": 30, "probability": 857 }, { - "species": "SPECIES_MINUN", + "species": "MONSTER_MINUN", "level": 30, "probability": 857 }, { - "species": "SPECIES_CACTURNE", + "species": "MONSTER_CACTURNE", "level": 35, "probability": 1429 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -369,42 +369,42 @@ "name": "pokemon_found_out435", "pokemon": [ { - "species": "SPECIES_ELECTRODE", + "species": "MONSTER_ELECTRODE", "level": 35, "probability": 2667 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 0 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 33, "probability": 2666 }, { - "species": "SPECIES_ELEKID", + "species": "MONSTER_ELEKID", "level": 34, "probability": 2667 }, { - "species": "SPECIES_PLUSLE", + "species": "MONSTER_PLUSLE", "level": 30, "probability": 1000 }, { - "species": "SPECIES_MINUN", + "species": "MONSTER_MINUN", "level": 30, "probability": 1000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -414,42 +414,42 @@ "name": "pokemon_found_out436", "pokemon": [ { - "species": "SPECIES_MAGNETON", + "species": "MONSTER_MAGNETON", "level": 28, "probability": 2162 }, { - "species": "SPECIES_ELECTRODE", + "species": "MONSTER_ELECTRODE", "level": 35, "probability": 2162 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 0 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 33, "probability": 2162 }, { - "species": "SPECIES_ELEKID", + "species": "MONSTER_ELEKID", "level": 34, "probability": 2163 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_TROPIUS", + "species": "MONSTER_TROPIUS", "level": 35, "probability": 1351 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -459,32 +459,32 @@ "name": "pokemon_found_out437", "pokemon": [ { - "species": "SPECIES_MAGNETON", + "species": "MONSTER_MAGNETON", "level": 28, "probability": 3810 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 0 }, { - "species": "SPECIES_ELEKID", + "species": "MONSTER_ELEKID", "level": 34, "probability": 3809 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_TROPIUS", + "species": "MONSTER_TROPIUS", "level": 35, "probability": 2381 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -494,22 +494,22 @@ "name": "pokemon_found_out438", "pokemon": [ { - "species": "SPECIES_MAGNETON", + "species": "MONSTER_MAGNETON", "level": 28, "probability": 6154 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_TROPIUS", + "species": "MONSTER_TROPIUS", "level": 35, "probability": 3846 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -519,27 +519,27 @@ "name": "pokemon_found_out439", "pokemon": [ { - "species": "SPECIES_MAGNETON", + "species": "MONSTER_MAGNETON", "level": 28, "probability": 3810 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 35, "probability": 3809 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_TROPIUS", + "species": "MONSTER_TROPIUS", "level": 35, "probability": 2381 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -549,32 +549,32 @@ "name": "pokemon_found_out440", "pokemon": [ { - "species": "SPECIES_RAICHU", + "species": "MONSTER_RAICHU", "level": 25, "probability": 2759 }, { - "species": "SPECIES_MAGNETON", + "species": "MONSTER_MAGNETON", "level": 28, "probability": 2758 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 35, "probability": 2759 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_TROPIUS", + "species": "MONSTER_TROPIUS", "level": 35, "probability": 1724 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -584,27 +584,27 @@ "name": "pokemon_found_out441", "pokemon": [ { - "species": "SPECIES_RAICHU", + "species": "MONSTER_RAICHU", "level": 25, "probability": 3810 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 35, "probability": 3809 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_TROPIUS", + "species": "MONSTER_TROPIUS", "level": 35, "probability": 2381 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -614,32 +614,32 @@ "name": "pokemon_found_out442", "pokemon": [ { - "species": "SPECIES_RAICHU", + "species": "MONSTER_RAICHU", "level": 25, "probability": 0 }, { - "species": "SPECIES_RAIKOU", + "species": "MONSTER_RAIKOU", "level": 45, "probability": 10000 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 35, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_TROPIUS", + "species": "MONSTER_TROPIUS", "level": 35, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/MagmaCavern/pokemon_found.json b/data/dungeon/MagmaCavern/pokemon_found.json index d40c6af6e..5c55c64d7 100644 --- a/data/dungeon/MagmaCavern/pokemon_found.json +++ b/data/dungeon/MagmaCavern/pokemon_found.json @@ -3,32 +3,32 @@ "name": "MagmaCavern_1F_3F_Pokemon", "pokemon": [ { - "species": "SPECIES_RATICATE", + "species": "MONSTER_RATICATE", "level": 19, "probability": 2500 }, { - "species": "SPECIES_SANDSHREW", + "species": "MONSTER_SANDSHREW", "level": 20, "probability": 2500 }, { - "species": "SPECIES_NIDOQUEEN", + "species": "MONSTER_NIDOQUEEN", "level": 20, "probability": 2500 }, { - "species": "SPECIES_NIDOKING", + "species": "MONSTER_NIDOKING", "level": 21, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -37,27 +37,27 @@ "name": "MagmaCavern_4F_Pokemon", "pokemon": [ { - "species": "SPECIES_SANDSHREW", + "species": "MONSTER_SANDSHREW", "level": 20, "probability": 3333 }, { - "species": "SPECIES_NIDOQUEEN", + "species": "MONSTER_NIDOQUEEN", "level": 20, "probability": 3334 }, { - "species": "SPECIES_NIDOKING", + "species": "MONSTER_NIDOKING", "level": 21, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -66,32 +66,32 @@ "name": "MagmaCavern_5F_6F_Pokemon", "pokemon": [ { - "species": "SPECIES_SANDSHREW", + "species": "MONSTER_SANDSHREW", "level": 20, "probability": 2500 }, { - "species": "SPECIES_NIDOQUEEN", + "species": "MONSTER_NIDOQUEEN", "level": 20, "probability": 2500 }, { - "species": "SPECIES_NIDOKING", + "species": "MONSTER_NIDOKING", "level": 21, "probability": 2500 }, { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 22, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -100,22 +100,22 @@ "name": "MagmaCavern_7F_Pokemon", "pokemon": [ { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 22, "probability": 5000 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -124,32 +124,32 @@ "name": "MagmaCavern_8F_Pokemon", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 21, "probability": 2500 }, { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 22, "probability": 2500 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 2500 }, { - "species": "SPECIES_MAWILE", + "species": "MONSTER_MAWILE", "level": 20, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -158,37 +158,37 @@ "name": "MagmaCavern_9F_10F_Pokemon", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 21, "probability": 2000 }, { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 22, "probability": 2000 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 2000 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 2000 }, { - "species": "SPECIES_MAWILE", + "species": "MONSTER_MAWILE", "level": 20, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -197,32 +197,32 @@ "name": "MagmaCavern_11F_Pokemon", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 21, "probability": 2500 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 2500 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 2500 }, { - "species": "SPECIES_MAWILE", + "species": "MONSTER_MAWILE", "level": 20, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -231,27 +231,27 @@ "name": "MagmaCavern_12F_Pokemon", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 21, "probability": 3333 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 3334 }, { - "species": "SPECIES_MAWILE", + "species": "MONSTER_MAWILE", "level": 20, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -260,22 +260,22 @@ "name": "MagmaCavern_13F_Pokemon", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 21, "probability": 5000 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -284,27 +284,27 @@ "name": "MagmaCavern_14F_Pokemon", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 21, "probability": 3333 }, { - "species": "SPECIES_RHYDON", + "species": "MONSTER_RHYDON", "level": 23, "probability": 3334 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -313,32 +313,32 @@ "name": "MagmaCavern_15F_20F_Pokemon", "pokemon": [ { - "species": "SPECIES_SANDSLASH", + "species": "MONSTER_SANDSLASH", "level": 24, "probability": 2500 }, { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 15, "probability": 2500 }, { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 20, "probability": 2500 }, { - "species": "SPECIES_RHYDON", + "species": "MONSTER_RHYDON", "level": 23, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -347,22 +347,22 @@ "name": "MagmaCavern_21F_Pokemon", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 20, "probability": 8000 }, { - "species": "SPECIES_ONIX", + "species": "MONSTER_ONIX", "level": 30, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -371,17 +371,17 @@ "name": "MagmaCavern_22F_23F_Pokemon", "pokemon": [ { - "species": "SPECIES_ONIX", + "species": "MONSTER_ONIX", "level": 30, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/MagmaCavernPit/pokemon_found.json b/data/dungeon/MagmaCavernPit/pokemon_found.json index c2cd5f275..c1b120a7a 100644 --- a/data/dungeon/MagmaCavernPit/pokemon_found.json +++ b/data/dungeon/MagmaCavernPit/pokemon_found.json @@ -3,22 +3,22 @@ "name": "MagmaCavernPit_1F_Pokemon", "pokemon": [ { - "species": "SPECIES_ONIX", + "species": "MONSTER_ONIX", "level": 30, "probability": 5000 }, { - "species": "SPECIES_STEELIX", + "species": "MONSTER_STEELIX", "level": 25, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -27,22 +27,22 @@ "name": "MagmaCavernPit_2F_Pokemon", "pokemon": [ { - "species": "SPECIES_CHARIZARD", + "species": "MONSTER_CHARIZARD", "level": 55, "probability": 0 }, { - "species": "SPECIES_TYRANITAR", + "species": "MONSTER_TYRANITAR", "level": 50, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -51,22 +51,22 @@ "name": "MagmaCavernPit_3F_Pokemon", "pokemon": [ { - "species": "SPECIES_ALAKAZAM", + "species": "MONSTER_ALAKAZAM", "level": 50, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_GROUDON", + "species": "MONSTER_GROUDON", "level": 27, "probability": 5000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/MarvelousSea/pokemon_found.json b/data/dungeon/MarvelousSea/pokemon_found.json index 588bc53cb..d0919773b 100644 --- a/data/dungeon/MarvelousSea/pokemon_found.json +++ b/data/dungeon/MarvelousSea/pokemon_found.json @@ -4,32 +4,32 @@ "name": "pokemon_found_out502", "pokemon": [ { - "species": "SPECIES_TENTACOOL", + "species": "MONSTER_TENTACOOL", "level": 27, "probability": 2000 }, { - "species": "SPECIES_SHELLDER", + "species": "MONSTER_SHELLDER", "level": 25, "probability": 3000 }, { - "species": "SPECIES_OMANYTE", + "species": "MONSTER_OMANYTE", "level": 30, "probability": 3000 }, { - "species": "SPECIES_WINGULL", + "species": "MONSTER_WINGULL", "level": 23, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -39,37 +39,37 @@ "name": "pokemon_found_out503", "pokemon": [ { - "species": "SPECIES_TENTACOOL", + "species": "MONSTER_TENTACOOL", "level": 27, "probability": 1538 }, { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 1539 }, { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 30, "probability": 2308 }, { - "species": "SPECIES_SHELLDER", + "species": "MONSTER_SHELLDER", "level": 25, "probability": 2307 }, { - "species": "SPECIES_OMANYTE", + "species": "MONSTER_OMANYTE", "level": 30, "probability": 2308 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -79,32 +79,32 @@ "name": "pokemon_found_out504", "pokemon": [ { - "species": "SPECIES_TENTACOOL", + "species": "MONSTER_TENTACOOL", "level": 27, "probability": 2000 }, { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 2000 }, { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 30, "probability": 3000 }, { - "species": "SPECIES_OMANYTE", + "species": "MONSTER_OMANYTE", "level": 30, "probability": 3000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -114,32 +114,32 @@ "name": "pokemon_found_out505", "pokemon": [ { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 2000 }, { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 30, "probability": 3000 }, { - "species": "SPECIES_REMORAID", + "species": "MONSTER_REMORAID", "level": 28, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SPHEAL", + "species": "MONSTER_SPHEAL", "level": 22, "probability": 3000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -149,37 +149,37 @@ "name": "pokemon_found_out506", "pokemon": [ { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 1538 }, { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 30, "probability": 2308 }, { - "species": "SPECIES_REMORAID", + "species": "MONSTER_REMORAID", "level": 28, "probability": 1539 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 26, "probability": 2307 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SPHEAL", + "species": "MONSTER_SPHEAL", "level": 22, "probability": 2308 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -189,27 +189,27 @@ "name": "pokemon_found_out507", "pokemon": [ { - "species": "SPECIES_REMORAID", + "species": "MONSTER_REMORAID", "level": 28, "probability": 2500 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 26, "probability": 3750 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SPHEAL", + "species": "MONSTER_SPHEAL", "level": 22, "probability": 3750 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -219,27 +219,27 @@ "name": "pokemon_found_out508", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 32, "probability": 2857 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 2857 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 26, "probability": 4286 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/MeteorCave/pokemon_found.json b/data/dungeon/MeteorCave/pokemon_found.json index d74133c55..027b126e1 100644 --- a/data/dungeon/MeteorCave/pokemon_found.json +++ b/data/dungeon/MeteorCave/pokemon_found.json @@ -4,27 +4,27 @@ "name": "pokemon_found_out161", "pokemon": [ { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DEOXYS_ATTACK", + "species": "MONSTER_DEOXYS_ATTACK", "level": 35, "probability": 3333 }, { - "species": "SPECIES_DEOXYS_DEFENSE", + "species": "MONSTER_DEOXYS_DEFENSE", "level": 35, "probability": 3334 }, { - "species": "SPECIES_DEOXYS_SPEED", + "species": "MONSTER_DEOXYS_SPEED", "level": 35, "probability": 3333 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -34,32 +34,32 @@ "name": "pokemon_found_out162", "pokemon": [ { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DEOXYS_NORMAL", + "species": "MONSTER_DEOXYS_NORMAL", "level": 35, "probability": 10000 }, { - "species": "SPECIES_DEOXYS_ATTACK", + "species": "MONSTER_DEOXYS_ATTACK", "level": 35, "probability": 0 }, { - "species": "SPECIES_DEOXYS_DEFENSE", + "species": "MONSTER_DEOXYS_DEFENSE", "level": 35, "probability": 0 }, { - "species": "SPECIES_DEOXYS_SPEED", + "species": "MONSTER_DEOXYS_SPEED", "level": 35, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/MtBlaze/pokemon_found.json b/data/dungeon/MtBlaze/pokemon_found.json index b269470ac..8f528b1dc 100644 --- a/data/dungeon/MtBlaze/pokemon_found.json +++ b/data/dungeon/MtBlaze/pokemon_found.json @@ -2,32 +2,32 @@ "tables": [{ "name": "MtBlaze_1F_3F_Pokemon", "pokemon": [{ - "species": "SPECIES_PIDGEOT", + "species": "MONSTER_PIDGEOT", "level": 16, "probability": 2857 }, { - "species": "SPECIES_SLUGMA", + "species": "MONSTER_SLUGMA", "level": 16, "probability": 1429 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 2857 }, { - "species": "SPECIES_NUMEL", + "species": "MONSTER_NUMEL", "level": 14, "probability": 2857 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -37,27 +37,27 @@ "name": "MtBlaze_4F_Pokemon", "pokemon": [ { - "species": "SPECIES_SLUGMA", + "species": "MONSTER_SLUGMA", "level": 16, "probability": 2000 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 4000 }, { - "species": "SPECIES_NUMEL", + "species": "MONSTER_NUMEL", "level": 14, "probability": 4000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -66,32 +66,32 @@ }, { "name": "MtBlaze_5F_Pokemon", "pokemon": [{ - "species": "SPECIES_SHUCKLE", + "species": "MONSTER_SHUCKLE", "level": 15, "probability": 1304 }, { - "species": "SPECIES_SLUGMA", + "species": "MONSTER_SLUGMA", "level": 16, "probability": 1739 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 3479 }, { - "species": "SPECIES_NUMEL", + "species": "MONSTER_NUMEL", "level": 14, "probability": 3478 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -99,27 +99,27 @@ }, { "name": "MtBlaze_6F_Pokemon", "pokemon": [{ - "species": "SPECIES_SHUCKLE", + "species": "MONSTER_SHUCKLE", "level": 15, "probability": 2000 }, { - "species": "SPECIES_SLUGMA", + "species": "MONSTER_SLUGMA", "level": 16, "probability": 2667 }, { - "species": "SPECIES_NUMEL", + "species": "MONSTER_NUMEL", "level": 14, "probability": 5333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -127,27 +127,27 @@ }, { "name": "MtBlaze_7F_Pokemon", "pokemon": [{ - "species": "SPECIES_SHUCKLE", + "species": "MONSTER_SHUCKLE", "level": 15, "probability": 2000 }, { - "species": "SPECIES_SLUGMA", + "species": "MONSTER_SLUGMA", "level": 16, "probability": 2667 }, { - "species": "SPECIES_TORKOAL", + "species": "MONSTER_TORKOAL", "level": 15, "probability": 5333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -156,32 +156,32 @@ "name": "MtBlaze_8F_9F_Pokemon", "pokemon": [ { - "species": "SPECIES_RAPIDASH", + "species": "MONSTER_RAPIDASH", "level": 10, "probability": 3478 }, { - "species": "SPECIES_SHUCKLE", + "species": "MONSTER_SHUCKLE", "level": 15, "probability": 1305 }, { - "species": "SPECIES_SLUGMA", + "species": "MONSTER_SLUGMA", "level": 16, "probability": 1739 }, { - "species": "SPECIES_TORKOAL", + "species": "MONSTER_TORKOAL", "level": 15, "probability": 3478 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -190,27 +190,27 @@ "name": "MtBlaze_10F_12F_Pokemon", "pokemon": [ { - "species": "SPECIES_RAPIDASH", + "species": "MONSTER_RAPIDASH", "level": 10, "probability": 4000 }, { - "species": "SPECIES_SLUGMA", + "species": "MONSTER_SLUGMA", "level": 16, "probability": 2000 }, { - "species": "SPECIES_TORKOAL", + "species": "MONSTER_TORKOAL", "level": 15, "probability": 4000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/MtBlazePeak/pokemon_found.json b/data/dungeon/MtBlazePeak/pokemon_found.json index 76c74008b..50a7cd605 100644 --- a/data/dungeon/MtBlazePeak/pokemon_found.json +++ b/data/dungeon/MtBlazePeak/pokemon_found.json @@ -2,22 +2,22 @@ "tables": [{ "name": "MtBlazePeak_1F_2F_Pokemon", "pokemon": [{ - "species": "SPECIES_FEAROW", + "species": "MONSTER_FEAROW", "level": 17, "probability": 5000 }, { - "species": "SPECIES_ARCANINE", + "species": "MONSTER_ARCANINE", "level": 18, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -26,17 +26,17 @@ "name": "MtBlazePeak_3F_Pokemon", "pokemon": [ { - "species": "SPECIES_MOLTRES", + "species": "MONSTER_MOLTRES", "level": 32, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/MtFaraway/pokemon_found.json b/data/dungeon/MtFaraway/pokemon_found.json index db94d6ccc..28578576d 100644 --- a/data/dungeon/MtFaraway/pokemon_found.json +++ b/data/dungeon/MtFaraway/pokemon_found.json @@ -4,27 +4,27 @@ "name": "pokemon_found_out715", "pokemon": [ { - "species": "SPECIES_HITMONCHAN", + "species": "MONSTER_HITMONCHAN", "level": 22, "probability": 3333 }, { - "species": "SPECIES_LUNATONE", + "species": "MONSTER_LUNATONE", "level": 24, "probability": 3334 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SNORUNT", + "species": "MONSTER_SNORUNT", "level": 20, "probability": 3333 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -34,27 +34,27 @@ "name": "pokemon_found_out716", "pokemon": [ { - "species": "SPECIES_HITMONCHAN", + "species": "MONSTER_HITMONCHAN", "level": 22, "probability": 3333 }, { - "species": "SPECIES_SOLROCK", + "species": "MONSTER_SOLROCK", "level": 24, "probability": 3334 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SNORUNT", + "species": "MONSTER_SNORUNT", "level": 20, "probability": 3333 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -64,42 +64,42 @@ "name": "pokemon_found_out717", "pokemon": [ { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 15, "probability": 1333 }, { - "species": "SPECIES_AZUMARILL", + "species": "MONSTER_AZUMARILL", "level": 24, "probability": 3334 }, { - "species": "SPECIES_MARSHTOMP", + "species": "MONSTER_MARSHTOMP", "level": 28, "probability": 1333 }, { - "species": "SPECIES_VIGOROTH", + "species": "MONSTER_VIGOROTH", "level": 45, "probability": 1333 }, { - "species": "SPECIES_SOLROCK", + "species": "MONSTER_SOLROCK", "level": 24, "probability": 1334 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SNORUNT", + "species": "MONSTER_SNORUNT", "level": 20, "probability": 1333 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -109,37 +109,37 @@ "name": "pokemon_found_out718", "pokemon": [ { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 15, "probability": 2000 }, { - "species": "SPECIES_MARSHTOMP", + "species": "MONSTER_MARSHTOMP", "level": 28, "probability": 2000 }, { - "species": "SPECIES_VIGOROTH", + "species": "MONSTER_VIGOROTH", "level": 45, "probability": 2000 }, { - "species": "SPECIES_SOLROCK", + "species": "MONSTER_SOLROCK", "level": 24, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SNORUNT", + "species": "MONSTER_SNORUNT", "level": 20, "probability": 2000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -149,27 +149,27 @@ "name": "pokemon_found_out719", "pokemon": [ { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 15, "probability": 3333 }, { - "species": "SPECIES_MARSHTOMP", + "species": "MONSTER_MARSHTOMP", "level": 28, "probability": 3334 }, { - "species": "SPECIES_VIGOROTH", + "species": "MONSTER_VIGOROTH", "level": 45, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -179,27 +179,27 @@ "name": "pokemon_found_out720", "pokemon": [ { - "species": "SPECIES_PARASECT", + "species": "MONSTER_PARASECT", "level": 30, "probability": 2759 }, { - "species": "SPECIES_AZUMARILL", + "species": "MONSTER_AZUMARILL", "level": 24, "probability": 6896 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 50, "probability": 345 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -209,27 +209,27 @@ "name": "pokemon_found_out721", "pokemon": [ { - "species": "SPECIES_PARASECT", + "species": "MONSTER_PARASECT", "level": 30, "probability": 4706 }, { - "species": "SPECIES_GRANBULL", + "species": "MONSTER_GRANBULL", "level": 23, "probability": 4706 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 50, "probability": 588 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -239,42 +239,42 @@ "name": "pokemon_found_out722", "pokemon": [ { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 20, "probability": 1403 }, { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 20, "probability": 878 }, { - "species": "SPECIES_CROCONAW", + "species": "MONSTER_CROCONAW", "level": 28, "probability": 1403 }, { - "species": "SPECIES_AZUMARILL", + "species": "MONSTER_AZUMARILL", "level": 24, "probability": 3509 }, { - "species": "SPECIES_GRANBULL", + "species": "MONSTER_GRANBULL", "level": 23, "probability": 1403 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_GLALIE", + "species": "MONSTER_GLALIE", "level": 45, "probability": 1404 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -284,32 +284,32 @@ "name": "pokemon_found_out723", "pokemon": [ { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 20, "probability": 2759 }, { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 20, "probability": 1724 }, { - "species": "SPECIES_CROCONAW", + "species": "MONSTER_CROCONAW", "level": 28, "probability": 2758 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_GLALIE", + "species": "MONSTER_GLALIE", "level": 45, "probability": 2759 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -319,37 +319,37 @@ "name": "pokemon_found_out724", "pokemon": [ { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 20, "probability": 1633 }, { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 20, "probability": 1020 }, { - "species": "SPECIES_CROCONAW", + "species": "MONSTER_CROCONAW", "level": 28, "probability": 1633 }, { - "species": "SPECIES_AZUMARILL", + "species": "MONSTER_AZUMARILL", "level": 24, "probability": 4081 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_GLALIE", + "species": "MONSTER_GLALIE", "level": 45, "probability": 1633 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -359,27 +359,27 @@ "name": "pokemon_found_out725", "pokemon": [ { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 20, "probability": 3333 }, { - "species": "SPECIES_CROCONAW", + "species": "MONSTER_CROCONAW", "level": 28, "probability": 3334 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_GLALIE", + "species": "MONSTER_GLALIE", "level": 45, "probability": 3333 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -389,17 +389,17 @@ "name": "pokemon_found_out726", "pokemon": [ { - "species": "SPECIES_HO_OH", + "species": "MONSTER_HO_OH", "level": 50, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/MtFreeze/pokemon_found.json b/data/dungeon/MtFreeze/pokemon_found.json index bdd07d0b7..462e187d9 100644 --- a/data/dungeon/MtFreeze/pokemon_found.json +++ b/data/dungeon/MtFreeze/pokemon_found.json @@ -3,27 +3,27 @@ "name": "MtFreeze_1F_2F_Pokemon", "pokemon": [ { - "species": "SPECIES_PINECO", + "species": "MONSTER_PINECO", "level": 18, "probability": 1111 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 18, "probability": 4445 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHELGON", + "species": "MONSTER_SHELGON", "level": 19, "probability": 4444 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -32,37 +32,37 @@ "name": "MtFreeze_3F_5F_Pokemon", "pokemon": [ { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 18, "probability": 2759 }, { - "species": "SPECIES_PINECO", + "species": "MONSTER_PINECO", "level": 18, "probability": 689 }, { - "species": "SPECIES_PUPITAR", + "species": "MONSTER_PUPITAR", "level": 17, "probability": 1035 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 18, "probability": 2758 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHELGON", + "species": "MONSTER_SHELGON", "level": 19, "probability": 2759 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -71,27 +71,27 @@ "name": "MtFreeze_6F_Pokemon", "pokemon": [ { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 18, "probability": 3333 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 18, "probability": 3334 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHELGON", + "species": "MONSTER_SHELGON", "level": 19, "probability": 3333 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -100,32 +100,32 @@ "name": "MtFreeze_7F_Pokemon", "pokemon": [ { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 18, "probability": 2857 }, { - "species": "SPECIES_VIGOROTH", + "species": "MONSTER_VIGOROTH", "level": 20, "probability": 2857 }, { - "species": "SPECIES_ZANGOOSE", + "species": "MONSTER_ZANGOOSE", "level": 18, "probability": 2857 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_CHIMECHO", + "species": "MONSTER_CHIMECHO", "level": 22, "probability": 1429 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -134,27 +134,27 @@ "name": "MtFreeze_8F_11F_Pokemon", "pokemon": [ { - "species": "SPECIES_VIGOROTH", + "species": "MONSTER_VIGOROTH", "level": 20, "probability": 4000 }, { - "species": "SPECIES_ZANGOOSE", + "species": "MONSTER_ZANGOOSE", "level": 18, "probability": 4000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_CHIMECHO", + "species": "MONSTER_CHIMECHO", "level": 22, "probability": 2000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -163,27 +163,27 @@ "name": "MtFreeze_12F_Pokemon", "pokemon": [ { - "species": "SPECIES_SLAKING", + "species": "MONSTER_SLAKING", "level": 15, "probability": 4000 }, { - "species": "SPECIES_ZANGOOSE", + "species": "MONSTER_ZANGOOSE", "level": 18, "probability": 4000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_CHIMECHO", + "species": "MONSTER_CHIMECHO", "level": 22, "probability": 2000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -192,22 +192,22 @@ "name": "MtFreeze_13F_15F_Pokemon", "pokemon": [ { - "species": "SPECIES_SLAKING", + "species": "MONSTER_SLAKING", "level": 15, "probability": 5000 }, { - "species": "SPECIES_SEVIPER", + "species": "MONSTER_SEVIPER", "level": 19, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/MtFreezePeak/pokemon_found.json b/data/dungeon/MtFreezePeak/pokemon_found.json index 683135d76..46a088143 100644 --- a/data/dungeon/MtFreezePeak/pokemon_found.json +++ b/data/dungeon/MtFreezePeak/pokemon_found.json @@ -3,17 +3,17 @@ "name": "MtFreezePeak_1F_4F_Pokemon", "pokemon": [ { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_GLALIE", + "species": "MONSTER_GLALIE", "level": 20, "probability": 10000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -22,32 +22,32 @@ "name": "MtFreezePeak_5F_Pokemon", "pokemon": [ { - "species": "SPECIES_CHARIZARD", + "species": "MONSTER_CHARIZARD", "level": 55, "probability": 0 }, { - "species": "SPECIES_ALAKAZAM", + "species": "MONSTER_ALAKAZAM", "level": 50, "probability": 0 }, { - "species": "SPECIES_TYRANITAR", + "species": "MONSTER_TYRANITAR", "level": 50, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_GLALIE", + "species": "MONSTER_GLALIE", "level": 20, "probability": 10000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/MtSteel/pokemon_found.json b/data/dungeon/MtSteel/pokemon_found.json index 8b8b110ef..5e62f5f1e 100644 --- a/data/dungeon/MtSteel/pokemon_found.json +++ b/data/dungeon/MtSteel/pokemon_found.json @@ -2,32 +2,32 @@ "tables": [{ "name": "MtSteel_1F_4F_Pokemon", "pokemon": [{ - "species": "SPECIES_SPEAROW", + "species": "MONSTER_SPEAROW", "level": 4, "probability": 2353 }, { - "species": "SPECIES_ZIGZAGOON", + "species": "MONSTER_ZIGZAGOON", "level": 5, "probability": 2353 }, { - "species": "SPECIES_ARON", + "species": "MONSTER_ARON", "level": 6, "probability": 2941 }, { - "species": "SPECIES_BALTOY", + "species": "MONSTER_BALTOY", "level": 5, "probability": 2353 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -35,37 +35,37 @@ }, { "name": "MtSteel_5F_Pokemon", "pokemon": [{ - "species": "SPECIES_GEODUDE", + "species": "MONSTER_GEODUDE", "level": 5, "probability": 1905 }, { - "species": "SPECIES_TYROGUE", + "species": "MONSTER_TYROGUE", "level": 6, "probability": 1905 }, { - "species": "SPECIES_ZIGZAGOON", + "species": "MONSTER_ZIGZAGOON", "level": 5, "probability": 1904 }, { - "species": "SPECIES_ARON", + "species": "MONSTER_ARON", "level": 6, "probability": 2381 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 6, "probability": 1905 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -73,37 +73,37 @@ }, { "name": "MtSteel_6F_Pokemon", "pokemon": [{ - "species": "SPECIES_GEODUDE", + "species": "MONSTER_GEODUDE", "level": 5, "probability": 2051 }, { - "species": "SPECIES_TYROGUE", + "species": "MONSTER_TYROGUE", "level": 6, "probability": 2052 }, { - "species": "SPECIES_ARON", + "species": "MONSTER_ARON", "level": 6, "probability": 2564 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 6, "probability": 2051 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BELDUM", + "species": "MONSTER_BELDUM", "level": 5, "probability": 1282 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -111,42 +111,42 @@ }, { "name": "MtSteel_7F_8F_Pokemon", "pokemon": [{ - "species": "SPECIES_GEODUDE", + "species": "MONSTER_GEODUDE", "level": 5, "probability": 1633 }, { - "species": "SPECIES_PINSIR", + "species": "MONSTER_PINSIR", "level": 6, "probability": 2040 }, { - "species": "SPECIES_TYROGUE", + "species": "MONSTER_TYROGUE", "level": 6, "probability": 1633 }, { - "species": "SPECIES_ARON", + "species": "MONSTER_ARON", "level": 6, "probability": 2041 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 6, "probability": 1633 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BELDUM", + "species": "MONSTER_BELDUM", "level": 5, "probability": 1020 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -154,32 +154,32 @@ }, { "name": "MtSteel_9F_Pokemon", "pokemon": [{ - "species": "SPECIES_DIGLETT", + "species": "MONSTER_DIGLETT", "level": 5, "probability": 0 }, { - "species": "SPECIES_SKARMORY", + "species": "MONSTER_SKARMORY", "level": 10, "probability": 0 }, { - "species": "SPECIES_ARON", + "species": "MONSTER_ARON", "level": 6, "probability": 6667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BELDUM", + "species": "MONSTER_BELDUM", "level": 5, "probability": 3333 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/MtThunder/pokemon_found.json b/data/dungeon/MtThunder/pokemon_found.json index 731f4ac4d..45243d6a9 100644 --- a/data/dungeon/MtThunder/pokemon_found.json +++ b/data/dungeon/MtThunder/pokemon_found.json @@ -3,32 +3,32 @@ "name": "MtThunder_1F_Pokemon", "pokemon": [ { - "species": "SPECIES_WEEDLE", + "species": "MONSTER_WEEDLE", "level": 8, "probability": 1875 }, { - "species": "SPECIES_NIDORAN_M", + "species": "MONSTER_NIDORAN_M", "level": 12, "probability": 3125 }, { - "species": "SPECIES_ELECTRIKE", + "species": "MONSTER_ELECTRIKE", "level": 12, "probability": 3125 }, { - "species": "SPECIES_CACNEA", + "species": "MONSTER_CACNEA", "level": 11, "probability": 1875 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -37,37 +37,37 @@ "name": "MtThunder_2F_4F_Pokemon", "pokemon": [ { - "species": "SPECIES_WEEDLE", + "species": "MONSTER_WEEDLE", "level": 8, "probability": 1429 }, { - "species": "SPECIES_PIDGEOTTO", + "species": "MONSTER_PIDGEOTTO", "level": 11, "probability": 2381 }, { - "species": "SPECIES_NIDORAN_M", + "species": "MONSTER_NIDORAN_M", "level": 12, "probability": 2380 }, { - "species": "SPECIES_ELECTRIKE", + "species": "MONSTER_ELECTRIKE", "level": 12, "probability": 2381 }, { - "species": "SPECIES_CACNEA", + "species": "MONSTER_CACNEA", "level": 11, "probability": 1429 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -76,32 +76,32 @@ "name": "MtThunder_5F_Pokemon", "pokemon": [ { - "species": "SPECIES_BEEDRILL", + "species": "MONSTER_BEEDRILL", "level": 10, "probability": 1333 }, { - "species": "SPECIES_PIDGEOTTO", + "species": "MONSTER_PIDGEOTTO", "level": 11, "probability": 3334 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 2666 }, { - "species": "SPECIES_STANTLER", + "species": "MONSTER_STANTLER", "level": 9, "probability": 2667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -110,32 +110,32 @@ "name": "MtThunder_6F_Pokemon", "pokemon": [ { - "species": "SPECIES_BEEDRILL", + "species": "MONSTER_BEEDRILL", "level": 10, "probability": 1538 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 3077 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 12, "probability": 2308 }, { - "species": "SPECIES_STANTLER", + "species": "MONSTER_STANTLER", "level": 9, "probability": 3077 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -144,37 +144,37 @@ "name": "MtThunder_7F_Pokemon", "pokemon": [ { - "species": "SPECIES_BEEDRILL", + "species": "MONSTER_BEEDRILL", "level": 10, "probability": 1111 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 2222 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 12, "probability": 1667 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 2778 }, { - "species": "SPECIES_STANTLER", + "species": "MONSTER_STANTLER", "level": 9, "probability": 2222 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -183,42 +183,42 @@ "name": "MtThunder_8F_Pokemon", "pokemon": [ { - "species": "SPECIES_BEEDRILL", + "species": "MONSTER_BEEDRILL", "level": 10, "probability": 870 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 1739 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 12, "probability": 1304 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 2174 }, { - "species": "SPECIES_STANTLER", + "species": "MONSTER_STANTLER", "level": 9, "probability": 1739 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 9, "probability": 2174 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -227,37 +227,37 @@ "name": "MtThunder_9F_Pokemon", "pokemon": [ { - "species": "SPECIES_GROWLITHE", + "species": "MONSTER_GROWLITHE", "level": 10, "probability": 1905 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 12, "probability": 1428 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 2381 }, { - "species": "SPECIES_STANTLER", + "species": "MONSTER_STANTLER", "level": 9, "probability": 1905 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 9, "probability": 2381 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -266,32 +266,32 @@ "name": "MtThunder_10F_Pokemon", "pokemon": [ { - "species": "SPECIES_GROWLITHE", + "species": "MONSTER_GROWLITHE", "level": 10, "probability": 2353 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 12, "probability": 1765 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 2941 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 9, "probability": 2941 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/MtThunderPeak/pokemon_found.json b/data/dungeon/MtThunderPeak/pokemon_found.json index 22f230efe..c2cdacf5c 100644 --- a/data/dungeon/MtThunderPeak/pokemon_found.json +++ b/data/dungeon/MtThunderPeak/pokemon_found.json @@ -2,37 +2,37 @@ "tables": [{ "name": "MtThunderPeak_1F_2F_Pokemon", "pokemon": [{ - "species": "SPECIES_GROWLITHE", + "species": "MONSTER_GROWLITHE", "level": 10, "probability": 2000 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 2000 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 12, "probability": 2000 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 2000 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 9, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -40,17 +40,17 @@ }, { "name": "MtThunderPeak_3F_Pokemon", "pokemon": [{ - "species": "SPECIES_ZAPDOS", + "species": "MONSTER_ZAPDOS", "level": 25, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/MurkyCave/pokemon_found.json b/data/dungeon/MurkyCave/pokemon_found.json index ea26aaff0..33284971a 100644 --- a/data/dungeon/MurkyCave/pokemon_found.json +++ b/data/dungeon/MurkyCave/pokemon_found.json @@ -4,32 +4,32 @@ "name": "pokemon_found_out449", "pokemon": [ { - "species": "SPECIES_ZUBAT", + "species": "MONSTER_ZUBAT", "level": 17, "probability": 3077 }, { - "species": "SPECIES_VENONAT", + "species": "MONSTER_VENONAT", "level": 17, "probability": 2308 }, { - "species": "SPECIES_CASCOON", + "species": "MONSTER_CASCOON", "level": 8, "probability": 2307 }, { - "species": "SPECIES_SEVIPER", + "species": "MONSTER_SEVIPER", "level": 19, "probability": 2308 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -39,37 +39,37 @@ "name": "pokemon_found_out450", "pokemon": [ { - "species": "SPECIES_ZUBAT", + "species": "MONSTER_ZUBAT", "level": 17, "probability": 2353 }, { - "species": "SPECIES_VENONAT", + "species": "MONSTER_VENONAT", "level": 17, "probability": 1765 }, { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 20, "probability": 2353 }, { - "species": "SPECIES_DUSTOX", + "species": "MONSTER_DUSTOX", "level": 10, "probability": 1764 }, { - "species": "SPECIES_SEVIPER", + "species": "MONSTER_SEVIPER", "level": 19, "probability": 1765 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -79,42 +79,42 @@ "name": "pokemon_found_out451", "pokemon": [ { - "species": "SPECIES_ZUBAT", + "species": "MONSTER_ZUBAT", "level": 17, "probability": 2000 }, { - "species": "SPECIES_VENONAT", + "species": "MONSTER_VENONAT", "level": 17, "probability": 1500 }, { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 20, "probability": 2000 }, { - "species": "SPECIES_CASCOON", + "species": "MONSTER_CASCOON", "level": 8, "probability": 1500 }, { - "species": "SPECIES_DUSTOX", + "species": "MONSTER_DUSTOX", "level": 10, "probability": 1500 }, { - "species": "SPECIES_SEVIPER", + "species": "MONSTER_SEVIPER", "level": 19, "probability": 1500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -124,27 +124,27 @@ "name": "pokemon_found_out452", "pokemon": [ { - "species": "SPECIES_GOLBAT", + "species": "MONSTER_GOLBAT", "level": 10, "probability": 3636 }, { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 20, "probability": 3637 }, { - "species": "SPECIES_DUSTOX", + "species": "MONSTER_DUSTOX", "level": 10, "probability": 2727 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -154,27 +154,27 @@ "name": "pokemon_found_out453", "pokemon": [ { - "species": "SPECIES_GOLBAT", + "species": "MONSTER_GOLBAT", "level": 10, "probability": 4000 }, { - "species": "SPECIES_CASCOON", + "species": "MONSTER_CASCOON", "level": 8, "probability": 3000 }, { - "species": "SPECIES_SHEDINJA", + "species": "MONSTER_SHEDINJA", "level": 5, "probability": 3000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -184,32 +184,32 @@ "name": "pokemon_found_out454", "pokemon": [ { - "species": "SPECIES_GOLBAT", + "species": "MONSTER_GOLBAT", "level": 10, "probability": 3077 }, { - "species": "SPECIES_DUSTOX", + "species": "MONSTER_DUSTOX", "level": 10, "probability": 2308 }, { - "species": "SPECIES_SHEDINJA", + "species": "MONSTER_SHEDINJA", "level": 5, "probability": 2307 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHUPPET", + "species": "MONSTER_SHUPPET", "level": 28, "probability": 2308 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -219,37 +219,37 @@ "name": "pokemon_found_out455", "pokemon": [ { - "species": "SPECIES_CROBAT", + "species": "MONSTER_CROBAT", "level": 24, "probability": 2500 }, { - "species": "SPECIES_CASCOON", + "species": "MONSTER_CASCOON", "level": 8, "probability": 1875 }, { - "species": "SPECIES_DUSTOX", + "species": "MONSTER_DUSTOX", "level": 10, "probability": 1875 }, { - "species": "SPECIES_SHEDINJA", + "species": "MONSTER_SHEDINJA", "level": 5, "probability": 1875 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHUPPET", + "species": "MONSTER_SHUPPET", "level": 28, "probability": 1875 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -259,32 +259,32 @@ "name": "pokemon_found_out456", "pokemon": [ { - "species": "SPECIES_CROBAT", + "species": "MONSTER_CROBAT", "level": 24, "probability": 3077 }, { - "species": "SPECIES_DUSTOX", + "species": "MONSTER_DUSTOX", "level": 10, "probability": 2308 }, { - "species": "SPECIES_SHEDINJA", + "species": "MONSTER_SHEDINJA", "level": 5, "probability": 2307 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHUPPET", + "species": "MONSTER_SHUPPET", "level": 28, "probability": 2308 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -294,32 +294,32 @@ "name": "pokemon_found_out457", "pokemon": [ { - "species": "SPECIES_CROBAT", + "species": "MONSTER_CROBAT", "level": 24, "probability": 3077 }, { - "species": "SPECIES_MISDREAVUS", + "species": "MONSTER_MISDREAVUS", "level": 25, "probability": 2308 }, { - "species": "SPECIES_DUSTOX", + "species": "MONSTER_DUSTOX", "level": 10, "probability": 2307 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHUPPET", + "species": "MONSTER_SHUPPET", "level": 28, "probability": 2308 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -329,37 +329,37 @@ "name": "pokemon_found_out458", "pokemon": [ { - "species": "SPECIES_MUK", + "species": "MONSTER_MUK", "level": 36, "probability": 2353 }, { - "species": "SPECIES_CROBAT", + "species": "MONSTER_CROBAT", "level": 24, "probability": 2353 }, { - "species": "SPECIES_MISDREAVUS", + "species": "MONSTER_MISDREAVUS", "level": 25, "probability": 1765 }, { - "species": "SPECIES_SWALOT", + "species": "MONSTER_SWALOT", "level": 34, "probability": 1764 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHUPPET", + "species": "MONSTER_SHUPPET", "level": 28, "probability": 1765 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -369,32 +369,32 @@ "name": "pokemon_found_out459", "pokemon": [ { - "species": "SPECIES_MUK", + "species": "MONSTER_MUK", "level": 36, "probability": 2857 }, { - "species": "SPECIES_CROBAT", + "species": "MONSTER_CROBAT", "level": 24, "probability": 2857 }, { - "species": "SPECIES_MISDREAVUS", + "species": "MONSTER_MISDREAVUS", "level": 25, "probability": 2143 }, { - "species": "SPECIES_SWALOT", + "species": "MONSTER_SWALOT", "level": 34, "probability": 2143 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/NorthernRange/pokemon_found.json b/data/dungeon/NorthernRange/pokemon_found.json index bf3efc333..1c0ef85d2 100644 --- a/data/dungeon/NorthernRange/pokemon_found.json +++ b/data/dungeon/NorthernRange/pokemon_found.json @@ -4,37 +4,37 @@ "name": "pokemon_found_out327", "pokemon": [ { - "species": "SPECIES_DODRIO", + "species": "MONSTER_DODRIO", "level": 25, "probability": 2000 }, { - "species": "SPECIES_HOOTHOOT", + "species": "MONSTER_HOOTHOOT", "level": 36, "probability": 2000 }, { - "species": "SPECIES_JUMPLUFF", + "species": "MONSTER_JUMPLUFF", "level": 40, "probability": 2000 }, { - "species": "SPECIES_BEAUTIFLY", + "species": "MONSTER_BEAUTIFLY", "level": 36, "probability": 2000 }, { - "species": "SPECIES_NINJASK", + "species": "MONSTER_NINJASK", "level": 25, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -44,37 +44,37 @@ "name": "pokemon_found_out328", "pokemon": [ { - "species": "SPECIES_DODRIO", + "species": "MONSTER_DODRIO", "level": 25, "probability": 2000 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 34, "probability": 2000 }, { - "species": "SPECIES_JUMPLUFF", + "species": "MONSTER_JUMPLUFF", "level": 40, "probability": 2000 }, { - "species": "SPECIES_BEAUTIFLY", + "species": "MONSTER_BEAUTIFLY", "level": 36, "probability": 2000 }, { - "species": "SPECIES_NINJASK", + "species": "MONSTER_NINJASK", "level": 25, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -84,37 +84,37 @@ "name": "pokemon_found_out329", "pokemon": [ { - "species": "SPECIES_DODRIO", + "species": "MONSTER_DODRIO", "level": 25, "probability": 2000 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 34, "probability": 2000 }, { - "species": "SPECIES_JUMPLUFF", + "species": "MONSTER_JUMPLUFF", "level": 40, "probability": 2000 }, { - "species": "SPECIES_SWELLOW", + "species": "MONSTER_SWELLOW", "level": 20, "probability": 2000 }, { - "species": "SPECIES_NINJASK", + "species": "MONSTER_NINJASK", "level": 25, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -124,27 +124,27 @@ "name": "pokemon_found_out330", "pokemon": [ { - "species": "SPECIES_PIDGEOT", + "species": "MONSTER_PIDGEOT", "level": 30, "probability": 3333 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 34, "probability": 3334 }, { - "species": "SPECIES_SWELLOW", + "species": "MONSTER_SWELLOW", "level": 20, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -154,27 +154,27 @@ "name": "pokemon_found_out331", "pokemon": [ { - "species": "SPECIES_PIDGEOT", + "species": "MONSTER_PIDGEOT", "level": 30, "probability": 3333 }, { - "species": "SPECIES_LEDIAN", + "species": "MONSTER_LEDIAN", "level": 31, "probability": 3334 }, { - "species": "SPECIES_SWELLOW", + "species": "MONSTER_SWELLOW", "level": 20, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -184,27 +184,27 @@ "name": "pokemon_found_out332", "pokemon": [ { - "species": "SPECIES_PIDGEOT", + "species": "MONSTER_PIDGEOT", "level": 30, "probability": 3333 }, { - "species": "SPECIES_LEDIAN", + "species": "MONSTER_LEDIAN", "level": 31, "probability": 3334 }, { - "species": "SPECIES_XATU", + "species": "MONSTER_XATU", "level": 27, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -214,27 +214,27 @@ "name": "pokemon_found_out333", "pokemon": [ { - "species": "SPECIES_FEAROW", + "species": "MONSTER_FEAROW", "level": 30, "probability": 3333 }, { - "species": "SPECIES_LEDIAN", + "species": "MONSTER_LEDIAN", "level": 31, "probability": 3334 }, { - "species": "SPECIES_XATU", + "species": "MONSTER_XATU", "level": 27, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -244,32 +244,32 @@ "name": "pokemon_found_out334", "pokemon": [ { - "species": "SPECIES_FEAROW", + "species": "MONSTER_FEAROW", "level": 30, "probability": 2500 }, { - "species": "SPECIES_LEDIAN", + "species": "MONSTER_LEDIAN", "level": 31, "probability": 2500 }, { - "species": "SPECIES_TOGETIC", + "species": "MONSTER_TOGETIC", "level": 25, "probability": 2500 }, { - "species": "SPECIES_XATU", + "species": "MONSTER_XATU", "level": 27, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -279,32 +279,32 @@ "name": "pokemon_found_out335", "pokemon": [ { - "species": "SPECIES_FEAROW", + "species": "MONSTER_FEAROW", "level": 30, "probability": 2500 }, { - "species": "SPECIES_NOCTOWL", + "species": "MONSTER_NOCTOWL", "level": 30, "probability": 2500 }, { - "species": "SPECIES_TOGETIC", + "species": "MONSTER_TOGETIC", "level": 25, "probability": 2500 }, { - "species": "SPECIES_XATU", + "species": "MONSTER_XATU", "level": 27, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -314,37 +314,37 @@ "name": "pokemon_found_out336", "pokemon": [ { - "species": "SPECIES_FEAROW", + "species": "MONSTER_FEAROW", "level": 30, "probability": 2000 }, { - "species": "SPECIES_NOCTOWL", + "species": "MONSTER_NOCTOWL", "level": 30, "probability": 2000 }, { - "species": "SPECIES_TOGETIC", + "species": "MONSTER_TOGETIC", "level": 25, "probability": 2000 }, { - "species": "SPECIES_XATU", + "species": "MONSTER_XATU", "level": 27, "probability": 2000 }, { - "species": "SPECIES_SEVIPER", + "species": "MONSTER_SEVIPER", "level": 25, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -354,32 +354,32 @@ "name": "pokemon_found_out337", "pokemon": [ { - "species": "SPECIES_FEAROW", + "species": "MONSTER_FEAROW", "level": 30, "probability": 2500 }, { - "species": "SPECIES_NOCTOWL", + "species": "MONSTER_NOCTOWL", "level": 30, "probability": 2500 }, { - "species": "SPECIES_TOGETIC", + "species": "MONSTER_TOGETIC", "level": 25, "probability": 2500 }, { - "species": "SPECIES_SEVIPER", + "species": "MONSTER_SEVIPER", "level": 25, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -389,27 +389,27 @@ "name": "pokemon_found_out338", "pokemon": [ { - "species": "SPECIES_SEVIPER", + "species": "MONSTER_SEVIPER", "level": 25, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_LATIAS", + "species": "MONSTER_LATIAS", "level": 28, "probability": 5000 }, { - "species": "SPECIES_LATIOS", + "species": "MONSTER_LATIOS", "level": 30, "probability": 5000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/NorthwindField/pokemon_found.json b/data/dungeon/NorthwindField/pokemon_found.json index 2d6de5d5c..3ecead0b4 100644 --- a/data/dungeon/NorthwindField/pokemon_found.json +++ b/data/dungeon/NorthwindField/pokemon_found.json @@ -4,27 +4,27 @@ "name": "pokemon_found_out395", "pokemon": [ { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 50, "probability": 3333 }, { - "species": "SPECIES_JYNX", + "species": "MONSTER_JYNX", "level": 32, "probability": 3334 }, { - "species": "SPECIES_VOLBEAT", + "species": "MONSTER_VOLBEAT", "level": 28, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -34,32 +34,32 @@ "name": "pokemon_found_out396", "pokemon": [ { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 50, "probability": 2667 }, { - "species": "SPECIES_JYNX", + "species": "MONSTER_JYNX", "level": 32, "probability": 2666 }, { - "species": "SPECIES_AZUMARILL", + "species": "MONSTER_AZUMARILL", "level": 24, "probability": 2000 }, { - "species": "SPECIES_VOLBEAT", + "species": "MONSTER_VOLBEAT", "level": 28, "probability": 2667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -69,32 +69,32 @@ "name": "pokemon_found_out397", "pokemon": [ { - "species": "SPECIES_JYNX", + "species": "MONSTER_JYNX", "level": 32, "probability": 2667 }, { - "species": "SPECIES_AZUMARILL", + "species": "MONSTER_AZUMARILL", "level": 24, "probability": 2000 }, { - "species": "SPECIES_VOLBEAT", + "species": "MONSTER_VOLBEAT", "level": 28, "probability": 2666 }, { - "species": "SPECIES_CRAWDAUNT", + "species": "MONSTER_CRAWDAUNT", "level": 30, "probability": 2667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -104,22 +104,22 @@ "name": "pokemon_found_out398", "pokemon": [ { - "species": "SPECIES_AZUMARILL", + "species": "MONSTER_AZUMARILL", "level": 24, "probability": 4286 }, { - "species": "SPECIES_CRAWDAUNT", + "species": "MONSTER_CRAWDAUNT", "level": 30, "probability": 5714 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -129,22 +129,22 @@ "name": "pokemon_found_out399", "pokemon": [ { - "species": "SPECIES_DELCATTY", + "species": "MONSTER_DELCATTY", "level": 25, "probability": 5000 }, { - "species": "SPECIES_CRAWDAUNT", + "species": "MONSTER_CRAWDAUNT", "level": 30, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -154,32 +154,32 @@ "name": "pokemon_found_out400", "pokemon": [ { - "species": "SPECIES_POLIWHIRL", + "species": "MONSTER_POLIWHIRL", "level": 28, "probability": 3200 }, { - "species": "SPECIES_VAPOREON", + "species": "MONSTER_VAPOREON", "level": 22, "probability": 400 }, { - "species": "SPECIES_DELCATTY", + "species": "MONSTER_DELCATTY", "level": 25, "probability": 3200 }, { - "species": "SPECIES_CRAWDAUNT", + "species": "MONSTER_CRAWDAUNT", "level": 30, "probability": 3200 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -189,22 +189,22 @@ "name": "pokemon_found_out401", "pokemon": [ { - "species": "SPECIES_POLIWHIRL", + "species": "MONSTER_POLIWHIRL", "level": 28, "probability": 5000 }, { - "species": "SPECIES_DELCATTY", + "species": "MONSTER_DELCATTY", "level": 25, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -214,22 +214,22 @@ "name": "pokemon_found_out402", "pokemon": [ { - "species": "SPECIES_MUK", + "species": "MONSTER_MUK", "level": 36, "probability": 3333 }, { - "species": "SPECIES_DELIBIRD", + "species": "MONSTER_DELIBIRD", "level": 26, "probability": 6667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -239,27 +239,27 @@ "name": "pokemon_found_out403", "pokemon": [ { - "species": "SPECIES_POLIWRATH", + "species": "MONSTER_POLIWRATH", "level": 30, "probability": 4000 }, { - "species": "SPECIES_MUK", + "species": "MONSTER_MUK", "level": 36, "probability": 2000 }, { - "species": "SPECIES_DELIBIRD", + "species": "MONSTER_DELIBIRD", "level": 26, "probability": 4000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -269,32 +269,32 @@ "name": "pokemon_found_out404", "pokemon": [ { - "species": "SPECIES_POLIWRATH", + "species": "MONSTER_POLIWRATH", "level": 30, "probability": 3810 }, { - "species": "SPECIES_MUK", + "species": "MONSTER_MUK", "level": 36, "probability": 1904 }, { - "species": "SPECIES_VAPOREON", + "species": "MONSTER_VAPOREON", "level": 22, "probability": 476 }, { - "species": "SPECIES_DELIBIRD", + "species": "MONSTER_DELIBIRD", "level": 26, "probability": 3810 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -304,32 +304,32 @@ "name": "pokemon_found_out405", "pokemon": [ { - "species": "SPECIES_GOLDUCK", + "species": "MONSTER_GOLDUCK", "level": 24, "probability": 2857 }, { - "species": "SPECIES_POLIWRATH", + "species": "MONSTER_POLIWRATH", "level": 30, "probability": 2857 }, { - "species": "SPECIES_MUK", + "species": "MONSTER_MUK", "level": 36, "probability": 1429 }, { - "species": "SPECIES_DELIBIRD", + "species": "MONSTER_DELIBIRD", "level": 26, "probability": 2857 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -339,32 +339,32 @@ "name": "pokemon_found_out406", "pokemon": [ { - "species": "SPECIES_GOLDUCK", + "species": "MONSTER_GOLDUCK", "level": 24, "probability": 2857 }, { - "species": "SPECIES_MUK", + "species": "MONSTER_MUK", "level": 36, "probability": 1429 }, { - "species": "SPECIES_POLITOED", + "species": "MONSTER_POLITOED", "level": 28, "probability": 2857 }, { - "species": "SPECIES_DELIBIRD", + "species": "MONSTER_DELIBIRD", "level": 26, "probability": 2857 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -374,22 +374,22 @@ "name": "pokemon_found_out407", "pokemon": [ { - "species": "SPECIES_GOLDUCK", + "species": "MONSTER_GOLDUCK", "level": 24, "probability": 5000 }, { - "species": "SPECIES_POLITOED", + "species": "MONSTER_POLITOED", "level": 28, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -399,42 +399,42 @@ "name": "pokemon_found_out408", "pokemon": [ { - "species": "SPECIES_WARTORTLE", + "species": "MONSTER_WARTORTLE", "level": 30, "probability": 2424 }, { - "species": "SPECIES_GOLDUCK", + "species": "MONSTER_GOLDUCK", "level": 24, "probability": 2424 }, { - "species": "SPECIES_VAPOREON", + "species": "MONSTER_VAPOREON", "level": 22, "probability": 304 }, { - "species": "SPECIES_CROCONAW", + "species": "MONSTER_CROCONAW", "level": 28, "probability": 2424 }, { - "species": "SPECIES_FERALIGATR", + "species": "MONSTER_FERALIGATR", "level": 60, "probability": 0 }, { - "species": "SPECIES_POLITOED", + "species": "MONSTER_POLITOED", "level": 28, "probability": 2424 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -444,42 +444,42 @@ "name": "pokemon_found_out409", "pokemon": [ { - "species": "SPECIES_WARTORTLE", + "species": "MONSTER_WARTORTLE", "level": 30, "probability": 2353 }, { - "species": "SPECIES_GOLDUCK", + "species": "MONSTER_GOLDUCK", "level": 24, "probability": 2353 }, { - "species": "SPECIES_CROCONAW", + "species": "MONSTER_CROCONAW", "level": 28, "probability": 2353 }, { - "species": "SPECIES_FERALIGATR", + "species": "MONSTER_FERALIGATR", "level": 60, "probability": 0 }, { - "species": "SPECIES_POLITOED", + "species": "MONSTER_POLITOED", "level": 28, "probability": 2353 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_ABSOL", + "species": "MONSTER_ABSOL", "level": 45, "probability": 588 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -489,37 +489,37 @@ "name": "pokemon_found_out410", "pokemon": [ { - "species": "SPECIES_WARTORTLE", + "species": "MONSTER_WARTORTLE", "level": 30, "probability": 3077 }, { - "species": "SPECIES_CROCONAW", + "species": "MONSTER_CROCONAW", "level": 28, "probability": 3077 }, { - "species": "SPECIES_FERALIGATR", + "species": "MONSTER_FERALIGATR", "level": 60, "probability": 0 }, { - "species": "SPECIES_POLITOED", + "species": "MONSTER_POLITOED", "level": 28, "probability": 3077 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_ABSOL", + "species": "MONSTER_ABSOL", "level": 45, "probability": 769 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -529,37 +529,37 @@ "name": "pokemon_found_out411", "pokemon": [ { - "species": "SPECIES_CROCONAW", + "species": "MONSTER_CROCONAW", "level": 28, "probability": 0 }, { - "species": "SPECIES_FERALIGATR", + "species": "MONSTER_FERALIGATR", "level": 60, "probability": 0 }, { - "species": "SPECIES_POLITOED", + "species": "MONSTER_POLITOED", "level": 28, "probability": 0 }, { - "species": "SPECIES_SUICUNE", + "species": "MONSTER_SUICUNE", "level": 45, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_ABSOL", + "species": "MONSTER_ABSOL", "level": 45, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/OddityCave/pokemon_found.json b/data/dungeon/OddityCave/pokemon_found.json index f02b236cd..bf3995984 100644 --- a/data/dungeon/OddityCave/pokemon_found.json +++ b/data/dungeon/OddityCave/pokemon_found.json @@ -4,42 +4,42 @@ "name": "pokemon_found_out481", "pokemon": [ { - "species": "SPECIES_WEEDLE", + "species": "MONSTER_WEEDLE", "level": 8, "probability": 1111 }, { - "species": "SPECIES_BEEDRILL", + "species": "MONSTER_BEEDRILL", "level": 10, "probability": 2222 }, { - "species": "SPECIES_NIDORAN_M", + "species": "MONSTER_NIDORAN_M", "level": 12, "probability": 2223 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 555 }, { - "species": "SPECIES_ELECTRIKE", + "species": "MONSTER_ELECTRIKE", "level": 12, "probability": 2222 }, { - "species": "SPECIES_CACNEA", + "species": "MONSTER_CACNEA", "level": 13, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -49,47 +49,47 @@ "name": "pokemon_found_out482", "pokemon": [ { - "species": "SPECIES_WEEDLE", + "species": "MONSTER_WEEDLE", "level": 8, "probability": 909 }, { - "species": "SPECIES_BEEDRILL", + "species": "MONSTER_BEEDRILL", "level": 10, "probability": 1818 }, { - "species": "SPECIES_NIDORAN_M", + "species": "MONSTER_NIDORAN_M", "level": 12, "probability": 1818 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 1819 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 454 }, { - "species": "SPECIES_ELECTRIKE", + "species": "MONSTER_ELECTRIKE", "level": 12, "probability": 1818 }, { - "species": "SPECIES_CACNEA", + "species": "MONSTER_CACNEA", "level": 13, "probability": 1364 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -99,32 +99,32 @@ "name": "pokemon_found_out483", "pokemon": [ { - "species": "SPECIES_PIDGEOTTO", + "species": "MONSTER_PIDGEOTTO", "level": 11, "probability": 3077 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 3077 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 769 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 13, "probability": 3077 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -134,32 +134,32 @@ "name": "pokemon_found_out484", "pokemon": [ { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 1176 }, { - "species": "SPECIES_SHUCKLE", + "species": "MONSTER_SHUCKLE", "level": 15, "probability": 1765 }, { - "species": "SPECIES_SLUGMA", + "species": "MONSTER_SLUGMA", "level": 16, "probability": 2353 }, { - "species": "SPECIES_NUMEL", + "species": "MONSTER_NUMEL", "level": 14, "probability": 4706 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -169,32 +169,32 @@ "name": "pokemon_found_out485", "pokemon": [ { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 1176 }, { - "species": "SPECIES_SHUCKLE", + "species": "MONSTER_SHUCKLE", "level": 15, "probability": 1765 }, { - "species": "SPECIES_SLUGMA", + "species": "MONSTER_SLUGMA", "level": 16, "probability": 2353 }, { - "species": "SPECIES_TORKOAL", + "species": "MONSTER_TORKOAL", "level": 15, "probability": 4706 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -204,37 +204,37 @@ "name": "pokemon_found_out486", "pokemon": [ { - "species": "SPECIES_RAPIDASH", + "species": "MONSTER_RAPIDASH", "level": 16, "probability": 3200 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 800 }, { - "species": "SPECIES_SHUCKLE", + "species": "MONSTER_SHUCKLE", "level": 15, "probability": 1200 }, { - "species": "SPECIES_SLUGMA", + "species": "MONSTER_SLUGMA", "level": 16, "probability": 1600 }, { - "species": "SPECIES_TORKOAL", + "species": "MONSTER_TORKOAL", "level": 15, "probability": 3200 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -244,32 +244,32 @@ "name": "pokemon_found_out487", "pokemon": [ { - "species": "SPECIES_RAPIDASH", + "species": "MONSTER_RAPIDASH", "level": 16, "probability": 3636 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 909 }, { - "species": "SPECIES_SLUGMA", + "species": "MONSTER_SLUGMA", "level": 16, "probability": 1819 }, { - "species": "SPECIES_TORKOAL", + "species": "MONSTER_TORKOAL", "level": 15, "probability": 3636 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -279,27 +279,27 @@ "name": "pokemon_found_out488", "pokemon": [ { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 1250 }, { - "species": "SPECIES_PILOSWINE", + "species": "MONSTER_PILOSWINE", "level": 16, "probability": 3750 }, { - "species": "SPECIES_NOSEPASS", + "species": "MONSTER_NOSEPASS", "level": 16, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -309,27 +309,27 @@ "name": "pokemon_found_out489", "pokemon": [ { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 1111 }, { - "species": "SPECIES_MIGHTYENA", + "species": "MONSTER_MIGHTYENA", "level": 17, "probability": 4445 }, { - "species": "SPECIES_LAIRON", + "species": "MONSTER_LAIRON", "level": 17, "probability": 4444 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -339,32 +339,32 @@ "name": "pokemon_found_out490", "pokemon": [ { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 870 }, { - "species": "SPECIES_MIGHTYENA", + "species": "MONSTER_MIGHTYENA", "level": 17, "probability": 3478 }, { - "species": "SPECIES_LAIRON", + "species": "MONSTER_LAIRON", "level": 17, "probability": 3478 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SNORUNT", + "species": "MONSTER_SNORUNT", "level": 20, "probability": 2174 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/PitfallValley/pokemon_found.json b/data/dungeon/PitfallValley/pokemon_found.json index 8091f0e82..bee49f358 100644 --- a/data/dungeon/PitfallValley/pokemon_found.json +++ b/data/dungeon/PitfallValley/pokemon_found.json @@ -4,32 +4,32 @@ "name": "pokemon_found_out317", "pokemon": [ { - "species": "SPECIES_PIDGEOT", + "species": "MONSTER_PIDGEOT", "level": 16, "probability": 2500 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 30, "probability": 2500 }, { - "species": "SPECIES_LEDYBA", + "species": "MONSTER_LEDYBA", "level": 25, "probability": 2500 }, { - "species": "SPECIES_SWELLOW", + "species": "MONSTER_SWELLOW", "level": 20, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -39,52 +39,52 @@ "name": "pokemon_found_out318", "pokemon": [ { - "species": "SPECIES_BUTTERFREE", + "species": "MONSTER_BUTTERFREE", "level": 35, "probability": 1250 }, { - "species": "SPECIES_PIDGEOT", + "species": "MONSTER_PIDGEOT", "level": 16, "probability": 1250 }, { - "species": "SPECIES_RATICATE", + "species": "MONSTER_RATICATE", "level": 25, "probability": 1250 }, { - "species": "SPECIES_SPEAROW", + "species": "MONSTER_SPEAROW", "level": 34, "probability": 1250 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 30, "probability": 1250 }, { - "species": "SPECIES_LEDYBA", + "species": "MONSTER_LEDYBA", "level": 25, "probability": 1250 }, { - "species": "SPECIES_HOPPIP", + "species": "MONSTER_HOPPIP", "level": 8, "probability": 1250 }, { - "species": "SPECIES_SWELLOW", + "species": "MONSTER_SWELLOW", "level": 20, "probability": 1250 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -94,42 +94,42 @@ "name": "pokemon_found_out319", "pokemon": [ { - "species": "SPECIES_BUTTERFREE", + "species": "MONSTER_BUTTERFREE", "level": 35, "probability": 1667 }, { - "species": "SPECIES_RATICATE", + "species": "MONSTER_RATICATE", "level": 25, "probability": 1666 }, { - "species": "SPECIES_SPEAROW", + "species": "MONSTER_SPEAROW", "level": 34, "probability": 1667 }, { - "species": "SPECIES_DODUO", + "species": "MONSTER_DODUO", "level": 25, "probability": 1667 }, { - "species": "SPECIES_HOPPIP", + "species": "MONSTER_HOPPIP", "level": 8, "probability": 1666 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 24, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -139,42 +139,42 @@ "name": "pokemon_found_out320", "pokemon": [ { - "species": "SPECIES_BUTTERFREE", + "species": "MONSTER_BUTTERFREE", "level": 35, "probability": 1667 }, { - "species": "SPECIES_RATICATE", + "species": "MONSTER_RATICATE", "level": 25, "probability": 1666 }, { - "species": "SPECIES_SPEAROW", + "species": "MONSTER_SPEAROW", "level": 34, "probability": 1667 }, { - "species": "SPECIES_DODUO", + "species": "MONSTER_DODUO", "level": 25, "probability": 1667 }, { - "species": "SPECIES_YANMA", + "species": "MONSTER_YANMA", "level": 25, "probability": 1666 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 24, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -184,32 +184,32 @@ "name": "pokemon_found_out321", "pokemon": [ { - "species": "SPECIES_DODUO", + "species": "MONSTER_DODUO", "level": 25, "probability": 2500 }, { - "species": "SPECIES_YANMA", + "species": "MONSTER_YANMA", "level": 25, "probability": 2500 }, { - "species": "SPECIES_MASQUERAIN", + "species": "MONSTER_MASQUERAIN", "level": 40, "probability": 2500 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 24, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -219,27 +219,27 @@ "name": "pokemon_found_out322", "pokemon": [ { - "species": "SPECIES_SCYTHER", + "species": "MONSTER_SCYTHER", "level": 32, "probability": 3333 }, { - "species": "SPECIES_YANMA", + "species": "MONSTER_YANMA", "level": 25, "probability": 3334 }, { - "species": "SPECIES_MASQUERAIN", + "species": "MONSTER_MASQUERAIN", "level": 40, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -249,32 +249,32 @@ "name": "pokemon_found_out323", "pokemon": [ { - "species": "SPECIES_SCYTHER", + "species": "MONSTER_SCYTHER", "level": 32, "probability": 2500 }, { - "species": "SPECIES_AERODACTYL", + "species": "MONSTER_AERODACTYL", "level": 25, "probability": 2500 }, { - "species": "SPECIES_SKIPLOOM", + "species": "MONSTER_SKIPLOOM", "level": 25, "probability": 2500 }, { - "species": "SPECIES_YANMA", + "species": "MONSTER_YANMA", "level": 25, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -284,27 +284,27 @@ "name": "pokemon_found_out324", "pokemon": [ { - "species": "SPECIES_SCYTHER", + "species": "MONSTER_SCYTHER", "level": 32, "probability": 3333 }, { - "species": "SPECIES_AERODACTYL", + "species": "MONSTER_AERODACTYL", "level": 25, "probability": 3334 }, { - "species": "SPECIES_SKIPLOOM", + "species": "MONSTER_SKIPLOOM", "level": 25, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -314,22 +314,22 @@ "name": "pokemon_found_out325", "pokemon": [ { - "species": "SPECIES_AERODACTYL", + "species": "MONSTER_AERODACTYL", "level": 25, "probability": 5000 }, { - "species": "SPECIES_SKIPLOOM", + "species": "MONSTER_SKIPLOOM", "level": 25, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -339,17 +339,17 @@ "name": "pokemon_found_out326", "pokemon": [ { - "species": "SPECIES_AERODACTYL", + "species": "MONSTER_AERODACTYL", "level": 25, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/PurityForest/pokemon_found.json b/data/dungeon/PurityForest/pokemon_found.json index 0ea816239..4c97ded10 100644 --- a/data/dungeon/PurityForest/pokemon_found.json +++ b/data/dungeon/PurityForest/pokemon_found.json @@ -4,32 +4,32 @@ "name": "pokemon_found_out750", "pokemon": [ { - "species": "SPECIES_PIDGEY", + "species": "MONSTER_PIDGEY", "level": 1, "probability": 3226 }, { - "species": "SPECIES_JIGGLYPUFF", + "species": "MONSTER_JIGGLYPUFF", "level": 2, "probability": 1613 }, { - "species": "SPECIES_BELLSPROUT", + "species": "MONSTER_BELLSPROUT", "level": 1, "probability": 1935 }, { - "species": "SPECIES_CLEFFA", + "species": "MONSTER_CLEFFA", "level": 1, "probability": 3226 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -39,42 +39,42 @@ "name": "pokemon_found_out751", "pokemon": [ { - "species": "SPECIES_CATERPIE", + "species": "MONSTER_CATERPIE", "level": 1, "probability": 1739 }, { - "species": "SPECIES_PIDGEY", + "species": "MONSTER_PIDGEY", "level": 1, "probability": 2174 }, { - "species": "SPECIES_JIGGLYPUFF", + "species": "MONSTER_JIGGLYPUFF", "level": 2, "probability": 1087 }, { - "species": "SPECIES_BELLSPROUT", + "species": "MONSTER_BELLSPROUT", "level": 1, "probability": 1304 }, { - "species": "SPECIES_CLEFFA", + "species": "MONSTER_CLEFFA", "level": 1, "probability": 2174 }, { - "species": "SPECIES_WURMPLE", + "species": "MONSTER_WURMPLE", "level": 1, "probability": 1522 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -84,47 +84,47 @@ "name": "pokemon_found_out752", "pokemon": [ { - "species": "SPECIES_CATERPIE", + "species": "MONSTER_CATERPIE", "level": 1, "probability": 1600 }, { - "species": "SPECIES_PIDGEY", + "species": "MONSTER_PIDGEY", "level": 1, "probability": 2000 }, { - "species": "SPECIES_JIGGLYPUFF", + "species": "MONSTER_JIGGLYPUFF", "level": 2, "probability": 1000 }, { - "species": "SPECIES_BELLSPROUT", + "species": "MONSTER_BELLSPROUT", "level": 1, "probability": 1200 }, { - "species": "SPECIES_EXEGGCUTE", + "species": "MONSTER_EXEGGCUTE", "level": 1, "probability": 800 }, { - "species": "SPECIES_CLEFFA", + "species": "MONSTER_CLEFFA", "level": 1, "probability": 2000 }, { - "species": "SPECIES_WURMPLE", + "species": "MONSTER_WURMPLE", "level": 1, "probability": 1400 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -134,32 +134,32 @@ "name": "pokemon_found_out753", "pokemon": [ { - "species": "SPECIES_CATERPIE", + "species": "MONSTER_CATERPIE", "level": 1, "probability": 2857 }, { - "species": "SPECIES_EXEGGCUTE", + "species": "MONSTER_EXEGGCUTE", "level": 1, "probability": 1429 }, { - "species": "SPECIES_CLEFFA", + "species": "MONSTER_CLEFFA", "level": 1, "probability": 3571 }, { - "species": "SPECIES_POOCHYENA", + "species": "MONSTER_POOCHYENA", "level": 3, "probability": 2143 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -169,32 +169,32 @@ "name": "pokemon_found_out754", "pokemon": [ { - "species": "SPECIES_RATTATA", + "species": "MONSTER_RATTATA", "level": 3, "probability": 3333 }, { - "species": "SPECIES_NIDORAN_F", + "species": "MONSTER_NIDORAN_F", "level": 4, "probability": 2500 }, { - "species": "SPECIES_EXEGGCUTE", + "species": "MONSTER_EXEGGCUTE", "level": 1, "probability": 1667 }, { - "species": "SPECIES_POOCHYENA", + "species": "MONSTER_POOCHYENA", "level": 3, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -204,32 +204,32 @@ "name": "pokemon_found_out755", "pokemon": [ { - "species": "SPECIES_RATTATA", + "species": "MONSTER_RATTATA", "level": 3, "probability": 2857 }, { - "species": "SPECIES_NIDORAN_F", + "species": "MONSTER_NIDORAN_F", "level": 4, "probability": 2143 }, { - "species": "SPECIES_TOGEPI", + "species": "MONSTER_TOGEPI", "level": 7, "probability": 2857 }, { - "species": "SPECIES_POOCHYENA", + "species": "MONSTER_POOCHYENA", "level": 3, "probability": 2143 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -239,47 +239,47 @@ "name": "pokemon_found_out756", "pokemon": [ { - "species": "SPECIES_RATTATA", + "species": "MONSTER_RATTATA", "level": 3, "probability": 1667 }, { - "species": "SPECIES_NIDORAN_F", + "species": "MONSTER_NIDORAN_F", "level": 4, "probability": 1250 }, { - "species": "SPECIES_CLEFAIRY", + "species": "MONSTER_CLEFAIRY", "level": 8, "probability": 1666 }, { - "species": "SPECIES_VOLTORB", + "species": "MONSTER_VOLTORB", "level": 3, "probability": 1459 }, { - "species": "SPECIES_TOGEPI", + "species": "MONSTER_TOGEPI", "level": 7, "probability": 1666 }, { - "species": "SPECIES_ELEKID", + "species": "MONSTER_ELEKID", "level": 4, "probability": 1250 }, { - "species": "SPECIES_ZIGZAGOON", + "species": "MONSTER_ZIGZAGOON", "level": 5, "probability": 1042 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -289,47 +289,47 @@ "name": "pokemon_found_out757", "pokemon": [ { - "species": "SPECIES_SPEAROW", + "species": "MONSTER_SPEAROW", "level": 4, "probability": 1250 }, { - "species": "SPECIES_CLEFAIRY", + "species": "MONSTER_CLEFAIRY", "level": 8, "probability": 1667 }, { - "species": "SPECIES_VOLTORB", + "species": "MONSTER_VOLTORB", "level": 3, "probability": 1458 }, { - "species": "SPECIES_TOGEPI", + "species": "MONSTER_TOGEPI", "level": 7, "probability": 1667 }, { - "species": "SPECIES_ELEKID", + "species": "MONSTER_ELEKID", "level": 4, "probability": 1250 }, { - "species": "SPECIES_ZIGZAGOON", + "species": "MONSTER_ZIGZAGOON", "level": 5, "probability": 1041 }, { - "species": "SPECIES_ARON", + "species": "MONSTER_ARON", "level": 6, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -339,52 +339,52 @@ "name": "pokemon_found_out758", "pokemon": [ { - "species": "SPECIES_WEEDLE", + "species": "MONSTER_WEEDLE", "level": 8, "probability": 1053 }, { - "species": "SPECIES_SPEAROW", + "species": "MONSTER_SPEAROW", "level": 4, "probability": 1052 }, { - "species": "SPECIES_CLEFAIRY", + "species": "MONSTER_CLEFAIRY", "level": 8, "probability": 1404 }, { - "species": "SPECIES_VOLTORB", + "species": "MONSTER_VOLTORB", "level": 3, "probability": 1228 }, { - "species": "SPECIES_TOGEPI", + "species": "MONSTER_TOGEPI", "level": 7, "probability": 1403 }, { - "species": "SPECIES_HOPPIP", + "species": "MONSTER_HOPPIP", "level": 8, "probability": 1404 }, { - "species": "SPECIES_ELEKID", + "species": "MONSTER_ELEKID", "level": 4, "probability": 1052 }, { - "species": "SPECIES_ARON", + "species": "MONSTER_ARON", "level": 6, "probability": 1404 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -394,52 +394,52 @@ "name": "pokemon_found_out759", "pokemon": [ { - "species": "SPECIES_METAPOD", + "species": "MONSTER_METAPOD", "level": 1, "probability": 426 }, { - "species": "SPECIES_WEEDLE", + "species": "MONSTER_WEEDLE", "level": 8, "probability": 1276 }, { - "species": "SPECIES_SPEAROW", + "species": "MONSTER_SPEAROW", "level": 4, "probability": 1277 }, { - "species": "SPECIES_VOLTORB", + "species": "MONSTER_VOLTORB", "level": 3, "probability": 1489 }, { - "species": "SPECIES_TOGEPI", + "species": "MONSTER_TOGEPI", "level": 7, "probability": 1702 }, { - "species": "SPECIES_HOPPIP", + "species": "MONSTER_HOPPIP", "level": 8, "probability": 1702 }, { - "species": "SPECIES_PLUSLE", + "species": "MONSTER_PLUSLE", "level": 3, "probability": 1064 }, { - "species": "SPECIES_MINUN", + "species": "MONSTER_MINUN", "level": 3, "probability": 1064 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -449,42 +449,42 @@ "name": "pokemon_found_out760", "pokemon": [ { - "species": "SPECIES_WEEDLE", + "species": "MONSTER_WEEDLE", "level": 8, "probability": 1667 }, { - "species": "SPECIES_EEVEE", + "species": "MONSTER_EEVEE", "level": 9, "probability": 1111 }, { - "species": "SPECIES_MARILL", + "species": "MONSTER_MARILL", "level": 8, "probability": 2222 }, { - "species": "SPECIES_RALTS", + "species": "MONSTER_RALTS", "level": 8, "probability": 2222 }, { - "species": "SPECIES_PLUSLE", + "species": "MONSTER_PLUSLE", "level": 3, "probability": 1389 }, { - "species": "SPECIES_MINUN", + "species": "MONSTER_MINUN", "level": 3, "probability": 1389 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -494,52 +494,52 @@ "name": "pokemon_found_out761", "pokemon": [ { - "species": "SPECIES_WEEDLE", + "species": "MONSTER_WEEDLE", "level": 8, "probability": 1304 }, { - "species": "SPECIES_GEODUDE", + "species": "MONSTER_GEODUDE", "level": 5, "probability": 1087 }, { - "species": "SPECIES_EEVEE", + "species": "MONSTER_EEVEE", "level": 9, "probability": 870 }, { - "species": "SPECIES_MARILL", + "species": "MONSTER_MARILL", "level": 8, "probability": 1739 }, { - "species": "SPECIES_RALTS", + "species": "MONSTER_RALTS", "level": 8, "probability": 1739 }, { - "species": "SPECIES_PLUSLE", + "species": "MONSTER_PLUSLE", "level": 3, "probability": 1087 }, { - "species": "SPECIES_MINUN", + "species": "MONSTER_MINUN", "level": 3, "probability": 1087 }, { - "species": "SPECIES_BALTOY", + "species": "MONSTER_BALTOY", "level": 5, "probability": 1087 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -549,42 +549,42 @@ "name": "pokemon_found_out762", "pokemon": [ { - "species": "SPECIES_GEODUDE", + "species": "MONSTER_GEODUDE", "level": 5, "probability": 1667 }, { - "species": "SPECIES_EEVEE", + "species": "MONSTER_EEVEE", "level": 9, "probability": 1111 }, { - "species": "SPECIES_MARILL", + "species": "MONSTER_MARILL", "level": 8, "probability": 2222 }, { - "species": "SPECIES_RALTS", + "species": "MONSTER_RALTS", "level": 8, "probability": 2222 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 6, "probability": 1389 }, { - "species": "SPECIES_BALTOY", + "species": "MONSTER_BALTOY", "level": 5, "probability": 1389 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -594,47 +594,47 @@ "name": "pokemon_found_out763", "pokemon": [ { - "species": "SPECIES_GEODUDE", + "species": "MONSTER_GEODUDE", "level": 5, "probability": 1538 }, { - "species": "SPECIES_EEVEE", + "species": "MONSTER_EEVEE", "level": 9, "probability": 1026 }, { - "species": "SPECIES_NATU", + "species": "MONSTER_NATU", "level": 8, "probability": 1539 }, { - "species": "SPECIES_MARILL", + "species": "MONSTER_MARILL", "level": 8, "probability": 2051 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 6, "probability": 1282 }, { - "species": "SPECIES_BALTOY", + "species": "MONSTER_BALTOY", "level": 5, "probability": 1282 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BELDUM", + "species": "MONSTER_BELDUM", "level": 5, "probability": 1282 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -644,37 +644,37 @@ "name": "pokemon_found_out764", "pokemon": [ { - "species": "SPECIES_EXEGGUTOR", + "species": "MONSTER_EXEGGUTOR", "level": 8, "probability": 2000 }, { - "species": "SPECIES_NATU", + "species": "MONSTER_NATU", "level": 8, "probability": 2000 }, { - "species": "SPECIES_SKARMORY", + "species": "MONSTER_SKARMORY", "level": 10, "probability": 2667 }, { - "species": "SPECIES_BALTOY", + "species": "MONSTER_BALTOY", "level": 5, "probability": 1666 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BELDUM", + "species": "MONSTER_BELDUM", "level": 5, "probability": 1667 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -684,42 +684,42 @@ "name": "pokemon_found_out765", "pokemon": [ { - "species": "SPECIES_EXEGGUTOR", + "species": "MONSTER_EXEGGUTOR", "level": 8, "probability": 1463 }, { - "species": "SPECIES_SCYTHER", + "species": "MONSTER_SCYTHER", "level": 10, "probability": 1952 }, { - "species": "SPECIES_HOOTHOOT", + "species": "MONSTER_HOOTHOOT", "level": 6, "probability": 1951 }, { - "species": "SPECIES_NATU", + "species": "MONSTER_NATU", "level": 8, "probability": 1463 }, { - "species": "SPECIES_SKARMORY", + "species": "MONSTER_SKARMORY", "level": 10, "probability": 1951 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BELDUM", + "species": "MONSTER_BELDUM", "level": 5, "probability": 1220 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -729,42 +729,42 @@ "name": "pokemon_found_out766", "pokemon": [ { - "species": "SPECIES_SCYTHER", + "species": "MONSTER_SCYTHER", "level": 10, "probability": 1739 }, { - "species": "SPECIES_HOOTHOOT", + "species": "MONSTER_HOOTHOOT", "level": 6, "probability": 1739 }, { - "species": "SPECIES_NATU", + "species": "MONSTER_NATU", "level": 8, "probability": 1305 }, { - "species": "SPECIES_SUDOWOODO", + "species": "MONSTER_SUDOWOODO", "level": 7, "probability": 1739 }, { - "species": "SPECIES_SKARMORY", + "species": "MONSTER_SKARMORY", "level": 10, "probability": 1739 }, { - "species": "SPECIES_SLAKOTH", + "species": "MONSTER_SLAKOTH", "level": 8, "probability": 1739 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -774,42 +774,42 @@ "name": "pokemon_found_out767", "pokemon": [ { - "species": "SPECIES_ODDISH", + "species": "MONSTER_ODDISH", "level": 7, "probability": 698 }, { - "species": "SPECIES_SCYTHER", + "species": "MONSTER_SCYTHER", "level": 10, "probability": 1860 }, { - "species": "SPECIES_HOOTHOOT", + "species": "MONSTER_HOOTHOOT", "level": 6, "probability": 1861 }, { - "species": "SPECIES_SUDOWOODO", + "species": "MONSTER_SUDOWOODO", "level": 7, "probability": 1860 }, { - "species": "SPECIES_LINOONE", + "species": "MONSTER_LINOONE", "level": 8, "probability": 1861 }, { - "species": "SPECIES_SLAKOTH", + "species": "MONSTER_SLAKOTH", "level": 8, "probability": 1860 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -819,42 +819,42 @@ "name": "pokemon_found_out768", "pokemon": [ { - "species": "SPECIES_ODDISH", + "species": "MONSTER_ODDISH", "level": 7, "probability": 769 }, { - "species": "SPECIES_SENTRET", + "species": "MONSTER_SENTRET", "level": 6, "probability": 1282 }, { - "species": "SPECIES_SUDOWOODO", + "species": "MONSTER_SUDOWOODO", "level": 7, "probability": 2052 }, { - "species": "SPECIES_SWINUB", + "species": "MONSTER_SWINUB", "level": 8, "probability": 1794 }, { - "species": "SPECIES_LINOONE", + "species": "MONSTER_LINOONE", "level": 8, "probability": 2052 }, { - "species": "SPECIES_SLAKOTH", + "species": "MONSTER_SLAKOTH", "level": 8, "probability": 2051 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -864,42 +864,42 @@ "name": "pokemon_found_out769", "pokemon": [ { - "species": "SPECIES_ODDISH", + "species": "MONSTER_ODDISH", "level": 7, "probability": 769 }, { - "species": "SPECIES_SENTRET", + "species": "MONSTER_SENTRET", "level": 6, "probability": 1282 }, { - "species": "SPECIES_SUNFLORA", + "species": "MONSTER_SUNFLORA", "level": 8, "probability": 2052 }, { - "species": "SPECIES_SWINUB", + "species": "MONSTER_SWINUB", "level": 8, "probability": 1794 }, { - "species": "SPECIES_LINOONE", + "species": "MONSTER_LINOONE", "level": 8, "probability": 2052 }, { - "species": "SPECIES_SLAKOTH", + "species": "MONSTER_SLAKOTH", "level": 8, "probability": 2051 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -909,42 +909,42 @@ "name": "pokemon_found_out770", "pokemon": [ { - "species": "SPECIES_ODDISH", + "species": "MONSTER_ODDISH", "level": 7, "probability": 909 }, { - "species": "SPECIES_SENTRET", + "species": "MONSTER_SENTRET", "level": 6, "probability": 1515 }, { - "species": "SPECIES_SUNFLORA", + "species": "MONSTER_SUNFLORA", "level": 8, "probability": 2424 }, { - "species": "SPECIES_SWINUB", + "species": "MONSTER_SWINUB", "level": 8, "probability": 2122 }, { - "species": "SPECIES_SHROOMISH", + "species": "MONSTER_SHROOMISH", "level": 9, "probability": 2424 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 606 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -954,42 +954,42 @@ "name": "pokemon_found_out771", "pokemon": [ { - "species": "SPECIES_ODDISH", + "species": "MONSTER_ODDISH", "level": 7, "probability": 833 }, { - "species": "SPECIES_LEDYBA", + "species": "MONSTER_LEDYBA", "level": 7, "probability": 2223 }, { - "species": "SPECIES_SUNFLORA", + "species": "MONSTER_SUNFLORA", "level": 8, "probability": 2222 }, { - "species": "SPECIES_SWINUB", + "species": "MONSTER_SWINUB", "level": 8, "probability": 1944 }, { - "species": "SPECIES_SHROOMISH", + "species": "MONSTER_SHROOMISH", "level": 9, "probability": 2222 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 556 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -999,42 +999,42 @@ "name": "pokemon_found_out772", "pokemon": [ { - "species": "SPECIES_ODDISH", + "species": "MONSTER_ODDISH", "level": 7, "probability": 789 }, { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 10, "probability": 1316 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 10, "probability": 1579 }, { - "species": "SPECIES_LEDYBA", + "species": "MONSTER_LEDYBA", "level": 7, "probability": 2105 }, { - "species": "SPECIES_SUNFLORA", + "species": "MONSTER_SUNFLORA", "level": 8, "probability": 2106 }, { - "species": "SPECIES_SHROOMISH", + "species": "MONSTER_SHROOMISH", "level": 9, "probability": 2105 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1044,47 +1044,47 @@ "name": "pokemon_found_out773", "pokemon": [ { - "species": "SPECIES_ODDISH", + "species": "MONSTER_ODDISH", "level": 7, "probability": 698 }, { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 10, "probability": 1162 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 10, "probability": 1396 }, { - "species": "SPECIES_LEDYBA", + "species": "MONSTER_LEDYBA", "level": 7, "probability": 1860 }, { - "species": "SPECIES_SUNFLORA", + "species": "MONSTER_SUNFLORA", "level": 8, "probability": 1861 }, { - "species": "SPECIES_SHROOMISH", + "species": "MONSTER_SHROOMISH", "level": 9, "probability": 1860 }, { - "species": "SPECIES_TRAPINCH", + "species": "MONSTER_TRAPINCH", "level": 11, "probability": 1163 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1094,47 +1094,47 @@ "name": "pokemon_found_out774", "pokemon": [ { - "species": "SPECIES_ODDISH", + "species": "MONSTER_ODDISH", "level": 7, "probability": 732 }, { - "species": "SPECIES_GROWLITHE", + "species": "MONSTER_GROWLITHE", "level": 12, "probability": 1463 }, { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 10, "probability": 1220 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 10, "probability": 1463 }, { - "species": "SPECIES_LEDYBA", + "species": "MONSTER_LEDYBA", "level": 7, "probability": 1951 }, { - "species": "SPECIES_SHROOMISH", + "species": "MONSTER_SHROOMISH", "level": 9, "probability": 1951 }, { - "species": "SPECIES_TRAPINCH", + "species": "MONSTER_TRAPINCH", "level": 11, "probability": 1220 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1144,47 +1144,47 @@ "name": "pokemon_found_out775", "pokemon": [ { - "species": "SPECIES_GROWLITHE", + "species": "MONSTER_GROWLITHE", "level": 12, "probability": 1395 }, { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 10, "probability": 1163 }, { - "species": "SPECIES_WEEPINBELL", + "species": "MONSTER_WEEPINBELL", "level": 31, "probability": 1861 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 10, "probability": 1395 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 1860 }, { - "species": "SPECIES_YANMA", + "species": "MONSTER_YANMA", "level": 10, "probability": 1163 }, { - "species": "SPECIES_TRAPINCH", + "species": "MONSTER_TRAPINCH", "level": 11, "probability": 1163 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1194,52 +1194,52 @@ "name": "pokemon_found_out776", "pokemon": [ { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 10, "probability": 1042 }, { - "species": "SPECIES_WEEPINBELL", + "species": "MONSTER_WEEPINBELL", "level": 31, "probability": 1666 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 10, "probability": 1250 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 1667 }, { - "species": "SPECIES_YANMA", + "species": "MONSTER_YANMA", "level": 10, "probability": 1042 }, { - "species": "SPECIES_TEDDIURSA", + "species": "MONSTER_TEDDIURSA", "level": 10, "probability": 1041 }, { - "species": "SPECIES_DUSTOX", + "species": "MONSTER_DUSTOX", "level": 10, "probability": 1250 }, { - "species": "SPECIES_TRAPINCH", + "species": "MONSTER_TRAPINCH", "level": 11, "probability": 1042 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1249,47 +1249,47 @@ "name": "pokemon_found_out777", "pokemon": [ { - "species": "SPECIES_WEEPINBELL", + "species": "MONSTER_WEEPINBELL", "level": 31, "probability": 1860 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 10, "probability": 1396 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 1860 }, { - "species": "SPECIES_YANMA", + "species": "MONSTER_YANMA", "level": 10, "probability": 1163 }, { - "species": "SPECIES_TEDDIURSA", + "species": "MONSTER_TEDDIURSA", "level": 10, "probability": 1163 }, { - "species": "SPECIES_DUSTOX", + "species": "MONSTER_DUSTOX", "level": 10, "probability": 1395 }, { - "species": "SPECIES_TRAPINCH", + "species": "MONSTER_TRAPINCH", "level": 11, "probability": 1163 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1299,37 +1299,37 @@ "name": "pokemon_found_out778", "pokemon": [ { - "species": "SPECIES_WEEPINBELL", + "species": "MONSTER_WEEPINBELL", "level": 31, "probability": 2500 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 2500 }, { - "species": "SPECIES_YANMA", + "species": "MONSTER_YANMA", "level": 10, "probability": 1562 }, { - "species": "SPECIES_TEDDIURSA", + "species": "MONSTER_TEDDIURSA", "level": 10, "probability": 1563 }, { - "species": "SPECIES_DUSTOX", + "species": "MONSTER_DUSTOX", "level": 10, "probability": 1875 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1339,42 +1339,42 @@ "name": "pokemon_found_out779", "pokemon": [ { - "species": "SPECIES_WEEPINBELL", + "species": "MONSTER_WEEPINBELL", "level": 31, "probability": 2000 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 2000 }, { - "species": "SPECIES_YANMA", + "species": "MONSTER_YANMA", "level": 10, "probability": 1250 }, { - "species": "SPECIES_TEDDIURSA", + "species": "MONSTER_TEDDIURSA", "level": 10, "probability": 1250 }, { - "species": "SPECIES_DUSTOX", + "species": "MONSTER_DUSTOX", "level": 10, "probability": 1500 }, { - "species": "SPECIES_ELECTRIKE", + "species": "MONSTER_ELECTRIKE", "level": 12, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1384,52 +1384,52 @@ "name": "pokemon_found_out780", "pokemon": [ { - "species": "SPECIES_BEEDRILL", + "species": "MONSTER_BEEDRILL", "level": 10, "probability": 1333 }, { - "species": "SPECIES_NIDORAN_M", + "species": "MONSTER_NIDORAN_M", "level": 12, "probability": 1334 }, { - "species": "SPECIES_WEEPINBELL", + "species": "MONSTER_WEEPINBELL", "level": 31, "probability": 1333 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 1333 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 13, "probability": 667 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 1333 }, { - "species": "SPECIES_STANTLER", + "species": "MONSTER_STANTLER", "level": 12, "probability": 1334 }, { - "species": "SPECIES_ELECTRIKE", + "species": "MONSTER_ELECTRIKE", "level": 12, "probability": 1333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1439,47 +1439,47 @@ "name": "pokemon_found_out781", "pokemon": [ { - "species": "SPECIES_BEEDRILL", + "species": "MONSTER_BEEDRILL", "level": 10, "probability": 1538 }, { - "species": "SPECIES_NIDORAN_M", + "species": "MONSTER_NIDORAN_M", "level": 12, "probability": 1539 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 1538 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 13, "probability": 770 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 1538 }, { - "species": "SPECIES_STANTLER", + "species": "MONSTER_STANTLER", "level": 12, "probability": 1539 }, { - "species": "SPECIES_ELECTRIKE", + "species": "MONSTER_ELECTRIKE", "level": 12, "probability": 1538 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1489,47 +1489,47 @@ "name": "pokemon_found_out782", "pokemon": [ { - "species": "SPECIES_BEEDRILL", + "species": "MONSTER_BEEDRILL", "level": 10, "probability": 1538 }, { - "species": "SPECIES_NIDORAN_M", + "species": "MONSTER_NIDORAN_M", "level": 12, "probability": 1539 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 1538 }, { - "species": "SPECIES_AMPHAROS", + "species": "MONSTER_AMPHAROS", "level": 13, "probability": 770 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 1538 }, { - "species": "SPECIES_STANTLER", + "species": "MONSTER_STANTLER", "level": 12, "probability": 1539 }, { - "species": "SPECIES_ELECTRIKE", + "species": "MONSTER_ELECTRIKE", "level": 12, "probability": 1538 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1539,47 +1539,47 @@ "name": "pokemon_found_out783", "pokemon": [ { - "species": "SPECIES_BEEDRILL", + "species": "MONSTER_BEEDRILL", "level": 10, "probability": 1600 }, { - "species": "SPECIES_NIDORAN_M", + "species": "MONSTER_NIDORAN_M", "level": 12, "probability": 1600 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 1600 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 1600 }, { - "species": "SPECIES_STANTLER", + "species": "MONSTER_STANTLER", "level": 12, "probability": 1600 }, { - "species": "SPECIES_ELECTRIKE", + "species": "MONSTER_ELECTRIKE", "level": 12, "probability": 1600 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 400 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1589,47 +1589,47 @@ "name": "pokemon_found_out784", "pokemon": [ { - "species": "SPECIES_BEEDRILL", + "species": "MONSTER_BEEDRILL", "level": 10, "probability": 1600 }, { - "species": "SPECIES_NIDORAN_M", + "species": "MONSTER_NIDORAN_M", "level": 12, "probability": 1600 }, { - "species": "SPECIES_DODUO", + "species": "MONSTER_DODUO", "level": 14, "probability": 1600 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 1600 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 1600 }, { - "species": "SPECIES_STANTLER", + "species": "MONSTER_STANTLER", "level": 12, "probability": 1600 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 400 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1639,47 +1639,47 @@ "name": "pokemon_found_out785", "pokemon": [ { - "species": "SPECIES_GLOOM", + "species": "MONSTER_GLOOM", "level": 10, "probability": 1600 }, { - "species": "SPECIES_DODUO", + "species": "MONSTER_DODUO", "level": 14, "probability": 1600 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 1600 }, { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 15, "probability": 1600 }, { - "species": "SPECIES_STANTLER", + "species": "MONSTER_STANTLER", "level": 12, "probability": 1600 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 10, "probability": 1600 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 400 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1689,47 +1689,47 @@ "name": "pokemon_found_out786", "pokemon": [ { - "species": "SPECIES_GLOOM", + "species": "MONSTER_GLOOM", "level": 10, "probability": 1600 }, { - "species": "SPECIES_DODUO", + "species": "MONSTER_DODUO", "level": 14, "probability": 1600 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 1600 }, { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 15, "probability": 1600 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 10, "probability": 1600 }, { - "species": "SPECIES_CACNEA", + "species": "MONSTER_CACNEA", "level": 13, "probability": 1600 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 400 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1739,42 +1739,42 @@ "name": "pokemon_found_out787", "pokemon": [ { - "species": "SPECIES_GLOOM", + "species": "MONSTER_GLOOM", "level": 10, "probability": 1905 }, { - "species": "SPECIES_DODUO", + "species": "MONSTER_DODUO", "level": 14, "probability": 1905 }, { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 15, "probability": 1904 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 10, "probability": 1905 }, { - "species": "SPECIES_CACNEA", + "species": "MONSTER_CACNEA", "level": 13, "probability": 1905 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 476 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1784,52 +1784,52 @@ "name": "pokemon_found_out788", "pokemon": [ { - "species": "SPECIES_GLOOM", + "species": "MONSTER_GLOOM", "level": 10, "probability": 1250 }, { - "species": "SPECIES_DODUO", + "species": "MONSTER_DODUO", "level": 14, "probability": 1250 }, { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 15, "probability": 1250 }, { - "species": "SPECIES_MURKROW", + "species": "MONSTER_MURKROW", "level": 14, "probability": 1250 }, { - "species": "SPECIES_HERACROSS", + "species": "MONSTER_HERACROSS", "level": 14, "probability": 1250 }, { - "species": "SPECIES_BRELOOM", + "species": "MONSTER_BRELOOM", "level": 14, "probability": 1250 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 10, "probability": 1250 }, { - "species": "SPECIES_CACNEA", + "species": "MONSTER_CACNEA", "level": 13, "probability": 1250 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1839,47 +1839,47 @@ "name": "pokemon_found_out789", "pokemon": [ { - "species": "SPECIES_GLOOM", + "species": "MONSTER_GLOOM", "level": 10, "probability": 1429 }, { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 15, "probability": 1428 }, { - "species": "SPECIES_MURKROW", + "species": "MONSTER_MURKROW", "level": 14, "probability": 1429 }, { - "species": "SPECIES_HERACROSS", + "species": "MONSTER_HERACROSS", "level": 14, "probability": 1428 }, { - "species": "SPECIES_BRELOOM", + "species": "MONSTER_BRELOOM", "level": 14, "probability": 1429 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 10, "probability": 1428 }, { - "species": "SPECIES_CACTURNE", + "species": "MONSTER_CACTURNE", "level": 14, "probability": 1429 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1889,42 +1889,42 @@ "name": "pokemon_found_out790", "pokemon": [ { - "species": "SPECIES_GLOOM", + "species": "MONSTER_GLOOM", "level": 10, "probability": 1667 }, { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 15, "probability": 1666 }, { - "species": "SPECIES_MURKROW", + "species": "MONSTER_MURKROW", "level": 14, "probability": 1667 }, { - "species": "SPECIES_HERACROSS", + "species": "MONSTER_HERACROSS", "level": 14, "probability": 1667 }, { - "species": "SPECIES_BRELOOM", + "species": "MONSTER_BRELOOM", "level": 14, "probability": 1666 }, { - "species": "SPECIES_CACTURNE", + "species": "MONSTER_CACTURNE", "level": 14, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1934,52 +1934,52 @@ "name": "pokemon_found_out791", "pokemon": [ { - "species": "SPECIES_GLOOM", + "species": "MONSTER_GLOOM", "level": 10, "probability": 1250 }, { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 15, "probability": 1250 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 14, "probability": 1250 }, { - "species": "SPECIES_SKIPLOOM", + "species": "MONSTER_SKIPLOOM", "level": 13, "probability": 1250 }, { - "species": "SPECIES_MURKROW", + "species": "MONSTER_MURKROW", "level": 14, "probability": 1250 }, { - "species": "SPECIES_HERACROSS", + "species": "MONSTER_HERACROSS", "level": 14, "probability": 1250 }, { - "species": "SPECIES_BRELOOM", + "species": "MONSTER_BRELOOM", "level": 14, "probability": 1250 }, { - "species": "SPECIES_CACTURNE", + "species": "MONSTER_CACTURNE", "level": 14, "probability": 1250 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1989,47 +1989,47 @@ "name": "pokemon_found_out792", "pokemon": [ { - "species": "SPECIES_GLOOM", + "species": "MONSTER_GLOOM", "level": 10, "probability": 1429 }, { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 15, "probability": 1428 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 14, "probability": 1429 }, { - "species": "SPECIES_SKIPLOOM", + "species": "MONSTER_SKIPLOOM", "level": 13, "probability": 1428 }, { - "species": "SPECIES_DUNSPARCE", + "species": "MONSTER_DUNSPARCE", "level": 13, "probability": 1429 }, { - "species": "SPECIES_BRELOOM", + "species": "MONSTER_BRELOOM", "level": 14, "probability": 1428 }, { - "species": "SPECIES_CACTURNE", + "species": "MONSTER_CACTURNE", "level": 14, "probability": 1429 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2039,42 +2039,42 @@ "name": "pokemon_found_out793", "pokemon": [ { - "species": "SPECIES_GLOOM", + "species": "MONSTER_GLOOM", "level": 10, "probability": 1818 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 14, "probability": 1818 }, { - "species": "SPECIES_SKIPLOOM", + "species": "MONSTER_SKIPLOOM", "level": 13, "probability": 1819 }, { - "species": "SPECIES_DUNSPARCE", + "species": "MONSTER_DUNSPARCE", "level": 13, "probability": 1818 }, { - "species": "SPECIES_NINCADA", + "species": "MONSTER_NINCADA", "level": 14, "probability": 909 }, { - "species": "SPECIES_CACTURNE", + "species": "MONSTER_CACTURNE", "level": 14, "probability": 1818 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2084,37 +2084,37 @@ "name": "pokemon_found_out794", "pokemon": [ { - "species": "SPECIES_GLOOM", + "species": "MONSTER_GLOOM", "level": 10, "probability": 2222 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 14, "probability": 2222 }, { - "species": "SPECIES_SKIPLOOM", + "species": "MONSTER_SKIPLOOM", "level": 13, "probability": 2223 }, { - "species": "SPECIES_NINCADA", + "species": "MONSTER_NINCADA", "level": 14, "probability": 1111 }, { - "species": "SPECIES_CACTURNE", + "species": "MONSTER_CACTURNE", "level": 14, "probability": 2222 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2124,37 +2124,37 @@ "name": "pokemon_found_out795", "pokemon": [ { - "species": "SPECIES_GOLBAT", + "species": "MONSTER_GOLBAT", "level": 10, "probability": 1515 }, { - "species": "SPECIES_GLOOM", + "species": "MONSTER_GLOOM", "level": 10, "probability": 2424 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 14, "probability": 2425 }, { - "species": "SPECIES_SKIPLOOM", + "species": "MONSTER_SKIPLOOM", "level": 13, "probability": 2424 }, { - "species": "SPECIES_NINCADA", + "species": "MONSTER_NINCADA", "level": 14, "probability": 1212 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2164,47 +2164,47 @@ "name": "pokemon_found_out796", "pokemon": [ { - "species": "SPECIES_NIDORINA", + "species": "MONSTER_NIDORINA", "level": 15, "probability": 1395 }, { - "species": "SPECIES_NIDORINO", + "species": "MONSTER_NIDORINO", "level": 15, "probability": 1163 }, { - "species": "SPECIES_GOLBAT", + "species": "MONSTER_GOLBAT", "level": 10, "probability": 1163 }, { - "species": "SPECIES_GLOOM", + "species": "MONSTER_GLOOM", "level": 10, "probability": 1860 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 1861 }, { - "species": "SPECIES_NINCADA", + "species": "MONSTER_NINCADA", "level": 14, "probability": 930 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BAGON", + "species": "MONSTER_BAGON", "level": 16, "probability": 1628 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2214,52 +2214,52 @@ "name": "pokemon_found_out797", "pokemon": [ { - "species": "SPECIES_NIDORINA", + "species": "MONSTER_NIDORINA", "level": 15, "probability": 1154 }, { - "species": "SPECIES_NIDORINO", + "species": "MONSTER_NIDORINO", "level": 15, "probability": 961 }, { - "species": "SPECIES_GOLBAT", + "species": "MONSTER_GOLBAT", "level": 10, "probability": 962 }, { - "species": "SPECIES_GLOOM", + "species": "MONSTER_GLOOM", "level": 10, "probability": 1538 }, { - "species": "SPECIES_TANGELA", + "species": "MONSTER_TANGELA", "level": 14, "probability": 1539 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 1538 }, { - "species": "SPECIES_NINCADA", + "species": "MONSTER_NINCADA", "level": 14, "probability": 770 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BAGON", + "species": "MONSTER_BAGON", "level": 16, "probability": 1538 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2269,52 +2269,52 @@ "name": "pokemon_found_out798", "pokemon": [ { - "species": "SPECIES_NIDORINA", + "species": "MONSTER_NIDORINA", "level": 15, "probability": 1200 }, { - "species": "SPECIES_NIDORINO", + "species": "MONSTER_NIDORINO", "level": 15, "probability": 1000 }, { - "species": "SPECIES_GOLBAT", + "species": "MONSTER_GOLBAT", "level": 10, "probability": 1000 }, { - "species": "SPECIES_TANGELA", + "species": "MONSTER_TANGELA", "level": 14, "probability": 1600 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 1600 }, { - "species": "SPECIES_NINCADA", + "species": "MONSTER_NINCADA", "level": 14, "probability": 800 }, { - "species": "SPECIES_ILLIMISE", + "species": "MONSTER_ILLIMISE", "level": 20, "probability": 1200 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BAGON", + "species": "MONSTER_BAGON", "level": 16, "probability": 1600 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2324,42 +2324,42 @@ "name": "pokemon_found_out799", "pokemon": [ { - "species": "SPECIES_NIDORINA", + "species": "MONSTER_NIDORINA", "level": 15, "probability": 1579 }, { - "species": "SPECIES_NIDORINO", + "species": "MONSTER_NIDORINO", "level": 15, "probability": 1316 }, { - "species": "SPECIES_GOLBAT", + "species": "MONSTER_GOLBAT", "level": 10, "probability": 1316 }, { - "species": "SPECIES_ARCANINE", + "species": "MONSTER_ARCANINE", "level": 18, "probability": 2105 }, { - "species": "SPECIES_TANGELA", + "species": "MONSTER_TANGELA", "level": 14, "probability": 2105 }, { - "species": "SPECIES_ILLIMISE", + "species": "MONSTER_ILLIMISE", "level": 20, "probability": 1579 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2369,52 +2369,52 @@ "name": "pokemon_found_out800", "pokemon": [ { - "species": "SPECIES_FEAROW", + "species": "MONSTER_FEAROW", "level": 17, "probability": 1333 }, { - "species": "SPECIES_ARCANINE", + "species": "MONSTER_ARCANINE", "level": 18, "probability": 1334 }, { - "species": "SPECIES_ELECTRODE", + "species": "MONSTER_ELECTRODE", "level": 20, "probability": 1333 }, { - "species": "SPECIES_HITMONLEE", + "species": "MONSTER_HITMONLEE", "level": 22, "probability": 1167 }, { - "species": "SPECIES_HITMONCHAN", + "species": "MONSTER_HITMONCHAN", "level": 22, "probability": 1166 }, { - "species": "SPECIES_FORRETRESS", + "species": "MONSTER_FORRETRESS", "level": 23, "probability": 1334 }, { - "species": "SPECIES_SHUCKLE", + "species": "MONSTER_SHUCKLE", "level": 15, "probability": 1333 }, { - "species": "SPECIES_ILLIMISE", + "species": "MONSTER_ILLIMISE", "level": 20, "probability": 1000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2424,52 +2424,52 @@ "name": "pokemon_found_out801", "pokemon": [ { - "species": "SPECIES_FEAROW", + "species": "MONSTER_FEAROW", "level": 17, "probability": 1034 }, { - "species": "SPECIES_ARCANINE", + "species": "MONSTER_ARCANINE", "level": 18, "probability": 1380 }, { - "species": "SPECIES_ELECTRODE", + "species": "MONSTER_ELECTRODE", "level": 20, "probability": 1379 }, { - "species": "SPECIES_HITMONLEE", + "species": "MONSTER_HITMONLEE", "level": 22, "probability": 1207 }, { - "species": "SPECIES_HITMONCHAN", + "species": "MONSTER_HITMONCHAN", "level": 22, "probability": 1207 }, { - "species": "SPECIES_FORRETRESS", + "species": "MONSTER_FORRETRESS", "level": 23, "probability": 1379 }, { - "species": "SPECIES_SHUCKLE", + "species": "MONSTER_SHUCKLE", "level": 15, "probability": 1380 }, { - "species": "SPECIES_ILLIMISE", + "species": "MONSTER_ILLIMISE", "level": 20, "probability": 1034 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2479,52 +2479,52 @@ "name": "pokemon_found_out802", "pokemon": [ { - "species": "SPECIES_FEAROW", + "species": "MONSTER_FEAROW", "level": 17, "probability": 1000 }, { - "species": "SPECIES_ARCANINE", + "species": "MONSTER_ARCANINE", "level": 18, "probability": 1333 }, { - "species": "SPECIES_ELECTRODE", + "species": "MONSTER_ELECTRODE", "level": 20, "probability": 1334 }, { - "species": "SPECIES_HITMONLEE", + "species": "MONSTER_HITMONLEE", "level": 22, "probability": 1166 }, { - "species": "SPECIES_HITMONCHAN", + "species": "MONSTER_HITMONCHAN", "level": 22, "probability": 1167 }, { - "species": "SPECIES_FORRETRESS", + "species": "MONSTER_FORRETRESS", "level": 23, "probability": 1333 }, { - "species": "SPECIES_SHUCKLE", + "species": "MONSTER_SHUCKLE", "level": 15, "probability": 1334 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2534,52 +2534,52 @@ "name": "pokemon_found_out803", "pokemon": [ { - "species": "SPECIES_FEAROW", + "species": "MONSTER_FEAROW", "level": 17, "probability": 1111 }, { - "species": "SPECIES_ARCANINE", + "species": "MONSTER_ARCANINE", "level": 18, "probability": 1482 }, { - "species": "SPECIES_HITMONLEE", + "species": "MONSTER_HITMONLEE", "level": 22, "probability": 1296 }, { - "species": "SPECIES_HITMONCHAN", + "species": "MONSTER_HITMONCHAN", "level": 22, "probability": 1296 }, { - "species": "SPECIES_SHUCKLE", + "species": "MONSTER_SHUCKLE", "level": 15, "probability": 1482 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1481 }, { - "species": "SPECIES_NUMEL", + "species": "MONSTER_NUMEL", "level": 14, "probability": 1482 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 370 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2589,47 +2589,47 @@ "name": "pokemon_found_out804", "pokemon": [ { - "species": "SPECIES_ARCANINE", + "species": "MONSTER_ARCANINE", "level": 18, "probability": 1667 }, { - "species": "SPECIES_HITMONLEE", + "species": "MONSTER_HITMONLEE", "level": 22, "probability": 1458 }, { - "species": "SPECIES_HITMONCHAN", + "species": "MONSTER_HITMONCHAN", "level": 22, "probability": 1458 }, { - "species": "SPECIES_SHUCKLE", + "species": "MONSTER_SHUCKLE", "level": 15, "probability": 1667 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1667 }, { - "species": "SPECIES_NUMEL", + "species": "MONSTER_NUMEL", "level": 14, "probability": 1666 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 417 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2639,47 +2639,47 @@ "name": "pokemon_found_out805", "pokemon": [ { - "species": "SPECIES_HITMONLEE", + "species": "MONSTER_HITMONLEE", "level": 22, "probability": 1667 }, { - "species": "SPECIES_HITMONCHAN", + "species": "MONSTER_HITMONCHAN", "level": 22, "probability": 1666 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 477 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 1904 }, { - "species": "SPECIES_MIGHTYENA", + "species": "MONSTER_MIGHTYENA", "level": 17, "probability": 1905 }, { - "species": "SPECIES_NUMEL", + "species": "MONSTER_NUMEL", "level": 14, "probability": 1905 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 476 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2689,42 +2689,42 @@ "name": "pokemon_found_out806", "pokemon": [ { - "species": "SPECIES_RAPIDASH", + "species": "MONSTER_RAPIDASH", "level": 16, "probability": 2222 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 556 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 2222 }, { - "species": "SPECIES_MIGHTYENA", + "species": "MONSTER_MIGHTYENA", "level": 17, "probability": 2222 }, { - "species": "SPECIES_TORKOAL", + "species": "MONSTER_TORKOAL", "level": 15, "probability": 2222 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 556 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2734,52 +2734,52 @@ "name": "pokemon_found_out807", "pokemon": [ { - "species": "SPECIES_RAPIDASH", + "species": "MONSTER_RAPIDASH", "level": 16, "probability": 1600 }, { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 16, "probability": 1600 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 400 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 1600 }, { - "species": "SPECIES_MIGHTYENA", + "species": "MONSTER_MIGHTYENA", "level": 17, "probability": 1600 }, { - "species": "SPECIES_TORKOAL", + "species": "MONSTER_TORKOAL", "level": 15, "probability": 1600 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 18, "probability": 1200 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 400 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2789,52 +2789,52 @@ "name": "pokemon_found_out808", "pokemon": [ { - "species": "SPECIES_RAPIDASH", + "species": "MONSTER_RAPIDASH", "level": 16, "probability": 1667 }, { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 16, "probability": 1666 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 417 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 1667 }, { - "species": "SPECIES_MIGHTYENA", + "species": "MONSTER_MIGHTYENA", "level": 17, "probability": 1250 }, { - "species": "SPECIES_TORKOAL", + "species": "MONSTER_TORKOAL", "level": 15, "probability": 1666 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 18, "probability": 1250 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 417 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2844,52 +2844,52 @@ "name": "pokemon_found_out809", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 21, "probability": 1481 }, { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 16, "probability": 1482 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 370 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 1482 }, { - "species": "SPECIES_PILOSWINE", + "species": "MONSTER_PILOSWINE", "level": 16, "probability": 1481 }, { - "species": "SPECIES_MIGHTYENA", + "species": "MONSTER_MIGHTYENA", "level": 17, "probability": 1111 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 18, "probability": 1112 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SNORUNT", + "species": "MONSTER_SNORUNT", "level": 20, "probability": 1481 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2899,52 +2899,52 @@ "name": "pokemon_found_out810", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 21, "probability": 1429 }, { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 16, "probability": 1428 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 357 }, { - "species": "SPECIES_FURRET", + "species": "MONSTER_FURRET", "level": 18, "probability": 1429 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 1428 }, { - "species": "SPECIES_PILOSWINE", + "species": "MONSTER_PILOSWINE", "level": 16, "probability": 1429 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 18, "probability": 1071 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SNORUNT", + "species": "MONSTER_SNORUNT", "level": 20, "probability": 1429 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2954,52 +2954,52 @@ "name": "pokemon_found_out811", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 21, "probability": 1429 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 357 }, { - "species": "SPECIES_FURRET", + "species": "MONSTER_FURRET", "level": 18, "probability": 1428 }, { - "species": "SPECIES_PILOSWINE", + "species": "MONSTER_PILOSWINE", "level": 16, "probability": 1429 }, { - "species": "SPECIES_LAIRON", + "species": "MONSTER_LAIRON", "level": 17, "probability": 1428 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 18, "probability": 1072 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SNORUNT", + "species": "MONSTER_SNORUNT", "level": 20, "probability": 1428 }, { - "species": "SPECIES_METANG", + "species": "MONSTER_METANG", "level": 17, "probability": 1429 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3009,52 +3009,52 @@ "name": "pokemon_found_out812", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 21, "probability": 1429 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 357 }, { - "species": "SPECIES_FURRET", + "species": "MONSTER_FURRET", "level": 18, "probability": 1428 }, { - "species": "SPECIES_PINECO", + "species": "MONSTER_PINECO", "level": 18, "probability": 1429 }, { - "species": "SPECIES_PILOSWINE", + "species": "MONSTER_PILOSWINE", "level": 16, "probability": 1428 }, { - "species": "SPECIES_LAIRON", + "species": "MONSTER_LAIRON", "level": 17, "probability": 1429 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 18, "probability": 1071 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_METANG", + "species": "MONSTER_METANG", "level": 17, "probability": 1429 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3064,42 +3064,42 @@ "name": "pokemon_found_out813", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 21, "probability": 2000 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 500 }, { - "species": "SPECIES_PINECO", + "species": "MONSTER_PINECO", "level": 18, "probability": 2000 }, { - "species": "SPECIES_LAIRON", + "species": "MONSTER_LAIRON", "level": 17, "probability": 2000 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 18, "probability": 1500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_METANG", + "species": "MONSTER_METANG", "level": 17, "probability": 2000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3109,37 +3109,37 @@ "name": "pokemon_found_out814", "pokemon": [ { - "species": "SPECIES_VILEPLUME", + "species": "MONSTER_VILEPLUME", "level": 14, "probability": 1000 }, { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 20, "probability": 1667 }, { - "species": "SPECIES_PUPITAR", + "species": "MONSTER_PUPITAR", "level": 17, "probability": 2666 }, { - "species": "SPECIES_ZANGOOSE", + "species": "MONSTER_ZANGOOSE", "level": 18, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHELGON", + "species": "MONSTER_SHELGON", "level": 19, "probability": 2667 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3149,32 +3149,32 @@ "name": "pokemon_found_out815", "pokemon": [ { - "species": "SPECIES_VILEPLUME", + "species": "MONSTER_VILEPLUME", "level": 14, "probability": 1364 }, { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 20, "probability": 2272 }, { - "species": "SPECIES_ZANGOOSE", + "species": "MONSTER_ZANGOOSE", "level": 18, "probability": 2728 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHELGON", + "species": "MONSTER_SHELGON", "level": 19, "probability": 3636 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3184,42 +3184,42 @@ "name": "pokemon_found_out816", "pokemon": [ { - "species": "SPECIES_VILEPLUME", + "species": "MONSTER_VILEPLUME", "level": 14, "probability": 968 }, { - "species": "SPECIES_MASQUERAIN", + "species": "MONSTER_MASQUERAIN", "level": 27, "probability": 1935 }, { - "species": "SPECIES_SLAKING", + "species": "MONSTER_SLAKING", "level": 15, "probability": 2581 }, { - "species": "SPECIES_ZANGOOSE", + "species": "MONSTER_ZANGOOSE", "level": 18, "probability": 1935 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 646 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_GLALIE", + "species": "MONSTER_GLALIE", "level": 20, "probability": 1935 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3229,47 +3229,47 @@ "name": "pokemon_found_out817", "pokemon": [ { - "species": "SPECIES_VILEPLUME", + "species": "MONSTER_VILEPLUME", "level": 14, "probability": 732 }, { - "species": "SPECIES_KOFFING", + "species": "MONSTER_KOFFING", "level": 20, "probability": 1951 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 1951 }, { - "species": "SPECIES_MASQUERAIN", + "species": "MONSTER_MASQUERAIN", "level": 27, "probability": 1464 }, { - "species": "SPECIES_SLAKING", + "species": "MONSTER_SLAKING", "level": 15, "probability": 1951 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 488 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_GLALIE", + "species": "MONSTER_GLALIE", "level": 20, "probability": 1463 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3279,47 +3279,47 @@ "name": "pokemon_found_out818", "pokemon": [ { - "species": "SPECIES_VILEPLUME", + "species": "MONSTER_VILEPLUME", "level": 14, "probability": 732 }, { - "species": "SPECIES_KOFFING", + "species": "MONSTER_KOFFING", "level": 20, "probability": 1951 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 1951 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1464 }, { - "species": "SPECIES_SLAKING", + "species": "MONSTER_SLAKING", "level": 15, "probability": 1951 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 488 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_GLALIE", + "species": "MONSTER_GLALIE", "level": 20, "probability": 1463 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3329,52 +3329,52 @@ "name": "pokemon_found_out819", "pokemon": [ { - "species": "SPECIES_VILEPLUME", + "species": "MONSTER_VILEPLUME", "level": 14, "probability": 612 }, { - "species": "SPECIES_KOFFING", + "species": "MONSTER_KOFFING", "level": 20, "probability": 1633 }, { - "species": "SPECIES_RHYDON", + "species": "MONSTER_RHYDON", "level": 23, "probability": 1633 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 1632 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1225 }, { - "species": "SPECIES_SLAKING", + "species": "MONSTER_SLAKING", "level": 15, "probability": 1632 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 409 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_GLALIE", + "species": "MONSTER_GLALIE", "level": 20, "probability": 1224 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3384,52 +3384,52 @@ "name": "pokemon_found_out820", "pokemon": [ { - "species": "SPECIES_NIDOQUEEN", + "species": "MONSTER_NIDOQUEEN", "level": 20, "probability": 1400 }, { - "species": "SPECIES_VILEPLUME", + "species": "MONSTER_VILEPLUME", "level": 14, "probability": 600 }, { - "species": "SPECIES_KOFFING", + "species": "MONSTER_KOFFING", "level": 20, "probability": 1600 }, { - "species": "SPECIES_RHYDON", + "species": "MONSTER_RHYDON", "level": 23, "probability": 1600 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 1600 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1200 }, { - "species": "SPECIES_SLAKING", + "species": "MONSTER_SLAKING", "level": 15, "probability": 1600 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 400 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3439,47 +3439,47 @@ "name": "pokemon_found_out821", "pokemon": [ { - "species": "SPECIES_NIDOQUEEN", + "species": "MONSTER_NIDOQUEEN", "level": 20, "probability": 1667 }, { - "species": "SPECIES_VILEPLUME", + "species": "MONSTER_VILEPLUME", "level": 14, "probability": 714 }, { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 15, "probability": 1905 }, { - "species": "SPECIES_RHYDON", + "species": "MONSTER_RHYDON", "level": 23, "probability": 1904 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 1905 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1429 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 476 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3489,42 +3489,42 @@ "name": "pokemon_found_out822", "pokemon": [ { - "species": "SPECIES_NIDOKING", + "species": "MONSTER_NIDOKING", "level": 21, "probability": 1944 }, { - "species": "SPECIES_VILEPLUME", + "species": "MONSTER_VILEPLUME", "level": 14, "probability": 834 }, { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 15, "probability": 2222 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 2222 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 2222 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 556 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3534,37 +3534,37 @@ "name": "pokemon_found_out823", "pokemon": [ { - "species": "SPECIES_NIDOKING", + "species": "MONSTER_NIDOKING", "level": 21, "probability": 2500 }, { - "species": "SPECIES_VILEPLUME", + "species": "MONSTER_VILEPLUME", "level": 14, "probability": 1071 }, { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 15, "probability": 2858 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 2857 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 714 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3574,42 +3574,42 @@ "name": "pokemon_found_out824", "pokemon": [ { - "species": "SPECIES_NIDOKING", + "species": "MONSTER_NIDOKING", "level": 21, "probability": 2059 }, { - "species": "SPECIES_VILEPLUME", + "species": "MONSTER_VILEPLUME", "level": 14, "probability": 882 }, { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 15, "probability": 2353 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 2353 }, { - "species": "SPECIES_PORYGON2", + "species": "MONSTER_PORYGON2", "level": 20, "probability": 1765 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 588 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3619,37 +3619,37 @@ "name": "pokemon_found_out825", "pokemon": [ { - "species": "SPECIES_PARASECT", + "species": "MONSTER_PARASECT", "level": 30, "probability": 1429 }, { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 20, "probability": 2285 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 2286 }, { - "species": "SPECIES_PORYGON2", + "species": "MONSTER_PORYGON2", "level": 20, "probability": 1714 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 25, "probability": 2286 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3659,37 +3659,37 @@ "name": "pokemon_found_out826", "pokemon": [ { - "species": "SPECIES_PARASECT", + "species": "MONSTER_PARASECT", "level": 30, "probability": 1562 }, { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 20, "probability": 2500 }, { - "species": "SPECIES_PORYGON2", + "species": "MONSTER_PORYGON2", "level": 20, "probability": 1875 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 25, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHUPPET", + "species": "MONSTER_SHUPPET", "level": 28, "probability": 1563 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3699,42 +3699,42 @@ "name": "pokemon_found_out827", "pokemon": [ { - "species": "SPECIES_PARASECT", + "species": "MONSTER_PARASECT", "level": 30, "probability": 1282 }, { - "species": "SPECIES_PONYTA", + "species": "MONSTER_PONYTA", "level": 30, "probability": 1795 }, { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 20, "probability": 2051 }, { - "species": "SPECIES_PORYGON2", + "species": "MONSTER_PORYGON2", "level": 20, "probability": 1539 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 25, "probability": 2051 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHUPPET", + "species": "MONSTER_SHUPPET", "level": 28, "probability": 1282 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3744,32 +3744,32 @@ "name": "pokemon_found_out828", "pokemon": [ { - "species": "SPECIES_PARASECT", + "species": "MONSTER_PARASECT", "level": 30, "probability": 1786 }, { - "species": "SPECIES_PONYTA", + "species": "MONSTER_PONYTA", "level": 30, "probability": 2500 }, { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 20, "probability": 2857 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 25, "probability": 2857 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3779,42 +3779,42 @@ "name": "pokemon_found_out829", "pokemon": [ { - "species": "SPECIES_PARASECT", + "species": "MONSTER_PARASECT", "level": 30, "probability": 1515 }, { - "species": "SPECIES_VENOMOTH", + "species": "MONSTER_VENOMOTH", "level": 18, "probability": 1515 }, { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 20, "probability": 606 }, { - "species": "SPECIES_LEDIAN", + "species": "MONSTER_LEDIAN", "level": 24, "probability": 1516 }, { - "species": "SPECIES_FORRETRESS", + "species": "MONSTER_FORRETRESS", "level": 23, "probability": 2424 }, { - "species": "SPECIES_SOLROCK", + "species": "MONSTER_SOLROCK", "level": 24, "probability": 2424 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3824,47 +3824,47 @@ "name": "pokemon_found_out830", "pokemon": [ { - "species": "SPECIES_PARASECT", + "species": "MONSTER_PARASECT", "level": 30, "probability": 1220 }, { - "species": "SPECIES_VENOMOTH", + "species": "MONSTER_VENOMOTH", "level": 18, "probability": 1219 }, { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 20, "probability": 488 }, { - "species": "SPECIES_LEDIAN", + "species": "MONSTER_LEDIAN", "level": 24, "probability": 1219 }, { - "species": "SPECIES_FORRETRESS", + "species": "MONSTER_FORRETRESS", "level": 23, "probability": 1952 }, { - "species": "SPECIES_ALTARIA", + "species": "MONSTER_ALTARIA", "level": 24, "probability": 1951 }, { - "species": "SPECIES_SOLROCK", + "species": "MONSTER_SOLROCK", "level": 24, "probability": 1951 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3874,37 +3874,37 @@ "name": "pokemon_found_out831", "pokemon": [ { - "species": "SPECIES_PARASECT", + "species": "MONSTER_PARASECT", "level": 30, "probability": 1786 }, { - "species": "SPECIES_VENOMOTH", + "species": "MONSTER_VENOMOTH", "level": 18, "probability": 1785 }, { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 20, "probability": 715 }, { - "species": "SPECIES_ALTARIA", + "species": "MONSTER_ALTARIA", "level": 24, "probability": 2857 }, { - "species": "SPECIES_SOLROCK", + "species": "MONSTER_SOLROCK", "level": 24, "probability": 2857 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3914,47 +3914,47 @@ "name": "pokemon_found_out832", "pokemon": [ { - "species": "SPECIES_PARASECT", + "species": "MONSTER_PARASECT", "level": 30, "probability": 1220 }, { - "species": "SPECIES_VENOMOTH", + "species": "MONSTER_VENOMOTH", "level": 18, "probability": 1951 }, { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 20, "probability": 488 }, { - "species": "SPECIES_SCIZOR", + "species": "MONSTER_SCIZOR", "level": 24, "probability": 1951 }, { - "species": "SPECIES_ALTARIA", + "species": "MONSTER_ALTARIA", "level": 24, "probability": 1951 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 488 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DUSCLOPS", + "species": "MONSTER_DUSCLOPS", "level": 24, "probability": 1951 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -3964,42 +3964,42 @@ "name": "pokemon_found_out833", "pokemon": [ { - "species": "SPECIES_PARASECT", + "species": "MONSTER_PARASECT", "level": 30, "probability": 1515 }, { - "species": "SPECIES_VENOMOTH", + "species": "MONSTER_VENOMOTH", "level": 18, "probability": 2424 }, { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 20, "probability": 606 }, { - "species": "SPECIES_SCIZOR", + "species": "MONSTER_SCIZOR", "level": 24, "probability": 2425 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 606 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DUSCLOPS", + "species": "MONSTER_DUSCLOPS", "level": 24, "probability": 2424 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -4009,47 +4009,47 @@ "name": "pokemon_found_out834", "pokemon": [ { - "species": "SPECIES_PARASECT", + "species": "MONSTER_PARASECT", "level": 30, "probability": 1389 }, { - "species": "SPECIES_VENOMOTH", + "species": "MONSTER_VENOMOTH", "level": 18, "probability": 2222 }, { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 20, "probability": 556 }, { - "species": "SPECIES_AERODACTYL", + "species": "MONSTER_AERODACTYL", "level": 25, "probability": 1389 }, { - "species": "SPECIES_SCIZOR", + "species": "MONSTER_SCIZOR", "level": 24, "probability": 2222 }, { - "species": "SPECIES_FLYGON", + "species": "MONSTER_FLYGON", "level": 25, "probability": 1666 }, { - "species": "SPECIES_CASTFORM", + "species": "MONSTER_CASTFORM", "level": 10, "probability": 556 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -4059,47 +4059,47 @@ "name": "pokemon_found_out835", "pokemon": [ { - "species": "SPECIES_PARASECT", + "species": "MONSTER_PARASECT", "level": 30, "probability": 1190 }, { - "species": "SPECIES_VENOMOTH", + "species": "MONSTER_VENOMOTH", "level": 18, "probability": 1905 }, { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 20, "probability": 476 }, { - "species": "SPECIES_AERODACTYL", + "species": "MONSTER_AERODACTYL", "level": 25, "probability": 1191 }, { - "species": "SPECIES_FLYGON", + "species": "MONSTER_FLYGON", "level": 25, "probability": 1428 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_TROPIUS", + "species": "MONSTER_TROPIUS", "level": 25, "probability": 1905 }, { - "species": "SPECIES_METAGROSS", + "species": "MONSTER_METAGROSS", "level": 28, "probability": 1905 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -4109,47 +4109,47 @@ "name": "pokemon_found_out836", "pokemon": [ { - "species": "SPECIES_PARASECT", + "species": "MONSTER_PARASECT", "level": 30, "probability": 1136 }, { - "species": "SPECIES_VENOMOTH", + "species": "MONSTER_VENOMOTH", "level": 18, "probability": 1819 }, { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 20, "probability": 454 }, { - "species": "SPECIES_AERODACTYL", + "species": "MONSTER_AERODACTYL", "level": 25, "probability": 1136 }, { - "species": "SPECIES_CLAYDOL", + "species": "MONSTER_CLAYDOL", "level": 26, "probability": 1819 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_TROPIUS", + "species": "MONSTER_TROPIUS", "level": 25, "probability": 1818 }, { - "species": "SPECIES_METAGROSS", + "species": "MONSTER_METAGROSS", "level": 28, "probability": 1818 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -4159,42 +4159,42 @@ "name": "pokemon_found_out837", "pokemon": [ { - "species": "SPECIES_PARASECT", + "species": "MONSTER_PARASECT", "level": 30, "probability": 1282 }, { - "species": "SPECIES_VENOMOTH", + "species": "MONSTER_VENOMOTH", "level": 18, "probability": 2051 }, { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 20, "probability": 513 }, { - "species": "SPECIES_CLAYDOL", + "species": "MONSTER_CLAYDOL", "level": 26, "probability": 2051 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SALAMENCE", + "species": "MONSTER_SALAMENCE", "level": 26, "probability": 2052 }, { - "species": "SPECIES_METAGROSS", + "species": "MONSTER_METAGROSS", "level": 28, "probability": 2051 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -4204,42 +4204,42 @@ "name": "pokemon_found_out838", "pokemon": [ { - "species": "SPECIES_PARASECT", + "species": "MONSTER_PARASECT", "level": 30, "probability": 0 }, { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 20, "probability": 0 }, { - "species": "SPECIES_CELEBI", + "species": "MONSTER_CELEBI", "level": 45, "probability": 10000 }, { - "species": "SPECIES_CLAYDOL", + "species": "MONSTER_CLAYDOL", "level": 26, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SALAMENCE", + "species": "MONSTER_SALAMENCE", "level": 26, "probability": 0 }, { - "species": "SPECIES_METAGROSS", + "species": "MONSTER_METAGROSS", "level": 28, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/RemainsIsland/pokemon_found.json b/data/dungeon/RemainsIsland/pokemon_found.json index 2b48a7187..80e46010b 100644 --- a/data/dungeon/RemainsIsland/pokemon_found.json +++ b/data/dungeon/RemainsIsland/pokemon_found.json @@ -4,47 +4,47 @@ "name": "pokemon_found_out491", "pokemon": [ { - "species": "SPECIES_PIDGEOT", + "species": "MONSTER_PIDGEOT", "level": 16, "probability": 1429 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 30, "probability": 1428 }, { - "species": "SPECIES_HOOTHOOT", + "species": "MONSTER_HOOTHOOT", "level": 6, "probability": 1429 }, { - "species": "SPECIES_LEDYBA", + "species": "MONSTER_LEDYBA", "level": 25, "probability": 1428 }, { - "species": "SPECIES_BEAUTIFLY", + "species": "MONSTER_BEAUTIFLY", "level": 36, "probability": 1429 }, { - "species": "SPECIES_SWELLOW", + "species": "MONSTER_SWELLOW", "level": 20, "probability": 1428 }, { - "species": "SPECIES_NINJASK", + "species": "MONSTER_NINJASK", "level": 25, "probability": 1429 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -54,47 +54,47 @@ "name": "pokemon_found_out492", "pokemon": [ { - "species": "SPECIES_BUTTERFREE", + "species": "MONSTER_BUTTERFREE", "level": 35, "probability": 1429 }, { - "species": "SPECIES_PIDGEOT", + "species": "MONSTER_PIDGEOT", "level": 16, "probability": 1428 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 30, "probability": 1429 }, { - "species": "SPECIES_LEDYBA", + "species": "MONSTER_LEDYBA", "level": 25, "probability": 1428 }, { - "species": "SPECIES_BEAUTIFLY", + "species": "MONSTER_BEAUTIFLY", "level": 36, "probability": 1429 }, { - "species": "SPECIES_SWELLOW", + "species": "MONSTER_SWELLOW", "level": 20, "probability": 1428 }, { - "species": "SPECIES_NINJASK", + "species": "MONSTER_NINJASK", "level": 25, "probability": 1429 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -104,47 +104,47 @@ "name": "pokemon_found_out493", "pokemon": [ { - "species": "SPECIES_BUTTERFREE", + "species": "MONSTER_BUTTERFREE", "level": 35, "probability": 1429 }, { - "species": "SPECIES_PIDGEOT", + "species": "MONSTER_PIDGEOT", "level": 16, "probability": 1428 }, { - "species": "SPECIES_RATICATE", + "species": "MONSTER_RATICATE", "level": 25, "probability": 1429 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 30, "probability": 1428 }, { - "species": "SPECIES_LEDYBA", + "species": "MONSTER_LEDYBA", "level": 25, "probability": 1429 }, { - "species": "SPECIES_HOPPIP", + "species": "MONSTER_HOPPIP", "level": 8, "probability": 1428 }, { - "species": "SPECIES_BEAUTIFLY", + "species": "MONSTER_BEAUTIFLY", "level": 36, "probability": 1429 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -154,42 +154,42 @@ "name": "pokemon_found_out494", "pokemon": [ { - "species": "SPECIES_BUTTERFREE", + "species": "MONSTER_BUTTERFREE", "level": 35, "probability": 1667 }, { - "species": "SPECIES_RATICATE", + "species": "MONSTER_RATICATE", "level": 25, "probability": 1666 }, { - "species": "SPECIES_DODUO", + "species": "MONSTER_DODUO", "level": 25, "probability": 1667 }, { - "species": "SPECIES_HOPPIP", + "species": "MONSTER_HOPPIP", "level": 8, "probability": 1667 }, { - "species": "SPECIES_WINGULL", + "species": "MONSTER_WINGULL", "level": 23, "probability": 1666 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 24, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -199,42 +199,42 @@ "name": "pokemon_found_out495", "pokemon": [ { - "species": "SPECIES_BUTTERFREE", + "species": "MONSTER_BUTTERFREE", "level": 35, "probability": 1667 }, { - "species": "SPECIES_SPEAROW", + "species": "MONSTER_SPEAROW", "level": 34, "probability": 1666 }, { - "species": "SPECIES_DODUO", + "species": "MONSTER_DODUO", "level": 25, "probability": 1667 }, { - "species": "SPECIES_YANMA", + "species": "MONSTER_YANMA", "level": 25, "probability": 1667 }, { - "species": "SPECIES_WINGULL", + "species": "MONSTER_WINGULL", "level": 23, "probability": 1666 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 24, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -244,42 +244,42 @@ "name": "pokemon_found_out496", "pokemon": [ { - "species": "SPECIES_SPEAROW", + "species": "MONSTER_SPEAROW", "level": 34, "probability": 1667 }, { - "species": "SPECIES_DODUO", + "species": "MONSTER_DODUO", "level": 25, "probability": 1666 }, { - "species": "SPECIES_YANMA", + "species": "MONSTER_YANMA", "level": 25, "probability": 1667 }, { - "species": "SPECIES_WINGULL", + "species": "MONSTER_WINGULL", "level": 23, "probability": 1667 }, { - "species": "SPECIES_MASQUERAIN", + "species": "MONSTER_MASQUERAIN", "level": 40, "probability": 1666 }, { - "species": "SPECIES_SWABLU", + "species": "MONSTER_SWABLU", "level": 24, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -289,37 +289,37 @@ "name": "pokemon_found_out497", "pokemon": [ { - "species": "SPECIES_SPEAROW", + "species": "MONSTER_SPEAROW", "level": 34, "probability": 2000 }, { - "species": "SPECIES_SCYTHER", + "species": "MONSTER_SCYTHER", "level": 32, "probability": 2000 }, { - "species": "SPECIES_YANMA", + "species": "MONSTER_YANMA", "level": 25, "probability": 2000 }, { - "species": "SPECIES_WINGULL", + "species": "MONSTER_WINGULL", "level": 23, "probability": 2000 }, { - "species": "SPECIES_MASQUERAIN", + "species": "MONSTER_MASQUERAIN", "level": 40, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -329,32 +329,32 @@ "name": "pokemon_found_out498", "pokemon": [ { - "species": "SPECIES_SCYTHER", + "species": "MONSTER_SCYTHER", "level": 32, "probability": 2500 }, { - "species": "SPECIES_YANMA", + "species": "MONSTER_YANMA", "level": 25, "probability": 2500 }, { - "species": "SPECIES_WINGULL", + "species": "MONSTER_WINGULL", "level": 23, "probability": 2500 }, { - "species": "SPECIES_MASQUERAIN", + "species": "MONSTER_MASQUERAIN", "level": 40, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -364,27 +364,27 @@ "name": "pokemon_found_out499", "pokemon": [ { - "species": "SPECIES_SCYTHER", + "species": "MONSTER_SCYTHER", "level": 32, "probability": 3333 }, { - "species": "SPECIES_SKIPLOOM", + "species": "MONSTER_SKIPLOOM", "level": 25, "probability": 3334 }, { - "species": "SPECIES_YANMA", + "species": "MONSTER_YANMA", "level": 25, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -394,32 +394,32 @@ "name": "pokemon_found_out500", "pokemon": [ { - "species": "SPECIES_SCYTHER", + "species": "MONSTER_SCYTHER", "level": 32, "probability": 2500 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 2500 }, { - "species": "SPECIES_TOGETIC", + "species": "MONSTER_TOGETIC", "level": 25, "probability": 2500 }, { - "species": "SPECIES_SKIPLOOM", + "species": "MONSTER_SKIPLOOM", "level": 25, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -429,32 +429,32 @@ "name": "pokemon_found_out501", "pokemon": [ { - "species": "SPECIES_DODRIO", + "species": "MONSTER_DODRIO", "level": 25, "probability": 2500 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 2500 }, { - "species": "SPECIES_TOGETIC", + "species": "MONSTER_TOGETIC", "level": 25, "probability": 2500 }, { - "species": "SPECIES_SKIPLOOM", + "species": "MONSTER_SKIPLOOM", "level": 25, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/RockPath/pokemon_found.json b/data/dungeon/RockPath/pokemon_found.json index 873da75f2..e626f5a05 100644 --- a/data/dungeon/RockPath/pokemon_found.json +++ b/data/dungeon/RockPath/pokemon_found.json @@ -4,37 +4,37 @@ "name": "pokemon_found_out521", "pokemon": [ { - "species": "SPECIES_PIDGEOT", + "species": "MONSTER_PIDGEOT", "level": 16, "probability": 2857 }, { - "species": "SPECIES_NIDORINA", + "species": "MONSTER_NIDORINA", "level": 15, "probability": 1429 }, { - "species": "SPECIES_NIDORINO", + "species": "MONSTER_NIDORINO", "level": 15, "probability": 1428 }, { - "species": "SPECIES_ZUBAT", + "species": "MONSTER_ZUBAT", "level": 17, "probability": 2857 }, { - "species": "SPECIES_NUMEL", + "species": "MONSTER_NUMEL", "level": 14, "probability": 1429 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/SilentChasm/pokemon_found.json b/data/dungeon/SilentChasm/pokemon_found.json index 5edadea55..3bf2e0102 100644 --- a/data/dungeon/SilentChasm/pokemon_found.json +++ b/data/dungeon/SilentChasm/pokemon_found.json @@ -3,37 +3,37 @@ "name": "SilentChasm_1F_3F_Pokemon", "pokemon": [ { - "species": "SPECIES_WEEDLE", + "species": "MONSTER_WEEDLE", "level": 8, "probability": 1667 }, { - "species": "SPECIES_GLOOM", + "species": "MONSTER_GLOOM", "level": 10, "probability": 1000 }, { - "species": "SPECIES_FARFETCHD", + "species": "MONSTER_FARFETCHD", "level": 10, "probability": 2666 }, { - "species": "SPECIES_YANMA", + "species": "MONSTER_YANMA", "level": 10, "probability": 2000 }, { - "species": "SPECIES_TEDDIURSA", + "species": "MONSTER_TEDDIURSA", "level": 10, "probability": 2667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -42,32 +42,32 @@ "name": "SilentChasm_4F_Pokemon", "pokemon": [ { - "species": "SPECIES_WEEDLE", + "species": "MONSTER_WEEDLE", "level": 8, "probability": 2778 }, { - "species": "SPECIES_GLOOM", + "species": "MONSTER_GLOOM", "level": 10, "probability": 1666 }, { - "species": "SPECIES_YANMA", + "species": "MONSTER_YANMA", "level": 10, "probability": 3334 }, { - "species": "SPECIES_DUSTOX", + "species": "MONSTER_DUSTOX", "level": 10, "probability": 2222 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -76,42 +76,42 @@ "name": "SilentChasm_5F_Pokemon", "pokemon": [ { - "species": "SPECIES_WEEDLE", + "species": "MONSTER_WEEDLE", "level": 8, "probability": 1515 }, { - "species": "SPECIES_GLOOM", + "species": "MONSTER_GLOOM", "level": 10, "probability": 909 }, { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 10, "probability": 909 }, { - "species": "SPECIES_YANMA", + "species": "MONSTER_YANMA", "level": 10, "probability": 1819 }, { - "species": "SPECIES_HOUNDOUR", + "species": "MONSTER_HOUNDOUR", "level": 11, "probability": 2424 }, { - "species": "SPECIES_DUSTOX", + "species": "MONSTER_DUSTOX", "level": 10, "probability": 2424 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -120,52 +120,52 @@ "name": "SilentChasm_6F_Pokemon", "pokemon": [ { - "species": "SPECIES_WEEDLE", + "species": "MONSTER_WEEDLE", "level": 8, "probability": 1064 }, { - "species": "SPECIES_GLOOM", + "species": "MONSTER_GLOOM", "level": 10, "probability": 638 }, { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 10, "probability": 638 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 1277 }, { - "species": "SPECIES_YANMA", + "species": "MONSTER_YANMA", "level": 10, "probability": 1277 }, { - "species": "SPECIES_HOUNDOUR", + "species": "MONSTER_HOUNDOUR", "level": 11, "probability": 1702 }, { - "species": "SPECIES_DUSTOX", + "species": "MONSTER_DUSTOX", "level": 10, "probability": 1702 }, { - "species": "SPECIES_TRAPINCH", + "species": "MONSTER_TRAPINCH", "level": 11, "probability": 1702 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -174,52 +174,52 @@ "name": "SilentChasm_7F_Pokemon", "pokemon": [ { - "species": "SPECIES_GLOOM", + "species": "MONSTER_GLOOM", "level": 10, "probability": 652 }, { - "species": "SPECIES_PARAS", + "species": "MONSTER_PARAS", "level": 11, "probability": 870 }, { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 10, "probability": 652 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 1304 }, { - "species": "SPECIES_YANMA", + "species": "MONSTER_YANMA", "level": 10, "probability": 1305 }, { - "species": "SPECIES_HOUNDOUR", + "species": "MONSTER_HOUNDOUR", "level": 11, "probability": 1739 }, { - "species": "SPECIES_DUSTOX", + "species": "MONSTER_DUSTOX", "level": 10, "probability": 1739 }, { - "species": "SPECIES_TRAPINCH", + "species": "MONSTER_TRAPINCH", "level": 11, "probability": 1739 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -228,42 +228,42 @@ "name": "SilentChasm_8F_Pokemon", "pokemon": [ { - "species": "SPECIES_GLOOM", + "species": "MONSTER_GLOOM", "level": 10, "probability": 1000 }, { - "species": "SPECIES_PARAS", + "species": "MONSTER_PARAS", "level": 11, "probability": 1333 }, { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 10, "probability": 1000 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 2000 }, { - "species": "SPECIES_YANMA", + "species": "MONSTER_YANMA", "level": 10, "probability": 2000 }, { - "species": "SPECIES_TRAPINCH", + "species": "MONSTER_TRAPINCH", "level": 11, "probability": 2667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -272,42 +272,42 @@ "name": "SilentChasm_9F_Pokemon", "pokemon": [ { - "species": "SPECIES_BEEDRILL", + "species": "MONSTER_BEEDRILL", "level": 10, "probability": 1724 }, { - "species": "SPECIES_GLOOM", + "species": "MONSTER_GLOOM", "level": 10, "probability": 1035 }, { - "species": "SPECIES_PARAS", + "species": "MONSTER_PARAS", "level": 11, "probability": 1379 }, { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 10, "probability": 1034 }, { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 2069 }, { - "species": "SPECIES_TRAPINCH", + "species": "MONSTER_TRAPINCH", "level": 11, "probability": 2759 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/SilverTrench/pokemon_found.json b/data/dungeon/SilverTrench/pokemon_found.json index 7f04471bc..bf7dff70c 100644 --- a/data/dungeon/SilverTrench/pokemon_found.json +++ b/data/dungeon/SilverTrench/pokemon_found.json @@ -4,37 +4,37 @@ "name": "pokemon_found_out128", "pokemon": [ { - "species": "SPECIES_TENTACOOL", + "species": "MONSTER_TENTACOOL", "level": 25, "probability": 2000 }, { - "species": "SPECIES_SHELLDER", + "species": "MONSTER_SHELLDER", "level": 20, "probability": 2000 }, { - "species": "SPECIES_OMANYTE", + "species": "MONSTER_OMANYTE", "level": 25, "probability": 2000 }, { - "species": "SPECIES_QWILFISH", + "species": "MONSTER_QWILFISH", "level": 30, "probability": 2000 }, { - "species": "SPECIES_WINGULL", + "species": "MONSTER_WINGULL", "level": 23, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -44,47 +44,47 @@ "name": "pokemon_found_out129", "pokemon": [ { - "species": "SPECIES_TENTACOOL", + "species": "MONSTER_TENTACOOL", "level": 25, "probability": 1429 }, { - "species": "SPECIES_SHELLDER", + "species": "MONSTER_SHELLDER", "level": 20, "probability": 1428 }, { - "species": "SPECIES_OMANYTE", + "species": "MONSTER_OMANYTE", "level": 25, "probability": 1429 }, { - "species": "SPECIES_KABUTO", + "species": "MONSTER_KABUTO", "level": 28, "probability": 1428 }, { - "species": "SPECIES_QWILFISH", + "species": "MONSTER_QWILFISH", "level": 30, "probability": 1429 }, { - "species": "SPECIES_CORSOLA", + "species": "MONSTER_CORSOLA", "level": 27, "probability": 1428 }, { - "species": "SPECIES_WINGULL", + "species": "MONSTER_WINGULL", "level": 23, "probability": 1429 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -94,52 +94,52 @@ "name": "pokemon_found_out130", "pokemon": [ { - "species": "SPECIES_TENTACOOL", + "species": "MONSTER_TENTACOOL", "level": 25, "probability": 1250 }, { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 1250 }, { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 30, "probability": 1250 }, { - "species": "SPECIES_SHELLDER", + "species": "MONSTER_SHELLDER", "level": 20, "probability": 1250 }, { - "species": "SPECIES_OMANYTE", + "species": "MONSTER_OMANYTE", "level": 25, "probability": 1250 }, { - "species": "SPECIES_KABUTO", + "species": "MONSTER_KABUTO", "level": 28, "probability": 1250 }, { - "species": "SPECIES_QWILFISH", + "species": "MONSTER_QWILFISH", "level": 30, "probability": 1250 }, { - "species": "SPECIES_CORSOLA", + "species": "MONSTER_CORSOLA", "level": 27, "probability": 1250 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -149,47 +149,47 @@ "name": "pokemon_found_out131", "pokemon": [ { - "species": "SPECIES_TENTACOOL", + "species": "MONSTER_TENTACOOL", "level": 25, "probability": 1429 }, { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 1428 }, { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 30, "probability": 1429 }, { - "species": "SPECIES_OMANYTE", + "species": "MONSTER_OMANYTE", "level": 25, "probability": 1428 }, { - "species": "SPECIES_KABUTO", + "species": "MONSTER_KABUTO", "level": 28, "probability": 1429 }, { - "species": "SPECIES_QWILFISH", + "species": "MONSTER_QWILFISH", "level": 30, "probability": 1428 }, { - "species": "SPECIES_CORSOLA", + "species": "MONSTER_CORSOLA", "level": 27, "probability": 1429 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -199,42 +199,42 @@ "name": "pokemon_found_out132", "pokemon": [ { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 1667 }, { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 30, "probability": 1666 }, { - "species": "SPECIES_HORSEA", + "species": "MONSTER_HORSEA", "level": 29, "probability": 1667 }, { - "species": "SPECIES_KABUTO", + "species": "MONSTER_KABUTO", "level": 28, "probability": 1667 }, { - "species": "SPECIES_CORSOLA", + "species": "MONSTER_CORSOLA", "level": 27, "probability": 1666 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SPHEAL", + "species": "MONSTER_SPHEAL", "level": 18, "probability": 1667 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -244,37 +244,37 @@ "name": "pokemon_found_out133", "pokemon": [ { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 2000 }, { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 30, "probability": 2000 }, { - "species": "SPECIES_HORSEA", + "species": "MONSTER_HORSEA", "level": 29, "probability": 2000 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 21, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SPHEAL", + "species": "MONSTER_SPHEAL", "level": 18, "probability": 2000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -284,37 +284,37 @@ "name": "pokemon_found_out134", "pokemon": [ { - "species": "SPECIES_KRABBY", + "species": "MONSTER_KRABBY", "level": 32, "probability": 2000 }, { - "species": "SPECIES_HORSEA", + "species": "MONSTER_HORSEA", "level": 29, "probability": 2000 }, { - "species": "SPECIES_STARYU", + "species": "MONSTER_STARYU", "level": 28, "probability": 2000 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 21, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SPHEAL", + "species": "MONSTER_SPHEAL", "level": 18, "probability": 2000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -324,47 +324,47 @@ "name": "pokemon_found_out135", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 32, "probability": 1633 }, { - "species": "SPECIES_KRABBY", + "species": "MONSTER_KRABBY", "level": 32, "probability": 1632 }, { - "species": "SPECIES_HORSEA", + "species": "MONSTER_HORSEA", "level": 29, "probability": 1633 }, { - "species": "SPECIES_STARYU", + "species": "MONSTER_STARYU", "level": 28, "probability": 1633 }, { - "species": "SPECIES_VAPOREON", + "species": "MONSTER_VAPOREON", "level": 22, "probability": 204 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 1632 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 21, "probability": 1633 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -374,37 +374,37 @@ "name": "pokemon_found_out136", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 32, "probability": 2000 }, { - "species": "SPECIES_KRABBY", + "species": "MONSTER_KRABBY", "level": 32, "probability": 2000 }, { - "species": "SPECIES_STARYU", + "species": "MONSTER_STARYU", "level": 28, "probability": 2000 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 2000 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 21, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -414,32 +414,32 @@ "name": "pokemon_found_out137", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 32, "probability": 2500 }, { - "species": "SPECIES_KRABBY", + "species": "MONSTER_KRABBY", "level": 32, "probability": 2500 }, { - "species": "SPECIES_STARYU", + "species": "MONSTER_STARYU", "level": 28, "probability": 2500 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -449,32 +449,32 @@ "name": "pokemon_found_out138", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 32, "probability": 2500 }, { - "species": "SPECIES_STARYU", + "species": "MONSTER_STARYU", "level": 28, "probability": 2500 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 2500 }, { - "species": "SPECIES_KABUTOPS", + "species": "MONSTER_KABUTOPS", "level": 28, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -484,37 +484,37 @@ "name": "pokemon_found_out139", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 32, "probability": 2000 }, { - "species": "SPECIES_KINGLER", + "species": "MONSTER_KINGLER", "level": 35, "probability": 2000 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 2000 }, { - "species": "SPECIES_KABUTOPS", + "species": "MONSTER_KABUTOPS", "level": 28, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SEALEO", + "species": "MONSTER_SEALEO", "level": 22, "probability": 2000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -524,47 +524,47 @@ "name": "pokemon_found_out140", "pokemon": [ { - "species": "SPECIES_SLOWBRO", + "species": "MONSTER_SLOWBRO", "level": 27, "probability": 1633 }, { - "species": "SPECIES_KINGLER", + "species": "MONSTER_KINGLER", "level": 35, "probability": 1632 }, { - "species": "SPECIES_SEADRA", + "species": "MONSTER_SEADRA", "level": 20, "probability": 1633 }, { - "species": "SPECIES_VAPOREON", + "species": "MONSTER_VAPOREON", "level": 22, "probability": 204 }, { - "species": "SPECIES_KABUTOPS", + "species": "MONSTER_KABUTOPS", "level": 28, "probability": 1633 }, { - "species": "SPECIES_CARVANHA", + "species": "MONSTER_CARVANHA", "level": 27, "probability": 1632 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SEALEO", + "species": "MONSTER_SEALEO", "level": 22, "probability": 1633 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -574,42 +574,42 @@ "name": "pokemon_found_out141", "pokemon": [ { - "species": "SPECIES_SLOWBRO", + "species": "MONSTER_SLOWBRO", "level": 27, "probability": 1667 }, { - "species": "SPECIES_KINGLER", + "species": "MONSTER_KINGLER", "level": 35, "probability": 1666 }, { - "species": "SPECIES_SEADRA", + "species": "MONSTER_SEADRA", "level": 20, "probability": 1667 }, { - "species": "SPECIES_KABUTOPS", + "species": "MONSTER_KABUTOPS", "level": 28, "probability": 1667 }, { - "species": "SPECIES_CARVANHA", + "species": "MONSTER_CARVANHA", "level": 27, "probability": 1666 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SEALEO", + "species": "MONSTER_SEALEO", "level": 22, "probability": 1667 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -619,37 +619,37 @@ "name": "pokemon_found_out142", "pokemon": [ { - "species": "SPECIES_SLOWBRO", + "species": "MONSTER_SLOWBRO", "level": 27, "probability": 2000 }, { - "species": "SPECIES_KINGLER", + "species": "MONSTER_KINGLER", "level": 35, "probability": 2000 }, { - "species": "SPECIES_SEADRA", + "species": "MONSTER_SEADRA", "level": 20, "probability": 2000 }, { - "species": "SPECIES_KABUTOPS", + "species": "MONSTER_KABUTOPS", "level": 28, "probability": 2000 }, { - "species": "SPECIES_CARVANHA", + "species": "MONSTER_CARVANHA", "level": 27, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -659,47 +659,47 @@ "name": "pokemon_found_out143", "pokemon": [ { - "species": "SPECIES_TENTACRUEL", + "species": "MONSTER_TENTACRUEL", "level": 33, "probability": 1429 }, { - "species": "SPECIES_SLOWBRO", + "species": "MONSTER_SLOWBRO", "level": 27, "probability": 1428 }, { - "species": "SPECIES_KINGLER", + "species": "MONSTER_KINGLER", "level": 35, "probability": 1429 }, { - "species": "SPECIES_SEADRA", + "species": "MONSTER_SEADRA", "level": 20, "probability": 1428 }, { - "species": "SPECIES_STARMIE", + "species": "MONSTER_STARMIE", "level": 22, "probability": 1429 }, { - "species": "SPECIES_CARVANHA", + "species": "MONSTER_CARVANHA", "level": 27, "probability": 1428 }, { - "species": "SPECIES_ARMALDO", + "species": "MONSTER_ARMALDO", "level": 28, "probability": 1429 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -709,42 +709,42 @@ "name": "pokemon_found_out144", "pokemon": [ { - "species": "SPECIES_TENTACRUEL", + "species": "MONSTER_TENTACRUEL", "level": 33, "probability": 1667 }, { - "species": "SPECIES_SLOWBRO", + "species": "MONSTER_SLOWBRO", "level": 27, "probability": 1666 }, { - "species": "SPECIES_SEADRA", + "species": "MONSTER_SEADRA", "level": 20, "probability": 1667 }, { - "species": "SPECIES_STARMIE", + "species": "MONSTER_STARMIE", "level": 22, "probability": 1667 }, { - "species": "SPECIES_CARVANHA", + "species": "MONSTER_CARVANHA", "level": 27, "probability": 1666 }, { - "species": "SPECIES_ARMALDO", + "species": "MONSTER_ARMALDO", "level": 28, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -754,37 +754,37 @@ "name": "pokemon_found_out145", "pokemon": [ { - "species": "SPECIES_TENTACRUEL", + "species": "MONSTER_TENTACRUEL", "level": 33, "probability": 2000 }, { - "species": "SPECIES_SEADRA", + "species": "MONSTER_SEADRA", "level": 20, "probability": 2000 }, { - "species": "SPECIES_STARMIE", + "species": "MONSTER_STARMIE", "level": 22, "probability": 2000 }, { - "species": "SPECIES_CARVANHA", + "species": "MONSTER_CARVANHA", "level": 27, "probability": 2000 }, { - "species": "SPECIES_ARMALDO", + "species": "MONSTER_ARMALDO", "level": 28, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -794,27 +794,27 @@ "name": "pokemon_found_out146", "pokemon": [ { - "species": "SPECIES_TENTACRUEL", + "species": "MONSTER_TENTACRUEL", "level": 33, "probability": 3333 }, { - "species": "SPECIES_STARMIE", + "species": "MONSTER_STARMIE", "level": 22, "probability": 3334 }, { - "species": "SPECIES_ARMALDO", + "species": "MONSTER_ARMALDO", "level": 28, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -824,32 +824,32 @@ "name": "pokemon_found_out147", "pokemon": [ { - "species": "SPECIES_TENTACRUEL", + "species": "MONSTER_TENTACRUEL", "level": 33, "probability": 2500 }, { - "species": "SPECIES_STARMIE", + "species": "MONSTER_STARMIE", "level": 22, "probability": 2500 }, { - "species": "SPECIES_WAILMER", + "species": "MONSTER_WAILMER", "level": 35, "probability": 2500 }, { - "species": "SPECIES_ARMALDO", + "species": "MONSTER_ARMALDO", "level": 28, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -859,22 +859,22 @@ "name": "pokemon_found_out148", "pokemon": [ { - "species": "SPECIES_WAILMER", + "species": "MONSTER_WAILMER", "level": 35, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_LUVDISC", + "species": "MONSTER_LUVDISC", "level": 30, "probability": 5000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -884,42 +884,42 @@ "name": "pokemon_found_out149", "pokemon": [ { - "species": "SPECIES_VAPOREON", + "species": "MONSTER_VAPOREON", "level": 22, "probability": 263 }, { - "species": "SPECIES_DRATINI", + "species": "MONSTER_DRATINI", "level": 30, "probability": 1316 }, { - "species": "SPECIES_SLOWKING", + "species": "MONSTER_SLOWKING", "level": 38, "probability": 2105 }, { - "species": "SPECIES_REMORAID", + "species": "MONSTER_REMORAID", "level": 21, "probability": 2105 }, { - "species": "SPECIES_WAILMER", + "species": "MONSTER_WAILMER", "level": 35, "probability": 2106 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_LUVDISC", + "species": "MONSTER_LUVDISC", "level": 30, "probability": 2105 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -929,32 +929,32 @@ "name": "pokemon_found_out150", "pokemon": [ { - "species": "SPECIES_DRATINI", + "species": "MONSTER_DRATINI", "level": 30, "probability": 1724 }, { - "species": "SPECIES_SLOWKING", + "species": "MONSTER_SLOWKING", "level": 38, "probability": 2759 }, { - "species": "SPECIES_REMORAID", + "species": "MONSTER_REMORAID", "level": 21, "probability": 2758 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_LUVDISC", + "species": "MONSTER_LUVDISC", "level": 30, "probability": 2759 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -964,32 +964,32 @@ "name": "pokemon_found_out151", "pokemon": [ { - "species": "SPECIES_DEWGONG", + "species": "MONSTER_DEWGONG", "level": 35, "probability": 2759 }, { - "species": "SPECIES_DRATINI", + "species": "MONSTER_DRATINI", "level": 30, "probability": 1724 }, { - "species": "SPECIES_SLOWKING", + "species": "MONSTER_SLOWKING", "level": 38, "probability": 2758 }, { - "species": "SPECIES_REMORAID", + "species": "MONSTER_REMORAID", "level": 21, "probability": 2759 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -999,42 +999,42 @@ "name": "pokemon_found_out152", "pokemon": [ { - "species": "SPECIES_DEWGONG", + "species": "MONSTER_DEWGONG", "level": 35, "probability": 1951 }, { - "species": "SPECIES_MUK", + "species": "MONSTER_MUK", "level": 36, "probability": 1951 }, { - "species": "SPECIES_VAPOREON", + "species": "MONSTER_VAPOREON", "level": 22, "probability": 244 }, { - "species": "SPECIES_OCTILLERY", + "species": "MONSTER_OCTILLERY", "level": 30, "probability": 1952 }, { - "species": "SPECIES_SHARPEDO", + "species": "MONSTER_SHARPEDO", "level": 35, "probability": 1951 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_WALREIN", + "species": "MONSTER_WALREIN", "level": 28, "probability": 1951 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1044,37 +1044,37 @@ "name": "pokemon_found_out153", "pokemon": [ { - "species": "SPECIES_DEWGONG", + "species": "MONSTER_DEWGONG", "level": 35, "probability": 2000 }, { - "species": "SPECIES_MUK", + "species": "MONSTER_MUK", "level": 36, "probability": 2000 }, { - "species": "SPECIES_OCTILLERY", + "species": "MONSTER_OCTILLERY", "level": 30, "probability": 2000 }, { - "species": "SPECIES_SHARPEDO", + "species": "MONSTER_SHARPEDO", "level": 35, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_WALREIN", + "species": "MONSTER_WALREIN", "level": 28, "probability": 2000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1084,37 +1084,37 @@ "name": "pokemon_found_out154", "pokemon": [ { - "species": "SPECIES_MUK", + "species": "MONSTER_MUK", "level": 36, "probability": 2000 }, { - "species": "SPECIES_OCTILLERY", + "species": "MONSTER_OCTILLERY", "level": 30, "probability": 2000 }, { - "species": "SPECIES_SHARPEDO", + "species": "MONSTER_SHARPEDO", "level": 35, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_WALREIN", + "species": "MONSTER_WALREIN", "level": 28, "probability": 2000 }, { - "species": "SPECIES_CLAMPERL", + "species": "MONSTER_CLAMPERL", "level": 35, "probability": 2000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1124,32 +1124,32 @@ "name": "pokemon_found_out155", "pokemon": [ { - "species": "SPECIES_VAPOREON", + "species": "MONSTER_VAPOREON", "level": 22, "probability": 400 }, { - "species": "SPECIES_CHINCHOU", + "species": "MONSTER_CHINCHOU", "level": 35, "probability": 3200 }, { - "species": "SPECIES_KINGDRA", + "species": "MONSTER_KINGDRA", "level": 40, "probability": 3200 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_CLAMPERL", + "species": "MONSTER_CLAMPERL", "level": 35, "probability": 3200 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1159,32 +1159,32 @@ "name": "pokemon_found_out156", "pokemon": [ { - "species": "SPECIES_CHINCHOU", + "species": "MONSTER_CHINCHOU", "level": 35, "probability": 2500 }, { - "species": "SPECIES_KINGDRA", + "species": "MONSTER_KINGDRA", "level": 40, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_CLAMPERL", + "species": "MONSTER_CLAMPERL", "level": 35, "probability": 2500 }, { - "species": "SPECIES_GOREBYSS", + "species": "MONSTER_GOREBYSS", "level": 36, "probability": 2500 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1194,32 +1194,32 @@ "name": "pokemon_found_out157", "pokemon": [ { - "species": "SPECIES_CLOYSTER", + "species": "MONSTER_CLOYSTER", "level": 35, "probability": 3478 }, { - "species": "SPECIES_VAPOREON", + "species": "MONSTER_VAPOREON", "level": 22, "probability": 435 }, { - "species": "SPECIES_LILEEP", + "species": "MONSTER_LILEEP", "level": 40, "probability": 3913 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_RELICANTH", + "species": "MONSTER_RELICANTH", "level": 35, "probability": 2174 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1229,27 +1229,27 @@ "name": "pokemon_found_out158", "pokemon": [ { - "species": "SPECIES_CLOYSTER", + "species": "MONSTER_CLOYSTER", "level": 35, "probability": 3636 }, { - "species": "SPECIES_LILEEP", + "species": "MONSTER_LILEEP", "level": 40, "probability": 4091 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_RELICANTH", + "species": "MONSTER_RELICANTH", "level": 35, "probability": 2273 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1259,27 +1259,27 @@ "name": "pokemon_found_out159", "pokemon": [ { - "species": "SPECIES_LANTURN", + "species": "MONSTER_LANTURN", "level": 45, "probability": 3200 }, { - "species": "SPECIES_CRADILY", + "species": "MONSTER_CRADILY", "level": 45, "probability": 3600 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_HUNTAIL", + "species": "MONSTER_HUNTAIL", "level": 30, "probability": 3200 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1289,17 +1289,17 @@ "name": "pokemon_found_out160", "pokemon": [ { - "species": "SPECIES_LUGIA", + "species": "MONSTER_LUGIA", "level": 30, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/SinisterWoods/pokemon_found.json b/data/dungeon/SinisterWoods/pokemon_found.json index f9f1d6990..d72f54326 100644 --- a/data/dungeon/SinisterWoods/pokemon_found.json +++ b/data/dungeon/SinisterWoods/pokemon_found.json @@ -3,27 +3,27 @@ "name": "SinisterWoods_1F_Pokemon", "pokemon": [ { - "species": "SPECIES_ODDISH", + "species": "MONSTER_ODDISH", "level": 7, "probability": 1579 }, { - "species": "SPECIES_SUDOWOODO", + "species": "MONSTER_SUDOWOODO", "level": 7, "probability": 4210 }, { - "species": "SPECIES_SWINUB", + "species": "MONSTER_SWINUB", "level": 8, "probability": 4211 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -32,32 +32,32 @@ "name": "SinisterWoods_2F_Pokemon", "pokemon": [ { - "species": "SPECIES_ODDISH", + "species": "MONSTER_ODDISH", "level": 7, "probability": 1364 }, { - "species": "SPECIES_SUDOWOODO", + "species": "MONSTER_SUDOWOODO", "level": 7, "probability": 3636 }, { - "species": "SPECIES_SUNFLORA", + "species": "MONSTER_SUNFLORA", "level": 8, "probability": 1364 }, { - "species": "SPECIES_SWINUB", + "species": "MONSTER_SWINUB", "level": 8, "probability": 3636 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -66,37 +66,37 @@ "name": "SinisterWoods_3F_Pokemon", "pokemon": [ { - "species": "SPECIES_ODDISH", + "species": "MONSTER_ODDISH", "level": 7, "probability": 1000 }, { - "species": "SPECIES_SENTRET", + "species": "MONSTER_SENTRET", "level": 6, "probability": 2667 }, { - "species": "SPECIES_SUDOWOODO", + "species": "MONSTER_SUDOWOODO", "level": 7, "probability": 2666 }, { - "species": "SPECIES_SUNFLORA", + "species": "MONSTER_SUNFLORA", "level": 8, "probability": 1000 }, { - "species": "SPECIES_SWINUB", + "species": "MONSTER_SWINUB", "level": 8, "probability": 2667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -105,42 +105,42 @@ "name": "SinisterWoods_4F_Pokemon", "pokemon": [ { - "species": "SPECIES_ODDISH", + "species": "MONSTER_ODDISH", "level": 7, "probability": 937 }, { - "species": "SPECIES_SENTRET", + "species": "MONSTER_SENTRET", "level": 6, "probability": 2500 }, { - "species": "SPECIES_SUDOWOODO", + "species": "MONSTER_SUDOWOODO", "level": 7, "probability": 2500 }, { - "species": "SPECIES_SUNFLORA", + "species": "MONSTER_SUNFLORA", "level": 8, "probability": 938 }, { - "species": "SPECIES_SILCOON", + "species": "MONSTER_SILCOON", "level": 8, "probability": 1562 }, { - "species": "SPECIES_CASCOON", + "species": "MONSTER_CASCOON", "level": 8, "probability": 1563 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -149,32 +149,32 @@ "name": "SinisterWoods_5F_Pokemon", "pokemon": [ { - "species": "SPECIES_SENTRET", + "species": "MONSTER_SENTRET", "level": 6, "probability": 3810 }, { - "species": "SPECIES_SUNFLORA", + "species": "MONSTER_SUNFLORA", "level": 8, "probability": 1428 }, { - "species": "SPECIES_SILCOON", + "species": "MONSTER_SILCOON", "level": 8, "probability": 2381 }, { - "species": "SPECIES_CASCOON", + "species": "MONSTER_CASCOON", "level": 8, "probability": 2381 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -183,37 +183,37 @@ "name": "SinisterWoods_6F_Pokemon", "pokemon": [ { - "species": "SPECIES_SENTRET", + "species": "MONSTER_SENTRET", "level": 6, "probability": 2759 }, { - "species": "SPECIES_SUNFLORA", + "species": "MONSTER_SUNFLORA", "level": 8, "probability": 1034 }, { - "species": "SPECIES_SILCOON", + "species": "MONSTER_SILCOON", "level": 8, "probability": 1724 }, { - "species": "SPECIES_CASCOON", + "species": "MONSTER_CASCOON", "level": 8, "probability": 1724 }, { - "species": "SPECIES_SHROOMISH", + "species": "MONSTER_SHROOMISH", "level": 9, "probability": 2759 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -222,32 +222,32 @@ "name": "SinisterWoods_7F_Pokemon", "pokemon": [ { - "species": "SPECIES_LEDYBA", + "species": "MONSTER_LEDYBA", "level": 7, "probability": 2400 }, { - "species": "SPECIES_SUNFLORA", + "species": "MONSTER_SUNFLORA", "level": 8, "probability": 1200 }, { - "species": "SPECIES_LINOONE", + "species": "MONSTER_LINOONE", "level": 8, "probability": 3200 }, { - "species": "SPECIES_SHROOMISH", + "species": "MONSTER_SHROOMISH", "level": 9, "probability": 3200 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -256,37 +256,37 @@ "name": "SinisterWoods_8F_9F_Pokemon", "pokemon": [ { - "species": "SPECIES_SCYTHER", + "species": "MONSTER_SCYTHER", "level": 10, "probability": 2286 }, { - "species": "SPECIES_LEDYBA", + "species": "MONSTER_LEDYBA", "level": 7, "probability": 1714 }, { - "species": "SPECIES_WOOPER", + "species": "MONSTER_WOOPER", "level": 10, "probability": 1429 }, { - "species": "SPECIES_LINOONE", + "species": "MONSTER_LINOONE", "level": 8, "probability": 2285 }, { - "species": "SPECIES_SHROOMISH", + "species": "MONSTER_SHROOMISH", "level": 9, "probability": 2286 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -295,47 +295,47 @@ "name": "SinisterWoods_10F_Pokemon", "pokemon": [ { - "species": "SPECIES_EXEGGUTOR", + "species": "MONSTER_EXEGGUTOR", "level": 8, "probability": 1569 }, { - "species": "SPECIES_SCYTHER", + "species": "MONSTER_SCYTHER", "level": 10, "probability": 1568 }, { - "species": "SPECIES_HOOTHOOT", + "species": "MONSTER_HOOTHOOT", "level": 6, "probability": 1569 }, { - "species": "SPECIES_LEDYBA", + "species": "MONSTER_LEDYBA", "level": 7, "probability": 1176 }, { - "species": "SPECIES_WOOPER", + "species": "MONSTER_WOOPER", "level": 10, "probability": 981 }, { - "species": "SPECIES_SHROOMISH", + "species": "MONSTER_SHROOMISH", "level": 9, "probability": 1568 }, { - "species": "SPECIES_SLAKOTH", + "species": "MONSTER_SLAKOTH", "level": 8, "probability": 1569 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -344,37 +344,37 @@ "name": "SinisterWoods_11F_Pokemon", "pokemon": [ { - "species": "SPECIES_EXEGGUTOR", + "species": "MONSTER_EXEGGUTOR", "level": 8, "probability": 2000 }, { - "species": "SPECIES_SCYTHER", + "species": "MONSTER_SCYTHER", "level": 10, "probability": 2000 }, { - "species": "SPECIES_HOOTHOOT", + "species": "MONSTER_HOOTHOOT", "level": 6, "probability": 2000 }, { - "species": "SPECIES_SHROOMISH", + "species": "MONSTER_SHROOMISH", "level": 9, "probability": 2000 }, { - "species": "SPECIES_SLAKOTH", + "species": "MONSTER_SLAKOTH", "level": 8, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -383,32 +383,32 @@ "name": "SinisterWoods_12F_Pokemon", "pokemon": [ { - "species": "SPECIES_EXEGGUTOR", + "species": "MONSTER_EXEGGUTOR", "level": 8, "probability": 2500 }, { - "species": "SPECIES_HOOTHOOT", + "species": "MONSTER_HOOTHOOT", "level": 6, "probability": 2500 }, { - "species": "SPECIES_SHROOMISH", + "species": "MONSTER_SHROOMISH", "level": 9, "probability": 2500 }, { - "species": "SPECIES_SLAKOTH", + "species": "MONSTER_SLAKOTH", "level": 8, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -417,27 +417,27 @@ "name": "SinisterWoods_13F_Pokemon", "pokemon": [ { - "species": "SPECIES_EKANS", + "species": "MONSTER_EKANS", "level": 15, "probability": 3333 }, { - "species": "SPECIES_GENGAR", + "species": "MONSTER_GENGAR", "level": 15, "probability": 3334 }, { - "species": "SPECIES_MEDICHAM", + "species": "MONSTER_MEDICHAM", "level": 12, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/SkyTower/pokemon_found.json b/data/dungeon/SkyTower/pokemon_found.json index e38ad0399..cb6b0e6e4 100644 --- a/data/dungeon/SkyTower/pokemon_found.json +++ b/data/dungeon/SkyTower/pokemon_found.json @@ -3,37 +3,37 @@ "name": "SkyTower_1F_5F_Pokemon", "pokemon": [ { - "species": "SPECIES_FORRETRESS", + "species": "MONSTER_FORRETRESS", "level": 23, "probability": 2581 }, { - "species": "SPECIES_MASQUERAIN", + "species": "MONSTER_MASQUERAIN", "level": 27, "probability": 1290 }, { - "species": "SPECIES_SHEDINJA", + "species": "MONSTER_SHEDINJA", "level": 5, "probability": 968 }, { - "species": "SPECIES_LUNATONE", + "species": "MONSTER_LUNATONE", "level": 24, "probability": 2580 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHUPPET", + "species": "MONSTER_SHUPPET", "level": 28, "probability": 2581 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -42,32 +42,32 @@ "name": "SkyTower_6F_Pokemon", "pokemon": [ { - "species": "SPECIES_FORRETRESS", + "species": "MONSTER_FORRETRESS", "level": 23, "probability": 2857 }, { - "species": "SPECIES_MASQUERAIN", + "species": "MONSTER_MASQUERAIN", "level": 27, "probability": 1429 }, { - "species": "SPECIES_LUNATONE", + "species": "MONSTER_LUNATONE", "level": 24, "probability": 2857 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHUPPET", + "species": "MONSTER_SHUPPET", "level": 28, "probability": 2857 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -76,27 +76,27 @@ "name": "SkyTower_7F_8F_Pokemon", "pokemon": [ { - "species": "SPECIES_MASQUERAIN", + "species": "MONSTER_MASQUERAIN", "level": 27, "probability": 2000 }, { - "species": "SPECIES_LUNATONE", + "species": "MONSTER_LUNATONE", "level": 24, "probability": 4000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DUSKULL", + "species": "MONSTER_DUSKULL", "level": 27, "probability": 4000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -105,27 +105,27 @@ "name": "SkyTower_9F_Pokemon", "pokemon": [ { - "species": "SPECIES_KOFFING", + "species": "MONSTER_KOFFING", "level": 24, "probability": 3333 }, { - "species": "SPECIES_LUNATONE", + "species": "MONSTER_LUNATONE", "level": 24, "probability": 3334 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DUSKULL", + "species": "MONSTER_DUSKULL", "level": 27, "probability": 3333 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -134,32 +134,32 @@ "name": "SkyTower_10F_11F_Pokemon", "pokemon": [ { - "species": "SPECIES_KOFFING", + "species": "MONSTER_KOFFING", "level": 24, "probability": 2581 }, { - "species": "SPECIES_LEDIAN", + "species": "MONSTER_LEDIAN", "level": 24, "probability": 2258 }, { - "species": "SPECIES_LUNATONE", + "species": "MONSTER_LUNATONE", "level": 24, "probability": 2580 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DUSKULL", + "species": "MONSTER_DUSKULL", "level": 27, "probability": 2581 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -168,37 +168,37 @@ "name": "SkyTower_12F_14F_Pokemon", "pokemon": [ { - "species": "SPECIES_KOFFING", + "species": "MONSTER_KOFFING", "level": 24, "probability": 2051 }, { - "species": "SPECIES_LEDIAN", + "species": "MONSTER_LEDIAN", "level": 24, "probability": 1795 }, { - "species": "SPECIES_ALTARIA", + "species": "MONSTER_ALTARIA", "level": 24, "probability": 2051 }, { - "species": "SPECIES_SOLROCK", + "species": "MONSTER_SOLROCK", "level": 24, "probability": 2052 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DUSKULL", + "species": "MONSTER_DUSKULL", "level": 27, "probability": 2051 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -207,37 +207,37 @@ "name": "SkyTower_15F_16F_Pokemon", "pokemon": [ { - "species": "SPECIES_KOFFING", + "species": "MONSTER_KOFFING", "level": 24, "probability": 2051 }, { - "species": "SPECIES_LEDIAN", + "species": "MONSTER_LEDIAN", "level": 24, "probability": 1795 }, { - "species": "SPECIES_SCIZOR", + "species": "MONSTER_SCIZOR", "level": 24, "probability": 2051 }, { - "species": "SPECIES_ALTARIA", + "species": "MONSTER_ALTARIA", "level": 24, "probability": 2052 }, { - "species": "SPECIES_SOLROCK", + "species": "MONSTER_SOLROCK", "level": 24, "probability": 2051 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -246,37 +246,37 @@ "name": "SkyTower_17F_Pokemon", "pokemon": [ { - "species": "SPECIES_LEDIAN", + "species": "MONSTER_LEDIAN", "level": 24, "probability": 1795 }, { - "species": "SPECIES_SCIZOR", + "species": "MONSTER_SCIZOR", "level": 24, "probability": 2051 }, { - "species": "SPECIES_ALTARIA", + "species": "MONSTER_ALTARIA", "level": 24, "probability": 2051 }, { - "species": "SPECIES_SOLROCK", + "species": "MONSTER_SOLROCK", "level": 24, "probability": 2052 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DUSCLOPS", + "species": "MONSTER_DUSCLOPS", "level": 24, "probability": 2051 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -285,32 +285,32 @@ "name": "SkyTower_18F_19F_Pokemon", "pokemon": [ { - "species": "SPECIES_SCIZOR", + "species": "MONSTER_SCIZOR", "level": 24, "probability": 2500 }, { - "species": "SPECIES_ALTARIA", + "species": "MONSTER_ALTARIA", "level": 24, "probability": 2500 }, { - "species": "SPECIES_SOLROCK", + "species": "MONSTER_SOLROCK", "level": 24, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DUSCLOPS", + "species": "MONSTER_DUSCLOPS", "level": 24, "probability": 2500 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -319,32 +319,32 @@ "name": "SkyTower_20F_Pokemon", "pokemon": [ { - "species": "SPECIES_VENOMOTH", + "species": "MONSTER_VENOMOTH", "level": 18, "probability": 2500 }, { - "species": "SPECIES_SCIZOR", + "species": "MONSTER_SCIZOR", "level": 24, "probability": 2500 }, { - "species": "SPECIES_SOLROCK", + "species": "MONSTER_SOLROCK", "level": 24, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DUSCLOPS", + "species": "MONSTER_DUSCLOPS", "level": 24, "probability": 2500 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -353,37 +353,37 @@ "name": "SkyTower_21F_Pokemon", "pokemon": [ { - "species": "SPECIES_VENOMOTH", + "species": "MONSTER_VENOMOTH", "level": 18, "probability": 2222 }, { - "species": "SPECIES_AERODACTYL", + "species": "MONSTER_AERODACTYL", "level": 25, "probability": 2222 }, { - "species": "SPECIES_SCIZOR", + "species": "MONSTER_SCIZOR", "level": 24, "probability": 2223 }, { - "species": "SPECIES_FLYGON", + "species": "MONSTER_FLYGON", "level": 27, "probability": 1111 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DUSCLOPS", + "species": "MONSTER_DUSCLOPS", "level": 24, "probability": 2222 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -392,37 +392,37 @@ "name": "SkyTower_22F_23F_Pokemon", "pokemon": [ { - "species": "SPECIES_VENOMOTH", + "species": "MONSTER_VENOMOTH", "level": 18, "probability": 2500 }, { - "species": "SPECIES_AERODACTYL", + "species": "MONSTER_AERODACTYL", "level": 25, "probability": 2500 }, { - "species": "SPECIES_FLYGON", + "species": "MONSTER_FLYGON", "level": 27, "probability": 1250 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DUSCLOPS", + "species": "MONSTER_DUSCLOPS", "level": 24, "probability": 2500 }, { - "species": "SPECIES_TROPIUS", + "species": "MONSTER_TROPIUS", "level": 27, "probability": 1250 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -431,32 +431,32 @@ "name": "SkyTower_24F_25F_Pokemon", "pokemon": [ { - "species": "SPECIES_VENOMOTH", + "species": "MONSTER_VENOMOTH", "level": 18, "probability": 3333 }, { - "species": "SPECIES_AERODACTYL", + "species": "MONSTER_AERODACTYL", "level": 25, "probability": 3334 }, { - "species": "SPECIES_FLYGON", + "species": "MONSTER_FLYGON", "level": 27, "probability": 1666 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_TROPIUS", + "species": "MONSTER_TROPIUS", "level": 27, "probability": 1667 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/SkyTowerSummit/pokemon_found.json b/data/dungeon/SkyTowerSummit/pokemon_found.json index 75237dc23..430f01bdd 100644 --- a/data/dungeon/SkyTowerSummit/pokemon_found.json +++ b/data/dungeon/SkyTowerSummit/pokemon_found.json @@ -3,42 +3,42 @@ "name": "SkyTowerSummit_1F_8F_Pokemon", "pokemon": [ { - "species": "SPECIES_AERODACTYL", + "species": "MONSTER_AERODACTYL", "level": 25, "probability": 1667 }, { - "species": "SPECIES_FLYGON", + "species": "MONSTER_FLYGON", "level": 27, "probability": 1666 }, { - "species": "SPECIES_CLAYDOL", + "species": "MONSTER_CLAYDOL", "level": 26, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_TROPIUS", + "species": "MONSTER_TROPIUS", "level": 27, "probability": 1667 }, { - "species": "SPECIES_SALAMENCE", + "species": "MONSTER_SALAMENCE", "level": 29, "probability": 1666 }, { - "species": "SPECIES_METAGROSS", + "species": "MONSTER_METAGROSS", "level": 30, "probability": 1667 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -47,17 +47,17 @@ "name": "SkyTowerSummit_9F_Pokemon", "pokemon": [ { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_RAYQUAZA", + "species": "MONSTER_RAYQUAZA", "level": 35, "probability": 10000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/SnowPath/pokemon_found.json b/data/dungeon/SnowPath/pokemon_found.json index 337a51743..8fa9e5454 100644 --- a/data/dungeon/SnowPath/pokemon_found.json +++ b/data/dungeon/SnowPath/pokemon_found.json @@ -4,22 +4,22 @@ "name": "pokemon_found_out522", "pokemon": [ { - "species": "SPECIES_FURRET", + "species": "MONSTER_FURRET", "level": 14, "probability": 5000 }, { - "species": "SPECIES_AZURILL", + "species": "MONSTER_AZURILL", "level": 11, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -29,27 +29,27 @@ "name": "pokemon_found_out523", "pokemon": [ { - "species": "SPECIES_FURRET", + "species": "MONSTER_FURRET", "level": 14, "probability": 3333 }, { - "species": "SPECIES_AZURILL", + "species": "MONSTER_AZURILL", "level": 11, "probability": 3334 }, { - "species": "SPECIES_NOSEPASS", + "species": "MONSTER_NOSEPASS", "level": 16, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -59,32 +59,32 @@ "name": "pokemon_found_out524", "pokemon": [ { - "species": "SPECIES_FURRET", + "species": "MONSTER_FURRET", "level": 14, "probability": 2500 }, { - "species": "SPECIES_PINECO", + "species": "MONSTER_PINECO", "level": 18, "probability": 2500 }, { - "species": "SPECIES_AZURILL", + "species": "MONSTER_AZURILL", "level": 11, "probability": 2500 }, { - "species": "SPECIES_NOSEPASS", + "species": "MONSTER_NOSEPASS", "level": 16, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -94,27 +94,27 @@ "name": "pokemon_found_out525", "pokemon": [ { - "species": "SPECIES_FURRET", + "species": "MONSTER_FURRET", "level": 14, "probability": 3333 }, { - "species": "SPECIES_PINECO", + "species": "MONSTER_PINECO", "level": 18, "probability": 3334 }, { - "species": "SPECIES_NOSEPASS", + "species": "MONSTER_NOSEPASS", "level": 16, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/SolarCave/pokemon_found.json b/data/dungeon/SolarCave/pokemon_found.json index cd5187e46..85f0fcc3e 100644 --- a/data/dungeon/SolarCave/pokemon_found.json +++ b/data/dungeon/SolarCave/pokemon_found.json @@ -4,52 +4,52 @@ "name": "pokemon_found_out412", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 204 }, { - "species": "SPECIES_DROWZEE", + "species": "MONSTER_DROWZEE", "level": 35, "probability": 1020 }, { - "species": "SPECIES_JYNX", + "species": "MONSTER_JYNX", "level": 32, "probability": 1633 }, { - "species": "SPECIES_NATU", + "species": "MONSTER_NATU", "level": 20, "probability": 1633 }, { - "species": "SPECIES_GIRAFARIG", + "species": "MONSTER_GIRAFARIG", "level": 26, "probability": 1632 }, { - "species": "SPECIES_SPOINK", + "species": "MONSTER_SPOINK", "level": 20, "probability": 613 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_WYNAUT", + "species": "MONSTER_WYNAUT", "level": 20, "probability": 1632 }, { - "species": "SPECIES_BELDUM", + "species": "MONSTER_BELDUM", "level": 30, "probability": 1633 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -59,52 +59,52 @@ "name": "pokemon_found_out413", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 204 }, { - "species": "SPECIES_DROWZEE", + "species": "MONSTER_DROWZEE", "level": 35, "probability": 1020 }, { - "species": "SPECIES_JYNX", + "species": "MONSTER_JYNX", "level": 32, "probability": 1633 }, { - "species": "SPECIES_NATU", + "species": "MONSTER_NATU", "level": 20, "probability": 1633 }, { - "species": "SPECIES_GIRAFARIG", + "species": "MONSTER_GIRAFARIG", "level": 26, "probability": 1632 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 30, "probability": 1633 }, { - "species": "SPECIES_SPOINK", + "species": "MONSTER_SPOINK", "level": 20, "probability": 612 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BELDUM", + "species": "MONSTER_BELDUM", "level": 30, "probability": 1633 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -114,42 +114,42 @@ "name": "pokemon_found_out414", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 303 }, { - "species": "SPECIES_DROWZEE", + "species": "MONSTER_DROWZEE", "level": 35, "probability": 1515 }, { - "species": "SPECIES_JYNX", + "species": "MONSTER_JYNX", "level": 32, "probability": 2424 }, { - "species": "SPECIES_NATU", + "species": "MONSTER_NATU", "level": 20, "probability": 2425 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 30, "probability": 2424 }, { - "species": "SPECIES_SPOINK", + "species": "MONSTER_SPOINK", "level": 20, "probability": 909 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -159,27 +159,27 @@ "name": "pokemon_found_out415", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 588 }, { - "species": "SPECIES_JYNX", + "species": "MONSTER_JYNX", "level": 32, "probability": 4706 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 30, "probability": 4706 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -189,27 +189,27 @@ "name": "pokemon_found_out416", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 588 }, { - "species": "SPECIES_MR_MIME", + "species": "MONSTER_MR_MIME", "level": 29, "probability": 4706 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 30, "probability": 4706 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -219,37 +219,37 @@ "name": "pokemon_found_out417", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 303 }, { - "species": "SPECIES_MR_MIME", + "species": "MONSTER_MR_MIME", "level": 29, "probability": 2424 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 30, "probability": 2425 }, { - "species": "SPECIES_LUNATONE", + "species": "MONSTER_LUNATONE", "level": 24, "probability": 2424 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_METANG", + "species": "MONSTER_METANG", "level": 25, "probability": 2424 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -259,32 +259,32 @@ "name": "pokemon_found_out418", "pokemon": [ { - "species": "SPECIES_HYPNO", + "species": "MONSTER_HYPNO", "level": 33, "probability": 2500 }, { - "species": "SPECIES_MR_MIME", + "species": "MONSTER_MR_MIME", "level": 29, "probability": 2500 }, { - "species": "SPECIES_LUNATONE", + "species": "MONSTER_LUNATONE", "level": 24, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_METANG", + "species": "MONSTER_METANG", "level": 25, "probability": 2500 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -294,37 +294,37 @@ "name": "pokemon_found_out419", "pokemon": [ { - "species": "SPECIES_HYPNO", + "species": "MONSTER_HYPNO", "level": 33, "probability": 2000 }, { - "species": "SPECIES_MR_MIME", + "species": "MONSTER_MR_MIME", "level": 29, "probability": 2000 }, { - "species": "SPECIES_KIRLIA", + "species": "MONSTER_KIRLIA", "level": 20, "probability": 2000 }, { - "species": "SPECIES_LUNATONE", + "species": "MONSTER_LUNATONE", "level": 24, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_METANG", + "species": "MONSTER_METANG", "level": 25, "probability": 2000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -334,42 +334,42 @@ "name": "pokemon_found_out420", "pokemon": [ { - "species": "SPECIES_HYPNO", + "species": "MONSTER_HYPNO", "level": 33, "probability": 1860 }, { - "species": "SPECIES_MR_MIME", + "species": "MONSTER_MR_MIME", "level": 29, "probability": 1861 }, { - "species": "SPECIES_WOBBUFFET", + "species": "MONSTER_WOBBUFFET", "level": 30, "probability": 698 }, { - "species": "SPECIES_KIRLIA", + "species": "MONSTER_KIRLIA", "level": 20, "probability": 1860 }, { - "species": "SPECIES_LUNATONE", + "species": "MONSTER_LUNATONE", "level": 24, "probability": 1861 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_METANG", + "species": "MONSTER_METANG", "level": 25, "probability": 1860 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -379,47 +379,47 @@ "name": "pokemon_found_out421", "pokemon": [ { - "species": "SPECIES_HYPNO", + "species": "MONSTER_HYPNO", "level": 33, "probability": 1667 }, { - "species": "SPECIES_MR_MIME", + "species": "MONSTER_MR_MIME", "level": 29, "probability": 1666 }, { - "species": "SPECIES_WOBBUFFET", + "species": "MONSTER_WOBBUFFET", "level": 30, "probability": 625 }, { - "species": "SPECIES_KIRLIA", + "species": "MONSTER_KIRLIA", "level": 20, "probability": 1667 }, { - "species": "SPECIES_LUNATONE", + "species": "MONSTER_LUNATONE", "level": 24, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_CHIMECHO", + "species": "MONSTER_CHIMECHO", "level": 30, "probability": 1041 }, { - "species": "SPECIES_METANG", + "species": "MONSTER_METANG", "level": 25, "probability": 1667 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -429,37 +429,37 @@ "name": "pokemon_found_out422", "pokemon": [ { - "species": "SPECIES_KADABRA", + "species": "MONSTER_KADABRA", "level": 30, "probability": 3846 }, { - "species": "SPECIES_HYPNO", + "species": "MONSTER_HYPNO", "level": 33, "probability": 2051 }, { - "species": "SPECIES_WOBBUFFET", + "species": "MONSTER_WOBBUFFET", "level": 30, "probability": 770 }, { - "species": "SPECIES_KIRLIA", + "species": "MONSTER_KIRLIA", "level": 20, "probability": 2051 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_CHIMECHO", + "species": "MONSTER_CHIMECHO", "level": 30, "probability": 1282 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -469,37 +469,37 @@ "name": "pokemon_found_out423", "pokemon": [ { - "species": "SPECIES_KADABRA", + "species": "MONSTER_KADABRA", "level": 30, "probability": 3846 }, { - "species": "SPECIES_WOBBUFFET", + "species": "MONSTER_WOBBUFFET", "level": 30, "probability": 769 }, { - "species": "SPECIES_KIRLIA", + "species": "MONSTER_KIRLIA", "level": 20, "probability": 2052 }, { - "species": "SPECIES_MEDICHAM", + "species": "MONSTER_MEDICHAM", "level": 32, "probability": 2051 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_CHIMECHO", + "species": "MONSTER_CHIMECHO", "level": 30, "probability": 1282 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -509,42 +509,42 @@ "name": "pokemon_found_out424", "pokemon": [ { - "species": "SPECIES_KADABRA", + "species": "MONSTER_KADABRA", "level": 30, "probability": 2941 }, { - "species": "SPECIES_WOBBUFFET", + "species": "MONSTER_WOBBUFFET", "level": 30, "probability": 588 }, { - "species": "SPECIES_MEDICHAM", + "species": "MONSTER_MEDICHAM", "level": 32, "probability": 1569 }, { - "species": "SPECIES_GRUMPIG", + "species": "MONSTER_GRUMPIG", "level": 25, "probability": 1569 }, { - "species": "SPECIES_CLAYDOL", + "species": "MONSTER_CLAYDOL", "level": 26, "probability": 2353 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_CHIMECHO", + "species": "MONSTER_CHIMECHO", "level": 30, "probability": 980 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -554,37 +554,37 @@ "name": "pokemon_found_out425", "pokemon": [ { - "species": "SPECIES_KADABRA", + "species": "MONSTER_KADABRA", "level": 30, "probability": 3125 }, { - "species": "SPECIES_MEDICHAM", + "species": "MONSTER_MEDICHAM", "level": 32, "probability": 1667 }, { - "species": "SPECIES_GRUMPIG", + "species": "MONSTER_GRUMPIG", "level": 25, "probability": 1666 }, { - "species": "SPECIES_CLAYDOL", + "species": "MONSTER_CLAYDOL", "level": 26, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_CHIMECHO", + "species": "MONSTER_CHIMECHO", "level": 30, "probability": 1042 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -594,32 +594,32 @@ "name": "pokemon_found_out426", "pokemon": [ { - "species": "SPECIES_KADABRA", + "species": "MONSTER_KADABRA", "level": 30, "probability": 3488 }, { - "species": "SPECIES_MEDICHAM", + "species": "MONSTER_MEDICHAM", "level": 32, "probability": 1861 }, { - "species": "SPECIES_GRUMPIG", + "species": "MONSTER_GRUMPIG", "level": 25, "probability": 1860 }, { - "species": "SPECIES_CLAYDOL", + "species": "MONSTER_CLAYDOL", "level": 26, "probability": 2791 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/SouthernCavern/pokemon_found.json b/data/dungeon/SouthernCavern/pokemon_found.json index 85ddc5b91..7705c129f 100644 --- a/data/dungeon/SouthernCavern/pokemon_found.json +++ b/data/dungeon/SouthernCavern/pokemon_found.json @@ -4,32 +4,32 @@ "name": "pokemon_found_out345", "pokemon": [ { - "species": "SPECIES_DIGLETT", + "species": "MONSTER_DIGLETT", "level": 33, "probability": 3333 }, { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 30, "probability": 0 }, { - "species": "SPECIES_GEODUDE", + "species": "MONSTER_GEODUDE", "level": 27, "probability": 3334 }, { - "species": "SPECIES_SEEDOT", + "species": "MONSTER_SEEDOT", "level": 30, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -39,37 +39,37 @@ "name": "pokemon_found_out346", "pokemon": [ { - "species": "SPECIES_DIGLETT", + "species": "MONSTER_DIGLETT", "level": 33, "probability": 2857 }, { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 30, "probability": 0 }, { - "species": "SPECIES_GEODUDE", + "species": "MONSTER_GEODUDE", "level": 27, "probability": 2857 }, { - "species": "SPECIES_CUBONE", + "species": "MONSTER_CUBONE", "level": 28, "probability": 1429 }, { - "species": "SPECIES_SEEDOT", + "species": "MONSTER_SEEDOT", "level": 30, "probability": 2857 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -79,32 +79,32 @@ "name": "pokemon_found_out347", "pokemon": [ { - "species": "SPECIES_DIGLETT", + "species": "MONSTER_DIGLETT", "level": 33, "probability": 4000 }, { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 30, "probability": 0 }, { - "species": "SPECIES_CUBONE", + "species": "MONSTER_CUBONE", "level": 28, "probability": 2000 }, { - "species": "SPECIES_SEEDOT", + "species": "MONSTER_SEEDOT", "level": 30, "probability": 4000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -114,27 +114,27 @@ "name": "pokemon_found_out348", "pokemon": [ { - "species": "SPECIES_NIDOKING", + "species": "MONSTER_NIDOKING", "level": 30, "probability": 4000 }, { - "species": "SPECIES_CUBONE", + "species": "MONSTER_CUBONE", "level": 28, "probability": 2000 }, { - "species": "SPECIES_SEEDOT", + "species": "MONSTER_SEEDOT", "level": 30, "probability": 4000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -144,27 +144,27 @@ "name": "pokemon_found_out349", "pokemon": [ { - "species": "SPECIES_NIDOKING", + "species": "MONSTER_NIDOKING", "level": 30, "probability": 4000 }, { - "species": "SPECIES_CUBONE", + "species": "MONSTER_CUBONE", "level": 28, "probability": 2000 }, { - "species": "SPECIES_PHANPY", + "species": "MONSTER_PHANPY", "level": 31, "probability": 4000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -174,22 +174,22 @@ "name": "pokemon_found_out350", "pokemon": [ { - "species": "SPECIES_NIDOKING", + "species": "MONSTER_NIDOKING", "level": 30, "probability": 5000 }, { - "species": "SPECIES_PHANPY", + "species": "MONSTER_PHANPY", "level": 31, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -199,32 +199,32 @@ "name": "pokemon_found_out351", "pokemon": [ { - "species": "SPECIES_NIDOKING", + "species": "MONSTER_NIDOKING", "level": 30, "probability": 2500 }, { - "species": "SPECIES_PHANPY", + "species": "MONSTER_PHANPY", "level": 31, "probability": 2500 }, { - "species": "SPECIES_VIBRAVA", + "species": "MONSTER_VIBRAVA", "level": 30, "probability": 2500 }, { - "species": "SPECIES_BALTOY", + "species": "MONSTER_BALTOY", "level": 32, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -234,37 +234,37 @@ "name": "pokemon_found_out352", "pokemon": [ { - "species": "SPECIES_NIDOKING", + "species": "MONSTER_NIDOKING", "level": 30, "probability": 2000 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 22, "probability": 2000 }, { - "species": "SPECIES_PHANPY", + "species": "MONSTER_PHANPY", "level": 31, "probability": 2000 }, { - "species": "SPECIES_VIBRAVA", + "species": "MONSTER_VIBRAVA", "level": 30, "probability": 2000 }, { - "species": "SPECIES_BALTOY", + "species": "MONSTER_BALTOY", "level": 32, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -274,42 +274,42 @@ "name": "pokemon_found_out353", "pokemon": [ { - "species": "SPECIES_NIDOKING", + "species": "MONSTER_NIDOKING", "level": 30, "probability": 1667 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 22, "probability": 1666 }, { - "species": "SPECIES_PHANPY", + "species": "MONSTER_PHANPY", "level": 31, "probability": 1667 }, { - "species": "SPECIES_LARVITAR", + "species": "MONSTER_LARVITAR", "level": 28, "probability": 1667 }, { - "species": "SPECIES_VIBRAVA", + "species": "MONSTER_VIBRAVA", "level": 30, "probability": 1666 }, { - "species": "SPECIES_BALTOY", + "species": "MONSTER_BALTOY", "level": 32, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -320,47 +320,47 @@ "name": "pokemon_found_out354", "pokemon": [ { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 30, "probability": 1429 }, { - "species": "SPECIES_MAROWAK", + "species": "MONSTER_MAROWAK", "level": 24, "probability": 1428 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 27, "probability": 1429 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 22, "probability": 1428 }, { - "species": "SPECIES_LARVITAR", + "species": "MONSTER_LARVITAR", "level": 28, "probability": 1429 }, { - "species": "SPECIES_VIBRAVA", + "species": "MONSTER_VIBRAVA", "level": 30, "probability": 1428 }, { - "species": "SPECIES_BALTOY", + "species": "MONSTER_BALTOY", "level": 32, "probability": 1429 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -370,42 +370,42 @@ "name": "pokemon_found_out355", "pokemon": [ { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 30, "probability": 1667 }, { - "species": "SPECIES_MAROWAK", + "species": "MONSTER_MAROWAK", "level": 24, "probability": 1666 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 27, "probability": 1667 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 22, "probability": 1667 }, { - "species": "SPECIES_LARVITAR", + "species": "MONSTER_LARVITAR", "level": 28, "probability": 1666 }, { - "species": "SPECIES_BALTOY", + "species": "MONSTER_BALTOY", "level": 32, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -415,37 +415,37 @@ "name": "pokemon_found_out356", "pokemon": [ { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 30, "probability": 2000 }, { - "species": "SPECIES_MAROWAK", + "species": "MONSTER_MAROWAK", "level": 24, "probability": 2000 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 27, "probability": 2000 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 22, "probability": 2000 }, { - "species": "SPECIES_LARVITAR", + "species": "MONSTER_LARVITAR", "level": 28, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -455,42 +455,42 @@ "name": "pokemon_found_out357", "pokemon": [ { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 30, "probability": 1667 }, { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 35, "probability": 1666 }, { - "species": "SPECIES_MAROWAK", + "species": "MONSTER_MAROWAK", "level": 24, "probability": 1667 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 27, "probability": 1667 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 22, "probability": 1666 }, { - "species": "SPECIES_LARVITAR", + "species": "MONSTER_LARVITAR", "level": 28, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -500,37 +500,37 @@ "name": "pokemon_found_out358", "pokemon": [ { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 30, "probability": 2000 }, { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 35, "probability": 2000 }, { - "species": "SPECIES_MAROWAK", + "species": "MONSTER_MAROWAK", "level": 24, "probability": 2000 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 27, "probability": 2000 }, { - "species": "SPECIES_LARVITAR", + "species": "MONSTER_LARVITAR", "level": 28, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -540,32 +540,32 @@ "name": "pokemon_found_out359", "pokemon": [ { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 30, "probability": 2500 }, { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 35, "probability": 2500 }, { - "species": "SPECIES_MAROWAK", + "species": "MONSTER_MAROWAK", "level": 24, "probability": 2500 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 27, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -575,37 +575,37 @@ "name": "pokemon_found_out360", "pokemon": [ { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 30, "probability": 2000 }, { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 35, "probability": 2000 }, { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 30, "probability": 2000 }, { - "species": "SPECIES_DONPHAN", + "species": "MONSTER_DONPHAN", "level": 30, "probability": 2000 }, { - "species": "SPECIES_FLYGON", + "species": "MONSTER_FLYGON", "level": 35, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -615,32 +615,32 @@ "name": "pokemon_found_out361", "pokemon": [ { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 35, "probability": 2500 }, { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 30, "probability": 2500 }, { - "species": "SPECIES_DONPHAN", + "species": "MONSTER_DONPHAN", "level": 30, "probability": 2500 }, { - "species": "SPECIES_FLYGON", + "species": "MONSTER_FLYGON", "level": 35, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -650,37 +650,37 @@ "name": "pokemon_found_out362", "pokemon": [ { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 30, "probability": 2500 }, { - "species": "SPECIES_DONPHAN", + "species": "MONSTER_DONPHAN", "level": 30, "probability": 2500 }, { - "species": "SPECIES_PUPITAR", + "species": "MONSTER_PUPITAR", "level": 35, "probability": 2500 }, { - "species": "SPECIES_TYRANITAR", + "species": "MONSTER_TYRANITAR", "level": 50, "probability": 0 }, { - "species": "SPECIES_FLYGON", + "species": "MONSTER_FLYGON", "level": 35, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -690,42 +690,42 @@ "name": "pokemon_found_out363", "pokemon": [ { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 29, "probability": 1667 }, { - "species": "SPECIES_ONIX", + "species": "MONSTER_ONIX", "level": 40, "probability": 3333 }, { - "species": "SPECIES_RHYDON", + "species": "MONSTER_RHYDON", "level": 28, "probability": 1667 }, { - "species": "SPECIES_DONPHAN", + "species": "MONSTER_DONPHAN", "level": 30, "probability": 1666 }, { - "species": "SPECIES_PUPITAR", + "species": "MONSTER_PUPITAR", "level": 35, "probability": 1667 }, { - "species": "SPECIES_TYRANITAR", + "species": "MONSTER_TYRANITAR", "level": 50, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -735,37 +735,37 @@ "name": "pokemon_found_out364", "pokemon": [ { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 29, "probability": 2000 }, { - "species": "SPECIES_ONIX", + "species": "MONSTER_ONIX", "level": 40, "probability": 4000 }, { - "species": "SPECIES_RHYDON", + "species": "MONSTER_RHYDON", "level": 28, "probability": 2000 }, { - "species": "SPECIES_PUPITAR", + "species": "MONSTER_PUPITAR", "level": 35, "probability": 2000 }, { - "species": "SPECIES_TYRANITAR", + "species": "MONSTER_TYRANITAR", "level": 50, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -775,27 +775,27 @@ "name": "pokemon_found_out365", "pokemon": [ { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 29, "probability": 2500 }, { - "species": "SPECIES_ONIX", + "species": "MONSTER_ONIX", "level": 40, "probability": 5000 }, { - "species": "SPECIES_RHYDON", + "species": "MONSTER_RHYDON", "level": 28, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/StormySea/pokemon_found.json b/data/dungeon/StormySea/pokemon_found.json index 6bb1a526b..aea939740 100644 --- a/data/dungeon/StormySea/pokemon_found.json +++ b/data/dungeon/StormySea/pokemon_found.json @@ -4,47 +4,47 @@ "name": "pokemon_found_out112", "pokemon": [ { - "species": "SPECIES_TENTACOOL", + "species": "MONSTER_TENTACOOL", "level": 25, "probability": 1818 }, { - "species": "SPECIES_TENTACRUEL", + "species": "MONSTER_TENTACRUEL", "level": 33, "probability": 0 }, { - "species": "SPECIES_SHELLDER", + "species": "MONSTER_SHELLDER", "level": 20, "probability": 2727 }, { - "species": "SPECIES_OMANYTE", + "species": "MONSTER_OMANYTE", "level": 25, "probability": 2728 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 0 }, { - "species": "SPECIES_WINGULL", + "species": "MONSTER_WINGULL", "level": 23, "probability": 2727 }, { - "species": "SPECIES_PELIPPER", + "species": "MONSTER_PELIPPER", "level": 23, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -54,37 +54,37 @@ "name": "pokemon_found_out113", "pokemon": [ { - "species": "SPECIES_TENTACOOL", + "species": "MONSTER_TENTACOOL", "level": 25, "probability": 2500 }, { - "species": "SPECIES_TENTACRUEL", + "species": "MONSTER_TENTACRUEL", "level": 33, "probability": 0 }, { - "species": "SPECIES_SHELLDER", + "species": "MONSTER_SHELLDER", "level": 20, "probability": 3750 }, { - "species": "SPECIES_OMANYTE", + "species": "MONSTER_OMANYTE", "level": 25, "probability": 3750 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -94,42 +94,42 @@ "name": "pokemon_found_out114", "pokemon": [ { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 30, "probability": 1818 }, { - "species": "SPECIES_DEWGONG", + "species": "MONSTER_DEWGONG", "level": 35, "probability": 0 }, { - "species": "SPECIES_OMANYTE", + "species": "MONSTER_OMANYTE", "level": 25, "probability": 3637 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 0 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 21, "probability": 4545 }, { - "species": "SPECIES_ARMALDO", + "species": "MONSTER_ARMALDO", "level": 28, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -139,32 +139,32 @@ "name": "pokemon_found_out115", "pokemon": [ { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 30, "probability": 2857 }, { - "species": "SPECIES_DEWGONG", + "species": "MONSTER_DEWGONG", "level": 35, "probability": 0 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 21, "probability": 7143 }, { - "species": "SPECIES_ARMALDO", + "species": "MONSTER_ARMALDO", "level": 28, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -174,42 +174,42 @@ "name": "pokemon_found_out116", "pokemon": [ { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 3636 }, { - "species": "SPECIES_SLOWBRO", + "species": "MONSTER_SLOWBRO", "level": 27, "probability": 0 }, { - "species": "SPECIES_SEEL", + "species": "MONSTER_SEEL", "level": 30, "probability": 1819 }, { - "species": "SPECIES_DEWGONG", + "species": "MONSTER_DEWGONG", "level": 35, "probability": 0 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 21, "probability": 4545 }, { - "species": "SPECIES_ARMALDO", + "species": "MONSTER_ARMALDO", "level": 28, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -219,42 +219,42 @@ "name": "pokemon_found_out117", "pokemon": [ { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 3077 }, { - "species": "SPECIES_ANORITH", + "species": "MONSTER_ANORITH", "level": 21, "probability": 3846 }, { - "species": "SPECIES_ARMALDO", + "species": "MONSTER_ARMALDO", "level": 28, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SPHEAL", + "species": "MONSTER_SPHEAL", "level": 18, "probability": 3077 }, { - "species": "SPECIES_SEALEO", + "species": "MONSTER_SEALEO", "level": 22, "probability": 0 }, { - "species": "SPECIES_WALREIN", + "species": "MONSTER_WALREIN", "level": 28, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -264,37 +264,37 @@ "name": "pokemon_found_out118", "pokemon": [ { - "species": "SPECIES_SLOWPOKE", + "species": "MONSTER_SLOWPOKE", "level": 25, "probability": 3750 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SPHEAL", + "species": "MONSTER_SPHEAL", "level": 18, "probability": 3750 }, { - "species": "SPECIES_SEALEO", + "species": "MONSTER_SEALEO", "level": 22, "probability": 0 }, { - "species": "SPECIES_WALREIN", + "species": "MONSTER_WALREIN", "level": 28, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -304,37 +304,37 @@ "name": "pokemon_found_out119", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 32, "probability": 3333 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 2667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SPHEAL", + "species": "MONSTER_SPHEAL", "level": 18, "probability": 4000 }, { - "species": "SPECIES_SEALEO", + "species": "MONSTER_SEALEO", "level": 22, "probability": 0 }, { - "species": "SPECIES_WALREIN", + "species": "MONSTER_WALREIN", "level": 28, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -344,27 +344,27 @@ "name": "pokemon_found_out120", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 32, "probability": 3846 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 3077 }, { - "species": "SPECIES_KABUTOPS", + "species": "MONSTER_KABUTOPS", "level": 28, "probability": 3077 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -374,32 +374,32 @@ "name": "pokemon_found_out121", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 32, "probability": 3125 }, { - "species": "SPECIES_OMASTAR", + "species": "MONSTER_OMASTAR", "level": 35, "probability": 2500 }, { - "species": "SPECIES_KABUTOPS", + "species": "MONSTER_KABUTOPS", "level": 28, "probability": 2500 }, { - "species": "SPECIES_ARMALDO", + "species": "MONSTER_ARMALDO", "level": 28, "probability": 1875 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -409,27 +409,27 @@ "name": "pokemon_found_out122", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 32, "probability": 4167 }, { - "species": "SPECIES_KABUTOPS", + "species": "MONSTER_KABUTOPS", "level": 28, "probability": 3333 }, { - "species": "SPECIES_ARMALDO", + "species": "MONSTER_ARMALDO", "level": 28, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -439,32 +439,32 @@ "name": "pokemon_found_out123", "pokemon": [ { - "species": "SPECIES_SEADRA", + "species": "MONSTER_SEADRA", "level": 20, "probability": 3158 }, { - "species": "SPECIES_STARMIE", + "species": "MONSTER_STARMIE", "level": 22, "probability": 3158 }, { - "species": "SPECIES_KABUTOPS", + "species": "MONSTER_KABUTOPS", "level": 28, "probability": 2105 }, { - "species": "SPECIES_ARMALDO", + "species": "MONSTER_ARMALDO", "level": 28, "probability": 1579 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -474,37 +474,37 @@ "name": "pokemon_found_out124", "pokemon": [ { - "species": "SPECIES_TENTACRUEL", + "species": "MONSTER_TENTACRUEL", "level": 33, "probability": 2830 }, { - "species": "SPECIES_SEADRA", + "species": "MONSTER_SEADRA", "level": 20, "probability": 2264 }, { - "species": "SPECIES_STARMIE", + "species": "MONSTER_STARMIE", "level": 22, "probability": 2264 }, { - "species": "SPECIES_KABUTOPS", + "species": "MONSTER_KABUTOPS", "level": 28, "probability": 1510 }, { - "species": "SPECIES_ARMALDO", + "species": "MONSTER_ARMALDO", "level": 28, "probability": 1132 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -514,42 +514,42 @@ "name": "pokemon_found_out125", "pokemon": [ { - "species": "SPECIES_TENTACRUEL", + "species": "MONSTER_TENTACRUEL", "level": 33, "probability": 2542 }, { - "species": "SPECIES_SEADRA", + "species": "MONSTER_SEADRA", "level": 20, "probability": 2034 }, { - "species": "SPECIES_STARMIE", + "species": "MONSTER_STARMIE", "level": 22, "probability": 2034 }, { - "species": "SPECIES_KABUTOPS", + "species": "MONSTER_KABUTOPS", "level": 28, "probability": 1356 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SEALEO", + "species": "MONSTER_SEALEO", "level": 22, "probability": 2034 }, { - "species": "SPECIES_WALREIN", + "species": "MONSTER_WALREIN", "level": 28, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -559,47 +559,47 @@ "name": "pokemon_found_out126", "pokemon": [ { - "species": "SPECIES_TENTACRUEL", + "species": "MONSTER_TENTACRUEL", "level": 33, "probability": 2778 }, { - "species": "SPECIES_SEADRA", + "species": "MONSTER_SEADRA", "level": 20, "probability": 2222 }, { - "species": "SPECIES_STARMIE", + "species": "MONSTER_STARMIE", "level": 22, "probability": 2222 }, { - "species": "SPECIES_CARVANHA", + "species": "MONSTER_CARVANHA", "level": 27, "probability": 556 }, { - "species": "SPECIES_SHARPEDO", + "species": "MONSTER_SHARPEDO", "level": 35, "probability": 0 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SEALEO", + "species": "MONSTER_SEALEO", "level": 22, "probability": 2222 }, { - "species": "SPECIES_WALREIN", + "species": "MONSTER_WALREIN", "level": 28, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -609,17 +609,17 @@ "name": "pokemon_found_out127", "pokemon": [ { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_KYOGRE", + "species": "MONSTER_KYOGRE", "level": 25, "probability": 10000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/ThunderwaveCave/pokemon_found.json b/data/dungeon/ThunderwaveCave/pokemon_found.json index 676857be6..693155569 100644 --- a/data/dungeon/ThunderwaveCave/pokemon_found.json +++ b/data/dungeon/ThunderwaveCave/pokemon_found.json @@ -3,27 +3,27 @@ "name": "ThunderwaveCave_1F_2F_Pokemon", "pokemon": [ { - "species": "SPECIES_RATTATA", + "species": "MONSTER_RATTATA", "level": 3, "probability": 5000 }, { - "species": "SPECIES_NIDORAN_F", + "species": "MONSTER_NIDORAN_F", "level": 4, "probability": 2500 }, { - "species": "SPECIES_POOCHYENA", + "species": "MONSTER_POOCHYENA", "level": 3, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -32,32 +32,32 @@ "name": "ThunderwaveCave_3F_Pokemon", "pokemon": [ { - "species": "SPECIES_RATTATA", + "species": "MONSTER_RATTATA", "level": 3, "probability": 4167 }, { - "species": "SPECIES_NIDORAN_F", + "species": "MONSTER_NIDORAN_F", "level": 4, "probability": 2083 }, { - "species": "SPECIES_VOLTORB", + "species": "MONSTER_VOLTORB", "level": 3, "probability": 1667 }, { - "species": "SPECIES_POOCHYENA", + "species": "MONSTER_POOCHYENA", "level": 3, "probability": 2083 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -66,32 +66,32 @@ "name": "ThunderwaveCave_4F_5F_Pokemon", "pokemon": [ { - "species": "SPECIES_VOLTORB", + "species": "MONSTER_VOLTORB", "level": 3, "probability": 3846 }, { - "species": "SPECIES_ELEKID", + "species": "MONSTER_ELEKID", "level": 4, "probability": 3077 }, { - "species": "SPECIES_PLUSLE", + "species": "MONSTER_PLUSLE", "level": 3, "probability": 1539 }, { - "species": "SPECIES_MINUN", + "species": "MONSTER_MINUN", "level": 3, "probability": 1538 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/TinyWoods/pokemon_found.json b/data/dungeon/TinyWoods/pokemon_found.json index 4f28076bf..c45398683 100644 --- a/data/dungeon/TinyWoods/pokemon_found.json +++ b/data/dungeon/TinyWoods/pokemon_found.json @@ -2,27 +2,27 @@ "tables": [{ "name": "TinyWoods1F_2F_Pokemon", "pokemon": [{ - "species": "SPECIES_PIDGEY", + "species": "MONSTER_PIDGEY", "level": 1, "probability": 3333 }, { - "species": "SPECIES_SUNKERN", + "species": "MONSTER_SUNKERN", "level": 1, "probability": 3334 }, { - "species": "SPECIES_WURMPLE", + "species": "MONSTER_WURMPLE", "level": 1, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -30,32 +30,32 @@ }, { "name": "TinyWoods3F_Pokemon", "pokemon": [{ - "species": "SPECIES_PIDGEY", + "species": "MONSTER_PIDGEY", "level": 1, "probability": 2857 }, { - "species": "SPECIES_EXEGGCUTE", + "species": "MONSTER_EXEGGCUTE", "level": 1, "probability": 1429 }, { - "species": "SPECIES_SUNKERN", + "species": "MONSTER_SUNKERN", "level": 1, "probability": 2857 }, { - "species": "SPECIES_WURMPLE", + "species": "MONSTER_WURMPLE", "level": 1, "probability": 2857 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/UnownRelic/pokemon_found.json b/data/dungeon/UnownRelic/pokemon_found.json index 3c19d1425..9ceeb55ee 100644 --- a/data/dungeon/UnownRelic/pokemon_found.json +++ b/data/dungeon/UnownRelic/pokemon_found.json @@ -4,52 +4,52 @@ "name": "pokemon_found_out600", "pokemon": [ { - "species": "SPECIES_UNOWN_A", + "species": "MONSTER_UNOWN_A", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_B", + "species": "MONSTER_UNOWN_B", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_C", + "species": "MONSTER_UNOWN_C", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_D", + "species": "MONSTER_UNOWN_D", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_O", + "species": "MONSTER_UNOWN_O", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_R", + "species": "MONSTER_UNOWN_R", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_U", + "species": "MONSTER_UNOWN_U", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_Z", + "species": "MONSTER_UNOWN_Z", "level": 20, "probability": 1250 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -59,57 +59,57 @@ "name": "pokemon_found_out601", "pokemon": [ { - "species": "SPECIES_UNOWN_E", + "species": "MONSTER_UNOWN_E", "level": 20, "probability": 1111 }, { - "species": "SPECIES_UNOWN_F", + "species": "MONSTER_UNOWN_F", "level": 20, "probability": 1111 }, { - "species": "SPECIES_UNOWN_G", + "species": "MONSTER_UNOWN_G", "level": 20, "probability": 1111 }, { - "species": "SPECIES_UNOWN_H", + "species": "MONSTER_UNOWN_H", "level": 20, "probability": 1111 }, { - "species": "SPECIES_UNOWN_P", + "species": "MONSTER_UNOWN_P", "level": 20, "probability": 1112 }, { - "species": "SPECIES_UNOWN_S", + "species": "MONSTER_UNOWN_S", "level": 20, "probability": 1111 }, { - "species": "SPECIES_UNOWN_X", + "species": "MONSTER_UNOWN_X", "level": 20, "probability": 1111 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_UNOWN_EMARK", + "species": "MONSTER_UNOWN_EMARK", "level": 20, "probability": 1111 }, { - "species": "SPECIES_UNOWN_QMARK", + "species": "MONSTER_UNOWN_QMARK", "level": 20, "probability": 1111 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -119,52 +119,52 @@ "name": "pokemon_found_out602", "pokemon": [ { - "species": "SPECIES_UNOWN_I", + "species": "MONSTER_UNOWN_I", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_J", + "species": "MONSTER_UNOWN_J", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_K", + "species": "MONSTER_UNOWN_K", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_L", + "species": "MONSTER_UNOWN_L", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_T", + "species": "MONSTER_UNOWN_T", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_V", + "species": "MONSTER_UNOWN_V", "level": 20, "probability": 1250 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_UNOWN_EMARK", + "species": "MONSTER_UNOWN_EMARK", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_QMARK", + "species": "MONSTER_UNOWN_QMARK", "level": 20, "probability": 1250 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -174,42 +174,42 @@ "name": "pokemon_found_out603", "pokemon": [ { - "species": "SPECIES_UNOWN_M", + "species": "MONSTER_UNOWN_M", "level": 20, "probability": 1667 }, { - "species": "SPECIES_UNOWN_N", + "species": "MONSTER_UNOWN_N", "level": 20, "probability": 1666 }, { - "species": "SPECIES_UNOWN_O", + "species": "MONSTER_UNOWN_O", "level": 20, "probability": 1667 }, { - "species": "SPECIES_UNOWN_P", + "species": "MONSTER_UNOWN_P", "level": 20, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_UNOWN_EMARK", + "species": "MONSTER_UNOWN_EMARK", "level": 20, "probability": 1666 }, { - "species": "SPECIES_UNOWN_QMARK", + "species": "MONSTER_UNOWN_QMARK", "level": 20, "probability": 1667 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -219,57 +219,57 @@ "name": "pokemon_found_out604", "pokemon": [ { - "species": "SPECIES_UNOWN_C", + "species": "MONSTER_UNOWN_C", "level": 20, "probability": 1111 }, { - "species": "SPECIES_UNOWN_G", + "species": "MONSTER_UNOWN_G", "level": 20, "probability": 1111 }, { - "species": "SPECIES_UNOWN_J", + "species": "MONSTER_UNOWN_J", "level": 20, "probability": 1111 }, { - "species": "SPECIES_UNOWN_Q", + "species": "MONSTER_UNOWN_Q", "level": 20, "probability": 1111 }, { - "species": "SPECIES_UNOWN_R", + "species": "MONSTER_UNOWN_R", "level": 20, "probability": 1112 }, { - "species": "SPECIES_UNOWN_S", + "species": "MONSTER_UNOWN_S", "level": 20, "probability": 1111 }, { - "species": "SPECIES_UNOWN_T", + "species": "MONSTER_UNOWN_T", "level": 20, "probability": 1111 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_UNOWN_EMARK", + "species": "MONSTER_UNOWN_EMARK", "level": 20, "probability": 1111 }, { - "species": "SPECIES_UNOWN_QMARK", + "species": "MONSTER_UNOWN_QMARK", "level": 20, "probability": 1111 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -279,52 +279,52 @@ "name": "pokemon_found_out605", "pokemon": [ { - "species": "SPECIES_UNOWN_C", + "species": "MONSTER_UNOWN_C", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_E", + "species": "MONSTER_UNOWN_E", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_U", + "species": "MONSTER_UNOWN_U", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_V", + "species": "MONSTER_UNOWN_V", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_W", + "species": "MONSTER_UNOWN_W", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_X", + "species": "MONSTER_UNOWN_X", "level": 20, "probability": 1250 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_UNOWN_EMARK", + "species": "MONSTER_UNOWN_EMARK", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_QMARK", + "species": "MONSTER_UNOWN_QMARK", "level": 20, "probability": 1250 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -334,52 +334,52 @@ "name": "pokemon_found_out606", "pokemon": [ { - "species": "SPECIES_UNOWN_A", + "species": "MONSTER_UNOWN_A", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_B", + "species": "MONSTER_UNOWN_B", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_I", + "species": "MONSTER_UNOWN_I", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_K", + "species": "MONSTER_UNOWN_K", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_Y", + "species": "MONSTER_UNOWN_Y", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_Z", + "species": "MONSTER_UNOWN_Z", "level": 20, "probability": 1250 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_UNOWN_EMARK", + "species": "MONSTER_UNOWN_EMARK", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_QMARK", + "species": "MONSTER_UNOWN_QMARK", "level": 20, "probability": 1250 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -389,52 +389,52 @@ "name": "pokemon_found_out607", "pokemon": [ { - "species": "SPECIES_UNOWN_C", + "species": "MONSTER_UNOWN_C", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_D", + "species": "MONSTER_UNOWN_D", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_G", + "species": "MONSTER_UNOWN_G", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_H", + "species": "MONSTER_UNOWN_H", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_M", + "species": "MONSTER_UNOWN_M", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_Q", + "species": "MONSTER_UNOWN_Q", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_S", + "species": "MONSTER_UNOWN_S", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_U", + "species": "MONSTER_UNOWN_U", "level": 20, "probability": 1250 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -444,52 +444,52 @@ "name": "pokemon_found_out608", "pokemon": [ { - "species": "SPECIES_UNOWN_E", + "species": "MONSTER_UNOWN_E", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_I", + "species": "MONSTER_UNOWN_I", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_J", + "species": "MONSTER_UNOWN_J", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_K", + "species": "MONSTER_UNOWN_K", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_L", + "species": "MONSTER_UNOWN_L", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_P", + "species": "MONSTER_UNOWN_P", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_R", + "species": "MONSTER_UNOWN_R", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_S", + "species": "MONSTER_UNOWN_S", "level": 20, "probability": 1250 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -499,52 +499,52 @@ "name": "pokemon_found_out609", "pokemon": [ { - "species": "SPECIES_UNOWN_H", + "species": "MONSTER_UNOWN_H", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_J", + "species": "MONSTER_UNOWN_J", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_N", + "species": "MONSTER_UNOWN_N", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_O", + "species": "MONSTER_UNOWN_O", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_P", + "species": "MONSTER_UNOWN_P", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_Q", + "species": "MONSTER_UNOWN_Q", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_T", + "species": "MONSTER_UNOWN_T", "level": 20, "probability": 1250 }, { - "species": "SPECIES_UNOWN_V", + "species": "MONSTER_UNOWN_V", "level": 20, "probability": 1250 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -554,57 +554,57 @@ "name": "pokemon_found_out610", "pokemon": [ { - "species": "SPECIES_UNOWN_C", + "species": "MONSTER_UNOWN_C", "level": 20, "probability": 1111 }, { - "species": "SPECIES_UNOWN_E", + "species": "MONSTER_UNOWN_E", "level": 20, "probability": 1111 }, { - "species": "SPECIES_UNOWN_G", + "species": "MONSTER_UNOWN_G", "level": 20, "probability": 1111 }, { - "species": "SPECIES_UNOWN_I", + "species": "MONSTER_UNOWN_I", "level": 20, "probability": 1111 }, { - "species": "SPECIES_UNOWN_K", + "species": "MONSTER_UNOWN_K", "level": 20, "probability": 1112 }, { - "species": "SPECIES_UNOWN_M", + "species": "MONSTER_UNOWN_M", "level": 20, "probability": 1111 }, { - "species": "SPECIES_UNOWN_O", + "species": "MONSTER_UNOWN_O", "level": 20, "probability": 1111 }, { - "species": "SPECIES_UNOWN_Q", + "species": "MONSTER_UNOWN_Q", "level": 20, "probability": 1111 }, { - "species": "SPECIES_UNOWN_S", + "species": "MONSTER_UNOWN_S", "level": 20, "probability": 1111 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/UproarForest/pokemon_found.json b/data/dungeon/UproarForest/pokemon_found.json index 2719036ba..58f54fd5e 100644 --- a/data/dungeon/UproarForest/pokemon_found.json +++ b/data/dungeon/UproarForest/pokemon_found.json @@ -4,27 +4,27 @@ "name": "pokemon_found_out475", "pokemon": [ { - "species": "SPECIES_VENONAT", + "species": "MONSTER_VENONAT", "level": 17, "probability": 3333 }, { - "species": "SPECIES_AIPOM", + "species": "MONSTER_AIPOM", "level": 15, "probability": 3334 }, { - "species": "SPECIES_SEEDOT", + "species": "MONSTER_SEEDOT", "level": 16, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -34,32 +34,32 @@ "name": "pokemon_found_out476", "pokemon": [ { - "species": "SPECIES_VENONAT", + "species": "MONSTER_VENONAT", "level": 17, "probability": 2500 }, { - "species": "SPECIES_AIPOM", + "species": "MONSTER_AIPOM", "level": 15, "probability": 2500 }, { - "species": "SPECIES_SEEDOT", + "species": "MONSTER_SEEDOT", "level": 16, "probability": 2500 }, { - "species": "SPECIES_ROSELIA", + "species": "MONSTER_ROSELIA", "level": 16, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -69,37 +69,37 @@ "name": "pokemon_found_out477", "pokemon": [ { - "species": "SPECIES_VENONAT", + "species": "MONSTER_VENONAT", "level": 17, "probability": 2353 }, { - "species": "SPECIES_AIPOM", + "species": "MONSTER_AIPOM", "level": 15, "probability": 2353 }, { - "species": "SPECIES_SEEDOT", + "species": "MONSTER_SEEDOT", "level": 16, "probability": 2353 }, { - "species": "SPECIES_NUZLEAF", + "species": "MONSTER_NUZLEAF", "level": 10, "probability": 588 }, { - "species": "SPECIES_ROSELIA", + "species": "MONSTER_ROSELIA", "level": 16, "probability": 2353 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -109,32 +109,32 @@ "name": "pokemon_found_out478", "pokemon": [ { - "species": "SPECIES_AIPOM", + "species": "MONSTER_AIPOM", "level": 15, "probability": 3077 }, { - "species": "SPECIES_SEEDOT", + "species": "MONSTER_SEEDOT", "level": 16, "probability": 3077 }, { - "species": "SPECIES_NUZLEAF", + "species": "MONSTER_NUZLEAF", "level": 10, "probability": 769 }, { - "species": "SPECIES_ROSELIA", + "species": "MONSTER_ROSELIA", "level": 16, "probability": 3077 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -144,27 +144,27 @@ "name": "pokemon_found_out479", "pokemon": [ { - "species": "SPECIES_SEEDOT", + "species": "MONSTER_SEEDOT", "level": 16, "probability": 4444 }, { - "species": "SPECIES_NUZLEAF", + "species": "MONSTER_NUZLEAF", "level": 10, "probability": 1112 }, { - "species": "SPECIES_ROSELIA", + "species": "MONSTER_ROSELIA", "level": 16, "probability": 4444 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -174,27 +174,27 @@ "name": "pokemon_found_out480", "pokemon": [ { - "species": "SPECIES_MANKEY", + "species": "MONSTER_MANKEY", "level": 11, "probability": 4444 }, { - "species": "SPECIES_SEEDOT", + "species": "MONSTER_SEEDOT", "level": 16, "probability": 4445 }, { - "species": "SPECIES_NUZLEAF", + "species": "MONSTER_NUZLEAF", "level": 10, "probability": 1111 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/WaterfallPond/pokemon_found.json b/data/dungeon/WaterfallPond/pokemon_found.json index 935633ceb..6ff6cc5c3 100644 --- a/data/dungeon/WaterfallPond/pokemon_found.json +++ b/data/dungeon/WaterfallPond/pokemon_found.json @@ -4,37 +4,37 @@ "name": "pokemon_found_out585", "pokemon": [ { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 40, "probability": 1429 }, { - "species": "SPECIES_GOLDEEN", + "species": "MONSTER_GOLDEEN", "level": 25, "probability": 2142 }, { - "species": "SPECIES_MUDKIP", + "species": "MONSTER_MUDKIP", "level": 28, "probability": 2143 }, { - "species": "SPECIES_LOTAD", + "species": "MONSTER_LOTAD", "level": 30, "probability": 2143 }, { - "species": "SPECIES_BARBOACH", + "species": "MONSTER_BARBOACH", "level": 25, "probability": 2143 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -44,42 +44,42 @@ "name": "pokemon_found_out586", "pokemon": [ { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 40, "probability": 1176 }, { - "species": "SPECIES_GOLDEEN", + "species": "MONSTER_GOLDEEN", "level": 25, "probability": 1765 }, { - "species": "SPECIES_WOOPER", + "species": "MONSTER_WOOPER", "level": 32, "probability": 1765 }, { - "species": "SPECIES_MUDKIP", + "species": "MONSTER_MUDKIP", "level": 28, "probability": 1765 }, { - "species": "SPECIES_LOTAD", + "species": "MONSTER_LOTAD", "level": 30, "probability": 1764 }, { - "species": "SPECIES_BARBOACH", + "species": "MONSTER_BARBOACH", "level": 25, "probability": 1765 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -89,37 +89,37 @@ "name": "pokemon_found_out587", "pokemon": [ { - "species": "SPECIES_POLIWAG", + "species": "MONSTER_POLIWAG", "level": 40, "probability": 1538 }, { - "species": "SPECIES_GOLDEEN", + "species": "MONSTER_GOLDEEN", "level": 25, "probability": 2308 }, { - "species": "SPECIES_WOOPER", + "species": "MONSTER_WOOPER", "level": 32, "probability": 2308 }, { - "species": "SPECIES_SURSKIT", + "species": "MONSTER_SURSKIT", "level": 24, "probability": 1538 }, { - "species": "SPECIES_BARBOACH", + "species": "MONSTER_BARBOACH", "level": 25, "probability": 2308 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -129,32 +129,32 @@ "name": "pokemon_found_out588", "pokemon": [ { - "species": "SPECIES_TOTODILE", + "species": "MONSTER_TOTODILE", "level": 29, "probability": 2727 }, { - "species": "SPECIES_WOOPER", + "species": "MONSTER_WOOPER", "level": 32, "probability": 2728 }, { - "species": "SPECIES_SURSKIT", + "species": "MONSTER_SURSKIT", "level": 24, "probability": 1818 }, { - "species": "SPECIES_CORPHISH", + "species": "MONSTER_CORPHISH", "level": 25, "probability": 2727 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -164,32 +164,32 @@ "name": "pokemon_found_out589", "pokemon": [ { - "species": "SPECIES_MAGIKARP", + "species": "MONSTER_MAGIKARP", "level": 5, "probability": 244 }, { - "species": "SPECIES_TOTODILE", + "species": "MONSTER_TOTODILE", "level": 29, "probability": 3658 }, { - "species": "SPECIES_SURSKIT", + "species": "MONSTER_SURSKIT", "level": 24, "probability": 2439 }, { - "species": "SPECIES_CORPHISH", + "species": "MONSTER_CORPHISH", "level": 25, "probability": 3659 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -199,32 +199,32 @@ "name": "pokemon_found_out590", "pokemon": [ { - "species": "SPECIES_SQUIRTLE", + "species": "MONSTER_SQUIRTLE", "level": 26, "probability": 3261 }, { - "species": "SPECIES_MAGIKARP", + "species": "MONSTER_MAGIKARP", "level": 5, "probability": 217 }, { - "species": "SPECIES_TOTODILE", + "species": "MONSTER_TOTODILE", "level": 29, "probability": 3261 }, { - "species": "SPECIES_CORPHISH", + "species": "MONSTER_CORPHISH", "level": 25, "probability": 3261 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -234,37 +234,37 @@ "name": "pokemon_found_out591", "pokemon": [ { - "species": "SPECIES_SQUIRTLE", + "species": "MONSTER_SQUIRTLE", "level": 26, "probability": 2679 }, { - "species": "SPECIES_POLIWHIRL", + "species": "MONSTER_POLIWHIRL", "level": 28, "probability": 1785 }, { - "species": "SPECIES_MAGIKARP", + "species": "MONSTER_MAGIKARP", "level": 5, "probability": 179 }, { - "species": "SPECIES_TOTODILE", + "species": "MONSTER_TOTODILE", "level": 29, "probability": 2678 }, { - "species": "SPECIES_CORPHISH", + "species": "MONSTER_CORPHISH", "level": 25, "probability": 2679 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -274,32 +274,32 @@ "name": "pokemon_found_out592", "pokemon": [ { - "species": "SPECIES_SQUIRTLE", + "species": "MONSTER_SQUIRTLE", "level": 26, "probability": 3659 }, { - "species": "SPECIES_POLIWHIRL", + "species": "MONSTER_POLIWHIRL", "level": 28, "probability": 2439 }, { - "species": "SPECIES_MAGIKARP", + "species": "MONSTER_MAGIKARP", "level": 5, "probability": 243 }, { - "species": "SPECIES_CORPHISH", + "species": "MONSTER_CORPHISH", "level": 25, "probability": 3659 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -309,32 +309,32 @@ "name": "pokemon_found_out593", "pokemon": [ { - "species": "SPECIES_SQUIRTLE", + "species": "MONSTER_SQUIRTLE", "level": 26, "probability": 3000 }, { - "species": "SPECIES_POLIWHIRL", + "species": "MONSTER_POLIWHIRL", "level": 28, "probability": 2000 }, { - "species": "SPECIES_MASQUERAIN", + "species": "MONSTER_MASQUERAIN", "level": 40, "probability": 2000 }, { - "species": "SPECIES_CORPHISH", + "species": "MONSTER_CORPHISH", "level": 25, "probability": 3000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -344,32 +344,32 @@ "name": "pokemon_found_out594", "pokemon": [ { - "species": "SPECIES_POLIWHIRL", + "species": "MONSTER_POLIWHIRL", "level": 28, "probability": 2000 }, { - "species": "SPECIES_MARSHTOMP", + "species": "MONSTER_MARSHTOMP", "level": 28, "probability": 3000 }, { - "species": "SPECIES_LOMBRE", + "species": "MONSTER_LOMBRE", "level": 25, "probability": 3000 }, { - "species": "SPECIES_MASQUERAIN", + "species": "MONSTER_MASQUERAIN", "level": 40, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -379,27 +379,27 @@ "name": "pokemon_found_out595", "pokemon": [ { - "species": "SPECIES_MARSHTOMP", + "species": "MONSTER_MARSHTOMP", "level": 28, "probability": 3750 }, { - "species": "SPECIES_LOMBRE", + "species": "MONSTER_LOMBRE", "level": 25, "probability": 3750 }, { - "species": "SPECIES_MASQUERAIN", + "species": "MONSTER_MASQUERAIN", "level": 40, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -409,32 +409,32 @@ "name": "pokemon_found_out596", "pokemon": [ { - "species": "SPECIES_QUAGSIRE", + "species": "MONSTER_QUAGSIRE", "level": 24, "probability": 2500 }, { - "species": "SPECIES_MARSHTOMP", + "species": "MONSTER_MARSHTOMP", "level": 28, "probability": 2500 }, { - "species": "SPECIES_LOMBRE", + "species": "MONSTER_LOMBRE", "level": 25, "probability": 2500 }, { - "species": "SPECIES_WHISCASH", + "species": "MONSTER_WHISCASH", "level": 30, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -444,42 +444,42 @@ "name": "pokemon_found_out597", "pokemon": [ { - "species": "SPECIES_POLIWRATH", + "species": "MONSTER_POLIWRATH", "level": 30, "probability": 1408 }, { - "species": "SPECIES_QUAGSIRE", + "species": "MONSTER_QUAGSIRE", "level": 24, "probability": 2113 }, { - "species": "SPECIES_MARSHTOMP", + "species": "MONSTER_MARSHTOMP", "level": 28, "probability": 2113 }, { - "species": "SPECIES_LOMBRE", + "species": "MONSTER_LOMBRE", "level": 25, "probability": 2112 }, { - "species": "SPECIES_WHISCASH", + "species": "MONSTER_WHISCASH", "level": 30, "probability": 2113 }, { - "species": "SPECIES_FEEBAS", + "species": "MONSTER_FEEBAS", "level": 5, "probability": 141 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -489,37 +489,37 @@ "name": "pokemon_found_out598", "pokemon": [ { - "species": "SPECIES_POLIWRATH", + "species": "MONSTER_POLIWRATH", "level": 30, "probability": 1786 }, { - "species": "SPECIES_QUAGSIRE", + "species": "MONSTER_QUAGSIRE", "level": 24, "probability": 2678 }, { - "species": "SPECIES_MARSHTOMP", + "species": "MONSTER_MARSHTOMP", "level": 28, "probability": 2679 }, { - "species": "SPECIES_WHISCASH", + "species": "MONSTER_WHISCASH", "level": 30, "probability": 2678 }, { - "species": "SPECIES_FEEBAS", + "species": "MONSTER_FEEBAS", "level": 5, "probability": 179 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -529,32 +529,32 @@ "name": "pokemon_found_out599", "pokemon": [ { - "species": "SPECIES_POLIWRATH", + "species": "MONSTER_POLIWRATH", "level": 30, "probability": 2439 }, { - "species": "SPECIES_QUAGSIRE", + "species": "MONSTER_QUAGSIRE", "level": 24, "probability": 3659 }, { - "species": "SPECIES_WHISCASH", + "species": "MONSTER_WHISCASH", "level": 30, "probability": 3658 }, { - "species": "SPECIES_FEEBAS", + "species": "MONSTER_FEEBAS", "level": 5, "probability": 244 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/WesternCave/pokemon_found.json b/data/dungeon/WesternCave/pokemon_found.json index c357f889c..6f2177596 100644 --- a/data/dungeon/WesternCave/pokemon_found.json +++ b/data/dungeon/WesternCave/pokemon_found.json @@ -4,37 +4,37 @@ "name": "pokemon_found_out163", "pokemon": [ { - "species": "SPECIES_BUTTERFREE", + "species": "MONSTER_BUTTERFREE", "level": 35, "probability": 2000 }, { - "species": "SPECIES_BEEDRILL", + "species": "MONSTER_BEEDRILL", "level": 35, "probability": 2000 }, { - "species": "SPECIES_VENONAT", + "species": "MONSTER_VENONAT", "level": 34, "probability": 2000 }, { - "species": "SPECIES_MURKROW", + "species": "MONSTER_MURKROW", "level": 29, "probability": 2000 }, { - "species": "SPECIES_SNUBBULL", + "species": "MONSTER_SNUBBULL", "level": 25, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -44,42 +44,42 @@ "name": "pokemon_found_out164", "pokemon": [ { - "species": "SPECIES_BUTTERFREE", + "species": "MONSTER_BUTTERFREE", "level": 35, "probability": 1739 }, { - "species": "SPECIES_BEEDRILL", + "species": "MONSTER_BEEDRILL", "level": 35, "probability": 1739 }, { - "species": "SPECIES_EKANS", + "species": "MONSTER_EKANS", "level": 33, "probability": 1739 }, { - "species": "SPECIES_VENONAT", + "species": "MONSTER_VENONAT", "level": 34, "probability": 1740 }, { - "species": "SPECIES_MEOWTH", + "species": "MONSTER_MEOWTH", "level": 29, "probability": 1304 }, { - "species": "SPECIES_SNUBBULL", + "species": "MONSTER_SNUBBULL", "level": 25, "probability": 1739 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -89,32 +89,32 @@ "name": "pokemon_found_out165", "pokemon": [ { - "species": "SPECIES_EKANS", + "species": "MONSTER_EKANS", "level": 33, "probability": 2667 }, { - "species": "SPECIES_MEOWTH", + "species": "MONSTER_MEOWTH", "level": 29, "probability": 2000 }, { - "species": "SPECIES_BELLOSSOM", + "species": "MONSTER_BELLOSSOM", "level": 25, "probability": 2666 }, { - "species": "SPECIES_SMEARGLE", + "species": "MONSTER_SMEARGLE", "level": 25, "probability": 2667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -124,37 +124,37 @@ "name": "pokemon_found_out166", "pokemon": [ { - "species": "SPECIES_VENOMOTH", + "species": "MONSTER_VENOMOTH", "level": 24, "probability": 2105 }, { - "species": "SPECIES_MEOWTH", + "species": "MONSTER_MEOWTH", "level": 29, "probability": 1579 }, { - "species": "SPECIES_BELLOSSOM", + "species": "MONSTER_BELLOSSOM", "level": 25, "probability": 2105 }, { - "species": "SPECIES_SMEARGLE", + "species": "MONSTER_SMEARGLE", "level": 25, "probability": 2106 }, { - "species": "SPECIES_EXPLOUD", + "species": "MONSTER_EXPLOUD", "level": 25, "probability": 2105 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -164,27 +164,27 @@ "name": "pokemon_found_out167", "pokemon": [ { - "species": "SPECIES_VENOMOTH", + "species": "MONSTER_VENOMOTH", "level": 24, "probability": 3333 }, { - "species": "SPECIES_BELLOSSOM", + "species": "MONSTER_BELLOSSOM", "level": 25, "probability": 3334 }, { - "species": "SPECIES_EXPLOUD", + "species": "MONSTER_EXPLOUD", "level": 25, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -194,27 +194,27 @@ "name": "pokemon_found_out168", "pokemon": [ { - "species": "SPECIES_VENOMOTH", + "species": "MONSTER_VENOMOTH", "level": 24, "probability": 3810 }, { - "species": "SPECIES_PRIMEAPE", + "species": "MONSTER_PRIMEAPE", "level": 31, "probability": 2380 }, { - "species": "SPECIES_EXPLOUD", + "species": "MONSTER_EXPLOUD", "level": 25, "probability": 3810 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -224,42 +224,42 @@ "name": "pokemon_found_out169", "pokemon": [ { - "species": "SPECIES_VENOMOTH", + "species": "MONSTER_VENOMOTH", "level": 24, "probability": 2424 }, { - "species": "SPECIES_PRIMEAPE", + "species": "MONSTER_PRIMEAPE", "level": 31, "probability": 1515 }, { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 34, "probability": 2425 }, { - "species": "SPECIES_IGGLYBUFF", + "species": "MONSTER_IGGLYBUFF", "level": 35, "probability": 303 }, { - "species": "SPECIES_MILTANK", + "species": "MONSTER_MILTANK", "level": 30, "probability": 909 }, { - "species": "SPECIES_EXPLOUD", + "species": "MONSTER_EXPLOUD", "level": 25, "probability": 2424 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -269,32 +269,32 @@ "name": "pokemon_found_out170", "pokemon": [ { - "species": "SPECIES_PRIMEAPE", + "species": "MONSTER_PRIMEAPE", "level": 31, "probability": 2273 }, { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 34, "probability": 3636 }, { - "species": "SPECIES_IGGLYBUFF", + "species": "MONSTER_IGGLYBUFF", "level": 35, "probability": 455 }, { - "species": "SPECIES_EXPLOUD", + "species": "MONSTER_EXPLOUD", "level": 25, "probability": 3636 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -304,37 +304,37 @@ "name": "pokemon_found_out171", "pokemon": [ { - "species": "SPECIES_PRIMEAPE", + "species": "MONSTER_PRIMEAPE", "level": 31, "probability": 1667 }, { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 34, "probability": 2666 }, { - "species": "SPECIES_IGGLYBUFF", + "species": "MONSTER_IGGLYBUFF", "level": 35, "probability": 334 }, { - "species": "SPECIES_SHIFTRY", + "species": "MONSTER_SHIFTRY", "level": 35, "probability": 2666 }, { - "species": "SPECIES_EXPLOUD", + "species": "MONSTER_EXPLOUD", "level": 25, "probability": 2667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -344,37 +344,37 @@ "name": "pokemon_found_out172", "pokemon": [ { - "species": "SPECIES_PRIMEAPE", + "species": "MONSTER_PRIMEAPE", "level": 31, "probability": 1667 }, { - "species": "SPECIES_KANGASKHAN", + "species": "MONSTER_KANGASKHAN", "level": 36, "probability": 2666 }, { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 34, "probability": 2667 }, { - "species": "SPECIES_IGGLYBUFF", + "species": "MONSTER_IGGLYBUFF", "level": 35, "probability": 333 }, { - "species": "SPECIES_SHIFTRY", + "species": "MONSTER_SHIFTRY", "level": 35, "probability": 2667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -384,37 +384,37 @@ "name": "pokemon_found_out173", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 35, "probability": 2000 }, { - "species": "SPECIES_KANGASKHAN", + "species": "MONSTER_KANGASKHAN", "level": 36, "probability": 2000 }, { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 34, "probability": 2000 }, { - "species": "SPECIES_ESPEON", + "species": "MONSTER_ESPEON", "level": 28, "probability": 2000 }, { - "species": "SPECIES_SHIFTRY", + "species": "MONSTER_SHIFTRY", "level": 35, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -424,42 +424,42 @@ "name": "pokemon_found_out174", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 35, "probability": 1667 }, { - "species": "SPECIES_DODRIO", + "species": "MONSTER_DODRIO", "level": 35, "probability": 1666 }, { - "species": "SPECIES_KANGASKHAN", + "species": "MONSTER_KANGASKHAN", "level": 36, "probability": 1667 }, { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 34, "probability": 1667 }, { - "species": "SPECIES_ESPEON", + "species": "MONSTER_ESPEON", "level": 28, "probability": 1666 }, { - "species": "SPECIES_SHIFTRY", + "species": "MONSTER_SHIFTRY", "level": 35, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -469,37 +469,37 @@ "name": "pokemon_found_out175", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 35, "probability": 2000 }, { - "species": "SPECIES_DODRIO", + "species": "MONSTER_DODRIO", "level": 35, "probability": 2000 }, { - "species": "SPECIES_KANGASKHAN", + "species": "MONSTER_KANGASKHAN", "level": 36, "probability": 2000 }, { - "species": "SPECIES_ESPEON", + "species": "MONSTER_ESPEON", "level": 28, "probability": 2000 }, { - "species": "SPECIES_SHIFTRY", + "species": "MONSTER_SHIFTRY", "level": 35, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -509,37 +509,37 @@ "name": "pokemon_found_out176", "pokemon": [ { - "species": "SPECIES_IVYSAUR", + "species": "MONSTER_IVYSAUR", "level": 30, "probability": 2000 }, { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 35, "probability": 2000 }, { - "species": "SPECIES_DODRIO", + "species": "MONSTER_DODRIO", "level": 35, "probability": 2000 }, { - "species": "SPECIES_KANGASKHAN", + "species": "MONSTER_KANGASKHAN", "level": 36, "probability": 2000 }, { - "species": "SPECIES_SHIFTRY", + "species": "MONSTER_SHIFTRY", "level": 35, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -549,37 +549,37 @@ "name": "pokemon_found_out177", "pokemon": [ { - "species": "SPECIES_IVYSAUR", + "species": "MONSTER_IVYSAUR", "level": 30, "probability": 2286 }, { - "species": "SPECIES_BAYLEEF", + "species": "MONSTER_BAYLEEF", "level": 30, "probability": 2285 }, { - "species": "SPECIES_UMBREON", + "species": "MONSTER_UMBREON", "level": 30, "probability": 2286 }, { - "species": "SPECIES_MILTANK", + "species": "MONSTER_MILTANK", "level": 30, "probability": 857 }, { - "species": "SPECIES_SHIFTRY", + "species": "MONSTER_SHIFTRY", "level": 35, "probability": 2286 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -589,37 +589,37 @@ "name": "pokemon_found_out178", "pokemon": [ { - "species": "SPECIES_IVYSAUR", + "species": "MONSTER_IVYSAUR", "level": 30, "probability": 2000 }, { - "species": "SPECIES_PINSIR", + "species": "MONSTER_PINSIR", "level": 29, "probability": 2000 }, { - "species": "SPECIES_BAYLEEF", + "species": "MONSTER_BAYLEEF", "level": 30, "probability": 2000 }, { - "species": "SPECIES_UMBREON", + "species": "MONSTER_UMBREON", "level": 30, "probability": 2000 }, { - "species": "SPECIES_AGGRON", + "species": "MONSTER_AGGRON", "level": 34, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -629,37 +629,37 @@ "name": "pokemon_found_out179", "pokemon": [ { - "species": "SPECIES_IVYSAUR", + "species": "MONSTER_IVYSAUR", "level": 30, "probability": 2000 }, { - "species": "SPECIES_PERSIAN", + "species": "MONSTER_PERSIAN", "level": 28, "probability": 2000 }, { - "species": "SPECIES_PINSIR", + "species": "MONSTER_PINSIR", "level": 29, "probability": 2000 }, { - "species": "SPECIES_BAYLEEF", + "species": "MONSTER_BAYLEEF", "level": 30, "probability": 2000 }, { - "species": "SPECIES_AGGRON", + "species": "MONSTER_AGGRON", "level": 34, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -669,27 +669,27 @@ "name": "pokemon_found_out180", "pokemon": [ { - "species": "SPECIES_PERSIAN", + "species": "MONSTER_PERSIAN", "level": 28, "probability": 3333 }, { - "species": "SPECIES_PINSIR", + "species": "MONSTER_PINSIR", "level": 29, "probability": 3334 }, { - "species": "SPECIES_AGGRON", + "species": "MONSTER_AGGRON", "level": 34, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -699,22 +699,22 @@ "name": "pokemon_found_out181", "pokemon": [ { - "species": "SPECIES_PERSIAN", + "species": "MONSTER_PERSIAN", "level": 28, "probability": 5000 }, { - "species": "SPECIES_AGGRON", + "species": "MONSTER_AGGRON", "level": 34, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -724,32 +724,32 @@ "name": "pokemon_found_out182", "pokemon": [ { - "species": "SPECIES_PERSIAN", + "species": "MONSTER_PERSIAN", "level": 28, "probability": 3333 }, { - "species": "SPECIES_MILTANK", + "species": "MONSTER_MILTANK", "level": 30, "probability": 1250 }, { - "species": "SPECIES_AGGRON", + "species": "MONSTER_AGGRON", "level": 34, "probability": 3334 }, { - "species": "SPECIES_SWALOT", + "species": "MONSTER_SWALOT", "level": 34, "probability": 2083 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -759,27 +759,27 @@ "name": "pokemon_found_out183", "pokemon": [ { - "species": "SPECIES_PERSIAN", + "species": "MONSTER_PERSIAN", "level": 28, "probability": 3810 }, { - "species": "SPECIES_HARIYAMA", + "species": "MONSTER_HARIYAMA", "level": 35, "probability": 3809 }, { - "species": "SPECIES_SWALOT", + "species": "MONSTER_SWALOT", "level": 34, "probability": 2381 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -789,22 +789,22 @@ "name": "pokemon_found_out184", "pokemon": [ { - "species": "SPECIES_HARIYAMA", + "species": "MONSTER_HARIYAMA", "level": 35, "probability": 6154 }, { - "species": "SPECIES_SWALOT", + "species": "MONSTER_SWALOT", "level": 34, "probability": 3846 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -814,27 +814,27 @@ "name": "pokemon_found_out185", "pokemon": [ { - "species": "SPECIES_LICKITUNG", + "species": "MONSTER_LICKITUNG", "level": 36, "probability": 3810 }, { - "species": "SPECIES_HARIYAMA", + "species": "MONSTER_HARIYAMA", "level": 35, "probability": 3809 }, { - "species": "SPECIES_SWALOT", + "species": "MONSTER_SWALOT", "level": 34, "probability": 2381 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -844,37 +844,37 @@ "name": "pokemon_found_out186", "pokemon": [ { - "species": "SPECIES_LICKITUNG", + "species": "MONSTER_LICKITUNG", "level": 36, "probability": 1509 }, { - "species": "SPECIES_GROVYLE", + "species": "MONSTER_GROVYLE", "level": 20, "probability": 3019 }, { - "species": "SPECIES_BLAZIKEN", + "species": "MONSTER_BLAZIKEN", "level": 30, "probability": 3019 }, { - "species": "SPECIES_HARIYAMA", + "species": "MONSTER_HARIYAMA", "level": 35, "probability": 1510 }, { - "species": "SPECIES_SWALOT", + "species": "MONSTER_SWALOT", "level": 34, "probability": 943 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -884,32 +884,32 @@ "name": "pokemon_found_out187", "pokemon": [ { - "species": "SPECIES_LICKITUNG", + "species": "MONSTER_LICKITUNG", "level": 36, "probability": 1778 }, { - "species": "SPECIES_GROVYLE", + "species": "MONSTER_GROVYLE", "level": 20, "probability": 3555 }, { - "species": "SPECIES_BLAZIKEN", + "species": "MONSTER_BLAZIKEN", "level": 30, "probability": 3556 }, { - "species": "SPECIES_SWALOT", + "species": "MONSTER_SWALOT", "level": 34, "probability": 1111 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -919,42 +919,42 @@ "name": "pokemon_found_out188", "pokemon": [ { - "species": "SPECIES_LICKITUNG", + "species": "MONSTER_LICKITUNG", "level": 36, "probability": 1356 }, { - "species": "SPECIES_SKARMORY", + "species": "MONSTER_SKARMORY", "level": 55, "probability": 1356 }, { - "species": "SPECIES_MILTANK", + "species": "MONSTER_MILTANK", "level": 30, "probability": 508 }, { - "species": "SPECIES_GROVYLE", + "species": "MONSTER_GROVYLE", "level": 20, "probability": 2712 }, { - "species": "SPECIES_BLAZIKEN", + "species": "MONSTER_BLAZIKEN", "level": 30, "probability": 2712 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_ABSOL", + "species": "MONSTER_ABSOL", "level": 45, "probability": 1356 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -964,37 +964,37 @@ "name": "pokemon_found_out189", "pokemon": [ { - "species": "SPECIES_LICKITUNG", + "species": "MONSTER_LICKITUNG", "level": 36, "probability": 1429 }, { - "species": "SPECIES_SKARMORY", + "species": "MONSTER_SKARMORY", "level": 55, "probability": 1428 }, { - "species": "SPECIES_GROVYLE", + "species": "MONSTER_GROVYLE", "level": 20, "probability": 2857 }, { - "species": "SPECIES_BLAZIKEN", + "species": "MONSTER_BLAZIKEN", "level": 30, "probability": 2857 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_ABSOL", + "species": "MONSTER_ABSOL", "level": 45, "probability": 1429 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1004,32 +1004,32 @@ "name": "pokemon_found_out190", "pokemon": [ { - "species": "SPECIES_SKARMORY", + "species": "MONSTER_SKARMORY", "level": 55, "probability": 1667 }, { - "species": "SPECIES_GROVYLE", + "species": "MONSTER_GROVYLE", "level": 20, "probability": 3333 }, { - "species": "SPECIES_BLAZIKEN", + "species": "MONSTER_BLAZIKEN", "level": 30, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_ABSOL", + "species": "MONSTER_ABSOL", "level": 45, "probability": 1667 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1039,37 +1039,37 @@ "name": "pokemon_found_out191", "pokemon": [ { - "species": "SPECIES_FERALIGATR", + "species": "MONSTER_FERALIGATR", "level": 32, "probability": 1429 }, { - "species": "SPECIES_SKARMORY", + "species": "MONSTER_SKARMORY", "level": 55, "probability": 1428 }, { - "species": "SPECIES_GROVYLE", + "species": "MONSTER_GROVYLE", "level": 20, "probability": 2857 }, { - "species": "SPECIES_BLAZIKEN", + "species": "MONSTER_BLAZIKEN", "level": 30, "probability": 2857 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_ABSOL", + "species": "MONSTER_ABSOL", "level": 45, "probability": 1429 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1079,37 +1079,37 @@ "name": "pokemon_found_out192", "pokemon": [ { - "species": "SPECIES_VENUSAUR", + "species": "MONSTER_VENUSAUR", "level": 50, "probability": 1860 }, { - "species": "SPECIES_ALAKAZAM", + "species": "MONSTER_ALAKAZAM", "level": 50, "probability": 1861 }, { - "species": "SPECIES_FERALIGATR", + "species": "MONSTER_FERALIGATR", "level": 32, "probability": 1860 }, { - "species": "SPECIES_MILTANK", + "species": "MONSTER_MILTANK", "level": 30, "probability": 698 }, { - "species": "SPECIES_TYRANITAR", + "species": "MONSTER_TYRANITAR", "level": 50, "probability": 3721 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1119,32 +1119,32 @@ "name": "pokemon_found_out193", "pokemon": [ { - "species": "SPECIES_VENUSAUR", + "species": "MONSTER_VENUSAUR", "level": 50, "probability": 2000 }, { - "species": "SPECIES_ALAKAZAM", + "species": "MONSTER_ALAKAZAM", "level": 50, "probability": 2000 }, { - "species": "SPECIES_FERALIGATR", + "species": "MONSTER_FERALIGATR", "level": 32, "probability": 2000 }, { - "species": "SPECIES_TYRANITAR", + "species": "MONSTER_TYRANITAR", "level": 50, "probability": 4000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1154,27 +1154,27 @@ "name": "pokemon_found_out194", "pokemon": [ { - "species": "SPECIES_VENUSAUR", + "species": "MONSTER_VENUSAUR", "level": 50, "probability": 2500 }, { - "species": "SPECIES_ALAKAZAM", + "species": "MONSTER_ALAKAZAM", "level": 50, "probability": 2500 }, { - "species": "SPECIES_TYRANITAR", + "species": "MONSTER_TYRANITAR", "level": 50, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1184,27 +1184,27 @@ "name": "pokemon_found_out195", "pokemon": [ { - "species": "SPECIES_ARCANINE", + "species": "MONSTER_ARCANINE", "level": 45, "probability": 4706 }, { - "species": "SPECIES_MILTANK", + "species": "MONSTER_MILTANK", "level": 30, "probability": 588 }, { - "species": "SPECIES_TYRANITAR", + "species": "MONSTER_TYRANITAR", "level": 50, "probability": 4706 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1214,22 +1214,22 @@ "name": "pokemon_found_out196", "pokemon": [ { - "species": "SPECIES_ARCANINE", + "species": "MONSTER_ARCANINE", "level": 45, "probability": 8889 }, { - "species": "SPECIES_MILTANK", + "species": "MONSTER_MILTANK", "level": 30, "probability": 1111 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1239,27 +1239,27 @@ "name": "pokemon_found_out197", "pokemon": [ { - "species": "SPECIES_ARCANINE", + "species": "MONSTER_ARCANINE", "level": 45, "probability": 4706 }, { - "species": "SPECIES_TYPHLOSION", + "species": "MONSTER_TYPHLOSION", "level": 35, "probability": 4706 }, { - "species": "SPECIES_MILTANK", + "species": "MONSTER_MILTANK", "level": 30, "probability": 588 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1269,27 +1269,27 @@ "name": "pokemon_found_out198", "pokemon": [ { - "species": "SPECIES_ARCANINE", + "species": "MONSTER_ARCANINE", "level": 45, "probability": 4706 }, { - "species": "SPECIES_MILTANK", + "species": "MONSTER_MILTANK", "level": 30, "probability": 588 }, { - "species": "SPECIES_SCEPTILE", + "species": "MONSTER_SCEPTILE", "level": 26, "probability": 4706 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1299,27 +1299,27 @@ "name": "pokemon_found_out199", "pokemon": [ { - "species": "SPECIES_NINETALES", + "species": "MONSTER_NINETALES", "level": 50, "probability": 4706 }, { - "species": "SPECIES_MILTANK", + "species": "MONSTER_MILTANK", "level": 30, "probability": 588 }, { - "species": "SPECIES_SCEPTILE", + "species": "MONSTER_SCEPTILE", "level": 26, "probability": 4706 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1329,27 +1329,27 @@ "name": "pokemon_found_out200", "pokemon": [ { - "species": "SPECIES_NINETALES", + "species": "MONSTER_NINETALES", "level": 50, "probability": 4706 }, { - "species": "SPECIES_MILTANK", + "species": "MONSTER_MILTANK", "level": 30, "probability": 588 }, { - "species": "SPECIES_SWAMPERT", + "species": "MONSTER_SWAMPERT", "level": 37, "probability": 4706 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1359,32 +1359,32 @@ "name": "pokemon_found_out201", "pokemon": [ { - "species": "SPECIES_MACHAMP", + "species": "MONSTER_MACHAMP", "level": 45, "probability": 3200 }, { - "species": "SPECIES_MEGANIUM", + "species": "MONSTER_MEGANIUM", "level": 25, "probability": 3200 }, { - "species": "SPECIES_MILTANK", + "species": "MONSTER_MILTANK", "level": 30, "probability": 400 }, { - "species": "SPECIES_SWAMPERT", + "species": "MONSTER_SWAMPERT", "level": 37, "probability": 3200 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1394,37 +1394,37 @@ "name": "pokemon_found_out202", "pokemon": [ { - "species": "SPECIES_MACHAMP", + "species": "MONSTER_MACHAMP", "level": 45, "probability": 2424 }, { - "species": "SPECIES_MEGANIUM", + "species": "MONSTER_MEGANIUM", "level": 25, "probability": 2424 }, { - "species": "SPECIES_STEELIX", + "species": "MONSTER_STEELIX", "level": 38, "probability": 2425 }, { - "species": "SPECIES_MILTANK", + "species": "MONSTER_MILTANK", "level": 30, "probability": 303 }, { - "species": "SPECIES_SWAMPERT", + "species": "MONSTER_SWAMPERT", "level": 37, "probability": 2424 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1434,32 +1434,32 @@ "name": "pokemon_found_out203", "pokemon": [ { - "species": "SPECIES_CHARIZARD", + "species": "MONSTER_CHARIZARD", "level": 40, "probability": 3200 }, { - "species": "SPECIES_BLASTOISE", + "species": "MONSTER_BLASTOISE", "level": 38, "probability": 3200 }, { - "species": "SPECIES_STEELIX", + "species": "MONSTER_STEELIX", "level": 38, "probability": 3200 }, { - "species": "SPECIES_MILTANK", + "species": "MONSTER_MILTANK", "level": 30, "probability": 400 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1469,27 +1469,27 @@ "name": "pokemon_found_out204", "pokemon": [ { - "species": "SPECIES_CHARIZARD", + "species": "MONSTER_CHARIZARD", "level": 40, "probability": 4706 }, { - "species": "SPECIES_BLASTOISE", + "species": "MONSTER_BLASTOISE", "level": 38, "probability": 4706 }, { - "species": "SPECIES_MILTANK", + "species": "MONSTER_MILTANK", "level": 30, "probability": 588 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1499,17 +1499,17 @@ "name": "pokemon_found_out205", "pokemon": [ { - "species": "SPECIES_MEWTWO", + "species": "MONSTER_MEWTWO", "level": 40, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/WishCave/pokemon_found.json b/data/dungeon/WishCave/pokemon_found.json index 06b452e6d..8100f1b58 100644 --- a/data/dungeon/WishCave/pokemon_found.json +++ b/data/dungeon/WishCave/pokemon_found.json @@ -4,37 +4,37 @@ "name": "pokemon_found_out215", "pokemon": [ { - "species": "SPECIES_JIGGLYPUFF", + "species": "MONSTER_JIGGLYPUFF", "level": 2, "probability": 1786 }, { - "species": "SPECIES_BELLSPROUT", + "species": "MONSTER_BELLSPROUT", "level": 1, "probability": 1428 }, { - "species": "SPECIES_MAGNEMITE", + "species": "MONSTER_MAGNEMITE", "level": 1, "probability": 2857 }, { - "species": "SPECIES_CLEFFA", + "species": "MONSTER_CLEFFA", "level": 1, "probability": 1786 }, { - "species": "SPECIES_SUNKERN", + "species": "MONSTER_SUNKERN", "level": 1, "probability": 2143 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -44,42 +44,42 @@ "name": "pokemon_found_out216", "pokemon": [ { - "species": "SPECIES_CATERPIE", + "species": "MONSTER_CATERPIE", "level": 1, "probability": 2222 }, { - "species": "SPECIES_JIGGLYPUFF", + "species": "MONSTER_JIGGLYPUFF", "level": 2, "probability": 1389 }, { - "species": "SPECIES_BELLSPROUT", + "species": "MONSTER_BELLSPROUT", "level": 1, "probability": 1111 }, { - "species": "SPECIES_MAGNEMITE", + "species": "MONSTER_MAGNEMITE", "level": 1, "probability": 2222 }, { - "species": "SPECIES_CLEFFA", + "species": "MONSTER_CLEFFA", "level": 1, "probability": 1389 }, { - "species": "SPECIES_SUNKERN", + "species": "MONSTER_SUNKERN", "level": 1, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -89,32 +89,32 @@ "name": "pokemon_found_out217", "pokemon": [ { - "species": "SPECIES_CATERPIE", + "species": "MONSTER_CATERPIE", "level": 1, "probability": 3478 }, { - "species": "SPECIES_JIGGLYPUFF", + "species": "MONSTER_JIGGLYPUFF", "level": 2, "probability": 2174 }, { - "species": "SPECIES_CLEFFA", + "species": "MONSTER_CLEFFA", "level": 1, "probability": 2174 }, { - "species": "SPECIES_MARILL", + "species": "MONSTER_MARILL", "level": 8, "probability": 2174 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -124,27 +124,27 @@ "name": "pokemon_found_out218", "pokemon": [ { - "species": "SPECIES_RATTATA", + "species": "MONSTER_RATTATA", "level": 3, "probability": 3810 }, { - "species": "SPECIES_TOGEPI", + "species": "MONSTER_TOGEPI", "level": 7, "probability": 3809 }, { - "species": "SPECIES_MARILL", + "species": "MONSTER_MARILL", "level": 8, "probability": 2381 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -154,27 +154,27 @@ "name": "pokemon_found_out219", "pokemon": [ { - "species": "SPECIES_RATTATA", + "species": "MONSTER_RATTATA", "level": 3, "probability": 3333 }, { - "species": "SPECIES_TOGEPI", + "species": "MONSTER_TOGEPI", "level": 7, "probability": 3334 }, { - "species": "SPECIES_ARON", + "species": "MONSTER_ARON", "level": 6, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -184,27 +184,27 @@ "name": "pokemon_found_out220", "pokemon": [ { - "species": "SPECIES_VOLTORB", + "species": "MONSTER_VOLTORB", "level": 3, "probability": 3043 }, { - "species": "SPECIES_TOGEPI", + "species": "MONSTER_TOGEPI", "level": 7, "probability": 3479 }, { - "species": "SPECIES_ARON", + "species": "MONSTER_ARON", "level": 6, "probability": 3478 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -214,27 +214,27 @@ "name": "pokemon_found_out221", "pokemon": [ { - "species": "SPECIES_RALTS", + "species": "MONSTER_RALTS", "level": 8, "probability": 4444 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 6, "probability": 2778 }, { - "species": "SPECIES_BALTOY", + "species": "MONSTER_BALTOY", "level": 5, "probability": 2778 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -244,32 +244,32 @@ "name": "pokemon_found_out222", "pokemon": [ { - "species": "SPECIES_GEODUDE", + "species": "MONSTER_GEODUDE", "level": 5, "probability": 2174 }, { - "species": "SPECIES_RALTS", + "species": "MONSTER_RALTS", "level": 8, "probability": 3478 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 6, "probability": 2174 }, { - "species": "SPECIES_BALTOY", + "species": "MONSTER_BALTOY", "level": 5, "probability": 2174 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -279,37 +279,37 @@ "name": "pokemon_found_out223", "pokemon": [ { - "species": "SPECIES_GEODUDE", + "species": "MONSTER_GEODUDE", "level": 5, "probability": 2000 }, { - "species": "SPECIES_NATU", + "species": "MONSTER_NATU", "level": 8, "probability": 2000 }, { - "species": "SPECIES_RALTS", + "species": "MONSTER_RALTS", "level": 8, "probability": 2667 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 6, "probability": 1666 }, { - "species": "SPECIES_BALTOY", + "species": "MONSTER_BALTOY", "level": 5, "probability": 1667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -319,32 +319,32 @@ "name": "pokemon_found_out224", "pokemon": [ { - "species": "SPECIES_GEODUDE", + "species": "MONSTER_GEODUDE", "level": 5, "probability": 2727 }, { - "species": "SPECIES_NATU", + "species": "MONSTER_NATU", "level": 8, "probability": 2728 }, { - "species": "SPECIES_MEDITITE", + "species": "MONSTER_MEDITITE", "level": 6, "probability": 2272 }, { - "species": "SPECIES_BALTOY", + "species": "MONSTER_BALTOY", "level": 5, "probability": 2273 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -354,22 +354,22 @@ "name": "pokemon_found_out225", "pokemon": [ { - "species": "SPECIES_NATU", + "species": "MONSTER_NATU", "level": 8, "probability": 5455 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BELDUM", + "species": "MONSTER_BELDUM", "level": 5, "probability": 4545 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -379,32 +379,32 @@ "name": "pokemon_found_out226", "pokemon": [ { - "species": "SPECIES_MACHOP", + "species": "MONSTER_MACHOP", "level": 11, "probability": 3571 }, { - "species": "SPECIES_NATU", + "species": "MONSTER_NATU", "level": 8, "probability": 2143 }, { - "species": "SPECIES_SWINUB", + "species": "MONSTER_SWINUB", "level": 8, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BELDUM", + "species": "MONSTER_BELDUM", "level": 5, "probability": 1786 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -414,27 +414,27 @@ "name": "pokemon_found_out227", "pokemon": [ { - "species": "SPECIES_MACHOP", + "species": "MONSTER_MACHOP", "level": 11, "probability": 4167 }, { - "species": "SPECIES_SWINUB", + "species": "MONSTER_SWINUB", "level": 8, "probability": 2916 }, { - "species": "SPECIES_SKARMORY", + "species": "MONSTER_SKARMORY", "level": 10, "probability": 2917 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -444,17 +444,17 @@ "name": "pokemon_found_out228", "pokemon": [ { - "species": "SPECIES_MEDICHAM", + "species": "MONSTER_MEDICHAM", "level": 12, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -464,27 +464,27 @@ "name": "pokemon_found_out229", "pokemon": [ { - "species": "SPECIES_MACHOP", + "species": "MONSTER_MACHOP", "level": 11, "probability": 4545 }, { - "species": "SPECIES_SWINUB", + "species": "MONSTER_SWINUB", "level": 8, "probability": 3182 }, { - "species": "SPECIES_TRAPINCH", + "species": "MONSTER_TRAPINCH", "level": 11, "probability": 2273 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -494,27 +494,27 @@ "name": "pokemon_found_out230", "pokemon": [ { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 3810 }, { - "species": "SPECIES_ELECTRIKE", + "species": "MONSTER_ELECTRIKE", "level": 12, "probability": 3809 }, { - "species": "SPECIES_TRAPINCH", + "species": "MONSTER_TRAPINCH", "level": 11, "probability": 2381 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -524,22 +524,22 @@ "name": "pokemon_found_out231", "pokemon": [ { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 5000 }, { - "species": "SPECIES_ELECTRIKE", + "species": "MONSTER_ELECTRIKE", "level": 12, "probability": 5000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -549,27 +549,27 @@ "name": "pokemon_found_out232", "pokemon": [ { - "species": "SPECIES_SPINARAK", + "species": "MONSTER_SPINARAK", "level": 11, "probability": 3333 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 3334 }, { - "species": "SPECIES_ELECTRIKE", + "species": "MONSTER_ELECTRIKE", "level": 12, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -579,32 +579,32 @@ "name": "pokemon_found_out233", "pokemon": [ { - "species": "SPECIES_NIDORAN_M", + "species": "MONSTER_NIDORAN_M", "level": 12, "probability": 2500 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 2500 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 2500 }, { - "species": "SPECIES_ELECTRIKE", + "species": "MONSTER_ELECTRIKE", "level": 12, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -614,27 +614,27 @@ "name": "pokemon_found_out234", "pokemon": [ { - "species": "SPECIES_NIDORAN_M", + "species": "MONSTER_NIDORAN_M", "level": 12, "probability": 3333 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 3334 }, { - "species": "SPECIES_GLIGAR", + "species": "MONSTER_GLIGAR", "level": 12, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -644,32 +644,32 @@ "name": "pokemon_found_out235", "pokemon": [ { - "species": "SPECIES_NIDORAN_M", + "species": "MONSTER_NIDORAN_M", "level": 12, "probability": 2500 }, { - "species": "SPECIES_ELECTABUZZ", + "species": "MONSTER_ELECTABUZZ", "level": 12, "probability": 2500 }, { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 15, "probability": 2500 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 10, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -679,27 +679,27 @@ "name": "pokemon_found_out236", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 2000 }, { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 15, "probability": 4000 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 10, "probability": 4000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -709,32 +709,32 @@ "name": "pokemon_found_out237", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 1429 }, { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 15, "probability": 2857 }, { - "species": "SPECIES_MURKROW", + "species": "MONSTER_MURKROW", "level": 14, "probability": 2857 }, { - "species": "SPECIES_MANECTRIC", + "species": "MONSTER_MANECTRIC", "level": 10, "probability": 2857 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -744,27 +744,27 @@ "name": "pokemon_found_out238", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 2000 }, { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 15, "probability": 4000 }, { - "species": "SPECIES_MURKROW", + "species": "MONSTER_MURKROW", "level": 14, "probability": 4000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -774,32 +774,32 @@ "name": "pokemon_found_out239", "pokemon": [ { - "species": "SPECIES_ABRA", + "species": "MONSTER_ABRA", "level": 16, "probability": 1429 }, { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 15, "probability": 2857 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 14, "probability": 2857 }, { - "species": "SPECIES_MURKROW", + "species": "MONSTER_MURKROW", "level": 14, "probability": 2857 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -809,27 +809,27 @@ "name": "pokemon_found_out240", "pokemon": [ { - "species": "SPECIES_TAUROS", + "species": "MONSTER_TAUROS", "level": 15, "probability": 3333 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 14, "probability": 3334 }, { - "species": "SPECIES_DUNSPARCE", + "species": "MONSTER_DUNSPARCE", "level": 13, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -839,27 +839,27 @@ "name": "pokemon_found_out241", "pokemon": [ { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 14, "probability": 4000 }, { - "species": "SPECIES_DUNSPARCE", + "species": "MONSTER_DUNSPARCE", "level": 13, "probability": 4000 }, { - "species": "SPECIES_NINCADA", + "species": "MONSTER_NINCADA", "level": 14, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -869,27 +869,27 @@ "name": "pokemon_found_out242", "pokemon": [ { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 14, "probability": 4211 }, { - "species": "SPECIES_NINCADA", + "species": "MONSTER_NINCADA", "level": 14, "probability": 2105 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BAGON", + "species": "MONSTER_BAGON", "level": 16, "probability": 3684 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -899,37 +899,37 @@ "name": "pokemon_found_out243", "pokemon": [ { - "species": "SPECIES_GOLBAT", + "species": "MONSTER_GOLBAT", "level": 10, "probability": 1562 }, { - "species": "SPECIES_KADABRA", + "species": "MONSTER_KADABRA", "level": 30, "probability": 2500 }, { - "species": "SPECIES_ARIADOS", + "species": "MONSTER_ARIADOS", "level": 14, "probability": 2500 }, { - "species": "SPECIES_NINCADA", + "species": "MONSTER_NINCADA", "level": 14, "probability": 1250 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BAGON", + "species": "MONSTER_BAGON", "level": 16, "probability": 2188 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -939,52 +939,52 @@ "name": "pokemon_found_out244", "pokemon": [ { - "species": "SPECIES_NIDORINA", + "species": "MONSTER_NIDORINA", "level": 15, "probability": 1224 }, { - "species": "SPECIES_NIDORINO", + "species": "MONSTER_NIDORINO", "level": 15, "probability": 1021 }, { - "species": "SPECIES_GOLBAT", + "species": "MONSTER_GOLBAT", "level": 10, "probability": 1020 }, { - "species": "SPECIES_KADABRA", + "species": "MONSTER_KADABRA", "level": 30, "probability": 1633 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 1633 }, { - "species": "SPECIES_NINCADA", + "species": "MONSTER_NINCADA", "level": 14, "probability": 816 }, { - "species": "SPECIES_ILLIMISE", + "species": "MONSTER_ILLIMISE", "level": 20, "probability": 1224 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BAGON", + "species": "MONSTER_BAGON", "level": 16, "probability": 1429 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -994,52 +994,52 @@ "name": "pokemon_found_out245", "pokemon": [ { - "species": "SPECIES_NIDORINA", + "species": "MONSTER_NIDORINA", "level": 15, "probability": 1132 }, { - "species": "SPECIES_NIDORINO", + "species": "MONSTER_NIDORINO", "level": 15, "probability": 943 }, { - "species": "SPECIES_GOLBAT", + "species": "MONSTER_GOLBAT", "level": 10, "probability": 944 }, { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 20, "probability": 1321 }, { - "species": "SPECIES_KADABRA", + "species": "MONSTER_KADABRA", "level": 30, "probability": 1509 }, { - "species": "SPECIES_ELECTRODE", + "species": "MONSTER_ELECTRODE", "level": 20, "probability": 1509 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 1510 }, { - "species": "SPECIES_ILLIMISE", + "species": "MONSTER_ILLIMISE", "level": 20, "probability": 1132 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1049,42 +1049,42 @@ "name": "pokemon_found_out246", "pokemon": [ { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 20, "probability": 1628 }, { - "species": "SPECIES_ELECTRODE", + "species": "MONSTER_ELECTRODE", "level": 20, "probability": 1860 }, { - "species": "SPECIES_HITMONLEE", + "species": "MONSTER_HITMONLEE", "level": 22, "probability": 1628 }, { - "species": "SPECIES_HITMONCHAN", + "species": "MONSTER_HITMONCHAN", "level": 22, "probability": 1628 }, { - "species": "SPECIES_FORRETRESS", + "species": "MONSTER_FORRETRESS", "level": 23, "probability": 1861 }, { - "species": "SPECIES_ILLIMISE", + "species": "MONSTER_ILLIMISE", "level": 20, "probability": 1395 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1094,47 +1094,47 @@ "name": "pokemon_found_out247", "pokemon": [ { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 20, "probability": 1489 }, { - "species": "SPECIES_ELECTRODE", + "species": "MONSTER_ELECTRODE", "level": 20, "probability": 1702 }, { - "species": "SPECIES_HITMONLEE", + "species": "MONSTER_HITMONLEE", "level": 22, "probability": 1490 }, { - "species": "SPECIES_HITMONCHAN", + "species": "MONSTER_HITMONCHAN", "level": 22, "probability": 1489 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 426 }, { - "species": "SPECIES_FORRETRESS", + "species": "MONSTER_FORRETRESS", "level": 23, "probability": 1702 }, { - "species": "SPECIES_NUMEL", + "species": "MONSTER_NUMEL", "level": 14, "probability": 1702 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1144,42 +1144,42 @@ "name": "pokemon_found_out248", "pokemon": [ { - "species": "SPECIES_DUGTRIO", + "species": "MONSTER_DUGTRIO", "level": 20, "probability": 1795 }, { - "species": "SPECIES_ELECTRODE", + "species": "MONSTER_ELECTRODE", "level": 20, "probability": 2051 }, { - "species": "SPECIES_HITMONLEE", + "species": "MONSTER_HITMONLEE", "level": 22, "probability": 1795 }, { - "species": "SPECIES_HITMONCHAN", + "species": "MONSTER_HITMONCHAN", "level": 22, "probability": 1795 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 513 }, { - "species": "SPECIES_NUMEL", + "species": "MONSTER_NUMEL", "level": 14, "probability": 2051 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1189,37 +1189,37 @@ "name": "pokemon_found_out249", "pokemon": [ { - "species": "SPECIES_HITMONLEE", + "species": "MONSTER_HITMONLEE", "level": 22, "probability": 2187 }, { - "species": "SPECIES_HITMONCHAN", + "species": "MONSTER_HITMONCHAN", "level": 22, "probability": 2188 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 625 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 2500 }, { - "species": "SPECIES_NUMEL", + "species": "MONSTER_NUMEL", "level": 14, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1229,27 +1229,27 @@ "name": "pokemon_found_out250", "pokemon": [ { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 1111 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 4445 }, { - "species": "SPECIES_TORKOAL", + "species": "MONSTER_TORKOAL", "level": 15, "probability": 4444 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1259,32 +1259,32 @@ "name": "pokemon_found_out251", "pokemon": [ { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 16, "probability": 3077 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 769 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 3077 }, { - "species": "SPECIES_TORKOAL", + "species": "MONSTER_TORKOAL", "level": 15, "probability": 3077 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1294,37 +1294,37 @@ "name": "pokemon_found_out252", "pokemon": [ { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 16, "probability": 2353 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 588 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 2353 }, { - "species": "SPECIES_PILOSWINE", + "species": "MONSTER_PILOSWINE", "level": 16, "probability": 2353 }, { - "species": "SPECIES_TORKOAL", + "species": "MONSTER_TORKOAL", "level": 15, "probability": 2353 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1334,37 +1334,37 @@ "name": "pokemon_found_out253", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 21, "probability": 2353 }, { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 16, "probability": 2353 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 588 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 2353 }, { - "species": "SPECIES_PILOSWINE", + "species": "MONSTER_PILOSWINE", "level": 16, "probability": 2353 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1374,42 +1374,42 @@ "name": "pokemon_found_out254", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 21, "probability": 1905 }, { - "species": "SPECIES_RHYHORN", + "species": "MONSTER_RHYHORN", "level": 16, "probability": 1905 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 476 }, { - "species": "SPECIES_PINECO", + "species": "MONSTER_PINECO", "level": 18, "probability": 1904 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 1905 }, { - "species": "SPECIES_PILOSWINE", + "species": "MONSTER_PILOSWINE", "level": 16, "probability": 1905 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1419,42 +1419,42 @@ "name": "pokemon_found_out255", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 21, "probability": 1905 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 476 }, { - "species": "SPECIES_PINECO", + "species": "MONSTER_PINECO", "level": 18, "probability": 1905 }, { - "species": "SPECIES_PILOSWINE", + "species": "MONSTER_PILOSWINE", "level": 16, "probability": 1904 }, { - "species": "SPECIES_LAIRON", + "species": "MONSTER_LAIRON", "level": 17, "probability": 1905 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_METANG", + "species": "MONSTER_METANG", "level": 17, "probability": 1905 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1464,37 +1464,37 @@ "name": "pokemon_found_out256", "pokemon": [ { - "species": "SPECIES_ARBOK", + "species": "MONSTER_ARBOK", "level": 21, "probability": 2353 }, { - "species": "SPECIES_DITTO", + "species": "MONSTER_DITTO", "level": 25, "probability": 588 }, { - "species": "SPECIES_PINECO", + "species": "MONSTER_PINECO", "level": 18, "probability": 2353 }, { - "species": "SPECIES_LAIRON", + "species": "MONSTER_LAIRON", "level": 17, "probability": 2353 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_METANG", + "species": "MONSTER_METANG", "level": 17, "probability": 2353 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1504,22 +1504,22 @@ "name": "pokemon_found_out257", "pokemon": [ { - "species": "SPECIES_ZANGOOSE", + "species": "MONSTER_ZANGOOSE", "level": 18, "probability": 4286 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHELGON", + "species": "MONSTER_SHELGON", "level": 19, "probability": 5714 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1529,17 +1529,17 @@ "name": "pokemon_found_out258", "pokemon": [ { - "species": "SPECIES_ZANGOOSE", + "species": "MONSTER_ZANGOOSE", "level": 18, "probability": 10000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1549,32 +1549,32 @@ "name": "pokemon_found_out259", "pokemon": [ { - "species": "SPECIES_KOFFING", + "species": "MONSTER_KOFFING", "level": 20, "probability": 2667 }, { - "species": "SPECIES_RHYDON", + "species": "MONSTER_RHYDON", "level": 23, "probability": 2666 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 2667 }, { - "species": "SPECIES_ZANGOOSE", + "species": "MONSTER_ZANGOOSE", "level": 18, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1584,37 +1584,37 @@ "name": "pokemon_found_out260", "pokemon": [ { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 22, "probability": 1892 }, { - "species": "SPECIES_KOFFING", + "species": "MONSTER_KOFFING", "level": 20, "probability": 2162 }, { - "species": "SPECIES_RHYDON", + "species": "MONSTER_RHYDON", "level": 23, "probability": 2162 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 2162 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1622 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1624,42 +1624,42 @@ "name": "pokemon_found_out261", "pokemon": [ { - "species": "SPECIES_NIDOQUEEN", + "species": "MONSTER_NIDOQUEEN", "level": 20, "probability": 1591 }, { - "species": "SPECIES_GRAVELER", + "species": "MONSTER_GRAVELER", "level": 22, "probability": 1591 }, { - "species": "SPECIES_KOFFING", + "species": "MONSTER_KOFFING", "level": 20, "probability": 1818 }, { - "species": "SPECIES_RHYDON", + "species": "MONSTER_RHYDON", "level": 23, "probability": 1818 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 1818 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1364 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1669,37 +1669,37 @@ "name": "pokemon_found_out262", "pokemon": [ { - "species": "SPECIES_NIDOQUEEN", + "species": "MONSTER_NIDOQUEEN", "level": 20, "probability": 1892 }, { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 15, "probability": 2162 }, { - "species": "SPECIES_RHYDON", + "species": "MONSTER_RHYDON", "level": 23, "probability": 2162 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 2162 }, { - "species": "SPECIES_MAGBY", + "species": "MONSTER_MAGBY", "level": 17, "probability": 1622 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1709,32 +1709,32 @@ "name": "pokemon_found_out263", "pokemon": [ { - "species": "SPECIES_NIDOKING", + "species": "MONSTER_NIDOKING", "level": 21, "probability": 2258 }, { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 15, "probability": 2581 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 2580 }, { - "species": "SPECIES_MAGCARGO", + "species": "MONSTER_MAGCARGO", "level": 21, "probability": 2581 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1744,27 +1744,27 @@ "name": "pokemon_found_out264", "pokemon": [ { - "species": "SPECIES_NIDOKING", + "species": "MONSTER_NIDOKING", "level": 21, "probability": 3043 }, { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 15, "probability": 3479 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 3478 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1774,32 +1774,32 @@ "name": "pokemon_found_out265", "pokemon": [ { - "species": "SPECIES_NIDOKING", + "species": "MONSTER_NIDOKING", "level": 21, "probability": 2414 }, { - "species": "SPECIES_GOLEM", + "species": "MONSTER_GOLEM", "level": 15, "probability": 2758 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 2759 }, { - "species": "SPECIES_PORYGON2", + "species": "MONSTER_PORYGON2", "level": 20, "probability": 2069 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1809,32 +1809,32 @@ "name": "pokemon_found_out266", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 20, "probability": 2667 }, { - "species": "SPECIES_MAGMAR", + "species": "MONSTER_MAGMAR", "level": 21, "probability": 2666 }, { - "species": "SPECIES_PORYGON2", + "species": "MONSTER_PORYGON2", "level": 20, "probability": 2000 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 25, "probability": 2667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1844,32 +1844,32 @@ "name": "pokemon_found_out267", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 20, "probability": 2963 }, { - "species": "SPECIES_PORYGON2", + "species": "MONSTER_PORYGON2", "level": 20, "probability": 2222 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 25, "probability": 2963 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHUPPET", + "species": "MONSTER_SHUPPET", "level": 28, "probability": 1852 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1879,37 +1879,37 @@ "name": "pokemon_found_out268", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 20, "probability": 2286 }, { - "species": "SPECIES_PORYGON2", + "species": "MONSTER_PORYGON2", "level": 20, "probability": 1714 }, { - "species": "SPECIES_HITMONTOP", + "species": "MONSTER_HITMONTOP", "level": 22, "probability": 2286 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 25, "probability": 2285 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHUPPET", + "species": "MONSTER_SHUPPET", "level": 28, "probability": 1429 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1919,27 +1919,27 @@ "name": "pokemon_found_out269", "pokemon": [ { - "species": "SPECIES_GRIMER", + "species": "MONSTER_GRIMER", "level": 20, "probability": 3333 }, { - "species": "SPECIES_HITMONTOP", + "species": "MONSTER_HITMONTOP", "level": 22, "probability": 3334 }, { - "species": "SPECIES_CAMERUPT", + "species": "MONSTER_CAMERUPT", "level": 25, "probability": 3333 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1949,32 +1949,32 @@ "name": "pokemon_found_out270", "pokemon": [ { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 20, "probability": 769 }, { - "species": "SPECIES_FORRETRESS", + "species": "MONSTER_FORRETRESS", "level": 23, "probability": 3077 }, { - "species": "SPECIES_HITMONTOP", + "species": "MONSTER_HITMONTOP", "level": 22, "probability": 3077 }, { - "species": "SPECIES_SOLROCK", + "species": "MONSTER_SOLROCK", "level": 24, "probability": 3077 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -1984,27 +1984,27 @@ "name": "pokemon_found_out271", "pokemon": [ { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 20, "probability": 1111 }, { - "species": "SPECIES_HITMONTOP", + "species": "MONSTER_HITMONTOP", "level": 22, "probability": 4445 }, { - "species": "SPECIES_SOLROCK", + "species": "MONSTER_SOLROCK", "level": 24, "probability": 4444 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2014,27 +2014,27 @@ "name": "pokemon_found_out272", "pokemon": [ { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 20, "probability": 1111 }, { - "species": "SPECIES_SCIZOR", + "species": "MONSTER_SCIZOR", "level": 24, "probability": 4445 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DUSCLOPS", + "species": "MONSTER_DUSCLOPS", "level": 24, "probability": 4444 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2044,32 +2044,32 @@ "name": "pokemon_found_out273", "pokemon": [ { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 20, "probability": 833 }, { - "species": "SPECIES_SCIZOR", + "species": "MONSTER_SCIZOR", "level": 24, "probability": 3334 }, { - "species": "SPECIES_FLYGON", + "species": "MONSTER_FLYGON", "level": 25, "probability": 2500 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_METAGROSS", + "species": "MONSTER_METAGROSS", "level": 28, "probability": 3333 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2079,27 +2079,27 @@ "name": "pokemon_found_out274", "pokemon": [ { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 20, "probability": 1250 }, { - "species": "SPECIES_FLYGON", + "species": "MONSTER_FLYGON", "level": 25, "probability": 3750 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_METAGROSS", + "species": "MONSTER_METAGROSS", "level": 28, "probability": 5000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2109,27 +2109,27 @@ "name": "pokemon_found_out275", "pokemon": [ { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 20, "probability": 1111 }, { - "species": "SPECIES_CLAYDOL", + "species": "MONSTER_CLAYDOL", "level": 26, "probability": 4445 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_METAGROSS", + "species": "MONSTER_METAGROSS", "level": 28, "probability": 4444 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2139,32 +2139,32 @@ "name": "pokemon_found_out276", "pokemon": [ { - "species": "SPECIES_WEEZING", + "species": "MONSTER_WEEZING", "level": 20, "probability": 769 }, { - "species": "SPECIES_CLAYDOL", + "species": "MONSTER_CLAYDOL", "level": 26, "probability": 3077 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SALAMENCE", + "species": "MONSTER_SALAMENCE", "level": 26, "probability": 3077 }, { - "species": "SPECIES_METAGROSS", + "species": "MONSTER_METAGROSS", "level": 28, "probability": 3077 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -2174,17 +2174,17 @@ "name": "pokemon_found_out277", "pokemon": [ { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_JIRACHI", + "species": "MONSTER_JIRACHI", "level": 40, "probability": 10000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/WondrousSea/pokemon_found.json b/data/dungeon/WondrousSea/pokemon_found.json index fa4bb524c..af7d57335 100644 --- a/data/dungeon/WondrousSea/pokemon_found.json +++ b/data/dungeon/WondrousSea/pokemon_found.json @@ -4,32 +4,32 @@ "name": "pokemon_found_out448", "pokemon": [ { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHUPPET", + "species": "MONSTER_SHUPPET", "level": 28, "probability": 10000 }, { - "species": "SPECIES_REGIROCK", + "species": "MONSTER_REGIROCK", "level": 5, "probability": 0 }, { - "species": "SPECIES_REGICE", + "species": "MONSTER_REGICE", "level": 17, "probability": 0 }, { - "species": "SPECIES_REGISTEEL", + "species": "MONSTER_REGISTEEL", "level": 20, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/WyvernHill/pokemon_found.json b/data/dungeon/WyvernHill/pokemon_found.json index f5cc099b5..736f9dc9b 100644 --- a/data/dungeon/WyvernHill/pokemon_found.json +++ b/data/dungeon/WyvernHill/pokemon_found.json @@ -4,22 +4,22 @@ "name": "pokemon_found_out366", "pokemon": [ { - "species": "SPECIES_DRATINI", + "species": "MONSTER_DRATINI", "level": 30, "probability": 6667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BAGON", + "species": "MONSTER_BAGON", "level": 40, "probability": 3333 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -29,27 +29,27 @@ "name": "pokemon_found_out367", "pokemon": [ { - "species": "SPECIES_DRATINI", + "species": "MONSTER_DRATINI", "level": 30, "probability": 6154 }, { - "species": "SPECIES_JUMPLUFF", + "species": "MONSTER_JUMPLUFF", "level": 30, "probability": 769 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_BAGON", + "species": "MONSTER_BAGON", "level": 40, "probability": 3077 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -59,27 +59,27 @@ "name": "pokemon_found_out368", "pokemon": [ { - "species": "SPECIES_DRATINI", + "species": "MONSTER_DRATINI", "level": 30, "probability": 6154 }, { - "species": "SPECIES_JUMPLUFF", + "species": "MONSTER_JUMPLUFF", "level": 30, "probability": 769 }, { - "species": "SPECIES_ALTARIA", + "species": "MONSTER_ALTARIA", "level": 33, "probability": 3077 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -89,32 +89,32 @@ "name": "pokemon_found_out369", "pokemon": [ { - "species": "SPECIES_TOTODILE", + "species": "MONSTER_TOTODILE", "level": 29, "probability": 4444 }, { - "species": "SPECIES_JUMPLUFF", + "species": "MONSTER_JUMPLUFF", "level": 30, "probability": 556 }, { - "species": "SPECIES_LUDICOLO", + "species": "MONSTER_LUDICOLO", "level": 20, "probability": 2778 }, { - "species": "SPECIES_ALTARIA", + "species": "MONSTER_ALTARIA", "level": 33, "probability": 2222 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -124,37 +124,37 @@ "name": "pokemon_found_out370", "pokemon": [ { - "species": "SPECIES_TOTODILE", + "species": "MONSTER_TOTODILE", "level": 29, "probability": 3636 }, { - "species": "SPECIES_JUMPLUFF", + "species": "MONSTER_JUMPLUFF", "level": 30, "probability": 455 }, { - "species": "SPECIES_LUDICOLO", + "species": "MONSTER_LUDICOLO", "level": 20, "probability": 2273 }, { - "species": "SPECIES_ALTARIA", + "species": "MONSTER_ALTARIA", "level": 33, "probability": 1818 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHELGON", + "species": "MONSTER_SHELGON", "level": 37, "probability": 1818 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -164,37 +164,37 @@ "name": "pokemon_found_out371", "pokemon": [ { - "species": "SPECIES_TOTODILE", + "species": "MONSTER_TOTODILE", "level": 29, "probability": 3478 }, { - "species": "SPECIES_JUMPLUFF", + "species": "MONSTER_JUMPLUFF", "level": 30, "probability": 435 }, { - "species": "SPECIES_LUDICOLO", + "species": "MONSTER_LUDICOLO", "level": 20, "probability": 2174 }, { - "species": "SPECIES_VIBRAVA", + "species": "MONSTER_VIBRAVA", "level": 30, "probability": 2174 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHELGON", + "species": "MONSTER_SHELGON", "level": 37, "probability": 1739 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -204,37 +204,37 @@ "name": "pokemon_found_out372", "pokemon": [ { - "species": "SPECIES_DRAGONAIR", + "species": "MONSTER_DRAGONAIR", "level": 25, "probability": 3478 }, { - "species": "SPECIES_JUMPLUFF", + "species": "MONSTER_JUMPLUFF", "level": 30, "probability": 435 }, { - "species": "SPECIES_LUDICOLO", + "species": "MONSTER_LUDICOLO", "level": 20, "probability": 2174 }, { - "species": "SPECIES_VIBRAVA", + "species": "MONSTER_VIBRAVA", "level": 30, "probability": 2174 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHELGON", + "species": "MONSTER_SHELGON", "level": 37, "probability": 1739 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -244,42 +244,42 @@ "name": "pokemon_found_out373", "pokemon": [ { - "species": "SPECIES_ODDISH", + "species": "MONSTER_ODDISH", "level": 40, "probability": 417 }, { - "species": "SPECIES_DRAGONAIR", + "species": "MONSTER_DRAGONAIR", "level": 25, "probability": 3333 }, { - "species": "SPECIES_JUMPLUFF", + "species": "MONSTER_JUMPLUFF", "level": 30, "probability": 417 }, { - "species": "SPECIES_LUDICOLO", + "species": "MONSTER_LUDICOLO", "level": 20, "probability": 2083 }, { - "species": "SPECIES_VIBRAVA", + "species": "MONSTER_VIBRAVA", "level": 30, "probability": 2083 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHELGON", + "species": "MONSTER_SHELGON", "level": 37, "probability": 1667 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -289,37 +289,37 @@ "name": "pokemon_found_out374", "pokemon": [ { - "species": "SPECIES_ODDISH", + "species": "MONSTER_ODDISH", "level": 40, "probability": 526 }, { - "species": "SPECIES_DRAGONAIR", + "species": "MONSTER_DRAGONAIR", "level": 25, "probability": 4211 }, { - "species": "SPECIES_JUMPLUFF", + "species": "MONSTER_JUMPLUFF", "level": 30, "probability": 526 }, { - "species": "SPECIES_VIBRAVA", + "species": "MONSTER_VIBRAVA", "level": 30, "probability": 2632 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SHELGON", + "species": "MONSTER_SHELGON", "level": 37, "probability": 2105 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -329,27 +329,27 @@ "name": "pokemon_found_out375", "pokemon": [ { - "species": "SPECIES_ODDISH", + "species": "MONSTER_ODDISH", "level": 40, "probability": 1000 }, { - "species": "SPECIES_DRAGONAIR", + "species": "MONSTER_DRAGONAIR", "level": 25, "probability": 8000 }, { - "species": "SPECIES_JUMPLUFF", + "species": "MONSTER_JUMPLUFF", "level": 30, "probability": 1000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -359,22 +359,22 @@ "name": "pokemon_found_out376", "pokemon": [ { - "species": "SPECIES_JUMPLUFF", + "species": "MONSTER_JUMPLUFF", "level": 30, "probability": 2000 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SALAMENCE", + "species": "MONSTER_SALAMENCE", "level": 35, "probability": 8000 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -384,27 +384,27 @@ "name": "pokemon_found_out377", "pokemon": [ { - "species": "SPECIES_JUMPLUFF", + "species": "MONSTER_JUMPLUFF", "level": 30, "probability": 667 }, { - "species": "SPECIES_FLYGON", + "species": "MONSTER_FLYGON", "level": 35, "probability": 6666 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SALAMENCE", + "species": "MONSTER_SALAMENCE", "level": 35, "probability": 2667 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -414,22 +414,22 @@ "name": "pokemon_found_out378", "pokemon": [ { - "species": "SPECIES_FLYGON", + "species": "MONSTER_FLYGON", "level": 35, "probability": 7143 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SALAMENCE", + "species": "MONSTER_SALAMENCE", "level": 35, "probability": 2857 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -439,27 +439,27 @@ "name": "pokemon_found_out379", "pokemon": [ { - "species": "SPECIES_DRAGONITE", + "species": "MONSTER_DRAGONITE", "level": 24, "probability": 3636 }, { - "species": "SPECIES_FLYGON", + "species": "MONSTER_FLYGON", "level": 35, "probability": 4546 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SALAMENCE", + "species": "MONSTER_SALAMENCE", "level": 35, "probability": 1818 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } @@ -469,22 +469,22 @@ "name": "pokemon_found_out380", "pokemon": [ { - "species": "SPECIES_DRAGONITE", + "species": "MONSTER_DRAGONITE", "level": 24, "probability": 6667 }, { - "species": "SPECIES_KECLEON", + "species": "MONSTER_KECLEON", "level": 90, "probability": 0 }, { - "species": "SPECIES_SALAMENCE", + "species": "MONSTER_SALAMENCE", "level": 35, "probability": 3333 }, { - "species": "SPECIES_DECOY", + "species": "MONSTER_DECOY", "level": 1, "probability": 0 } diff --git a/data/dungeon/pokemon_found.inc b/data/dungeon/pokemon_found.inc index 48ca87ebf..a4c21350d 100644 --- a/data/dungeon/pokemon_found.inc +++ b/data/dungeon/pokemon_found.inc @@ -1,6 +1,6 @@ @ Start of Pokemon Found (0x84b6064) -#include "constants/species.h" +#include "constants/monster.h" #include "TinyWoods/pokemon_found.inc" #include "ThunderwaveCave/pokemon_found.inc" diff --git a/data/item/item_data.json b/data/item/item_data.json index 98e414191..ae31d321c 100644 --- a/data/item/item_data.json +++ b/data/item/item_data.json @@ -1,24 +1,22 @@ [ { - "name": "None", - "namePointer": "ItemNameNone", + "name": "ItemNameNone", "buyPrice": 0, "sellPrice": 0, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 2, - "descriptionPointer": "ItemDescriptionNone", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 2, + "description": "ItemDescriptionNone", "order": 0, - "palette": 0, - "category": "ITEM_CATEGORY_NOTHING" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_NOTHING" }, { - "name": "Stick", - "namePointer": "ItemNameStick", + "name": "ItemNameStick", "buyPrice": 2, "sellPrice": 1, - "type": "ITEM_TYPE_THROWABLE", - "icon": 0, - "descriptionPointer": "ItemDescriptionSpike", + "category": "CATEGORY_THROWN_LINE", + "spriteID": 0, + "description": "ItemDescriptionSpike", "aiFlags": [ false, false, @@ -29,17 +27,16 @@ 6, 10 ], - "palette": 1, - "category": "ITEM_CATEGORY_THROWABLE" + "paletteID": 1, + "actionType": "ITEM_ACTION_TYPE_THROWABLE" }, { - "name": "Iron Thorn", - "namePointer": "ItemNameIronThorn", + "name": "ItemNameIronThorn", "buyPrice": 4, "sellPrice": 2, - "type": "ITEM_TYPE_THROWABLE", - "icon": 0, - "descriptionPointer": "ItemDescriptionSpike", + "category": "CATEGORY_THROWN_LINE", + "spriteID": 0, + "description": "ItemDescriptionSpike", "aiFlags": [ false, false, @@ -50,17 +47,16 @@ 5, 8 ], - "palette": 2, - "category": "ITEM_CATEGORY_THROWABLE" + "paletteID": 2, + "actionType": "ITEM_ACTION_TYPE_THROWABLE" }, { - "name": "Silver Spike", - "namePointer": "ItemNameSilverSpike", + "name": "ItemNameSilverSpike", "buyPrice": 6, "sellPrice": 3, - "type": "ITEM_TYPE_THROWABLE", - "icon": 0, - "descriptionPointer": "ItemDescriptionSpike", + "category": "CATEGORY_THROWN_LINE", + "spriteID": 0, + "description": "ItemDescriptionSpike", "aiFlags": [ false, false, @@ -71,17 +67,16 @@ 5, 8 ], - "palette": 11, - "category": "ITEM_CATEGORY_THROWABLE" + "paletteID": 11, + "actionType": "ITEM_ACTION_TYPE_THROWABLE" }, { - "name": "Gold Fang", - "namePointer": "ItemNameGoldFang", + "name": "ItemNameGoldFang", "buyPrice": 8, "sellPrice": 4, - "type": "ITEM_TYPE_THROWABLE", - "icon": 0, - "descriptionPointer": "ItemDescriptionSpike", + "category": "CATEGORY_THROWN_LINE", + "spriteID": 0, + "description": "ItemDescriptionSpike", "aiFlags": [ false, false, @@ -92,17 +87,16 @@ 5, 5 ], - "palette": 3, - "category": "ITEM_CATEGORY_THROWABLE" + "paletteID": 3, + "actionType": "ITEM_ACTION_TYPE_THROWABLE" }, { - "name": "Cacnea Spike", - "namePointer": "ItemNameCacneaSpike", + "name": "ItemNameCacneaSpike", "buyPrice": 10, "sellPrice": 5, - "type": "ITEM_TYPE_THROWABLE", - "icon": 0, - "descriptionPointer": "ItemDescriptionSpike", + "category": "CATEGORY_THROWN_LINE", + "spriteID": 0, + "description": "ItemDescriptionSpike", "aiFlags": [ false, false, @@ -113,17 +107,16 @@ 5, 5 ], - "palette": 10, - "category": "ITEM_CATEGORY_THROWABLE" + "paletteID": 10, + "actionType": "ITEM_ACTION_TYPE_THROWABLE" }, { - "name": "Corsola Twig", - "namePointer": "ItemNameCorsolaTwig", + "name": "ItemNameCorsolaTwig", "buyPrice": 12, "sellPrice": 6, - "type": "ITEM_TYPE_THROWABLE", - "icon": 0, - "descriptionPointer": "ItemDescriptionSpike", + "category": "CATEGORY_THROWN_LINE", + "spriteID": 0, + "description": "ItemDescriptionSpike", "aiFlags": [ false, false, @@ -134,17 +127,16 @@ 5, 5 ], - "palette": 4, - "category": "ITEM_CATEGORY_THROWABLE" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_THROWABLE" }, { - "name": "Gravelerock", - "namePointer": "ItemNameGravelerock", + "name": "ItemNameGravelerock", "buyPrice": 10, "sellPrice": 5, - "type": "ITEM_TYPE_ROCK", - "icon": 1, - "descriptionPointer": "ItemDescriptionRock", + "category": "CATEGORY_THROWN_ARC", + "spriteID": 1, + "description": "ItemDescriptionRock", "aiFlags": [ false, false, @@ -155,17 +147,16 @@ 3, 5 ], - "palette": 11, - "category": "ITEM_CATEGORY_ROCKS" + "paletteID": 11, + "actionType": "ITEM_ACTION_TYPE_ROCKS" }, { - "name": "Geo Pebble", - "namePointer": "ItemNameGeoPebble", + "name": "ItemNameGeoPebble", "buyPrice": 5, "sellPrice": 5, - "type": "ITEM_TYPE_ROCK", - "icon": 1, - "descriptionPointer": "ItemDescriptionRock", + "category": "CATEGORY_THROWN_ARC", + "spriteID": 1, + "description": "ItemDescriptionRock", "aiFlags": [ false, false, @@ -176,3062 +167,2831 @@ 7, 10 ], - "palette": 11, - "category": "ITEM_CATEGORY_ROCKS" + "paletteID": 11, + "actionType": "ITEM_ACTION_TYPE_ROCKS" }, { - "name": "Mobile Scarf", - "namePointer": "ItemNameMobileScarf", + "name": "ItemNameMobileScarf", "buyPrice": 1000, "sellPrice": 300, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionMobileScarf", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionMobileScarf", "order": 4, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Heal Ribbon", - "namePointer": "ItemNameHealRibbon", + "name": "ItemNameHealRibbon", "buyPrice": 1100, "sellPrice": 350, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionHealRibbon", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionHealRibbon", "order": 14, - "palette": 4, - "category": "ITEM_CATEGORY_RIBBONS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_RIBBONS" }, { - "name": "Twist Band", - "namePointer": "ItemNameTwistBand", + "name": "ItemNameTwistBand", "buyPrice": 1200, "sellPrice": 400, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionTwistBand", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionTwistBand", "order": 32, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Scope Lens", - "namePointer": "ItemNameScopeLens", + "name": "ItemNameScopeLens", "buyPrice": 1300, "sellPrice": 450, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 13, - "descriptionPointer": "ItemDescriptionScopeLens", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 13, + "description": "ItemDescriptionScopeLens", "order": 42, - "palette": 4, - "category": "ITEM_CATEGORY_SPECS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SPECS" }, { - "name": "Patsy Band", - "namePointer": "ItemNamePatsyBand", + "name": "ItemNamePatsyBand", "buyPrice": 50, "sellPrice": 25, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionPatsyBand", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionPatsyBand", "aiFlags": [ false, false, true ], "order": 28, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "No-Stick Cap", - "namePointer": "ItemNameNoStickCap", + "name": "ItemNameNoStickCap", "buyPrice": 1500, "sellPrice": 550, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionNoStickCap", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionNoStickCap", "order": 33, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Pierce Band", - "namePointer": "ItemNamePierceBand", + "name": "ItemNamePierceBand", "buyPrice": 1600, "sellPrice": 600, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionPierceBand", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionPierceBand", "order": 22, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Joy Ribbon", - "namePointer": "ItemNameJoyRibbon", + "name": "ItemNameJoyRibbon", "buyPrice": 5000, "sellPrice": 2000, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionJoyRibbon", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionJoyRibbon", "order": 15, - "palette": 4, - "category": "ITEM_CATEGORY_RIBBONS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_RIBBONS" }, { - "name": "X-Ray Specs", - "namePointer": "ItemNameXRaySpecs", + "name": "ItemNameXRaySpecs", "buyPrice": 4000, "sellPrice": 2000, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 13, - "descriptionPointer": "ItemDescriptionXRaySpecs", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 13, + "description": "ItemDescriptionXRaySpecs", "order": 44, - "palette": 9, - "category": "ITEM_CATEGORY_SPECS" + "paletteID": 9, + "actionType": "ITEM_ACTION_TYPE_SPECS" }, { - "name": "Persim Band", - "namePointer": "ItemNamePersimBand", + "name": "ItemNamePersimBand", "buyPrice": 1500, "sellPrice": 750, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionPersimBand", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionPersimBand", "order": 29, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Power Band", - "namePointer": "ItemNamePowerBand", + "name": "ItemNamePowerBand", "buyPrice": 500, "sellPrice": 250, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionPowerBand", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionPowerBand", "order": 23, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Pecha Scarf", - "namePointer": "ItemNamePechaScarf", + "name": "ItemNamePechaScarf", "buyPrice": 1200, "sellPrice": 500, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionPechaScarf", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionPechaScarf", "order": 6, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Insomniscope", - "namePointer": "ItemNameInsomniscope", + "name": "ItemNameInsomniscope", "buyPrice": 1200, "sellPrice": 500, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 13, - "descriptionPointer": "ItemDescriptionInsomniscope", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 13, + "description": "ItemDescriptionInsomniscope", "order": 37, - "palette": 9, - "category": "ITEM_CATEGORY_SPECS" + "paletteID": 9, + "actionType": "ITEM_ACTION_TYPE_SPECS" }, { - "name": "Warp Scarf", - "namePointer": "ItemNameWarpScarf", + "name": "ItemNameWarpScarf", "buyPrice": 50, "sellPrice": 25, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionWarpScarf", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionWarpScarf", "order": 9, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Tight Belt", - "namePointer": "ItemNameTightBelt", + "name": "ItemNameTightBelt", "buyPrice": 5000, "sellPrice": 1000, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionTightBelt", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionTightBelt", "order": 31, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Sneak Scarf", - "namePointer": "ItemNameSneakScarf", + "name": "ItemNameSneakScarf", "buyPrice": 2500, "sellPrice": 1000, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionSneakScarf", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionSneakScarf", "order": 7, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Gold Ribbon", - "namePointer": "ItemNameGoldRibbon", + "name": "ItemNameGoldRibbon", "buyPrice": 3000, "sellPrice": 2000, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionGoldRibbon", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionGoldRibbon", "order": 13, - "palette": 4, - "category": "ITEM_CATEGORY_RIBBONS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_RIBBONS" }, { - "name": "Goggle Specs", - "namePointer": "ItemNameGoggleSpecs", + "name": "ItemNameGoggleSpecs", "buyPrice": 1500, "sellPrice": 500, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 13, - "descriptionPointer": "ItemDescriptionGoggleSpecs", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 13, + "description": "ItemDescriptionGoggleSpecs", "order": 40, - "palette": 9, - "category": "ITEM_CATEGORY_SPECS" + "paletteID": 9, + "actionType": "ITEM_ACTION_TYPE_SPECS" }, { - "name": "Diet Ribbon", - "namePointer": "ItemNameDietRibbon", + "name": "ItemNameDietRibbon", "buyPrice": 50, "sellPrice": 25, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionDietRibbon", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionDietRibbon", "aiFlags": [ false, false, true ], "order": 11, - "palette": 4, - "category": "ITEM_CATEGORY_RIBBONS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_RIBBONS" }, { - "name": "Trap Scarf", - "namePointer": "ItemNameTrapScarf", + "name": "ItemNameTrapScarf", "buyPrice": 5000, "sellPrice": 1500, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionTrapScarf", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionTrapScarf", "order": 8, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Racket Band", - "namePointer": "ItemNameRacketBand", + "name": "ItemNameRacketBand", "buyPrice": 3000, "sellPrice": 1300, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionRacketBand", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionRacketBand", "order": 30, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Def. Scarf", - "namePointer": "ItemNameDefScarf", + "name": "ItemNameDefScarf", "buyPrice": 3000, "sellPrice": 1350, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionDefScarf", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionDefScarf", "order": 2, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Stamina Band", - "namePointer": "ItemNameStaminaBand", + "name": "ItemNameStaminaBand", "buyPrice": 3200, "sellPrice": 1400, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionStaminaBand", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionStaminaBand", "order": 19, - "palette": 4, - "category": "ITEM_CATEGORY_RIBBONS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_RIBBONS" }, { - "name": "Plain Ribbon", - "namePointer": "ItemNamePlainRibbon", + "name": "ItemNamePlainRibbon", "buyPrice": 50, "sellPrice": 25, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionPlainRibbon", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionPlainRibbon", "order": 17, - "palette": 4, - "category": "ITEM_CATEGORY_RIBBONS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_RIBBONS" }, { - "name": "Special Band", - "namePointer": "ItemNameSpecialBand", + "name": "ItemNameSpecialBand", "buyPrice": 5000, "sellPrice": 1500, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionSpecialBand", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionSpecialBand", "order": 18, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Zinc Band", - "namePointer": "ItemNameZincBand", + "name": "ItemNameZincBand", "buyPrice": 5000, "sellPrice": 1500, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionZincBand", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionZincBand", "order": 25, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Detect Band", - "namePointer": "ItemNameDetectBand", + "name": "ItemNameDetectBand", "buyPrice": 5000, "sellPrice": 1500, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionDetectBand", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionDetectBand", "order": 26, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Alert Specs", - "namePointer": "ItemNameAlertSpecs", + "name": "ItemNameAlertSpecs", "buyPrice": 4000, "sellPrice": 2000, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 13, - "descriptionPointer": "ItemDescriptionAlertSpecs", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 13, + "description": "ItemDescriptionAlertSpecs", "order": 39, - "palette": 9, - "category": "ITEM_CATEGORY_SPECS" + "paletteID": 9, + "actionType": "ITEM_ACTION_TYPE_SPECS" }, { - "name": "Dodge Scarf", - "namePointer": "ItemNameDodgeScarf", + "name": "ItemNameDodgeScarf", "buyPrice": 5000, "sellPrice": 2500, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionDodgeScarf", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionDodgeScarf", "order": 3, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Bounce Band", - "namePointer": "ItemNameBounceBand", + "name": "ItemNameBounceBand", "buyPrice": 3500, "sellPrice": 1500, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionBounceBand", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionBounceBand", "order": 10, - "palette": 4, - "category": "ITEM_CATEGORY_RIBBONS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_RIBBONS" }, { - "name": "Curve Band", - "namePointer": "ItemNameCurveBand", + "name": "ItemNameCurveBand", "buyPrice": 50, "sellPrice": 25, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionCurveBand", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionCurveBand", "order": 21, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Whiff Specs", - "namePointer": "ItemNameWhiffSpecs", + "name": "ItemNameWhiffSpecs", "buyPrice": 50, "sellPrice": 25, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 13, - "descriptionPointer": "ItemDescriptionWhiffSpecs", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 13, + "description": "ItemDescriptionWhiffSpecs", "aiFlags": [ false, false, true ], "order": 43, - "palette": 9, - "category": "ITEM_CATEGORY_SPECS" + "paletteID": 9, + "actionType": "ITEM_ACTION_TYPE_SPECS" }, { - "name": "No-Aim Scope", - "namePointer": "ItemNameNoAimScope", + "name": "ItemNameNoAimScope", "buyPrice": 100, "sellPrice": 50, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 13, - "descriptionPointer": "ItemDescriptionNoAimScope", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 13, + "description": "ItemDescriptionNoAimScope", "aiFlags": [ false, false, true ], "order": 38, - "palette": 9, - "category": "ITEM_CATEGORY_SPECS" + "paletteID": 9, + "actionType": "ITEM_ACTION_TYPE_SPECS" }, { - "name": "Lockon Specs", - "namePointer": "ItemNameLockonSpecs", + "name": "ItemNameLockonSpecs", "buyPrice": 4000, "sellPrice": 1500, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 13, - "descriptionPointer": "ItemDescriptionLockonSpecs", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 13, + "description": "ItemDescriptionLockonSpecs", "order": 41, - "palette": 9, - "category": "ITEM_CATEGORY_SPECS" + "paletteID": 9, + "actionType": "ITEM_ACTION_TYPE_SPECS" }, { - "name": "Munch Belt", - "namePointer": "ItemNameMunchBelt", + "name": "ItemNameMunchBelt", "buyPrice": 4000, "sellPrice": 1500, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionMunchBelt", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionMunchBelt", "order": 27, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Pass Scarf", - "namePointer": "ItemNamePassScarf", + "name": "ItemNamePassScarf", "buyPrice": 4000, "sellPrice": 1500, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionPassScarf", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionPassScarf", "order": 5, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Weather Band", - "namePointer": "ItemNameWeatherBand", + "name": "ItemNameWeatherBand", "buyPrice": 4000, "sellPrice": 1500, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionWeatherBand", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionWeatherBand", "order": 24, - "palette": 4, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Friend Bow", - "namePointer": "ItemNameFriendBow", + "name": "ItemNameFriendBow", "buyPrice": 5000, "sellPrice": 500, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionFriendBow", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionFriendBow", "order": 12, - "palette": 4, - "category": "ITEM_CATEGORY_RIBBONS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_RIBBONS" }, { - "name": "Beauty Scarf", - "namePointer": "ItemNameBeautyScarf", + "name": "ItemNameBeautyScarf", "buyPrice": 9000, "sellPrice": 5000, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionBeautyScarf", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionBeautyScarf", "order": 1, - "palette": 10, - "category": "ITEM_CATEGORY_SCARFS" + "paletteID": 10, + "actionType": "ITEM_ACTION_TYPE_SCARFS" }, { - "name": "Sun Ribbon", - "namePointer": "ItemNameSunRibbon", + "name": "ItemNameSunRibbon", "buyPrice": 5000, "sellPrice": 1500, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionSunRibbon", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionSunRibbon", "order": 20, - "palette": 3, - "category": "ITEM_CATEGORY_RIBBONS" + "paletteID": 3, + "actionType": "ITEM_ACTION_TYPE_RIBBONS" }, { - "name": "Lunar Ribbon", - "namePointer": "ItemNameLunarRibbon", + "name": "ItemNameLunarRibbon", "buyPrice": 5000, "sellPrice": 1500, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionLunarRibbon", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionLunarRibbon", "order": 16, - "palette": 0, - "category": "ITEM_CATEGORY_RIBBONS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_RIBBONS" }, { - "name": "Ring D", - "namePointer": "ItemNameRingD", + "name": "ItemNameRingD", "buyPrice": 5100, "sellPrice": 1500, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionRingD", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionRingD", "order": 34, - "palette": 4, - "category": "ITEM_CATEGORY_RIBBONS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_RIBBONS" }, { - "name": "Ring E", - "namePointer": "ItemNameRingE", + "name": "ItemNameRingE", "buyPrice": 5200, "sellPrice": 1500, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionRingE", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionRingE", "order": 35, - "palette": 4, - "category": "ITEM_CATEGORY_RIBBONS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_RIBBONS" }, { - "name": "Ring F", - "namePointer": "ItemNameRingF", + "name": "ItemNameRingF", "buyPrice": 5300, "sellPrice": 1500, - "type": "ITEM_TYPE_HOLD_ITEM", - "icon": 4, - "descriptionPointer": "ItemDescriptionRingF", + "category": "CATEGORY_HELD_ITEMS", + "spriteID": 4, + "description": "ItemDescriptionRingF", "order": 36, - "palette": 4, - "category": "ITEM_CATEGORY_RIBBONS" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_RIBBONS" }, { - "name": "Heal Seed", - "namePointer": "ItemNameHealSeed", + "name": "ItemNameHealSeed", "buyPrice": 250, "sellPrice": 120, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 14, - "descriptionPointer": "ItemDescriptionHealSeed", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 14, + "description": "ItemDescriptionHealSeed", "aiFlags": [ true, true, false ], "order": 87, - "palette": 4, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Wish Stone", - "namePointer": "ItemNameWishStone", + "name": "ItemNameWishStone", "buyPrice": 4, "sellPrice": 2, - "type": "ITEM_TYPE_MISC", - "icon": 7, - "descriptionPointer": "ItemDescriptionWishStone", + "category": "CATEGORY_OTHER", + "spriteID": 7, + "description": "ItemDescriptionWishStone", "order": 110, - "palette": 6, - "category": "ITEM_CATEGORY_MONEY_WISH_STONE" + "paletteID": 6, + "actionType": "ITEM_ACTION_TYPE_MONEY_WISH_STONE" }, { - "name": "Oran Berry", - "namePointer": "ItemNameOranBerry", + "name": "ItemNameOranBerry", "buyPrice": 50, "sellPrice": 25, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 2, - "descriptionPointer": "ItemDescriptionOranBerry", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 2, + "description": "ItemDescriptionOranBerry", "aiFlags": [ true, true, false ], "order": 78, - "palette": 0, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Sitrus Berry", - "namePointer": "ItemNameSitrusBerry", + "name": "ItemNameSitrusBerry", "buyPrice": 4000, "sellPrice": 100, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 2, - "descriptionPointer": "ItemDescriptionSitrusBerry", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 2, + "description": "ItemDescriptionSitrusBerry", "aiFlags": [ true, true, false ], "order": 81, - "palette": 3, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 3, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Eyedrop Seed", - "namePointer": "ItemNameEyedropSeed", + "name": "ItemNameEyedropSeed", "buyPrice": 60, "sellPrice": 20, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 14, - "descriptionPointer": "ItemDescriptionEyedropSeed", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 14, + "description": "ItemDescriptionEyedropSeed", "aiFlags": [ true, true, false ], "order": 86, - "palette": 4, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Reviver Seed", - "namePointer": "ItemNameReviverSeed", + "name": "ItemNameReviverSeed", "buyPrice": 800, "sellPrice": 150, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 14, - "descriptionPointer": "ItemDescriptionReviverSeed", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 14, + "description": "ItemDescriptionReviverSeed", "order": 93, - "palette": 4, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Blinker Seed", - "namePointer": "ItemNameBlinkerSeed", + "name": "ItemNameBlinkerSeed", "buyPrice": 50, "sellPrice": 20, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 14, - "descriptionPointer": "ItemDescriptionBlinkerSeed", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 14, + "description": "ItemDescriptionBlinkerSeed", "aiFlags": [ false, false, true ], "order": 84, - "palette": 4, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Doom Seed", - "namePointer": "ItemNameDoomSeed", + "name": "ItemNameDoomSeed", "buyPrice": 20, "sellPrice": 5, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 14, - "descriptionPointer": "ItemDescriptionDoomSeed", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 14, + "description": "ItemDescriptionDoomSeed", "aiFlags": [ false, false, true ], "order": 85, - "palette": 4, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Allure Seed", - "namePointer": "ItemNameAllureSeed", + "name": "ItemNameAllureSeed", "buyPrice": 60, "sellPrice": 30, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 14, - "descriptionPointer": "ItemDescriptionAllureSeed", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 14, + "description": "ItemDescriptionAllureSeed", "aiFlags": [ false, false, true ], "order": 82, - "palette": 4, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Life Seed", - "namePointer": "ItemNameLifeSeed", + "name": "ItemNameLifeSeed", "buyPrice": 1000, "sellPrice": 50, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 14, - "descriptionPointer": "ItemDescriptionLifeSeed", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 14, + "description": "ItemDescriptionLifeSeed", "aiFlags": [ true, false, false ], "order": 90, - "palette": 4, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Rawst Berry", - "namePointer": "ItemNameRawstBerry", + "name": "ItemNameRawstBerry", "buyPrice": 150, "sellPrice": 20, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 2, - "descriptionPointer": "ItemDescriptionRawstBerry", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 2, + "description": "ItemDescriptionRawstBerry", "aiFlags": [ true, true, false ], "order": 80, - "palette": 10, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 10, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Hunger Seed", - "namePointer": "ItemNameHungerSeed", + "name": "ItemNameHungerSeed", "buyPrice": 50, "sellPrice": 20, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 14, - "descriptionPointer": "ItemDescriptionHungerSeed", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 14, + "description": "ItemDescriptionHungerSeed", "aiFlags": [ false, false, true ], "order": 88, - "palette": 4, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Quick Seed", - "namePointer": "ItemNameQuickSeed", + "name": "ItemNameQuickSeed", "buyPrice": 30, "sellPrice": 15, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 14, - "descriptionPointer": "ItemDescriptionQuickSeed", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 14, + "description": "ItemDescriptionQuickSeed", "aiFlags": [ true, true, false ], "order": 92, - "palette": 4, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Pecha Berry", - "namePointer": "ItemNamePechaBerry", + "name": "ItemNamePechaBerry", "buyPrice": 80, "sellPrice": 5, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 2, - "descriptionPointer": "ItemDescriptionPechaBerry", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 2, + "description": "ItemDescriptionPechaBerry", "aiFlags": [ true, true, false ], "order": 79, - "palette": 4, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Cheri Berry", - "namePointer": "ItemNameCheriBerry", + "name": "ItemNameCheriBerry", "buyPrice": 120, "sellPrice": 20, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 2, - "descriptionPointer": "ItemDescriptionCheriBerry", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 2, + "description": "ItemDescriptionCheriBerry", "aiFlags": [ true, true, false ], "order": 76, - "palette": 6, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 6, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Totter Seed", - "namePointer": "ItemNameTotterSeed", + "name": "ItemNameTotterSeed", "buyPrice": 60, "sellPrice": 30, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 14, - "descriptionPointer": "ItemDescriptionTotterSeed", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 14, + "description": "ItemDescriptionTotterSeed", "aiFlags": [ false, false, true ], "order": 96, - "palette": 4, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Sleep Seed", - "namePointer": "ItemNameSleepSeed", + "name": "ItemNameSleepSeed", "buyPrice": 70, "sellPrice": 35, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 14, - "descriptionPointer": "ItemDescriptionSleepSeed", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 14, + "description": "ItemDescriptionSleepSeed", "aiFlags": [ false, false, true ], "order": 94, - "palette": 4, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Plain Seed", - "namePointer": "ItemNamePlainSeed", + "name": "ItemNamePlainSeed", "buyPrice": 6, "sellPrice": 1, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 14, - "descriptionPointer": "ItemDescriptionPlainSeed", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 14, + "description": "ItemDescriptionPlainSeed", "order": 91, - "palette": 4, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Warp Seed", - "namePointer": "ItemNameWarpSeed", + "name": "ItemNameWarpSeed", "buyPrice": 20, "sellPrice": 10, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 14, - "descriptionPointer": "ItemDescriptionWarpSeed", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 14, + "description": "ItemDescriptionWarpSeed", "aiFlags": [ false, false, true ], "order": 97, - "palette": 4, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Blast Seed", - "namePointer": "ItemNameBlastSeed", + "name": "ItemNameBlastSeed", "buyPrice": 30, "sellPrice": 15, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 14, - "descriptionPointer": "ItemDescriptionBlastSeed", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 14, + "description": "ItemDescriptionBlastSeed", "aiFlags": [ false, false, true ], "order": 83, - "palette": 4, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Ginseng", - "namePointer": "ItemNameGinseng", + "name": "ItemNameGinseng", "buyPrice": 2600, "sellPrice": 1000, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 12, - "descriptionPointer": "ItemDescriptionGinseng", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 12, + "description": "ItemDescriptionGinseng", "order": 99, - "palette": 8, - "category": "ITEM_CATEGORY_HEALING" + "paletteID": 8, + "actionType": "ITEM_ACTION_TYPE_HEALING" }, { - "name": "Joy Seed", - "namePointer": "ItemNameJoySeed", + "name": "ItemNameJoySeed", "buyPrice": 3000, "sellPrice": 1000, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 14, - "descriptionPointer": "ItemDescriptionJoySeed", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 14, + "description": "ItemDescriptionJoySeed", "aiFlags": [ true, true, false ], "order": 89, - "palette": 4, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Chesto Berry", - "namePointer": "ItemNameChestoBerry", + "name": "ItemNameChestoBerry", "buyPrice": 30, "sellPrice": 15, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 2, - "descriptionPointer": "ItemDescriptionChestoBerry", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 2, + "description": "ItemDescriptionChestoBerry", "aiFlags": [ true, true, false ], "order": 77, - "palette": 2, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 2, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Stun Seed", - "namePointer": "ItemNameStunSeed", + "name": "ItemNameStunSeed", "buyPrice": 50, "sellPrice": 25, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 14, - "descriptionPointer": "ItemDescriptionStunSeed", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 14, + "description": "ItemDescriptionStunSeed", "aiFlags": [ false, false, true ], "order": 95, - "palette": 4, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Max Elixir", - "namePointer": "ItemNameMaxElixir", + "name": "ItemNameMaxElixir", "buyPrice": 250, "sellPrice": 100, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 12, - "descriptionPointer": "ItemDescriptionMaxElixir", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 12, + "description": "ItemDescriptionMaxElixir", "aiFlags": [ true, true, false ], "order": 101, - "palette": 8, - "category": "ITEM_CATEGORY_HEALING" + "paletteID": 8, + "actionType": "ITEM_ACTION_TYPE_HEALING" }, { - "name": "Protein", - "namePointer": "ItemNameProtein", + "name": "ItemNameProtein", "buyPrice": 5000, "sellPrice": 5, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 12, - "descriptionPointer": "ItemDescriptionProtein", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 12, + "description": "ItemDescriptionProtein", "aiFlags": [ true, true, false ], "order": 102, - "palette": 8, - "category": "ITEM_CATEGORY_HEALING" + "paletteID": 8, + "actionType": "ITEM_ACTION_TYPE_HEALING" }, { - "name": "Calcium", - "namePointer": "ItemNameCalcium", + "name": "ItemNameCalcium", "buyPrice": 6000, "sellPrice": 5, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 12, - "descriptionPointer": "ItemDescriptionCalcium", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 12, + "description": "ItemDescriptionCalcium", "aiFlags": [ true, true, false ], "order": 98, - "palette": 8, - "category": "ITEM_CATEGORY_HEALING" + "paletteID": 8, + "actionType": "ITEM_ACTION_TYPE_HEALING" }, { - "name": "Iron", - "namePointer": "ItemNameIron", + "name": "ItemNameIron", "buyPrice": 7000, "sellPrice": 5, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 12, - "descriptionPointer": "ItemDescriptionIron", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 12, + "description": "ItemDescriptionIron", "aiFlags": [ true, true, false ], "order": 100, - "palette": 8, - "category": "ITEM_CATEGORY_HEALING" + "paletteID": 8, + "actionType": "ITEM_ACTION_TYPE_HEALING" }, { - "name": "Zinc", - "namePointer": "ItemNameZinc", + "name": "ItemNameZinc", "buyPrice": 8000, "sellPrice": 5, - "type": "ITEM_TYPE_BERRY_SEED", - "icon": 12, - "descriptionPointer": "ItemDescriptionZinc", + "category": "CATEGORY_BERRIES_SEEDS_VITAMINS", + "spriteID": 12, + "description": "ItemDescriptionZinc", "aiFlags": [ true, true, false ], "order": 103, - "palette": 8, - "category": "ITEM_CATEGORY_HEALING" + "paletteID": 8, + "actionType": "ITEM_ACTION_TYPE_HEALING" }, { - "name": "Apple", - "namePointer": "ItemNameApple", + "name": "ItemNameApple", "buyPrice": 25, "sellPrice": 1, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 3, - "descriptionPointer": "ItemDescriptionApple", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 3, + "description": "ItemDescriptionApple", "aiFlags": [ true, true, false ], "order": 53, - "palette": 3, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 3, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Big Apple", - "namePointer": "ItemNameBigApple", + "name": "ItemNameBigApple", "buyPrice": 50, "sellPrice": 1, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 3, - "descriptionPointer": "ItemDescriptionBigApple", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 3, + "description": "ItemDescriptionBigApple", "aiFlags": [ true, true, false ], "order": 55, - "palette": 3, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 3, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Grimy Food", - "namePointer": "ItemNameGrimyFood", + "name": "ItemNameGrimyFood", "buyPrice": 5, "sellPrice": 1, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 1, - "descriptionPointer": "ItemDescriptionGrimyFood", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 1, + "description": "ItemDescriptionGrimyFood", "aiFlags": [ false, false, true ], "order": 57, - "palette": 9, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 9, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Huge Apple", - "namePointer": "ItemNameHugeApple", + "name": "ItemNameHugeApple", "buyPrice": 100, "sellPrice": 50, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 3, - "descriptionPointer": "ItemDescriptionHugeApple", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 3, + "description": "ItemDescriptionHugeApple", "aiFlags": [ true, true, false ], "order": 58, - "palette": 3, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 3, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "White Gummi", - "namePointer": "ItemNameWhiteGummi", + "name": "ItemNameWhiteGummi", "buyPrice": 200, "sellPrice": 50, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 17, - "descriptionPointer": "ItemDescriptionWhiteGummi", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 17, + "description": "ItemDescriptionWhiteGummi", "order": 74, - "palette": 11, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 11, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Red Gummi", - "namePointer": "ItemNameRedGummi", + "name": "ItemNameRedGummi", "buyPrice": 200, "sellPrice": 50, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 17, - "descriptionPointer": "ItemDescriptionRedGummi", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 17, + "description": "ItemDescriptionRedGummi", "order": 70, - "palette": 6, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 6, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Blue Gummi", - "namePointer": "ItemNameBlueGummi", + "name": "ItemNameBlueGummi", "buyPrice": 200, "sellPrice": 50, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 17, - "descriptionPointer": "ItemDescriptionBlueGummi", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 17, + "description": "ItemDescriptionBlueGummi", "order": 60, - "palette": 0, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Grass Gummi", - "namePointer": "ItemNameGrassGummi", + "name": "ItemNameGrassGummi", "buyPrice": 200, "sellPrice": 50, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 17, - "descriptionPointer": "ItemDescriptionGrassGummi", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 17, + "description": "ItemDescriptionGrassGummi", "order": 64, - "palette": 10, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 10, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Yellow Gummi", - "namePointer": "ItemNameYellowGummi", + "name": "ItemNameYellowGummi", "buyPrice": 200, "sellPrice": 50, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 17, - "descriptionPointer": "ItemDescriptionYellowGummi", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 17, + "description": "ItemDescriptionYellowGummi", "order": 75, - "palette": 3, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 3, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Clear Gummi", - "namePointer": "ItemNameClearGummi", + "name": "ItemNameClearGummi", "buyPrice": 200, "sellPrice": 50, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 17, - "descriptionPointer": "ItemDescriptionClearGummi", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 17, + "description": "ItemDescriptionClearGummi", "order": 62, - "palette": 11, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 11, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Orange Gummi", - "namePointer": "ItemNameOrangeGummi", + "name": "ItemNameOrangeGummi", "buyPrice": 200, "sellPrice": 50, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 17, - "descriptionPointer": "ItemDescriptionOrangeGummi", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 17, + "description": "ItemDescriptionOrangeGummi", "order": 67, - "palette": 9, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 9, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Pink Gummi", - "namePointer": "ItemNamePinkGummi", + "name": "ItemNamePinkGummi", "buyPrice": 1500, "sellPrice": 50, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 17, - "descriptionPointer": "ItemDescriptionPinkGummi", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 17, + "description": "ItemDescriptionPinkGummi", "order": 68, - "palette": 4, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 4, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Brown Gummi", - "namePointer": "ItemNameBrownGummi", + "name": "ItemNameBrownGummi", "buyPrice": 200, "sellPrice": 50, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 17, - "descriptionPointer": "ItemDescriptionBrownGummi", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 17, + "description": "ItemDescriptionBrownGummi", "order": 61, - "palette": 8, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 8, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Sky Gummi", - "namePointer": "ItemNameSkyGummi", + "name": "ItemNameSkyGummi", "buyPrice": 200, "sellPrice": 50, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 17, - "descriptionPointer": "ItemDescriptionSkyGummi", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 17, + "description": "ItemDescriptionSkyGummi", "order": 73, - "palette": 0, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Gold Gummi", - "namePointer": "ItemNameGoldGummi", + "name": "ItemNameGoldGummi", "buyPrice": 200, "sellPrice": 50, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 17, - "descriptionPointer": "ItemDescriptionGoldGummi", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 17, + "description": "ItemDescriptionGoldGummi", "order": 63, - "palette": 3, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 3, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Green Gummi", - "namePointer": "ItemNameGreenGummi", + "name": "ItemNameGreenGummi", "buyPrice": 200, "sellPrice": 50, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 17, - "descriptionPointer": "ItemDescriptionGreenGummi", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 17, + "description": "ItemDescriptionGreenGummi", "order": 66, - "palette": 10, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 10, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Gray Gummi", - "namePointer": "ItemNameGrayGummi", + "name": "ItemNameGrayGummi", "buyPrice": 200, "sellPrice": 50, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 17, - "descriptionPointer": "ItemDescriptionGrayGummi", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 17, + "description": "ItemDescriptionGrayGummi", "order": 65, - "palette": 11, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 11, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Purple Gummi", - "namePointer": "ItemNamePurpleGummi", + "name": "ItemNamePurpleGummi", "buyPrice": 200, "sellPrice": 50, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 17, - "descriptionPointer": "ItemDescriptionPurpleGummi", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 17, + "description": "ItemDescriptionPurpleGummi", "order": 69, - "palette": 7, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 7, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Royal Gummi", - "namePointer": "ItemNameRoyalGummi", + "name": "ItemNameRoyalGummi", "buyPrice": 200, "sellPrice": 50, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 17, - "descriptionPointer": "ItemDescriptionRoyalGummi", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 17, + "description": "ItemDescriptionRoyalGummi", "order": 71, - "palette": 2, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 2, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Black Gummi", - "namePointer": "ItemNameBlackGummi", + "name": "ItemNameBlackGummi", "buyPrice": 200, "sellPrice": 50, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 17, - "descriptionPointer": "ItemDescriptionBlackGummi", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 17, + "description": "ItemDescriptionBlackGummi", "order": 59, - "palette": 2, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 2, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Silver Gummi", - "namePointer": "ItemNameSilverGummi", + "name": "ItemNameSilverGummi", "buyPrice": 1000, "sellPrice": 500, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 17, - "descriptionPointer": "ItemDescriptionSilverGummi", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 17, + "description": "ItemDescriptionSilverGummi", "order": 72, - "palette": 11, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 11, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Banana", - "namePointer": "ItemNameBanana", + "name": "ItemNameBanana", "buyPrice": 9000, "sellPrice": 5000, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 19, - "descriptionPointer": "ItemDescriptionBanana", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 19, + "description": "ItemDescriptionBanana", "aiFlags": [ true, true, false ], "order": 54, - "palette": 0, - "category": "ITEM_CATEGORY_FOOD" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_FOOD" }, { - "name": "Chestnut", - "namePointer": "ItemNameChestnut", + "name": "ItemNameChestnut", "buyPrice": 3, "sellPrice": 1, - "type": "ITEM_TYPE_APPLE_GUMMI", - "icon": 11, - "descriptionPointer": "ItemDescriptionChestnut", + "category": "CATEGORY_FOOD_GUMMIES", + "spriteID": 11, + "description": "ItemDescriptionChestnut", "order": 56, - "palette": 6, - "category": "ITEM_CATEGORY_CHESTNUT" + "paletteID": 6, + "actionType": "ITEM_ACTION_TYPE_CHESTNUT" }, { - "name": "Poké", - "namePointer": "ItemNamePoke", + "name": "ItemNamePoke", "buyPrice": 0, "sellPrice": 0, - "type": "ITEM_TYPE_MONEY", - "icon": 6, - "descriptionPointer": "ItemDescriptionPoke", + "category": "CATEGORY_POKE", + "spriteID": 6, + "description": "ItemDescriptionPoke", "order": 239, - "palette": 3, - "category": "ITEM_CATEGORY_MONEY_WISH_STONE" + "paletteID": 3, + "actionType": "ITEM_ACTION_TYPE_MONEY_WISH_STONE" }, { - "name": "Upgrade", - "namePointer": "ItemNameUpgrade", + "name": "ItemNameUpgrade", "buyPrice": 3000, "sellPrice": 1, - "type": "ITEM_TYPE_MISC", - "icon": 5, - "descriptionPointer": "ItemDescriptionEvolutionItemSingle", + "category": "CATEGORY_OTHER", + "spriteID": 5, + "description": "ItemDescriptionEvolutionItemSingle", "order": 117, - "palette": 2, - "category": "ITEM_CATEGORY_MISC" + "paletteID": 2, + "actionType": "ITEM_ACTION_TYPE_MISC" }, { - "name": "King's Rock", - "namePointer": "ItemNameKingsRock", + "name": "ItemNameKingsRock", "buyPrice": 3000, "sellPrice": 1, - "type": "ITEM_TYPE_MISC", - "icon": 5, - "descriptionPointer": "ItemDescriptionEvolutionItemMulti", + "category": "CATEGORY_OTHER", + "spriteID": 5, + "description": "ItemDescriptionEvolutionItemMulti", "order": 114, - "palette": 1, - "category": "ITEM_CATEGORY_MISC" + "paletteID": 1, + "actionType": "ITEM_ACTION_TYPE_MISC" }, { - "name": "Thunderstone", - "namePointer": "ItemNameThunderstone", + "name": "ItemNameThunderstone", "buyPrice": 3000, "sellPrice": 1, - "type": "ITEM_TYPE_MISC", - "icon": 1, - "descriptionPointer": "ItemDescriptionEvolutionItemMulti", + "category": "CATEGORY_OTHER", + "spriteID": 1, + "description": "ItemDescriptionEvolutionItemMulti", "order": 108, - "palette": 3, - "category": "ITEM_CATEGORY_MISC" + "paletteID": 3, + "actionType": "ITEM_ACTION_TYPE_MISC" }, { - "name": "Deepseascale", - "namePointer": "ItemNameDeepseascale", + "name": "ItemNameDeepseascale", "buyPrice": 3000, "sellPrice": 1, - "type": "ITEM_TYPE_MISC", - "icon": 20, - "descriptionPointer": "ItemDescriptionEvolutionItemSingle", + "category": "CATEGORY_OTHER", + "spriteID": 20, + "description": "ItemDescriptionEvolutionItemSingle", "order": 111, - "palette": 2, - "category": "ITEM_CATEGORY_MISC" + "paletteID": 2, + "actionType": "ITEM_ACTION_TYPE_MISC" }, { - "name": "Deepseatooth", - "namePointer": "ItemNameDeepseatooth", + "name": "ItemNameDeepseatooth", "buyPrice": 3000, "sellPrice": 1, - "type": "ITEM_TYPE_MISC", - "icon": 5, - "descriptionPointer": "ItemDescriptionEvolutionItemSingle", + "category": "CATEGORY_OTHER", + "spriteID": 5, + "description": "ItemDescriptionEvolutionItemSingle", "order": 113, - "palette": 5, - "category": "ITEM_CATEGORY_MISC" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_MISC" }, { - "name": "Sun Stone", - "namePointer": "ItemNameSunStone", + "name": "ItemNameSunStone", "buyPrice": 3000, "sellPrice": 1, - "type": "ITEM_TYPE_MISC", - "icon": 1, - "descriptionPointer": "ItemDescriptionEvolutionItemMulti", + "category": "CATEGORY_OTHER", + "spriteID": 1, + "description": "ItemDescriptionEvolutionItemMulti", "order": 107, - "palette": 3, - "category": "ITEM_CATEGORY_MISC" + "paletteID": 3, + "actionType": "ITEM_ACTION_TYPE_MISC" }, { - "name": "Moon Stone", - "namePointer": "ItemNameMoonStone", + "name": "ItemNameMoonStone", "buyPrice": 3000, "sellPrice": 1, - "type": "ITEM_TYPE_MISC", - "icon": 1, - "descriptionPointer": "ItemDescriptionEvolutionItemMulti", + "category": "CATEGORY_OTHER", + "spriteID": 1, + "description": "ItemDescriptionEvolutionItemMulti", "order": 106, - "palette": 7, - "category": "ITEM_CATEGORY_MISC" + "paletteID": 7, + "actionType": "ITEM_ACTION_TYPE_MISC" }, { - "name": "Fire Stone", - "namePointer": "ItemNameFireStone", + "name": "ItemNameFireStone", "buyPrice": 3000, "sellPrice": 1, - "type": "ITEM_TYPE_MISC", - "icon": 1, - "descriptionPointer": "ItemDescriptionEvolutionItemMulti", + "category": "CATEGORY_OTHER", + "spriteID": 1, + "description": "ItemDescriptionEvolutionItemMulti", "order": 104, - "palette": 6, - "category": "ITEM_CATEGORY_MISC" + "paletteID": 6, + "actionType": "ITEM_ACTION_TYPE_MISC" }, { - "name": "Water Stone", - "namePointer": "ItemNameWaterStone", + "name": "ItemNameWaterStone", "buyPrice": 3000, "sellPrice": 1, - "type": "ITEM_TYPE_MISC", - "icon": 1, - "descriptionPointer": "ItemDescriptionEvolutionItemMulti", + "category": "CATEGORY_OTHER", + "spriteID": 1, + "description": "ItemDescriptionEvolutionItemMulti", "order": 109, - "palette": 0, - "category": "ITEM_CATEGORY_MISC" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_MISC" }, { - "name": "Metal Coat", - "namePointer": "ItemNameMetalCoat", + "name": "ItemNameMetalCoat", "buyPrice": 3000, "sellPrice": 1, - "type": "ITEM_TYPE_MISC", - "icon": 5, - "descriptionPointer": "ItemDescriptionEvolutionItemMulti", + "category": "CATEGORY_OTHER", + "spriteID": 5, + "description": "ItemDescriptionEvolutionItemMulti", "order": 116, - "palette": 7, - "category": "ITEM_CATEGORY_MISC" + "paletteID": 7, + "actionType": "ITEM_ACTION_TYPE_MISC" }, { - "name": "Leaf Stone", - "namePointer": "ItemNameLeafStone", + "name": "ItemNameLeafStone", "buyPrice": 3000, "sellPrice": 1, - "type": "ITEM_TYPE_MISC", - "icon": 1, - "descriptionPointer": "ItemDescriptionEvolutionItemMulti", + "category": "CATEGORY_OTHER", + "spriteID": 1, + "description": "ItemDescriptionEvolutionItemMulti", "order": 105, - "palette": 10, - "category": "ITEM_CATEGORY_MISC" + "paletteID": 10, + "actionType": "ITEM_ACTION_TYPE_MISC" }, { - "name": "Dragon Scale", - "namePointer": "ItemNameDragonScale", + "name": "ItemNameDragonScale", "buyPrice": 3000, "sellPrice": 1, - "type": "ITEM_TYPE_MISC", - "icon": 20, - "descriptionPointer": "ItemDescriptionEvolutionItemSingle", + "category": "CATEGORY_OTHER", + "spriteID": 20, + "description": "ItemDescriptionEvolutionItemSingle", "order": 112, - "palette": 10, - "category": "ITEM_CATEGORY_MISC" + "paletteID": 10, + "actionType": "ITEM_ACTION_TYPE_MISC" }, { - "name": "Link Cable", - "namePointer": "ItemNameLinkCable", + "name": "ItemNameLinkCable", "buyPrice": 3000, "sellPrice": 1, - "type": "ITEM_TYPE_MISC", - "icon": 5, - "descriptionPointer": "ItemDescriptionEvolutionItemMulti", + "category": "CATEGORY_OTHER", + "spriteID": 5, + "description": "ItemDescriptionEvolutionItemMulti", "order": 115, - "palette": 10, - "category": "ITEM_CATEGORY_MISC" + "paletteID": 10, + "actionType": "ITEM_ACTION_TYPE_MISC" }, { - "name": "Ice Part", - "namePointer": "ItemNameIcePart", + "name": "ItemNameIcePart", "buyPrice": 1, "sellPrice": 1, - "type": "ITEM_TYPE_MISC", - "icon": 18, - "descriptionPointer": "ItemDescriptionIcePart", + "category": "CATEGORY_OTHER", + "spriteID": 18, + "description": "ItemDescriptionIcePart", "order": 118, - "palette": 0, - "category": "ITEM_CATEGORY_MISC" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_MISC" }, { - "name": "Steel Part", - "namePointer": "ItemNameSteelPart", + "name": "ItemNameSteelPart", "buyPrice": 1, "sellPrice": 1, - "type": "ITEM_TYPE_MISC", - "icon": 18, - "descriptionPointer": "ItemDescriptionSteelPart", + "category": "CATEGORY_OTHER", + "spriteID": 18, + "description": "ItemDescriptionSteelPart", "order": 122, - "palette": 11, - "category": "ITEM_CATEGORY_MISC" + "paletteID": 11, + "actionType": "ITEM_ACTION_TYPE_MISC" }, { - "name": "Rock Part", - "namePointer": "ItemNameRockPart", + "name": "ItemNameRockPart", "buyPrice": 1, "sellPrice": 1, - "type": "ITEM_TYPE_MISC", - "icon": 18, - "descriptionPointer": "ItemDescriptionRockPart", + "category": "CATEGORY_OTHER", + "spriteID": 18, + "description": "ItemDescriptionRockPart", "order": 121, - "palette": 6, - "category": "ITEM_CATEGORY_MISC" + "paletteID": 6, + "actionType": "ITEM_ACTION_TYPE_MISC" }, { - "name": "Music Box", - "namePointer": "ItemNameMusicBox", + "name": "ItemNameMusicBox", "buyPrice": 1, "sellPrice": 1, - "type": "ITEM_TYPE_MISC", - "icon": 5, - "descriptionPointer": "ItemDescriptionMusicBox", + "category": "CATEGORY_OTHER", + "spriteID": 5, + "description": "ItemDescriptionMusicBox", "order": 120, - "palette": 3, - "category": "ITEM_CATEGORY_MISC" + "paletteID": 3, + "actionType": "ITEM_ACTION_TYPE_MISC" }, { - "name": "Key", - "namePointer": "ItemNameKey", + "name": "ItemNameKey", "buyPrice": 1, "sellPrice": 1, - "type": "ITEM_TYPE_MISC", - "icon": 16, - "descriptionPointer": "ItemDescriptionKey", + "category": "CATEGORY_OTHER", + "spriteID": 16, + "description": "ItemDescriptionKey", "order": 119, - "palette": 5, - "category": "ITEM_CATEGORY_MISC" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_MISC" }, { - "name": "Used TM", - "namePointer": "ItemNameUsedTM", + "name": "ItemNameUsedTM", "buyPrice": 1, "sellPrice": 1, - "type": "ITEM_TYPE_USED_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionUsedTM", + "category": "CATEGORY_USED_TM", + "spriteID": 8, + "description": "ItemDescriptionUsedTM", "order": 123, - "palette": 2, - "category": "ITEM_CATEGORY_TM" + "paletteID": 2, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Focus Punch", - "namePointer": "ItemNameFocusPunch", + "name": "ItemNameFocusPunch", "buyPrice": 5000, "sellPrice": 1000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionFocusPunch", - "move": "MOVE_FOCUS_PUNCH", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionFocusPunch", + "moveID": "MOVE_FOCUS_PUNCH", "order": 142, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Dragon Claw", - "namePointer": "ItemNameDragonClaw", + "name": "ItemNameDragonClaw", "buyPrice": 8000, "sellPrice": 2000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionDragonClaw", - "move": "MOVE_DRAGON_CLAW", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionDragonClaw", + "moveID": "MOVE_DRAGON_CLAW", "order": 134, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Water Pulse", - "namePointer": "ItemNameWaterPulse", + "name": "ItemNameWaterPulse", "buyPrice": 7500, "sellPrice": 2000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionWaterPulse", - "move": "MOVE_WATER_PULSE", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionWaterPulse", + "moveID": "MOVE_WATER_PULSE", "order": 176, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Calm Mind", - "namePointer": "ItemNameCalmMind", + "name": "ItemNameCalmMind", "buyPrice": 8000, "sellPrice": 2000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionCalmMind", - "move": "MOVE_CALM_MIND", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionCalmMind", + "moveID": "MOVE_CALM_MIND", "order": 130, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Roar", - "namePointer": "ItemNameRoar", + "name": "ItemNameRoar", "buyPrice": 1500, "sellPrice": 300, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionRoar", - "move": "MOVE_ROAR", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionRoar", + "moveID": "MOVE_ROAR", "order": 156, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Toxic", - "namePointer": "ItemNameToxic", + "name": "ItemNameToxic", "buyPrice": 6000, "sellPrice": 1500, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionToxic", - "move": "MOVE_TOXIC", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionToxic", + "moveID": "MOVE_TOXIC", "order": 174, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Hail", - "namePointer": "ItemNameHail", + "name": "ItemNameHail", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionHail", - "move": "MOVE_HAIL", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionHail", + "moveID": "MOVE_HAIL", "order": 186, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Bulk Up", - "namePointer": "ItemNameBulkUp", + "name": "ItemNameBulkUp", "buyPrice": 8000, "sellPrice": 2000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionBulkUp", - "move": "MOVE_BULK_UP", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionBulkUp", + "moveID": "MOVE_BULK_UP", "order": 128, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Bullet Seed", - "namePointer": "ItemNameBulletSeed", + "name": "ItemNameBulletSeed", "buyPrice": 6000, "sellPrice": 1500, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionBulletSeed", - "move": "MOVE_BULLET_SEED", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionBulletSeed", + "moveID": "MOVE_BULLET_SEED", "order": 129, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Hidden Power", - "namePointer": "ItemNameHiddenPower", + "name": "ItemNameHiddenPower", "buyPrice": 1500, "sellPrice": 300, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionHiddenPower", - "move": "MOVE_HIDDEN_POWER", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionHiddenPower", + "moveID": "MOVE_HIDDEN_POWER", "order": 145, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Sunny Day", - "namePointer": "ItemNameSunnyDay", + "name": "ItemNameSunnyDay", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionSunnyDay", - "move": "MOVE_SUNNY_DAY", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionSunnyDay", + "moveID": "MOVE_SUNNY_DAY", "order": 221, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Taunt", - "namePointer": "ItemNameTaunt", + "name": "ItemNameTaunt", "buyPrice": 1500, "sellPrice": 300, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionTaunt", - "move": "MOVE_TAUNT", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionTaunt", + "moveID": "MOVE_TAUNT", "order": 169, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Ice Beam", - "namePointer": "ItemNameIceBeam", + "name": "ItemNameIceBeam", "buyPrice": 8000, "sellPrice": 2000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionIceBeam", - "move": "MOVE_ICE_BEAM", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionIceBeam", + "moveID": "MOVE_ICE_BEAM", "order": 147, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Blizzard", - "namePointer": "ItemNameBlizzard", + "name": "ItemNameBlizzard", "buyPrice": 9000, "sellPrice": 3000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionBlizzard", - "move": "MOVE_BLIZZARD", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionBlizzard", + "moveID": "MOVE_BLIZZARD", "order": 126, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Hyper Beam", - "namePointer": "ItemNameHyperBeam", + "name": "ItemNameHyperBeam", "buyPrice": 9000, "sellPrice": 3000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionHyperBeam", - "move": "MOVE_HYPER_BEAM", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionHyperBeam", + "moveID": "MOVE_HYPER_BEAM", "order": 146, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Light Screen", - "namePointer": "ItemNameLightScreen", + "name": "ItemNameLightScreen", "buyPrice": 2500, "sellPrice": 300, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionLightScreen", - "move": "MOVE_LIGHT_SCREEN", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionLightScreen", + "moveID": "MOVE_LIGHT_SCREEN", "order": 149, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Protect", - "namePointer": "ItemNameProtect", + "name": "ItemNameProtect", "buyPrice": 6000, "sellPrice": 2000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionProtect", - "move": "MOVE_PROTECT", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionProtect", + "moveID": "MOVE_PROTECT", "order": 151, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Rain Dance", - "namePointer": "ItemNameRainDance", + "name": "ItemNameRainDance", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionRainDance", - "move": "MOVE_RAIN_DANCE", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionRainDance", + "moveID": "MOVE_RAIN_DANCE", "order": 205, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Giga Drain", - "namePointer": "ItemNameGigaDrain", + "name": "ItemNameGigaDrain", "buyPrice": 7000, "sellPrice": 2000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionGigaDrain", - "move": "MOVE_GIGA_DRAIN", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionGigaDrain", + "moveID": "MOVE_GIGA_DRAIN", "order": 144, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Safeguard", - "namePointer": "ItemNameSafeguard", + "name": "ItemNameSafeguard", "buyPrice": 6000, "sellPrice": 1500, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionSafeguard", - "move": "MOVE_SAFEGUARD", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionSafeguard", + "moveID": "MOVE_SAFEGUARD", "order": 158, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Frustration", - "namePointer": "ItemNameFrustration", + "name": "ItemNameFrustration", "buyPrice": 3000, "sellPrice": 1000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionFrustration", - "move": "MOVE_FRUSTRATION", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionFrustration", + "moveID": "MOVE_FRUSTRATION", "order": 143, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "SolarBeam", - "namePointer": "ItemNameSolarBeam", + "name": "ItemNameSolarBeam", "buyPrice": 7000, "sellPrice": 2000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionSolarBeam", - "move": "MOVE_SOLARBEAM", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionSolarBeam", + "moveID": "MOVE_SOLARBEAM", "order": 164, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Iron Tail", - "namePointer": "ItemNameIronTail", + "name": "ItemNameIronTail", "buyPrice": 8000, "sellPrice": 2000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionIronTail", - "move": "MOVE_IRON_TAIL", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionIronTail", + "moveID": "MOVE_IRON_TAIL", "order": 148, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Thunderbolt", - "namePointer": "ItemNameThunderbolt", + "name": "ItemNameThunderbolt", "buyPrice": 8000, "sellPrice": 2000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionThunderbolt", - "move": "MOVE_THUNDERBOLT", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionThunderbolt", + "moveID": "MOVE_THUNDERBOLT", "order": 172, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Thunder", - "namePointer": "ItemNameThunder", + "name": "ItemNameThunder", "buyPrice": 9000, "sellPrice": 3000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionThunder", - "move": "MOVE_THUNDER", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionThunder", + "moveID": "MOVE_THUNDER", "order": 171, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Earthquake", - "namePointer": "ItemNameEarthquake", + "name": "ItemNameEarthquake", "buyPrice": 6500, "sellPrice": 1500, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionEarthquake", - "move": "MOVE_EARTHQUAKE", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionEarthquake", + "moveID": "MOVE_EARTHQUAKE", "order": 135, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Return", - "namePointer": "ItemNameReturn", + "name": "ItemNameReturn", "buyPrice": 3000, "sellPrice": 1000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionReturn", - "move": "MOVE_RETURN", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionReturn", + "moveID": "MOVE_RETURN", "order": 155, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Dig", - "namePointer": "ItemNameDig", + "name": "ItemNameDig", "buyPrice": 3000, "sellPrice": 1000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionDig", - "move": "MOVE_DIG", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionDig", + "moveID": "MOVE_DIG", "order": 132, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Psychic", - "namePointer": "ItemNamePsychic", + "name": "ItemNamePsychic", "buyPrice": 5000, "sellPrice": 1500, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionPsychic", - "move": "MOVE_PSYCHIC", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionPsychic", + "moveID": "MOVE_PSYCHIC", "order": 152, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Shadow Ball", - "namePointer": "ItemNameShadowBall", + "name": "ItemNameShadowBall", "buyPrice": 6500, "sellPrice": 1000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionShadowBall", - "move": "MOVE_SHADOW_BALL", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionShadowBall", + "moveID": "MOVE_SHADOW_BALL", "order": 160, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Brick Break", - "namePointer": "ItemNameBrickBreak", + "name": "ItemNameBrickBreak", "buyPrice": 2500, "sellPrice": 500, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionBrickBreak", - "move": "MOVE_BRICK_BREAK", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionBrickBreak", + "moveID": "MOVE_BRICK_BREAK", "order": 127, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Double Team", - "namePointer": "ItemNameDoubleTeam", + "name": "ItemNameDoubleTeam", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionDoubleTeam", - "move": "MOVE_DOUBLE_TEAM", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionDoubleTeam", + "moveID": "MOVE_DOUBLE_TEAM", "order": 184, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Reflect", - "namePointer": "ItemNameReflect", + "name": "ItemNameReflect", "buyPrice": 2500, "sellPrice": 500, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionReflect", - "move": "MOVE_REFLECT", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionReflect", + "moveID": "MOVE_REFLECT", "order": 153, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Shock Wave", - "namePointer": "ItemNameShockWave", + "name": "ItemNameShockWave", "buyPrice": 7500, "sellPrice": 2000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionShockWave", - "move": "MOVE_SHOCK_WAVE", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionShockWave", + "moveID": "MOVE_SHOCK_WAVE", "order": 161, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Flamethrower", - "namePointer": "ItemNameFlamethrower", + "name": "ItemNameFlamethrower", "buyPrice": 8000, "sellPrice": 2000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionFlamethrower", - "move": "MOVE_FLAMETHROWER", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionFlamethrower", + "moveID": "MOVE_FLAMETHROWER", "order": 139, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Sludge Bomb", - "namePointer": "ItemNameSludgeBomb", + "name": "ItemNameSludgeBomb", "buyPrice": 7500, "sellPrice": 1500, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionSludgeBomb", - "move": "MOVE_SLUDGE_BOMB", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionSludgeBomb", + "moveID": "MOVE_SLUDGE_BOMB", "order": 163, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Sandstorm", - "namePointer": "ItemNameSandstorm", + "name": "ItemNameSandstorm", "buyPrice": 500, "sellPrice": 250, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionSandstorm", - "move": "MOVE_SANDSTORM", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionSandstorm", + "moveID": "MOVE_SANDSTORM", "order": 210, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Fire Blast", - "namePointer": "ItemNameFireBlast", + "name": "ItemNameFireBlast", "buyPrice": 9000, "sellPrice": 3000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionFireBlast", - "move": "MOVE_FIRE_BLAST", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionFireBlast", + "moveID": "MOVE_FIRE_BLAST", "order": 138, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Rock Tomb", - "namePointer": "ItemNameRockTomb", + "name": "ItemNameRockTomb", "buyPrice": 500, "sellPrice": 250, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionRockTomb", - "move": "MOVE_ROCK_TOMB", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionRockTomb", + "moveID": "MOVE_ROCK_TOMB", "order": 208, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Aerial Ace", - "namePointer": "ItemNameAerialAce", + "name": "ItemNameAerialAce", "buyPrice": 7500, "sellPrice": 2000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionAerialAce", - "move": "MOVE_AERIAL_ACE", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionAerialAce", + "moveID": "MOVE_AERIAL_ACE", "order": 124, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Torment", - "namePointer": "ItemNameTorment", + "name": "ItemNameTorment", "buyPrice": 1500, "sellPrice": 300, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionTorment", - "move": "MOVE_TORMENT", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionTorment", + "moveID": "MOVE_TORMENT", "order": 173, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Facade", - "namePointer": "ItemNameFacade", + "name": "ItemNameFacade", "buyPrice": 1500, "sellPrice": 300, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionFacade", - "move": "MOVE_FACADE", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionFacade", + "moveID": "MOVE_FACADE", "order": 137, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Secret Power", - "namePointer": "ItemNameSecretPower", + "name": "ItemNameSecretPower", "buyPrice": 1500, "sellPrice": 300, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionSecretPower", - "move": "MOVE_SECRET_POWER", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionSecretPower", + "moveID": "MOVE_SECRET_POWER", "order": 159, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Rest", - "namePointer": "ItemNameRest", + "name": "ItemNameRest", "buyPrice": 3000, "sellPrice": 500, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionRest", - "move": "MOVE_REST", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionRest", + "moveID": "MOVE_REST", "order": 154, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Attract", - "namePointer": "ItemNameAttract", + "name": "ItemNameAttract", "buyPrice": 1500, "sellPrice": 500, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionAttract", - "move": "MOVE_ATTRACT", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionAttract", + "moveID": "MOVE_ATTRACT", "order": 125, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Thief", - "namePointer": "ItemNameThief", + "name": "ItemNameThief", "buyPrice": 1500, "sellPrice": 500, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionThief", - "move": "MOVE_THIEF", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionThief", + "moveID": "MOVE_THIEF", "order": 170, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Steel WIng", - "namePointer": "ItemNameSteelWIng", + "name": "ItemNameSteelWIng", "buyPrice": 7000, "sellPrice": 2000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionSteelWIng", - "move": "MOVE_STEEL_WING", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionSteelWIng", + "moveID": "MOVE_STEEL_WING", "order": 166, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Skill Swap", - "namePointer": "ItemNameSkillSwap", + "name": "ItemNameSkillSwap", "buyPrice": 7000, "sellPrice": 2000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionSkillSwap", - "move": "MOVE_SKILL_SWAP", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionSkillSwap", + "moveID": "MOVE_SKILL_SWAP", "order": 162, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Snatch", - "namePointer": "ItemNameSnatch", + "name": "ItemNameSnatch", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionSnatch", - "move": "MOVE_SNATCH", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionSnatch", + "moveID": "MOVE_SNATCH", "order": 218, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Overheat", - "namePointer": "ItemNameOverheat", + "name": "ItemNameOverheat", "buyPrice": 6500, "sellPrice": 2000, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionOverheat", - "move": "MOVE_OVERHEAT", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionOverheat", + "moveID": "MOVE_OVERHEAT", "order": 150, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Wide Slash", - "namePointer": "ItemNameWideSlash", + "name": "ItemNameWideSlash", "buyPrice": 2500, "sellPrice": 300, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionWideSlash", - "move": "MOVE_WIDE_SLASH", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionWideSlash", + "moveID": "MOVE_WIDE_SLASH", "order": 178, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Excavate", - "namePointer": "ItemNameExcavate", + "name": "ItemNameExcavate", "buyPrice": 2500, "sellPrice": 300, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionExcavate", - "move": "MOVE_EXCAVATE", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionExcavate", + "moveID": "MOVE_EXCAVATE", "order": 136, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Spin Slash", - "namePointer": "ItemNameSpinSlash", + "name": "ItemNameSpinSlash", "buyPrice": 2500, "sellPrice": 300, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionSpinSlash", - "move": "MOVE_SPIN_SLASH", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionSpinSlash", + "moveID": "MOVE_SPIN_SLASH", "order": 165, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "See-Trap Orb", - "namePointer": "ItemNameSeeTrapOrb", + "name": "ItemNameSeeTrapOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionSeeTrapOrb", - "move": "MOVE_SEE_TRAP", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionSeeTrapOrb", + "moveID": "MOVE_SEE_TRAP", "order": 212, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Mug Orb", - "namePointer": "ItemNameMugOrb", + "name": "ItemNameMugOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionMugOrb", - "move": "MOVE_TAKEAWAY", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionMugOrb", + "moveID": "MOVE_TAKEAWAY", "order": 195, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Rebound Orb", - "namePointer": "ItemNameReboundOrb", + "name": "ItemNameReboundOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionReboundOrb", - "move": "MOVE_REBOUND", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionReboundOrb", + "moveID": "MOVE_REBOUND", "order": 206, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Lob Orb", - "namePointer": "ItemNameLobOrb", + "name": "ItemNameLobOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionLobOrb", - "move": "MOVE_BLOOP_SLASH", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionLobOrb", + "moveID": "MOVE_BLOOP_SLASH", "order": 191, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Switcher Orb", - "namePointer": "ItemNameSwitcherOrb", + "name": "ItemNameSwitcherOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionSwitcherOrb", - "move": "MOVE_SWITCHER", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionSwitcherOrb", + "moveID": "MOVE_SWITCHER", "order": 222, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Blowback Orb", - "namePointer": "ItemNameBlowbackOrb", + "name": "ItemNameBlowbackOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionBlowbackOrb", - "move": "MOVE_BLOWBACK", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionBlowbackOrb", + "moveID": "MOVE_BLOWBACK", "order": 179, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Warp Orb", - "namePointer": "ItemNameWarpOrb", + "name": "ItemNameWarpOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionWarpOrb", - "move": "MOVE_WARP", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionWarpOrb", + "moveID": "MOVE_WARP", "order": 230, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Transfer Orb", - "namePointer": "ItemNameTransferOrb", + "name": "ItemNameTransferOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionTransferOrb", - "move": "MOVE_TRANSFER", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionTransferOrb", + "moveID": "MOVE_TRANSFER", "order": 225, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Slow Orb", - "namePointer": "ItemNameSlowOrb", + "name": "ItemNameSlowOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionSlowOrb", - "move": "MOVE_SLOW_DOWN", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionSlowOrb", + "moveID": "MOVE_SLOW_DOWN", "order": 216, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Quick Orb", - "namePointer": "ItemNameQuickOrb", + "name": "ItemNameQuickOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionQuickOrb", - "move": "MOVE_SPEED_BOOST", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionQuickOrb", + "moveID": "MOVE_SPEED_BOOST", "order": 203, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Luminous Orb", - "namePointer": "ItemNameLuminousOrb", + "name": "ItemNameLuminousOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionLuminousOrb", - "move": "MOVE_SEARCHLIGHT", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionLuminousOrb", + "moveID": "MOVE_SEARCHLIGHT", "order": 193, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Petrify Orb", - "namePointer": "ItemNamePetrifyOrb", + "name": "ItemNamePetrifyOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionPetrifyOrb", - "move": "MOVE_PETRIFY", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionPetrifyOrb", + "moveID": "MOVE_PETRIFY", "order": 199, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Stayaway Orb", - "namePointer": "ItemNameStayawayOrb", + "name": "ItemNameStayawayOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionStayawayOrb", - "move": "MOVE_STAY_AWAY", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionStayawayOrb", + "moveID": "MOVE_STAY_AWAY", "order": 220, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Pounce Orb", - "namePointer": "ItemNamePounceOrb", + "name": "ItemNamePounceOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionPounceOrb", - "move": "MOVE_POUNCE", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionPounceOrb", + "moveID": "MOVE_POUNCE", "order": 202, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Trawl Orb", - "namePointer": "ItemNameTrawlOrb", + "name": "ItemNameTrawlOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionTrawlOrb", - "move": "MOVE_TRAWL", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionTrawlOrb", + "moveID": "MOVE_TRAWL", "order": 228, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Cleanse Orb", - "namePointer": "ItemNameCleanseOrb", + "name": "ItemNameCleanseOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionCleanseOrb", - "move": "MOVE_CLEANSE", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionCleanseOrb", + "moveID": "MOVE_CLEANSE", "order": 180, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Observer Orb", - "namePointer": "ItemNameObserverOrb", + "name": "ItemNameObserverOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionObserverOrb", - "move": "MOVE_OBSERVER", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionObserverOrb", + "moveID": "MOVE_OBSERVER", "order": 196, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Decoy Orb", - "namePointer": "ItemNameDecoyOrb", + "name": "ItemNameDecoyOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionDecoyOrb", - "move": "MOVE_DECOY_MAKER", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionDecoyOrb", + "moveID": "MOVE_DECOY_MAKER", "order": 181, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Slumber Orb", - "namePointer": "ItemNameSlumberOrb", + "name": "ItemNameSlumberOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionSlumberOrb", - "move": "MOVE_SIESTA", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionSlumberOrb", + "moveID": "MOVE_SIESTA", "order": 217, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Totter Orb", - "namePointer": "ItemNameTotterOrb", + "name": "ItemNameTotterOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionTotterOrb", - "move": "MOVE_TOTTER", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionTotterOrb", + "moveID": "MOVE_TOTTER", "order": 224, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Two-Edge Orb", - "namePointer": "ItemNameTwoEdgeOrb", + "name": "ItemNameTwoEdgeOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionTwoEdgeOrb", - "move": "MOVE_TWO_EDGE", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionTwoEdgeOrb", + "moveID": "MOVE_TWO_EDGE", "order": 229, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Silence Orb", - "namePointer": "ItemNameSilenceOrb", + "name": "ItemNameSilenceOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionSilenceOrb", - "move": "MOVE_NO_MOVE", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionSilenceOrb", + "moveID": "MOVE_NO_MOVE", "order": 214, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Escape Orb", - "namePointer": "ItemNameEscapeOrb", + "name": "ItemNameEscapeOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionEscapeOrb", - "move": "MOVE_ESCAPE", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionEscapeOrb", + "moveID": "MOVE_ESCAPE", "order": 183, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Scanner Orb", - "namePointer": "ItemNameScannerOrb", + "name": "ItemNameScannerOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionScannerOrb", - "move": "MOVE_SCAN", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionScannerOrb", + "moveID": "MOVE_SCAN", "order": 211, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Radar Orb", - "namePointer": "ItemNameRadarOrb", + "name": "ItemNameRadarOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionRadarOrb", - "move": "MOVE_POWER_EARS", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionRadarOrb", + "moveID": "MOVE_POWER_EARS", "order": 204, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Drought Orb", - "namePointer": "ItemNameDroughtOrb", + "name": "ItemNameDroughtOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionDroughtOrb", - "move": "MOVE_DROUGHT", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionDroughtOrb", + "moveID": "MOVE_DROUGHT", "order": 182, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Trapbust Orb", - "namePointer": "ItemNameTrapbustOrb", + "name": "ItemNameTrapbustOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionTrapbustOrb", - "move": "MOVE_TRAP_BUSTER", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionTrapbustOrb", + "moveID": "MOVE_TRAP_BUSTER", "order": 226, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Rollcall Orb", - "namePointer": "ItemNameRollcallOrb", + "name": "ItemNameRollcallOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionRollcallOrb", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionRollcallOrb", "aiFlags": [ true, false, false ], - "move": "MOVE_WILD_CALL", + "moveID": "MOVE_WILD_CALL", "order": 209, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Invisify Orb", - "namePointer": "ItemNameInvisifyOrb", + "name": "ItemNameInvisifyOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionInvisifyOrb", - "move": "MOVE_INVISIFY", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionInvisifyOrb", + "moveID": "MOVE_INVISIFY", "order": 189, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "One-Shot Orb", - "namePointer": "ItemNameOneShotOrb", + "name": "ItemNameOneShotOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionOneShotOrb", - "move": "MOVE_ONE_SHOT", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionOneShotOrb", + "moveID": "MOVE_ONE_SHOT", "order": 198, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Identify Orb", - "namePointer": "ItemNameIdentifyOrb", + "name": "ItemNameIdentifyOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionIdentifyOrb", - "move": "MOVE_HP_GAUGE", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionIdentifyOrb", + "moveID": "MOVE_HP_GAUGE", "order": 188, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Vacuum-Cut", - "namePointer": "ItemNameVacuumCut", + "name": "ItemNameVacuumCut", "buyPrice": 2500, "sellPrice": 300, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionVacuumCut", - "move": "MOVE_VACUUM_CUT", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionVacuumCut", + "moveID": "MOVE_VACUUM_CUT", "order": 175, - "palette": 5, - "category": "ITEM_CATEGORY_TM" + "paletteID": 5, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Reviver Orb", - "namePointer": "ItemNameReviverOrb", + "name": "ItemNameReviverOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionReviverOrb", - "move": "MOVE_REVIVER", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionReviverOrb", + "moveID": "MOVE_REVIVER", "order": 207, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Shocker Orb", - "namePointer": "ItemNameShockerOrb", + "name": "ItemNameShockerOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionShockerOrb", - "move": "MOVE_SHOCKER", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionShockerOrb", + "moveID": "MOVE_SHOCKER", "order": 213, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Sizebust Orb", - "namePointer": "ItemNameSizebustOrb", + "name": "ItemNameSizebustOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionSizebustOrb", - "move": "MOVE_ECHO", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionSizebustOrb", + "moveID": "MOVE_ECHO", "order": 215, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "One-Room Orb", - "namePointer": "ItemNameOneRoomOrb", + "name": "ItemNameOneRoomOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionOneRoomOrb", - "move": "MOVE_ONE_ROOM", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionOneRoomOrb", + "moveID": "MOVE_ONE_ROOM", "order": 197, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Fill-In Orb", - "namePointer": "ItemNameFillInOrb", + "name": "ItemNameFillInOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionFillInOrb", - "move": "MOVE_FILL_IN", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionFillInOrb", + "moveID": "MOVE_FILL_IN", "order": 185, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Trapper Orb", - "namePointer": "ItemNameTrapperOrb", + "name": "ItemNameTrapperOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionTrapperOrb", - "move": "MOVE_TRAPPER", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionTrapperOrb", + "moveID": "MOVE_TRAPPER", "order": 227, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Possess Orb", - "namePointer": "ItemNamePossessOrb", + "name": "ItemNamePossessOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionPossessOrb", - "move": "MOVE_POSSESS", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionPossessOrb", + "moveID": "MOVE_POSSESS", "order": 201, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Itemizer Orb", - "namePointer": "ItemNameItemizerOrb", + "name": "ItemNameItemizerOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionItemizerOrb", - "move": "MOVE_ITEMIZE", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionItemizerOrb", + "moveID": "MOVE_ITEMIZE", "order": 190, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Hurl Orb", - "namePointer": "ItemNameHurlOrb", + "name": "ItemNameHurlOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionHurlOrb", - "move": "MOVE_HURL", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionHurlOrb", + "moveID": "MOVE_HURL", "order": 187, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Mobile Orb", - "namePointer": "ItemNameMobileOrb", + "name": "ItemNameMobileOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionMobileOrb", - "move": "MOVE_MOBILE", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionMobileOrb", + "moveID": "MOVE_MOBILE", "order": 194, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Toss Orb", - "namePointer": "ItemNameTossOrb", + "name": "ItemNameTossOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionTossOrb", - "move": "MOVE_ITEM_TOSS", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionTossOrb", + "moveID": "MOVE_ITEM_TOSS", "order": 223, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Stairs Orb", - "namePointer": "ItemNameStairsOrb", + "name": "ItemNameStairsOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionStairsOrb", - "move": "MOVE_SEE_STAIRS", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionStairsOrb", + "moveID": "MOVE_SEE_STAIRS", "order": 219, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Longtoss Orb", - "namePointer": "ItemNameLongtossOrb", + "name": "ItemNameLongtossOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionLongtossOrb", - "move": "MOVE_LONG_TOSS", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionLongtossOrb", + "moveID": "MOVE_LONG_TOSS", "order": 192, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Pierce Orb", - "namePointer": "ItemNamePierceOrb", + "name": "ItemNamePierceOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionPierceOrb", - "move": "MOVE_PIERCE", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionPierceOrb", + "moveID": "MOVE_PIERCE", "order": 200, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "Cut", - "namePointer": "ItemNameCut", + "name": "ItemNameCut", "buyPrice": 2, "sellPrice": 1, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionCut", - "move": "MOVE_CUT", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionCut", + "moveID": "MOVE_CUT", "order": 131, - "palette": 3, - "category": "ITEM_CATEGORY_TM" + "paletteID": 3, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Fly", - "namePointer": "ItemNameFly", + "name": "ItemNameFly", "buyPrice": 2, "sellPrice": 1, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionFly", - "move": "MOVE_FLY", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionFly", + "moveID": "MOVE_FLY", "order": 141, - "palette": 3, - "category": "ITEM_CATEGORY_TM" + "paletteID": 3, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Surf", - "namePointer": "ItemNameSurf", + "name": "ItemNameSurf", "buyPrice": 2, "sellPrice": 1, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionSurf", - "move": "MOVE_SURF", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionSurf", + "moveID": "MOVE_SURF", "order": 168, - "palette": 3, - "category": "ITEM_CATEGORY_TM" + "paletteID": 3, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Strength", - "namePointer": "ItemNameStrength", + "name": "ItemNameStrength", "buyPrice": 2, "sellPrice": 1, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionStrength", - "move": "MOVE_STRENGTH", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionStrength", + "moveID": "MOVE_STRENGTH", "order": 167, - "palette": 3, - "category": "ITEM_CATEGORY_TM" + "paletteID": 3, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Flash", - "namePointer": "ItemNameFlash", + "name": "ItemNameFlash", "buyPrice": 2, "sellPrice": 1, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionFlash", - "move": "MOVE_FLASH", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionFlash", + "moveID": "MOVE_FLASH", "order": 140, - "palette": 3, - "category": "ITEM_CATEGORY_TM" + "paletteID": 3, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Rock Smash", - "namePointer": "ItemNameRockSmash", + "name": "ItemNameRockSmash", "buyPrice": 2, "sellPrice": 1, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionRockSmash", - "move": "MOVE_ROCK_SMASH", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionRockSmash", + "moveID": "MOVE_ROCK_SMASH", "order": 157, - "palette": 3, - "category": "ITEM_CATEGORY_TM" + "paletteID": 3, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Waterfall", - "namePointer": "ItemNameWaterfall", + "name": "ItemNameWaterfall", "buyPrice": 2, "sellPrice": 1, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionWaterfall", - "move": "MOVE_WATERFALL", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionWaterfall", + "moveID": "MOVE_WATERFALL", "order": 177, - "palette": 3, - "category": "ITEM_CATEGORY_TM" + "paletteID": 3, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Dive", - "namePointer": "ItemNameDive", + "name": "ItemNameDive", "buyPrice": 2, "sellPrice": 1, - "type": "ITEM_TYPE_TM", - "icon": 8, - "descriptionPointer": "ItemDescriptionDive", - "move": "MOVE_DIVE", + "category": "CATEGORY_TMS_HMS", + "spriteID": 8, + "description": "ItemDescriptionDive", + "moveID": "MOVE_DIVE", "order": 133, - "palette": 3, - "category": "ITEM_CATEGORY_TM" + "paletteID": 3, + "actionType": "ITEM_ACTION_TYPE_TM" }, { - "name": "Link Box", - "namePointer": "ItemNameLinkBox", + "name": "ItemNameLinkBox", "buyPrice": 3000, "sellPrice": 500, - "type": "ITEM_TYPE_LINK_BOX", - "icon": 10, - "descriptionPointer": "ItemDescriptionLinkBox", + "category": "CATEGORY_LINK_BOX", + "spriteID": 10, + "description": "ItemDescriptionLinkBox", "order": 235, - "palette": 0, - "category": "ITEM_CATEGORY_LINK_BOX" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_LINK_BOX" }, { - "name": "Switch Box", - "namePointer": "ItemNameSwitchBox", + "name": "ItemNameSwitchBox", "buyPrice": 1500, "sellPrice": 500, - "type": "ITEM_TYPE_LINK_BOX", - "icon": 10, - "descriptionPointer": "ItemDescriptionSwitchBox", + "category": "CATEGORY_LINK_BOX", + "spriteID": 10, + "description": "ItemDescriptionSwitchBox", "order": 237, - "palette": 0, - "category": "ITEM_CATEGORY_LINK_BOX" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_LINK_BOX" }, { - "name": "Weavile Fig", - "namePointer": "ItemNameWeavileFig", + "name": "ItemNameWeavileFig", "buyPrice": 1, "sellPrice": 1, - "type": "ITEM_TYPE_LINK_BOX", - "icon": 10, - "descriptionPointer": "ItemDescriptionWeavileFig", + "category": "CATEGORY_LINK_BOX", + "spriteID": 10, + "description": "ItemDescriptionWeavileFig", "order": 238, - "palette": 0, - "category": "ITEM_CATEGORY_LINK_BOX" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_LINK_BOX" }, { - "name": "Mime Jr. Fig", - "namePointer": "ItemNameMimeJrFig", + "name": "ItemNameMimeJrFig", "buyPrice": 1, "sellPrice": 1, - "type": "ITEM_TYPE_LINK_BOX", - "icon": 10, - "descriptionPointer": "ItemDescriptionMimeJrFig", + "category": "CATEGORY_LINK_BOX", + "spriteID": 10, + "description": "ItemDescriptionMimeJrFig", "order": 236, - "palette": 0, - "category": "ITEM_CATEGORY_LINK_BOX" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_LINK_BOX" }, { - "name": "Beatup Orb", - "namePointer": "ItemNameBeatupOrb", + "name": "ItemNameBeatupOrb", "buyPrice": 300, "sellPrice": 150, - "type": "ITEM_TYPE_ORB", - "icon": 15, - "descriptionPointer": "ItemDescriptionPlaceholder", - "move": "MOVE_BEAT_UP", + "category": "CATEGORY_ORBS", + "spriteID": 15, + "description": "ItemDescriptionPlaceholder", + "moveID": "MOVE_BEAT_UP", "order": 231, - "palette": 0, - "category": "ITEM_CATEGORY_ORBS" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_ORBS" }, { - "name": "G Machine 6", - "namePointer": "ItemNameGMachine6", + "name": "ItemNameGMachine6", "buyPrice": 8000, "sellPrice": 500, - "type": "ITEM_TYPE_LINK_BOX", - "icon": 10, - "descriptionPointer": "ItemDescriptionPlaceholder", + "category": "CATEGORY_LINK_BOX", + "spriteID": 10, + "description": "ItemDescriptionPlaceholder", "order": 232, - "palette": 0, - "category": "ITEM_CATEGORY_LINK_BOX" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_LINK_BOX" }, { - "name": "G Machine 7", - "namePointer": "ItemNameGMachine7", + "name": "ItemNameGMachine7", "buyPrice": 8000, "sellPrice": 500, - "type": "ITEM_TYPE_LINK_BOX", - "icon": 10, - "descriptionPointer": "ItemDescriptionPlaceholder", + "category": "CATEGORY_LINK_BOX", + "spriteID": 10, + "description": "ItemDescriptionPlaceholder", "order": 233, - "palette": 0, - "category": "ITEM_CATEGORY_LINK_BOX" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_LINK_BOX" }, { - "name": "G Machine 8", - "namePointer": "ItemNameGMachine8", + "name": "ItemNameGMachine8", "buyPrice": 8000, "sellPrice": 500, - "type": "ITEM_TYPE_LINK_BOX", - "icon": 10, - "descriptionPointer": "ItemDescriptionPlaceholder", + "category": "CATEGORY_LINK_BOX", + "spriteID": 10, + "description": "ItemDescriptionPlaceholder", "order": 234, - "palette": 0, - "category": "ITEM_CATEGORY_LINK_BOX" + "paletteID": 0, + "actionType": "ITEM_ACTION_TYPE_LINK_BOX" } ] diff --git a/data/monster/.gitignore b/data/monster/.gitignore new file mode 100644 index 000000000..194a8c469 --- /dev/null +++ b/data/monster/.gitignore @@ -0,0 +1 @@ +monster_data.inc diff --git a/data/monster/monster_data.json b/data/monster/monster_data.json new file mode 100644 index 000000000..8cd939540 --- /dev/null +++ b/data/monster/monster_data.json @@ -0,0 +1,20128 @@ +[ + { + "name": "MonsterNameNone", + "category": "MonsterCategoryNone", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "NONE", + "abilities": [ + "ABILITY_OVERGROW" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 1, + "expYield": 100, + "baseAtkSpAtk": [ + 0, + 0 + ], + "baseDefSpDef": [ + 0, + 0 + ], + "weight": 256, + "size": 99, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 0, + 0 + ], + "recruitRate": -999, + "alphabetParent": [ + 0, + 0 + ] + }, + { + "name": "MonsterNameBulbasaur", + "category": "MonsterCategoryBulbasaur", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0001111111111111", + "types": [ + "TYPE_GRASS", + "TYPE_POISON" + ], + "friendArea": "BEAU_PLAINS", + "abilities": [ + "ABILITY_OVERGROW" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 20, + "expYield": 18, + "baseAtkSpAtk": [ + 2, + 2 + ], + "baseDefSpDef": [ + 1, + 0 + ], + "weight": 153, + "size": 27, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 1, + 1 + ], + "recruitRate": 125, + "alphabetParent": [ + 32, + 1 + ] + }, + { + "name": "MonsterNameIvysaur", + "category": "MonsterCategoryBulbasaur", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS", + "TYPE_POISON" + ], + "friendArea": "BEAU_PLAINS", + "abilities": [ + "ABILITY_OVERGROW" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 46, + "expYield": 40, + "baseAtkSpAtk": [ + 14, + 12 + ], + "baseDefSpDef": [ + 9, + 10 + ], + "weight": 153, + "size": 33, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_BULBASAUR", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 16 + }, + "dexInternal": [ + 2, + 2 + ], + "recruitRate": -190, + "alphabetParent": [ + 147, + 2 + ] + }, + { + "name": "MonsterNameVenusaur", + "category": "MonsterCategoryBulbasaur", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS", + "TYPE_POISON" + ], + "friendArea": "BEAU_PLAINS", + "abilities": [ + "ABILITY_OVERGROW" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 51, + "expYield": 180, + "baseAtkSpAtk": [ + 20, + 15 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 332, + "size": 48, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_IVYSAUR", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 32 + }, + "dexInternal": [ + 3, + 3 + ], + "recruitRate": -999, + "alphabetParent": [ + 395, + 3 + ] + }, + { + "name": "MonsterNameCharmander", + "category": "MonsterCategoryCharmander", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0001111111111111", + "types": [ + "TYPE_FIRE" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "MT_CLEFT", + "abilities": [ + "ABILITY_BLAZE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 18, + "expYield": 24, + "baseAtkSpAtk": [ + 3, + 3 + ], + "baseDefSpDef": [ + 0, + 0 + ], + "weight": 153, + "size": 26, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 4, + 4 + ], + "recruitRate": 117, + "alphabetParent": [ + 47, + 4 + ] + }, + { + "name": "MonsterNameCharmeleon", + "category": "MonsterCategoryCharmeleon", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIRE" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "MT_CLEFT", + "abilities": [ + "ABILITY_BLAZE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 58, + "expYield": 57, + "baseAtkSpAtk": [ + 21, + 19 + ], + "baseDefSpDef": [ + 9, + 8 + ], + "weight": 153, + "size": 26, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_CHARMANDER", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 16 + }, + "dexInternal": [ + 5, + 5 + ], + "recruitRate": -190, + "alphabetParent": [ + 48, + 5 + ] + }, + { + "name": "MonsterNameCharizard", + "category": "MonsterCategoryCharmeleon", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000011111", + "types": [ + "TYPE_FIRE", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "MT_CLEFT", + "abilities": [ + "ABILITY_BLAZE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 58, + "expYield": 200, + "baseAtkSpAtk": [ + 12, + 8 + ], + "baseDefSpDef": [ + 9, + 10 + ], + "weight": 332, + "size": 52, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_CHARMELEON", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 36 + }, + "dexInternal": [ + 6, + 6 + ], + "recruitRate": -999, + "alphabetParent": [ + 46, + 6 + ] + }, + { + "name": "MonsterNameSquirtle", + "category": "MonsterCategorySquirtle", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0001111111111111", + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TURTLESHELL_POND", + "abilities": [ + "ABILITY_TORRENT" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 20, + "expYield": 27, + "baseAtkSpAtk": [ + 3, + 2 + ], + "baseDefSpDef": [ + 3, + 3 + ], + "weight": 153, + "size": 21, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 7, + 7 + ], + "recruitRate": 117, + "alphabetParent": [ + 329, + 7 + ] + }, + { + "name": "MonsterNameWartortle", + "category": "MonsterCategoryWartortle", + "overworldPalette": 9, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TURTLESHELL_POND", + "abilities": [ + "ABILITY_TORRENT" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 46, + "expYield": 66, + "baseAtkSpAtk": [ + 15, + 17 + ], + "baseDefSpDef": [ + 17, + 14 + ], + "weight": 179, + "size": 34, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SQUIRTLE", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 16 + }, + "dexInternal": [ + 8, + 8 + ], + "recruitRate": -190, + "alphabetParent": [ + 406, + 8 + ] + }, + { + "name": "MonsterNameBlastoise", + "category": "MonsterCategoryBlastoise", + "overworldPalette": 9, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000001111", + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TURTLESHELL_POND", + "abilities": [ + "ABILITY_TORRENT" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 53, + "expYield": 250, + "baseAtkSpAtk": [ + 16, + 18 + ], + "baseDefSpDef": [ + 19, + 18 + ], + "weight": 332, + "size": 51, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_WARTORTLE", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 36 + }, + "dexInternal": [ + 9, + 9 + ], + "recruitRate": -339, + "alphabetParent": [ + 28, + 9 + ] + }, + { + "name": "MonsterNameCaterpie", + "category": "MonsterCategoryCaterpie", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000111", + "types": [ + "TYPE_BUG" + ], + "friendArea": "MIST_RISE_FOREST", + "abilities": [ + "ABILITY_SHIELD_DUST" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 12, + "expYield": 9, + "baseAtkSpAtk": [ + 6, + 6 + ], + "baseDefSpDef": [ + 7, + 7 + ], + "weight": 153, + "size": 16, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 10, + 10 + ], + "recruitRate": 102, + "alphabetParent": [ + 43, + 10 + ] + }, + { + "name": "MonsterNameMetapod", + "category": "MonsterCategoryMetapod", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_BUG" + ], + "friendArea": "MIST_RISE_FOREST", + "abilities": [ + "ABILITY_SHED_SKIN" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 15, + "expYield": 27, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 153, + "size": 20, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_CATERPIE", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 7 + }, + "dexInternal": [ + 11, + 11 + ], + "recruitRate": -190, + "alphabetParent": [ + 208, + 11 + ] + }, + { + "name": "MonsterNameButterfree", + "category": "MonsterCategoryButterfree", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_BUG", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "MIST_RISE_FOREST", + "abilities": [ + "ABILITY_COMPOUNDEYES" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 47, + "expYield": 96, + "baseAtkSpAtk": [ + 22, + 23 + ], + "baseDefSpDef": [ + 13, + 14 + ], + "weight": 204, + "size": 39, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_METAPOD", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 10 + }, + "dexInternal": [ + 12, + 12 + ], + "recruitRate": -999, + "alphabetParent": [ + 33, + 12 + ] + }, + { + "name": "MonsterNameWeedle", + "category": "MonsterCategoryWeedle", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_POISON" + ], + "friendArea": "MIST_RISE_FOREST", + "abilities": [ + "ABILITY_SHIELD_DUST" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 27, + "expYield": 18, + "baseAtkSpAtk": [ + 9, + 11 + ], + "baseDefSpDef": [ + 4, + 6 + ], + "weight": 153, + "size": 13, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 13, + 13 + ], + "recruitRate": 114, + "alphabetParent": [ + 407, + 13 + ] + }, + { + "name": "MonsterNameKakuna", + "category": "MonsterCategoryMetapod", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_POISON" + ], + "friendArea": "MIST_RISE_FOREST", + "abilities": [ + "ABILITY_SHED_SKIN" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": false, + "chanceAsleep": 8, + "baseHP": 36, + "expYield": 50, + "baseAtkSpAtk": [ + 11, + 13 + ], + "baseDefSpDef": [ + 12, + 12 + ], + "weight": 153, + "size": 21, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_WEEDLE", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 7 + }, + "dexInternal": [ + 14, + 14 + ], + "recruitRate": -190, + "alphabetParent": [ + 156, + 14 + ] + }, + { + "name": "MonsterNameBeedrill", + "category": "MonsterCategoryBeedrill", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_POISON" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "MIST_RISE_FOREST", + "abilities": [ + "ABILITY_SWARM" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 40, + "baseAtkSpAtk": [ + 21, + 22 + ], + "baseDefSpDef": [ + 14, + 14 + ], + "weight": 179, + "size": 39, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_KAKUNA", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 10 + }, + "dexInternal": [ + 15, + 15 + ], + "recruitRate": -999, + "alphabetParent": [ + 24, + 15 + ] + }, + { + "name": "MonsterNamePidgey", + "category": "MonsterCategoryPidgey", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL", + "TYPE_FLYING" + ], + "friendArea": "FLYAWAY_FOREST", + "abilities": [ + "ABILITY_KEEN_EYE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 10, + "expYield": 12, + "baseAtkSpAtk": [ + 4, + 5 + ], + "baseDefSpDef": [ + 4, + 5 + ], + "weight": 153, + "size": 16, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 16, + 16 + ], + "recruitRate": 101, + "alphabetParent": [ + 249, + 16 + ] + }, + { + "name": "MonsterNamePidgeotto", + "category": "MonsterCategoryPidgeotto", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL", + "TYPE_FLYING" + ], + "friendArea": "FLYAWAY_FOREST", + "abilities": [ + "ABILITY_KEEN_EYE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 45, + "baseAtkSpAtk": [ + 17, + 20 + ], + "baseDefSpDef": [ + 9, + 11 + ], + "weight": 204, + "size": 25, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_PIDGEY", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 18 + }, + "dexInternal": [ + 17, + 17 + ], + "recruitRate": -190, + "alphabetParent": [ + 248, + 17 + ] + }, + { + "name": "MonsterNamePidgeot", + "category": "MonsterCategoryPidgeotto", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL", + "TYPE_FLYING" + ], + "friendArea": "FLYAWAY_FOREST", + "abilities": [ + "ABILITY_KEEN_EYE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 52, + "expYield": 50, + "baseAtkSpAtk": [ + 28, + 30 + ], + "baseDefSpDef": [ + 16, + 16 + ], + "weight": 204, + "size": 29, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_PIDGEOTTO", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 36 + }, + "dexInternal": [ + 18, + 18 + ], + "recruitRate": -999, + "alphabetParent": [ + 247, + 18 + ] + }, + { + "name": "MonsterNameRattata", + "category": "MonsterCategoryRattata", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "WILD_PLAINS", + "abilities": [ + "ABILITY_RUN_AWAY", + "ABILITY_GUTS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 10, + "baseHP": 14, + "expYield": 20, + "baseAtkSpAtk": [ + 10, + 10 + ], + "baseDefSpDef": [ + 5, + 5 + ], + "weight": 153, + "size": 20, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 19, + 19 + ], + "recruitRate": 95, + "alphabetParent": [ + 274, + 19 + ] + }, + { + "name": "MonsterNameRaticate", + "category": "MonsterCategoryRattata", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "WILD_PLAINS", + "abilities": [ + "ABILITY_RUN_AWAY", + "ABILITY_GUTS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 10, + "baseHP": 20, + "expYield": 45, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 153, + "size": 23, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_RATTATA", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 20 + }, + "dexInternal": [ + 20, + 20 + ], + "recruitRate": -999, + "alphabetParent": [ + 273, + 20 + ] + }, + { + "name": "MonsterNameSpearow", + "category": "MonsterCategoryPidgey", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL", + "TYPE_FLYING" + ], + "friendArea": "RAVAGED_FIELD", + "abilities": [ + "ABILITY_KEEN_EYE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 25, + "baseHP": 23, + "expYield": 25, + "baseAtkSpAtk": [ + 15, + 17 + ], + "baseDefSpDef": [ + 7, + 7 + ], + "weight": 153, + "size": 18, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 21, + 21 + ], + "recruitRate": 119, + "alphabetParent": [ + 324, + 21 + ] + }, + { + "name": "MonsterNameFearow", + "category": "MonsterCategoryFearow", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL", + "TYPE_FLYING" + ], + "friendArea": "RAVAGED_FIELD", + "abilities": [ + "ABILITY_KEEN_EYE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 25, + "baseHP": 52, + "expYield": 50, + "baseAtkSpAtk": [ + 28, + 31 + ], + "baseDefSpDef": [ + 17, + 18 + ], + "weight": 204, + "size": 36, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SPEAROW", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 20 + }, + "dexInternal": [ + 22, + 22 + ], + "recruitRate": -999, + "alphabetParent": [ + 101, + 22 + ] + }, + { + "name": "MonsterNameEkans", + "category": "MonsterCategoryEkans", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000111", + "types": [ + "TYPE_POISON" + ], + "friendArea": "WILD_PLAINS", + "abilities": [ + "ABILITY_INTIMIDATE", + "ABILITY_SHED_SKIN" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 50, + "baseAtkSpAtk": [ + 8, + 7 + ], + "baseDefSpDef": [ + 7, + 8 + ], + "weight": 153, + "size": 34, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 23, + 23 + ], + "recruitRate": 124, + "alphabetParent": [ + 90, + 23 + ] + }, + { + "name": "MonsterNameArbok", + "category": "MonsterCategoryArbok", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_POISON" + ], + "friendArea": "WILD_PLAINS", + "abilities": [ + "ABILITY_INTIMIDATE", + "ABILITY_SHED_SKIN" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 45, + "expYield": 70, + "baseAtkSpAtk": [ + 9, + 10 + ], + "baseDefSpDef": [ + 6, + 5 + ], + "weight": 281, + "size": 65, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_EKANS", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 22 + }, + "dexInternal": [ + 24, + 24 + ], + "recruitRate": -999, + "alphabetParent": [ + 10, + 24 + ] + }, + { + "name": "MonsterNamePikachu", + "category": "MonsterCategoryRattata", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0001111111111111", + "types": [ + "TYPE_ELECTRIC" + ], + "friendArea": "ENERGETIC_FOREST", + "abilities": [ + "ABILITY_STATIC" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 13, + "expYield": 18, + "baseAtkSpAtk": [ + 1, + 1 + ], + "baseDefSpDef": [ + 1, + 1 + ], + "weight": 153, + "size": 31, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_PICHU", + "evolveType": "EVOLVE_TYPE_IQ" + }, + "evolutionRequirements": { + "mainRequirement": 200 + }, + "dexInternal": [ + 25, + 25 + ], + "recruitRate": -190, + "alphabetParent": [ + 250, + 25 + ] + }, + { + "name": "MonsterNameRaichu", + "category": "MonsterCategoryRattata", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ELECTRIC" + ], + "friendArea": "ENERGETIC_FOREST", + "abilities": [ + "ABILITY_STATIC" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 35, + "expYield": 90, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 204, + "size": 45, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_PIKACHU", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_THUNDERSTONE" + }, + "dexInternal": [ + 26, + 26 + ], + "recruitRate": -999, + "alphabetParent": [ + 269, + 26 + ] + }, + { + "name": "MonsterNameSandshrew", + "category": "MonsterCategoryRattata", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GROUND" + ], + "friendArea": "FURNACE_DESERT", + "abilities": [ + "ABILITY_SAND_VEIL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 31, + "expYield": 50, + "baseAtkSpAtk": [ + 22, + 18 + ], + "baseDefSpDef": [ + 5, + 4 + ], + "weight": 153, + "size": 24, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 27, + 27 + ], + "recruitRate": 104, + "alphabetParent": [ + 287, + 27 + ] + }, + { + "name": "MonsterNameSandslash", + "category": "MonsterCategoryRattata", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GROUND" + ], + "friendArea": "FURNACE_DESERT", + "abilities": [ + "ABILITY_SAND_VEIL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 56, + "expYield": 60, + "baseAtkSpAtk": [ + 22, + 18 + ], + "baseDefSpDef": [ + 5, + 4 + ], + "weight": 179, + "size": 38, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SANDSHREW", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 22 + }, + "dexInternal": [ + 28, + 28 + ], + "recruitRate": -999, + "alphabetParent": [ + 288, + 28 + ] + }, + { + "name": "MonsterNameNidoran_F", + "category": "MonsterCategoryNidoran_F", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_POISON" + ], + "friendArea": "SAFARI", + "abilities": [ + "ABILITY_POISON_POINT" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 15, + "baseHP": 12, + "expYield": 20, + "baseAtkSpAtk": [ + 11, + 10 + ], + "baseDefSpDef": [ + 5, + 5 + ], + "weight": 153, + "size": 22, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 29, + 29 + ], + "recruitRate": 133, + "alphabetParent": [ + 226, + 29 + ] + }, + { + "name": "MonsterNameNidorina", + "category": "MonsterCategoryNidoran_F", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_POISON" + ], + "friendArea": "SAFARI", + "abilities": [ + "ABILITY_POISON_POINT" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 15, + "baseHP": 40, + "expYield": 35, + "baseAtkSpAtk": [ + 19, + 15 + ], + "baseDefSpDef": [ + 5, + 5 + ], + "weight": 179, + "size": 26, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_NIDORAN_F", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 16 + }, + "dexInternal": [ + 30, + 30 + ], + "recruitRate": -190, + "alphabetParent": [ + 227, + 30 + ] + }, + { + "name": "MonsterNameNidoqueen", + "category": "MonsterCategoryNidoqueen", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_POISON", + "TYPE_GROUND" + ], + "friendArea": "SAFARI", + "abilities": [ + "ABILITY_POISON_POINT" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 15, + "baseHP": 60, + "expYield": 45, + "baseAtkSpAtk": [ + 19, + 15 + ], + "baseDefSpDef": [ + 5, + 5 + ], + "weight": 281, + "size": 40, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_NIDORINA", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_MOON_STONE" + }, + "dexInternal": [ + 31, + 31 + ], + "recruitRate": -999, + "alphabetParent": [ + 224, + 31 + ] + }, + { + "name": "MonsterNameNidoran_M", + "category": "MonsterCategoryNidoran_F", + "overworldPalette": 10, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_POISON" + ], + "friendArea": "SAFARI", + "abilities": [ + "ABILITY_POISON_POINT" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 41, + "expYield": 24, + "baseAtkSpAtk": [ + 15, + 16 + ], + "baseDefSpDef": [ + 11, + 11 + ], + "weight": 153, + "size": 33, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 32, + 32 + ], + "recruitRate": 126, + "alphabetParent": [ + 225, + 32 + ] + }, + { + "name": "MonsterNameNidorino", + "category": "MonsterCategoryNidoran_F", + "overworldPalette": 1, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_POISON" + ], + "friendArea": "SAFARI", + "abilities": [ + "ABILITY_POISON_POINT" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 46, + "expYield": 40, + "baseAtkSpAtk": [ + 15, + 16 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 153, + "size": 39, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_NIDORAN_M", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 16 + }, + "dexInternal": [ + 33, + 33 + ], + "recruitRate": -190, + "alphabetParent": [ + 228, + 33 + ] + }, + { + "name": "MonsterNameNidoking", + "category": "MonsterCategoryNidoqueen", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_POISON", + "TYPE_GROUND" + ], + "friendArea": "SAFARI", + "abilities": [ + "ABILITY_POISON_POINT" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 65, + "expYield": 60, + "baseAtkSpAtk": [ + 22, + 22 + ], + "baseDefSpDef": [ + 17, + 17 + ], + "weight": 281, + "size": 57, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_NIDORINO", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_MOON_STONE" + }, + "dexInternal": [ + 34, + 34 + ], + "recruitRate": -999, + "alphabetParent": [ + 223, + 34 + ] + }, + { + "name": "MonsterNameClefairy", + "category": "MonsterCategoryClefairy", + "overworldPalette": 1, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "MT_MOONVIEW", + "abilities": [ + "ABILITY_CUTE_CHARM" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 15, + "expYield": 21, + "baseAtkSpAtk": [ + 7, + 7 + ], + "baseDefSpDef": [ + 5, + 5 + ], + "weight": 153, + "size": 29, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_CLEFFA", + "evolveType": "EVOLVE_TYPE_IQ" + }, + "evolutionRequirements": { + "mainRequirement": 200 + }, + "dexInternal": [ + 35, + 35 + ], + "recruitRate": -190, + "alphabetParent": [ + 55, + 35 + ] + }, + { + "name": "MonsterNameClefable", + "category": "MonsterCategoryClefairy", + "overworldPalette": 1, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "MT_MOONVIEW", + "abilities": [ + "ABILITY_CUTE_CHARM" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 24, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 6, + 6 + ], + "weight": 230, + "size": 37, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_CLEFAIRY", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_MOON_STONE" + }, + "dexInternal": [ + 36, + 36 + ], + "recruitRate": -999, + "alphabetParent": [ + 54, + 36 + ] + }, + { + "name": "MonsterNameVulpix", + "category": "MonsterCategoryVulpix", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIRE" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "DARKNESS_RIDGE", + "abilities": [ + "ABILITY_FLASH_FIRE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 27, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 21, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 37, + 37 + ], + "recruitRate": 122, + "alphabetParent": [ + 402, + 37 + ] + }, + { + "name": "MonsterNameNinetales", + "category": "MonsterCategoryVulpix", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_FIRE" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "DARKNESS_RIDGE", + "abilities": [ + "ABILITY_FLASH_FIRE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 42, + "expYield": 57, + "baseAtkSpAtk": [ + 16, + 17 + ], + "baseDefSpDef": [ + 10, + 13 + ], + "weight": 153, + "size": 36, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_VULPIX", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_FIRE_STONE" + }, + "dexInternal": [ + 38, + 38 + ], + "recruitRate": -999, + "alphabetParent": [ + 230, + 38 + ] + }, + { + "name": "MonsterNameJigglypuff", + "category": "MonsterCategoryJigglypuff", + "overworldPalette": 1, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "SKY_BLUE_PLAINS", + "abilities": [ + "ABILITY_CUTE_CHARM" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 10, + "expYield": 15, + "baseAtkSpAtk": [ + 3, + 3 + ], + "baseDefSpDef": [ + 4, + 3 + ], + "weight": 153, + "size": 26, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_IGGLYBUFF", + "evolveType": "EVOLVE_TYPE_IQ" + }, + "evolutionRequirements": { + "mainRequirement": 200 + }, + "dexInternal": [ + 39, + 39 + ], + "recruitRate": -190, + "alphabetParent": [ + 148, + 39 + ] + }, + { + "name": "MonsterNameWigglytuff", + "category": "MonsterCategoryJigglypuff", + "overworldPalette": 1, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "SKY_BLUE_PLAINS", + "abilities": [ + "ABILITY_CUTE_CHARM" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 22, + "expYield": 36, + "baseAtkSpAtk": [ + 17, + 18 + ], + "baseDefSpDef": [ + 6, + 6 + ], + "weight": 153, + "size": 34, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_JIGGLYPUFF", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_MOON_STONE" + }, + "dexInternal": [ + 40, + 40 + ], + "recruitRate": -999, + "alphabetParent": [ + 412, + 40 + ] + }, + { + "name": "MonsterNameZubat", + "category": "MonsterCategoryZubat", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_POISON", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "ECHO_CAVE", + "abilities": [ + "ABILITY_INNER_FOCUS" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 34, + "expYield": 35, + "baseAtkSpAtk": [ + 25, + 24 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 153, + "size": 25, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 41, + 41 + ], + "recruitRate": 137, + "alphabetParent": [ + 423, + 41 + ] + }, + { + "name": "MonsterNameGolbat", + "category": "MonsterCategoryZubat", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_POISON", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "ECHO_CAVE", + "abilities": [ + "ABILITY_INNER_FOCUS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 45, + "expYield": 60, + "baseAtkSpAtk": [ + 25, + 25 + ], + "baseDefSpDef": [ + 16, + 16 + ], + "weight": 256, + "size": 36, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_ZUBAT", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 22 + }, + "dexInternal": [ + 42, + 42 + ], + "recruitRate": -190, + "alphabetParent": [ + 117, + 42 + ] + }, + { + "name": "MonsterNameOddish", + "category": "MonsterCategoryOddish", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS", + "TYPE_POISON" + ], + "friendArea": "JUNGLE", + "abilities": [ + "ABILITY_CHLOROPHYLL" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 15, + "baseHP": 29, + "expYield": 35, + "baseAtkSpAtk": [ + 19, + 19 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 153, + "size": 18, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 43, + 43 + ], + "recruitRate": 120, + "alphabetParent": [ + 237, + 43 + ] + }, + { + "name": "MonsterNameGloom", + "category": "MonsterCategoryOddish", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS", + "TYPE_POISON" + ], + "friendArea": "JUNGLE", + "abilities": [ + "ABILITY_CHLOROPHYLL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 15, + "baseHP": 32, + "expYield": 36, + "baseAtkSpAtk": [ + 20, + 19 + ], + "baseDefSpDef": [ + 13, + 12 + ], + "weight": 153, + "size": 33, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_ODDISH", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 21 + }, + "dexInternal": [ + 44, + 44 + ], + "recruitRate": -190, + "alphabetParent": [ + 116, + 44 + ] + }, + { + "name": "MonsterNameVileplume", + "category": "MonsterCategoryVileplume", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS", + "TYPE_POISON" + ], + "friendArea": "JUNGLE", + "abilities": [ + "ABILITY_CHLOROPHYLL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 15, + "baseHP": 37, + "expYield": 40, + "baseAtkSpAtk": [ + 21, + 19 + ], + "baseDefSpDef": [ + 13, + 12 + ], + "weight": 153, + "size": 35, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_GLOOM", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_LEAF_STONE" + }, + "dexInternal": [ + 45, + 45 + ], + "recruitRate": -999, + "alphabetParent": [ + 399, + 45 + ] + }, + { + "name": "MonsterNameParas", + "category": "MonsterCategoryParas", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_GRASS" + ], + "friendArea": "MUSHROOM_FOREST", + "abilities": [ + "ABILITY_EFFECT_SPORE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 28, + "expYield": 30, + "baseAtkSpAtk": [ + 14, + 14 + ], + "baseDefSpDef": [ + 11, + 13 + ], + "weight": 153, + "size": 22, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 46, + 46 + ], + "recruitRate": 114, + "alphabetParent": [ + 241, + 46 + ] + }, + { + "name": "MonsterNameParasect", + "category": "MonsterCategoryParas", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_GRASS" + ], + "friendArea": "MUSHROOM_FOREST", + "abilities": [ + "ABILITY_EFFECT_SPORE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 54, + "expYield": 40, + "baseAtkSpAtk": [ + 29, + 30 + ], + "baseDefSpDef": [ + 18, + 18 + ], + "weight": 179, + "size": 32, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_PARAS", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 24 + }, + "dexInternal": [ + 47, + 47 + ], + "recruitRate": -999, + "alphabetParent": [ + 242, + 47 + ] + }, + { + "name": "MonsterNameVenonat", + "category": "MonsterCategoryVenonat", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_POISON" + ], + "friendArea": "SECRETIVE_FOREST", + "abilities": [ + "ABILITY_COMPOUNDEYES" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 20, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 12, + 12 + ], + "weight": 204, + "size": 30, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 48, + 48 + ], + "recruitRate": 114, + "alphabetParent": [ + 394, + 48 + ] + }, + { + "name": "MonsterNameVenomoth", + "category": "MonsterCategoryVenomoth", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_POISON" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "SECRETIVE_FOREST", + "abilities": [ + "ABILITY_SHIELD_DUST" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 47, + "expYield": 60, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 16, + 16 + ], + "weight": 153, + "size": 37, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_VENONAT", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 31 + }, + "dexInternal": [ + 49, + 49 + ], + "recruitRate": -999, + "alphabetParent": [ + 393, + 49 + ] + }, + { + "name": "MonsterNameDiglett", + "category": "MonsterCategoryDiglett", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000011", + "types": [ + "TYPE_GROUND" + ], + "friendArea": "BOULDER_CAVE", + "abilities": [ + "ABILITY_SAND_VEIL", + "ABILITY_ARENA_TRAP" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 10, + "expYield": 15, + "baseAtkSpAtk": [ + 7, + 7 + ], + "baseDefSpDef": [ + 7, + 8 + ], + "weight": 153, + "size": 14, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 50, + 50 + ], + "recruitRate": 109, + "alphabetParent": [ + 75, + 50 + ] + }, + { + "name": "MonsterNameDugtrio", + "category": "MonsterCategoryDiglett", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_GROUND" + ], + "friendArea": "BOULDER_CAVE", + "abilities": [ + "ABILITY_SAND_VEIL", + "ABILITY_ARENA_TRAP" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 20, + "expYield": 45, + "baseAtkSpAtk": [ + 12, + 12 + ], + "baseDefSpDef": [ + 12, + 12 + ], + "weight": 204, + "size": 36, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_DIGLETT", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 26 + }, + "dexInternal": [ + 51, + 51 + ], + "recruitRate": -999, + "alphabetParent": [ + 84, + 51 + ] + }, + { + "name": "MonsterNameMeowth", + "category": "MonsterCategoryMeowth", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0001111111111111", + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "ENERGETIC_FOREST", + "abilities": [ + "ABILITY_PICKUP" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 18, + "expYield": 50, + "baseAtkSpAtk": [ + 2, + 4 + ], + "baseDefSpDef": [ + 4, + 4 + ], + "weight": 153, + "size": 23, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 52, + 52 + ], + "recruitRate": 120, + "alphabetParent": [ + 205, + 52 + ] + }, + { + "name": "MonsterNamePersian", + "category": "MonsterCategoryPersian", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "ENERGETIC_FOREST", + "abilities": [ + "ABILITY_LIMBER" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 70, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 204, + "size": 25, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_MEOWTH", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 28 + }, + "dexInternal": [ + 53, + 53 + ], + "recruitRate": -999, + "alphabetParent": [ + 244, + 53 + ] + }, + { + "name": "MonsterNamePsyduck", + "category": "MonsterCategoryPsyduck", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0001111111111111", + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TURTLESHELL_POND", + "abilities": [ + "ABILITY_DAMP", + "ABILITY_CLOUD_NINE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 12, + "expYield": 57, + "baseAtkSpAtk": [ + 4, + 4 + ], + "baseDefSpDef": [ + 3, + 3 + ], + "weight": 153, + "size": 29, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 54, + 54 + ], + "recruitRate": 108, + "alphabetParent": [ + 264, + 54 + ] + }, + { + "name": "MonsterNameGolduck", + "category": "MonsterCategoryPsyduck", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TURTLESHELL_POND", + "abilities": [ + "ABILITY_DAMP", + "ABILITY_CLOUD_NINE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 80, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 20, + 20 + ], + "weight": 307, + "size": 42, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_PSYDUCK", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 33 + }, + "dexInternal": [ + 55, + 55 + ], + "recruitRate": -999, + "alphabetParent": [ + 119, + 55 + ] + }, + { + "name": "MonsterNameMankey", + "category": "MonsterCategoryMankey", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000011", + "types": [ + "TYPE_FIGHTING" + ], + "friendArea": "ENERGETIC_FOREST", + "abilities": [ + "ABILITY_VITAL_SPIRIT" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 48, + "expYield": 30, + "baseAtkSpAtk": [ + 11, + 10 + ], + "baseDefSpDef": [ + 13, + 13 + ], + "weight": 179, + "size": 33, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 56, + 56 + ], + "recruitRate": 109, + "alphabetParent": [ + 194, + 56 + ] + }, + { + "name": "MonsterNamePrimeape", + "category": "MonsterCategoryMankey", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIGHTING" + ], + "friendArea": "ENERGETIC_FOREST", + "abilities": [ + "ABILITY_VITAL_SPIRIT" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 50, + "expYield": 90, + "baseAtkSpAtk": [ + 25, + 25 + ], + "baseDefSpDef": [ + 20, + 20 + ], + "weight": 204, + "size": 35, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_MANKEY", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 28 + }, + "dexInternal": [ + 57, + 57 + ], + "recruitRate": -999, + "alphabetParent": [ + 263, + 57 + ] + }, + { + "name": "MonsterNameGrowlithe", + "category": "MonsterCategoryGrowlithe", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIRE" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "SCORCHED_PLAINS", + "abilities": [ + "ABILITY_INTIMIDATE", + "ABILITY_FLASH_FIRE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 42, + "expYield": 45, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 12, + 12 + ], + "weight": 153, + "size": 28, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 58, + 58 + ], + "recruitRate": 106, + "alphabetParent": [ + 127, + 58 + ] + }, + { + "name": "MonsterNameArcanine", + "category": "MonsterCategoryArcanine", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIRE" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "SCORCHED_PLAINS", + "abilities": [ + "ABILITY_INTIMIDATE", + "ABILITY_FLASH_FIRE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 45, + "expYield": 60, + "baseAtkSpAtk": [ + 21, + 21 + ], + "baseDefSpDef": [ + 13, + 13 + ], + "weight": 332, + "size": 31, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_GROWLITHE", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_FIRE_STONE" + }, + "dexInternal": [ + 59, + 59 + ], + "recruitRate": -999, + "alphabetParent": [ + 11, + 59 + ] + }, + { + "name": "MonsterNamePoliwag", + "category": "MonsterCategoryPoliwag", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TADPOLE_POND", + "abilities": [ + "ABILITY_WATER_ABSORB", + "ABILITY_DAMP" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 31, + "expYield": 40, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 11, + 11 + ], + "weight": 153, + "size": 24, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 60, + 60 + ], + "recruitRate": 81, + "alphabetParent": [ + 256, + 60 + ] + }, + { + "name": "MonsterNamePoliwhirl", + "category": "MonsterCategoryPoliwag", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TADPOLE_POND", + "abilities": [ + "ABILITY_WATER_ABSORB", + "ABILITY_DAMP" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 60, + "baseAtkSpAtk": [ + 29, + 29 + ], + "baseDefSpDef": [ + 25, + 25 + ], + "weight": 179, + "size": 35, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_POLIWAG", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 25 + }, + "dexInternal": [ + 61, + 61 + ], + "recruitRate": -190, + "alphabetParent": [ + 257, + 61 + ] + }, + { + "name": "MonsterNamePoliwrath", + "category": "MonsterCategoryPoliwag", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_FIGHTING" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TADPOLE_POND", + "abilities": [ + "ABILITY_WATER_ABSORB", + "ABILITY_DAMP" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 60, + "expYield": 80, + "baseAtkSpAtk": [ + 30, + 30 + ], + "baseDefSpDef": [ + 27, + 27 + ], + "weight": 256, + "size": 46, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_POLIWHIRL", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_WATER_STONE" + }, + "dexInternal": [ + 62, + 62 + ], + "recruitRate": -999, + "alphabetParent": [ + 258, + 62 + ] + }, + { + "name": "MonsterNameAbra", + "category": "MonsterCategoryAbra", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "DECREPIT_LAB", + "abilities": [ + "ABILITY_SYNCHRONIZE", + "ABILITY_INNER_FOCUS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 100, + "baseHP": 30, + "expYield": 57, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 153, + "size": 27, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 63, + 63 + ], + "recruitRate": 104, + "alphabetParent": [ + 1, + 63 + ] + }, + { + "name": "MonsterNameKadabra", + "category": "MonsterCategoryAbra", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "friendArea": "DECREPIT_LAB", + "abilities": [ + "ABILITY_SYNCHRONIZE", + "ABILITY_INNER_FOCUS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 100, + "baseHP": 60, + "expYield": 100, + "baseAtkSpAtk": [ + 25, + 25 + ], + "baseDefSpDef": [ + 25, + 25 + ], + "weight": 256, + "size": 36, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_ABRA", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 16 + }, + "dexInternal": [ + 64, + 64 + ], + "recruitRate": -190, + "alphabetParent": [ + 155, + 64 + ] + }, + { + "name": "MonsterNameAlakazam", + "category": "MonsterCategoryAbra", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000111", + "types": [ + "TYPE_PSYCHIC" + ], + "friendArea": "DECREPIT_LAB", + "abilities": [ + "ABILITY_SYNCHRONIZE", + "ABILITY_INNER_FOCUS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 80, + "expYield": 225, + "baseAtkSpAtk": [ + 35, + 35 + ], + "baseDefSpDef": [ + 40, + 40 + ], + "weight": 230, + "size": 34, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_KADABRA", + "evolveType": "EVOLVE_TYPE_LINK_CABLE" + }, + "evolutionRequirements": { + "mainRequirement": 0, + "additionalRequirement": 4 + }, + "dexInternal": [ + 65, + 65 + ], + "recruitRate": -999, + "alphabetParent": [ + 6, + 65 + ] + }, + { + "name": "MonsterNameMachop", + "category": "MonsterCategoryMachop", + "overworldPalette": 12, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0001111111111111", + "types": [ + "TYPE_FIGHTING" + ], + "friendArea": "MT_DISCIPLINE", + "abilities": [ + "ABILITY_GUTS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 18, + "expYield": 57, + "baseAtkSpAtk": [ + 2, + 2 + ], + "baseDefSpDef": [ + 4, + 4 + ], + "weight": 153, + "size": 26, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 66, + 66 + ], + "recruitRate": 105, + "alphabetParent": [ + 185, + 66 + ] + }, + { + "name": "MonsterNameMachoke", + "category": "MonsterCategoryMachop", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIGHTING" + ], + "friendArea": "MT_DISCIPLINE", + "abilities": [ + "ABILITY_GUTS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 85, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 15, + 20 + ], + "weight": 307, + "size": 40, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_MACHOP", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 28 + }, + "dexInternal": [ + 67, + 67 + ], + "recruitRate": -190, + "alphabetParent": [ + 184, + 67 + ] + }, + { + "name": "MonsterNameMachamp", + "category": "MonsterCategoryMachop", + "overworldPalette": 12, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIGHTING" + ], + "friendArea": "MT_DISCIPLINE", + "abilities": [ + "ABILITY_GUTS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 104, + "baseAtkSpAtk": [ + 25, + 20 + ], + "baseDefSpDef": [ + 20, + 20 + ], + "weight": 332, + "size": 58, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_MACHOKE", + "evolveType": "EVOLVE_TYPE_LINK_CABLE" + }, + "evolutionRequirements": { + "mainRequirement": 0, + "additionalRequirement": 4 + }, + "dexInternal": [ + 68, + 68 + ], + "recruitRate": -999, + "alphabetParent": [ + 183, + 68 + ] + }, + { + "name": "MonsterNameBellsprout", + "category": "MonsterCategoryVileplume", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000011", + "types": [ + "TYPE_GRASS", + "TYPE_POISON" + ], + "friendArea": "JUNGLE", + "abilities": [ + "ABILITY_CHLOROPHYLL" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 11, + "expYield": 11, + "baseAtkSpAtk": [ + 5, + 6 + ], + "baseDefSpDef": [ + 6, + 7 + ], + "weight": 153, + "size": 16, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 69, + 69 + ], + "recruitRate": 93, + "alphabetParent": [ + 27, + 69 + ] + }, + { + "name": "MonsterNameWeepinbell", + "category": "MonsterCategoryWeepinbell", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS", + "TYPE_POISON" + ], + "friendArea": "JUNGLE", + "abilities": [ + "ABILITY_CHLOROPHYLL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 33, + "expYield": 24, + "baseAtkSpAtk": [ + 12, + 12 + ], + "baseDefSpDef": [ + 9, + 9 + ], + "weight": 153, + "size": 23, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_BELLSPROUT", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 21 + }, + "dexInternal": [ + 70, + 70 + ], + "recruitRate": -190, + "alphabetParent": [ + 408, + 70 + ] + }, + { + "name": "MonsterNameVictreebel", + "category": "MonsterCategoryWeepinbell", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS", + "TYPE_POISON" + ], + "friendArea": "JUNGLE", + "abilities": [ + "ABILITY_CHLOROPHYLL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 45, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 153, + "size": 39, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_WEEPINBELL", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_LEAF_STONE" + }, + "dexInternal": [ + 71, + 71 + ], + "recruitRate": -999, + "alphabetParent": [ + 397, + 71 + ] + }, + { + "name": "MonsterNameTentacool", + "category": "MonsterCategoryTentacool", + "overworldPalette": 1, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_POISON" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "BOUNTIFUL_SEA", + "abilities": [ + "ABILITY_CLEAR_BODY", + "ABILITY_LIQUID_OOZE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 33, + "expYield": 55, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 230, + "size": 29, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 72, + 72 + ], + "recruitRate": 83, + "alphabetParent": [ + 349, + 72 + ] + }, + { + "name": "MonsterNameTentacruel", + "category": "MonsterCategoryTentacool", + "overworldPalette": 1, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_POISON" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "BOUNTIFUL_SEA", + "abilities": [ + "ABILITY_CLEAR_BODY", + "ABILITY_LIQUID_OOZE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 45, + "expYield": 75, + "baseAtkSpAtk": [ + 17, + 15 + ], + "baseDefSpDef": [ + 14, + 15 + ], + "weight": 256, + "size": 37, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_TENTACOOL", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 30 + }, + "dexInternal": [ + 73, + 73 + ], + "recruitRate": -300, + "alphabetParent": [ + 350, + 73 + ] + }, + { + "name": "MonsterNameGeodude", + "category": "MonsterCategoryGeodude", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ROCK", + "TYPE_GROUND" + ], + "friendArea": "MT_DEEPGREEN", + "abilities": [ + "ABILITY_ROCK_HEAD", + "ABILITY_STURDY" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 5, + "baseHP": 26, + "expYield": 25, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 179, + "size": 27, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 74, + 74 + ], + "recruitRate": 91, + "alphabetParent": [ + 112, + 74 + ] + }, + { + "name": "MonsterNameGraveler", + "category": "MonsterCategoryGeodude", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ROCK", + "TYPE_GROUND" + ], + "friendArea": "MT_DEEPGREEN", + "abilities": [ + "ABILITY_ROCK_HEAD", + "ABILITY_STURDY" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 5, + "baseHP": 56, + "expYield": 70, + "baseAtkSpAtk": [ + 19, + 19 + ], + "baseDefSpDef": [ + 15, + 16 + ], + "weight": 332, + "size": 41, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_GEODUDE", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 25 + }, + "dexInternal": [ + 75, + 75 + ], + "recruitRate": -190, + "alphabetParent": [ + 123, + 75 + ] + }, + { + "name": "MonsterNameGolem", + "category": "MonsterCategoryGolem", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_ROCK", + "TYPE_GROUND" + ], + "friendArea": "MT_DEEPGREEN", + "abilities": [ + "ABILITY_ROCK_HEAD", + "ABILITY_STURDY" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 5, + "baseHP": 60, + "expYield": 100, + "baseAtkSpAtk": [ + 22, + 22 + ], + "baseDefSpDef": [ + 17, + 18 + ], + "weight": 358, + "size": 39, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_GRAVELER", + "evolveType": "EVOLVE_TYPE_LINK_CABLE" + }, + "evolutionRequirements": { + "mainRequirement": 0, + "additionalRequirement": 4 + }, + "dexInternal": [ + 76, + 76 + ], + "recruitRate": -300, + "alphabetParent": [ + 120, + 76 + ] + }, + { + "name": "MonsterNamePonyta", + "category": "MonsterCategoryPonyta", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIRE" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "SCORCHED_PLAINS", + "abilities": [ + "ABILITY_RUN_AWAY", + "ABILITY_FLASH_FIRE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 50, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 204, + "size": 19, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 77, + 77 + ], + "recruitRate": 109, + "alphabetParent": [ + 259, + 77 + ] + }, + { + "name": "MonsterNameRapidash", + "category": "MonsterCategoryPonyta", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIRE" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "SCORCHED_PLAINS", + "abilities": [ + "ABILITY_RUN_AWAY", + "ABILITY_FLASH_FIRE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 60, + "expYield": 70, + "baseAtkSpAtk": [ + 23, + 23 + ], + "baseDefSpDef": [ + 16, + 16 + ], + "weight": 332, + "size": 29, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_PONYTA", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 40 + }, + "dexInternal": [ + 78, + 78 + ], + "recruitRate": -999, + "alphabetParent": [ + 272, + 78 + ] + }, + { + "name": "MonsterNameSlowpoke", + "category": "MonsterCategorySlowpoke", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "BOUNTIFUL_SEA", + "abilities": [ + "ABILITY_OBLIVIOUS", + "ABILITY_OWN_TEMPO" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 50, + "baseAtkSpAtk": [ + 10, + 10 + ], + "baseDefSpDef": [ + 11, + 12 + ], + "weight": 204, + "size": 24, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 79, + 79 + ], + "recruitRate": 120, + "alphabetParent": [ + 315, + 79 + ] + }, + { + "name": "MonsterNameSlowbro", + "category": "MonsterCategorySlowbro", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "BOUNTIFUL_SEA", + "abilities": [ + "ABILITY_OBLIVIOUS", + "ABILITY_OWN_TEMPO" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 45, + "expYield": 90, + "baseAtkSpAtk": [ + 18, + 16 + ], + "baseDefSpDef": [ + 15, + 17 + ], + "weight": 307, + "size": 31, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SLOWPOKE", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 37 + }, + "dexInternal": [ + 80, + 80 + ], + "recruitRate": -999, + "alphabetParent": [ + 313, + 80 + ] + }, + { + "name": "MonsterNameMagnemite", + "category": "MonsterCategoryMagnemite", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000011", + "types": [ + "TYPE_ELECTRIC", + "TYPE_STEEL" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "POWER_PLANT", + "abilities": [ + "ABILITY_MAGNET_PULL", + "ABILITY_STURDY" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 13, + "expYield": 20, + "baseAtkSpAtk": [ + 5, + 4 + ], + "baseDefSpDef": [ + 5, + 4 + ], + "weight": 153, + "size": 15, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 81, + 81 + ], + "recruitRate": 128, + "alphabetParent": [ + 190, + 81 + ] + }, + { + "name": "MonsterNameMagneton", + "category": "MonsterCategoryMagnemite", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ELECTRIC", + "TYPE_STEEL" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "POWER_PLANT", + "abilities": [ + "ABILITY_MAGNET_PULL", + "ABILITY_STURDY" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 45, + "baseAtkSpAtk": [ + 16, + 16 + ], + "baseDefSpDef": [ + 16, + 16 + ], + "weight": 281, + "size": 34, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_MAGNEMITE", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 30 + }, + "dexInternal": [ + 82, + 82 + ], + "recruitRate": -999, + "alphabetParent": [ + 191, + 82 + ] + }, + { + "name": "MonsterNameFarfetch", + "category": "MonsterCategoryFarfetch", + "overworldPalette": 8, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL", + "TYPE_FLYING" + ], + "friendArea": "WILD_PLAINS", + "abilities": [ + "ABILITY_KEEN_EYE", + "ABILITY_INNER_FOCUS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 31, + "expYield": 40, + "baseAtkSpAtk": [ + 16, + 19 + ], + "baseDefSpDef": [ + 12, + 14 + ], + "weight": 153, + "size": 24, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 83, + 83 + ], + "recruitRate": 72, + "alphabetParent": [ + 100, + 83 + ] + }, + { + "name": "MonsterNameDoduo", + "category": "MonsterCategoryDoduo", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL", + "TYPE_FLYING" + ], + "friendArea": "SAFARI", + "abilities": [ + "ABILITY_RUN_AWAY", + "ABILITY_EARLY_BIRD" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 37, + "expYield": 70, + "baseAtkSpAtk": [ + 19, + 19 + ], + "baseDefSpDef": [ + 11, + 11 + ], + "weight": 204, + "size": 26, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 84, + 84 + ], + "recruitRate": 73, + "alphabetParent": [ + 78, + 84 + ] + }, + { + "name": "MonsterNameDodrio", + "category": "MonsterCategoryDodrio", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL", + "TYPE_FLYING" + ], + "friendArea": "SAFARI", + "abilities": [ + "ABILITY_RUN_AWAY", + "ABILITY_EARLY_BIRD" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 56, + "expYield": 77, + "baseAtkSpAtk": [ + 25, + 25 + ], + "baseDefSpDef": [ + 18, + 16 + ], + "weight": 332, + "size": 33, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_DODUO", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 31 + }, + "dexInternal": [ + 85, + 85 + ], + "recruitRate": -999, + "alphabetParent": [ + 77, + 85 + ] + }, + { + "name": "MonsterNameSeel", + "category": "MonsterCategorySeel", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "ICE_FLOE_BEACH", + "abilities": [ + "ABILITY_THICK_FAT" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 53, + "expYield": 60, + "baseAtkSpAtk": [ + 14, + 14 + ], + "baseDefSpDef": [ + 9, + 7 + ], + "weight": 332, + "size": 28, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 86, + 86 + ], + "recruitRate": 39, + "alphabetParent": [ + 296, + 86 + ] + }, + { + "name": "MonsterNameDewgong", + "category": "MonsterCategorySeel", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_ICE" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "ICE_FLOE_BEACH", + "abilities": [ + "ABILITY_THICK_FAT" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 55, + "expYield": 85, + "baseAtkSpAtk": [ + 16, + 16 + ], + "baseDefSpDef": [ + 15, + 13 + ], + "weight": 332, + "size": 32, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SEEL", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 34 + }, + "dexInternal": [ + 87, + 87 + ], + "recruitRate": -999, + "alphabetParent": [ + 74, + 87 + ] + }, + { + "name": "MonsterNameGrimer", + "category": "MonsterCategoryGrimer", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_POISON" + ], + "friendArea": "POISON_SWAMP", + "abilities": [ + "ABILITY_STENCH", + "ABILITY_STICKY_HOLD" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 58, + "expYield": 55, + "baseAtkSpAtk": [ + 19, + 19 + ], + "baseDefSpDef": [ + 11, + 11 + ], + "weight": 204, + "size": 32, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 88, + 88 + ], + "recruitRate": 122, + "alphabetParent": [ + 124, + 88 + ] + }, + { + "name": "MonsterNameMuk", + "category": "MonsterCategoryGrimer", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_POISON" + ], + "friendArea": "POISON_SWAMP", + "abilities": [ + "ABILITY_STENCH", + "ABILITY_STICKY_HOLD" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 58, + "expYield": 55, + "baseAtkSpAtk": [ + 21, + 23 + ], + "baseDefSpDef": [ + 15, + 17 + ], + "weight": 204, + "size": 39, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_GRIMER", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 38 + }, + "dexInternal": [ + 89, + 89 + ], + "recruitRate": -999, + "alphabetParent": [ + 219, + 89 + ] + }, + { + "name": "MonsterNameShellder", + "category": "MonsterCategoryShellder", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "BOUNTIFUL_SEA", + "abilities": [ + "ABILITY_SHELL_ARMOR" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 25, + "expYield": 66, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 25, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 90, + 90 + ], + "recruitRate": 122, + "alphabetParent": [ + 302, + 90 + ] + }, + { + "name": "MonsterNameCloyster", + "category": "MonsterCategoryShellder", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_ICE" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "BOUNTIFUL_SEA", + "abilities": [ + "ABILITY_SHELL_ARMOR" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 82, + "baseAtkSpAtk": [ + 10, + 10 + ], + "baseDefSpDef": [ + 8, + 9 + ], + "weight": 332, + "size": 43, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SHELLDER", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_WATER_STONE" + }, + "dexInternal": [ + 91, + 91 + ], + "recruitRate": -999, + "alphabetParent": [ + 57, + 91 + ] + }, + { + "name": "MonsterNameGastly", + "category": "MonsterCategoryGastly", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GHOST", + "TYPE_POISON" + ], + "movementType": "MOVEMENT_TYPE_WALL", + "friendArea": "DARKNESS_RIDGE", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 25, + "expYield": 80, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 7, + 7 + ], + "weight": 153, + "size": 38, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 92, + 92 + ], + "recruitRate": 10, + "alphabetParent": [ + 110, + 92 + ] + }, + { + "name": "MonsterNameHaunter", + "category": "MonsterCategoryGastly", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GHOST", + "TYPE_POISON" + ], + "movementType": "MOVEMENT_TYPE_WALL", + "friendArea": "DARKNESS_RIDGE", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 90, + "baseAtkSpAtk": [ + 11, + 11 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 43, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_GASTLY", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 25 + }, + "dexInternal": [ + 93, + 93 + ], + "recruitRate": -190, + "alphabetParent": [ + 132, + 93 + ] + }, + { + "name": "MonsterNameGengar", + "category": "MonsterCategoryGengar", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000001111111", + "types": [ + "TYPE_GHOST", + "TYPE_POISON" + ], + "movementType": "MOVEMENT_TYPE_WALL", + "friendArea": "DARKNESS_RIDGE", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 53, + "expYield": 200, + "baseAtkSpAtk": [ + 13, + 13 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 230, + "size": 40, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_HAUNTER", + "evolveType": "EVOLVE_TYPE_LINK_CABLE" + }, + "evolutionRequirements": { + "mainRequirement": 0, + "additionalRequirement": 4 + }, + "dexInternal": [ + 94, + 94 + ], + "recruitRate": -999, + "alphabetParent": [ + 111, + 94 + ] + }, + { + "name": "MonsterNameOnix", + "category": "MonsterCategoryOnix", + "overworldPalette": 5, + "bodySize": 4, + "movementSpeed": 1, + "types": [ + "TYPE_ROCK", + "TYPE_GROUND" + ], + "friendArea": "BOULDER_CAVE", + "abilities": [ + "ABILITY_ROCK_HEAD", + "ABILITY_STURDY" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 52, + "expYield": 100, + "baseAtkSpAtk": [ + 9, + 10 + ], + "baseDefSpDef": [ + 17, + 17 + ], + "weight": 358, + "size": 76, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 95, + 95 + ], + "recruitRate": 96, + "alphabetParent": [ + 240, + 95 + ] + }, + { + "name": "MonsterNameDrowzee", + "category": "MonsterCategoryDrowzee", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "friendArea": "WILD_PLAINS", + "abilities": [ + "ABILITY_INSOMNIA" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 30, + "expYield": 100, + "baseAtkSpAtk": [ + 11, + 12 + ], + "baseDefSpDef": [ + 15, + 16 + ], + "weight": 204, + "size": 32, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 96, + 96 + ], + "recruitRate": 79, + "alphabetParent": [ + 83, + 96 + ] + }, + { + "name": "MonsterNameHypno", + "category": "MonsterCategoryDrowzee", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "friendArea": "WILD_PLAINS", + "abilities": [ + "ABILITY_INSOMNIA" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 40, + "expYield": 190, + "baseAtkSpAtk": [ + 15, + 17 + ], + "baseDefSpDef": [ + 18, + 16 + ], + "weight": 307, + "size": 36, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_DROWZEE", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 26 + }, + "dexInternal": [ + 97, + 97 + ], + "recruitRate": -999, + "alphabetParent": [ + 144, + 97 + ] + }, + { + "name": "MonsterNameKrabby", + "category": "MonsterCategoryKrabby", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "SHALLOW_BEACH", + "abilities": [ + "ABILITY_HYPER_CUTTER", + "ABILITY_SHELL_ARMOR" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 25, + "expYield": 25, + "baseAtkSpAtk": [ + 9, + 9 + ], + "baseDefSpDef": [ + 6, + 7 + ], + "weight": 153, + "size": 19, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 98, + 98 + ], + "recruitRate": 80, + "alphabetParent": [ + 163, + 98 + ] + }, + { + "name": "MonsterNameKingler", + "category": "MonsterCategoryKingler", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "SHALLOW_BEACH", + "abilities": [ + "ABILITY_HYPER_CUTTER", + "ABILITY_SHELL_ARMOR" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 90, + "baseAtkSpAtk": [ + 9, + 10 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 281, + "size": 36, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_KRABBY", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 28 + }, + "dexInternal": [ + 99, + 99 + ], + "recruitRate": -999, + "alphabetParent": [ + 160, + 99 + ] + }, + { + "name": "MonsterNameVoltorb", + "category": "MonsterCategoryVoltorb", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ELECTRIC" + ], + "friendArea": "POWER_PLANT", + "abilities": [ + "ABILITY_SOUNDPROOF", + "ABILITY_STATIC" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 18, + "expYield": 35, + "baseAtkSpAtk": [ + 11, + 11 + ], + "baseDefSpDef": [ + 5, + 5 + ], + "weight": 153, + "size": 18, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 100, + 100 + ], + "recruitRate": 81, + "alphabetParent": [ + 401, + 100 + ] + }, + { + "name": "MonsterNameElectrode", + "category": "MonsterCategoryVoltorb", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ELECTRIC" + ], + "friendArea": "POWER_PLANT", + "abilities": [ + "ABILITY_SOUNDPROOF", + "ABILITY_STATIC" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 30, + "expYield": 160, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 10, + 12 + ], + "weight": 281, + "size": 26, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_VOLTORB", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 30 + }, + "dexInternal": [ + 101, + 101 + ], + "recruitRate": -999, + "alphabetParent": [ + 93, + 101 + ] + }, + { + "name": "MonsterNameExeggcute", + "category": "MonsterCategoryExeggcute", + "overworldPalette": 10, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS", + "TYPE_PSYCHIC" + ], + "friendArea": "JUNGLE", + "abilities": [ + "ABILITY_CHLOROPHYLL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 40, + "baseHP": 12, + "expYield": 45, + "baseAtkSpAtk": [ + 6, + 6 + ], + "baseDefSpDef": [ + 5, + 5 + ], + "weight": 153, + "size": 40, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 102, + 102 + ], + "recruitRate": 60, + "alphabetParent": [ + 97, + 102 + ] + }, + { + "name": "MonsterNameExeggutor", + "category": "MonsterCategoryExeggutor", + "overworldPalette": 8, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS", + "TYPE_PSYCHIC" + ], + "friendArea": "JUNGLE", + "abilities": [ + "ABILITY_CHLOROPHYLL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 25, + "baseHP": 33, + "expYield": 50, + "baseAtkSpAtk": [ + 13, + 13 + ], + "baseDefSpDef": [ + 6, + 6 + ], + "weight": 332, + "size": 45, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_EXEGGCUTE", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_LEAF_STONE" + }, + "dexInternal": [ + 103, + 103 + ], + "recruitRate": -999, + "alphabetParent": [ + 98, + 103 + ] + }, + { + "name": "MonsterNameCubone", + "category": "MonsterCategoryCubone", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0001111111111111", + "types": [ + "TYPE_GROUND" + ], + "friendArea": "MT_DEEPGREEN", + "abilities": [ + "ABILITY_ROCK_HEAD", + "ABILITY_LIGHTNINGROD" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 13, + "expYield": 18, + "baseAtkSpAtk": [ + 4, + 2 + ], + "baseDefSpDef": [ + 6, + 2 + ], + "weight": 153, + "size": 29, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 104, + 104 + ], + "recruitRate": 105, + "alphabetParent": [ + 65, + 104 + ] + }, + { + "name": "MonsterNameMarowak", + "category": "MonsterCategoryMarowak", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GROUND" + ], + "friendArea": "MT_DEEPGREEN", + "abilities": [ + "ABILITY_ROCK_HEAD", + "ABILITY_LIGHTNINGROD" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 50, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 230, + "size": 39, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_CUBONE", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 28 + }, + "dexInternal": [ + 105, + 105 + ], + "recruitRate": -999, + "alphabetParent": [ + 198, + 105 + ] + }, + { + "name": "MonsterNameHitmonlee", + "category": "MonsterCategoryHitmonlee", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIGHTING" + ], + "friendArea": "MT_DISCIPLINE", + "abilities": [ + "ABILITY_LIMBER" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 48, + "expYield": 80, + "baseAtkSpAtk": [ + 25, + 22 + ], + "baseDefSpDef": [ + 13, + 13 + ], + "weight": 230, + "size": 45, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_TYROGUE", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 20, + "additionalRequirement": 5 + }, + "dexInternal": [ + 106, + 106 + ], + "recruitRate": -999, + "alphabetParent": [ + 135, + 106 + ] + }, + { + "name": "MonsterNameHitmonchan", + "category": "MonsterCategoryHitmonchan", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIGHTING" + ], + "friendArea": "MT_DISCIPLINE", + "abilities": [ + "ABILITY_KEEN_EYE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 52, + "expYield": 90, + "baseAtkSpAtk": [ + 28, + 25 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 256, + "size": 33, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_TYROGUE", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 20, + "additionalRequirement": 6 + }, + "dexInternal": [ + 107, + 107 + ], + "recruitRate": -999, + "alphabetParent": [ + 134, + 107 + ] + }, + { + "name": "MonsterNameLickitung", + "category": "MonsterCategoryLickitung", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "SKY_BLUE_PLAINS", + "abilities": [ + "ABILITY_OWN_TEMPO", + "ABILITY_OBLIVIOUS" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 95, + "baseAtkSpAtk": [ + 20, + 18 + ], + "baseDefSpDef": [ + 18, + 16 + ], + "weight": 281, + "size": 47, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 108, + 108 + ], + "recruitRate": 86, + "alphabetParent": [ + 173, + 108 + ] + }, + { + "name": "MonsterNameKoffing", + "category": "MonsterCategoryKoffing", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_POISON" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "POISON_SWAMP", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 42, + "expYield": 70, + "baseAtkSpAtk": [ + 21, + 21 + ], + "baseDefSpDef": [ + 5, + 5 + ], + "weight": 153, + "size": 29, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 109, + 109 + ], + "recruitRate": 79, + "alphabetParent": [ + 162, + 109 + ] + }, + { + "name": "MonsterNameWeezing", + "category": "MonsterCategoryKoffing", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_POISON" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "POISON_SWAMP", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 52, + "expYield": 80, + "baseAtkSpAtk": [ + 22, + 23 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 153, + "size": 55, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_KOFFING", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 35 + }, + "dexInternal": [ + 110, + 110 + ], + "recruitRate": -999, + "alphabetParent": [ + 409, + 110 + ] + }, + { + "name": "MonsterNameRhyhorn", + "category": "MonsterCategoryRhyhorn", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GROUND", + "TYPE_ROCK" + ], + "friendArea": "SAFARI", + "abilities": [ + "ABILITY_LIGHTNINGROD", + "ABILITY_ROCK_HEAD" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 53, + "expYield": 100, + "baseAtkSpAtk": [ + 25, + 25 + ], + "baseDefSpDef": [ + 10, + 14 + ], + "weight": 332, + "size": 34, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 111, + 111 + ], + "recruitRate": 77, + "alphabetParent": [ + 283, + 111 + ] + }, + { + "name": "MonsterNameRhydon", + "category": "MonsterCategoryNidoqueen", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GROUND", + "TYPE_ROCK" + ], + "friendArea": "SAFARI", + "abilities": [ + "ABILITY_LIGHTNINGROD", + "ABILITY_ROCK_HEAD" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 58, + "expYield": 110, + "baseAtkSpAtk": [ + 25, + 27 + ], + "baseDefSpDef": [ + 10, + 14 + ], + "weight": 332, + "size": 51, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_RHYHORN", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 42 + }, + "dexInternal": [ + 112, + 112 + ], + "recruitRate": -999, + "alphabetParent": [ + 282, + 112 + ] + }, + { + "name": "MonsterNameChansey", + "category": "MonsterCategoryExeggcute", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "SKY_BLUE_PLAINS", + "abilities": [ + "ABILITY_NATURAL_CURE", + "ABILITY_SERENE_GRACE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 33, + "expYield": 7, + "baseAtkSpAtk": [ + 7, + 7 + ], + "baseDefSpDef": [ + 7, + 7 + ], + "weight": 204, + "size": 36, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 113, + 113 + ], + "recruitRate": 69, + "alphabetParent": [ + 45, + 113 + ] + }, + { + "name": "MonsterNameTangela", + "category": "MonsterCategoryTangela", + "overworldPalette": 11, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS" + ], + "friendArea": "JUNGLE", + "abilities": [ + "ABILITY_CHLOROPHYLL" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 60, + "baseAtkSpAtk": [ + 18, + 15 + ], + "baseDefSpDef": [ + 20, + 15 + ], + "weight": 204, + "size": 42, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 114, + 114 + ], + "recruitRate": 74, + "alphabetParent": [ + 346, + 114 + ] + }, + { + "name": "MonsterNameKangaskhan", + "category": "MonsterCategoryKangaskhan", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000011", + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "SAFARI", + "abilities": [ + "ABILITY_EARLY_BIRD" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 40, + "expYield": 125, + "baseAtkSpAtk": [ + 20, + 15 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 332, + "size": 55, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 115, + 115 + ], + "recruitRate": 76, + "alphabetParent": [ + 157, + 115 + ] + }, + { + "name": "MonsterNameHorsea", + "category": "MonsterCategoryHorsea", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TREASURE_SEA", + "abilities": [ + "ABILITY_SWIFT_SWIM" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 65, + "baseAtkSpAtk": [ + 7, + 8 + ], + "baseDefSpDef": [ + 7, + 8 + ], + "weight": 153, + "size": 19, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 116, + 116 + ], + "recruitRate": 124, + "alphabetParent": [ + 140, + 116 + ] + }, + { + "name": "MonsterNameSeadra", + "category": "MonsterCategoryHorsea", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TREASURE_SEA", + "abilities": [ + "ABILITY_POISON_POINT" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 95, + "baseAtkSpAtk": [ + 9, + 8 + ], + "baseDefSpDef": [ + 10, + 8 + ], + "weight": 179, + "size": 32, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_HORSEA", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 32 + }, + "dexInternal": [ + 117, + 117 + ], + "recruitRate": -190, + "alphabetParent": [ + 292, + 117 + ] + }, + { + "name": "MonsterNameGoldeen", + "category": "MonsterCategoryGoldeen", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "RUB_A_DUB_RIVER", + "abilities": [ + "ABILITY_SWIFT_SWIM", + "ABILITY_WATER_VEIL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 25, + "expYield": 50, + "baseAtkSpAtk": [ + 5, + 5 + ], + "baseDefSpDef": [ + 5, + 5 + ], + "weight": 153, + "size": 25, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 118, + 118 + ], + "recruitRate": 119, + "alphabetParent": [ + 118, + 118 + ] + }, + { + "name": "MonsterNameSeaking", + "category": "MonsterCategoryGoldeen", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "RUB_A_DUB_RIVER", + "abilities": [ + "ABILITY_SWIFT_SWIM", + "ABILITY_WATER_VEIL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 65, + "baseAtkSpAtk": [ + 10, + 10 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 204, + "size": 37, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_GOLDEEN", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 33 + }, + "dexInternal": [ + 119, + 119 + ], + "recruitRate": -999, + "alphabetParent": [ + 293, + 119 + ] + }, + { + "name": "MonsterNameStaryu", + "category": "MonsterCategoryStaryu", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "BOUNTIFUL_SEA", + "abilities": [ + "ABILITY_ILLUMINATE", + "ABILITY_NATURAL_CURE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 85, + "baseAtkSpAtk": [ + 10, + 9 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 204, + "size": 22, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 120, + 120 + ], + "recruitRate": 89, + "alphabetParent": [ + 332, + 120 + ] + }, + { + "name": "MonsterNameStarmie", + "category": "MonsterCategoryStarmie", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "BOUNTIFUL_SEA", + "abilities": [ + "ABILITY_ILLUMINATE", + "ABILITY_NATURAL_CURE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 55, + "expYield": 115, + "baseAtkSpAtk": [ + 25, + 25 + ], + "baseDefSpDef": [ + 19, + 18 + ], + "weight": 332, + "size": 27, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_STARYU", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_WATER_STONE" + }, + "dexInternal": [ + 121, + 121 + ], + "recruitRate": -999, + "alphabetParent": [ + 331, + 121 + ] + }, + { + "name": "MonsterNameMrMime", + "category": "MonsterCategoryMrMime", + "overworldPalette": 11, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "friendArea": "DECREPIT_LAB", + "abilities": [ + "ABILITY_SOUNDPROOF" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 160, + "baseAtkSpAtk": [ + 9, + 9 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 256, + "size": 36, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 122, + 122 + ], + "recruitRate": 74, + "alphabetParent": [ + 217, + 122 + ] + }, + { + "name": "MonsterNameScyther", + "category": "MonsterCategoryScyther", + "overworldPalette": 8, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_FLYING" + ], + "friendArea": "OVERGROWN_FOREST", + "abilities": [ + "ABILITY_SWARM" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 15, + "baseHP": 30, + "expYield": 50, + "baseAtkSpAtk": [ + 14, + 14 + ], + "baseDefSpDef": [ + 9, + 8 + ], + "weight": 256, + "size": 42, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 123, + 123 + ], + "recruitRate": 100, + "alphabetParent": [ + 291, + 123 + ] + }, + { + "name": "MonsterNameJynx", + "category": "MonsterCategoryJynx", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ICE", + "TYPE_PSYCHIC" + ], + "friendArea": "FRIGID_CAVERN", + "abilities": [ + "ABILITY_OBLIVIOUS" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 100, + "baseAtkSpAtk": [ + 12, + 12 + ], + "baseDefSpDef": [ + 18, + 18 + ], + "weight": 230, + "size": 40, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SMOOCHUM", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 30 + }, + "dexInternal": [ + 124, + 124 + ], + "recruitRate": -999, + "alphabetParent": [ + 152, + 124 + ] + }, + { + "name": "MonsterNameElectabuzz", + "category": "MonsterCategoryElectabuzz", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ELECTRIC" + ], + "friendArea": "POWER_PLANT", + "abilities": [ + "ABILITY_STATIC" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 50, + "baseAtkSpAtk": [ + 19, + 20 + ], + "baseDefSpDef": [ + 7, + 8 + ], + "weight": 204, + "size": 49, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_ELEKID", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 30 + }, + "dexInternal": [ + 125, + 125 + ], + "recruitRate": -999, + "alphabetParent": [ + 91, + 125 + ] + }, + { + "name": "MonsterNameMagmar", + "category": "MonsterCategoryMagmar", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIRE" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "CRATER", + "abilities": [ + "ABILITY_FLAME_BODY" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 53, + "expYield": 45, + "baseAtkSpAtk": [ + 23, + 19 + ], + "baseDefSpDef": [ + 7, + 10 + ], + "weight": 230, + "size": 37, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_MAGBY", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 30 + }, + "dexInternal": [ + 126, + 126 + ], + "recruitRate": -999, + "alphabetParent": [ + 189, + 126 + ] + }, + { + "name": "MonsterNamePinsir", + "category": "MonsterCategoryPinsir", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG" + ], + "friendArea": "OVERGROWN_FOREST", + "abilities": [ + "ABILITY_HYPER_CUTTER" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 20, + "baseHP": 25, + "expYield": 40, + "baseAtkSpAtk": [ + 17, + 15 + ], + "baseDefSpDef": [ + 6, + 8 + ], + "weight": 256, + "size": 42, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 127, + 127 + ], + "recruitRate": 83, + "alphabetParent": [ + 253, + 127 + ] + }, + { + "name": "MonsterNameTauros", + "category": "MonsterCategoryTauros", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "SAFARI", + "abilities": [ + "ABILITY_INTIMIDATE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 27, + "expYield": 41, + "baseAtkSpAtk": [ + 19, + 19 + ], + "baseDefSpDef": [ + 11, + 11 + ], + "weight": 332, + "size": 33, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 128, + 128 + ], + "recruitRate": 79, + "alphabetParent": [ + 347, + 128 + ] + }, + { + "name": "MonsterNameMagikarp", + "category": "MonsterCategoryMagikarp", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "WATERFALL_LAKE", + "abilities": [ + "ABILITY_SWIFT_SWIM" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 20, + "expYield": 10, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 29, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 129, + 129 + ], + "recruitRate": 92, + "alphabetParent": [ + 188, + 129 + ] + }, + { + "name": "MonsterNameGyarados", + "category": "MonsterCategoryGyarados", + "overworldPalette": 5, + "bodySize": 4, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "WATERFALL_LAKE", + "abilities": [ + "ABILITY_INTIMIDATE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 225, + "baseAtkSpAtk": [ + 30, + 30 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 358, + "size": 116, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_MAGIKARP", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 20 + }, + "dexInternal": [ + 130, + 130 + ], + "recruitRate": -999, + "alphabetParent": [ + 130, + 130 + ] + }, + { + "name": "MonsterNameLapras", + "category": "MonsterCategoryLapras", + "overworldPalette": 5, + "bodySize": 4, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_ICE" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "MYSTIC_LAKE", + "abilities": [ + "ABILITY_WATER_ABSORB", + "ABILITY_SHELL_ARMOR" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 25, + "expYield": 185, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 358, + "size": 72, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 131, + 131 + ], + "recruitRate": 67, + "alphabetParent": [ + 167, + 131 + ] + }, + { + "name": "MonsterNameDitto", + "category": "MonsterCategoryDitto", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "DECREPIT_LAB", + "abilities": [ + "ABILITY_LIMBER" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 41, + "expYield": 5, + "baseAtkSpAtk": [ + 5, + 5 + ], + "baseDefSpDef": [ + 5, + 5 + ], + "weight": 153, + "size": 27, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 132, + 132 + ], + "recruitRate": 68, + "alphabetParent": [ + 76, + 132 + ] + }, + { + "name": "MonsterNameEevee", + "category": "MonsterCategoryEevee", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0001111111111111", + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "TRANSFORM_FOREST", + "abilities": [ + "ABILITY_RUN_AWAY" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 18, + "expYield": 18, + "baseAtkSpAtk": [ + 1, + 1 + ], + "baseDefSpDef": [ + 3, + 3 + ], + "weight": 153, + "size": 22, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 133, + 133 + ], + "recruitRate": 102, + "alphabetParent": [ + 89, + 133 + ] + }, + { + "name": "MonsterNameVaporeon", + "category": "MonsterCategoryVaporeon", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TRANSFORM_FOREST", + "abilities": [ + "ABILITY_WATER_ABSORB" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 60, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 12, + 13 + ], + "weight": 179, + "size": 40, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_EEVEE", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_WATER_STONE" + }, + "dexInternal": [ + 134, + 134 + ], + "recruitRate": -999, + "alphabetParent": [ + 392, + 134 + ] + }, + { + "name": "MonsterNameJolteon", + "category": "MonsterCategoryJolteon", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ELECTRIC" + ], + "friendArea": "TRANSFORM_FOREST", + "abilities": [ + "ABILITY_VOLT_ABSORB" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 70, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 13, + 12 + ], + "weight": 179, + "size": 34, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_EEVEE", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_THUNDERSTONE" + }, + "dexInternal": [ + 135, + 135 + ], + "recruitRate": -999, + "alphabetParent": [ + 150, + 135 + ] + }, + { + "name": "MonsterNameFlareon", + "category": "MonsterCategoryCharmeleon", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIRE" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "TRANSFORM_FOREST", + "abilities": [ + "ABILITY_FLASH_FIRE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 75, + "baseAtkSpAtk": [ + 23, + 23 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 179, + "size": 35, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_EEVEE", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_FIRE_STONE" + }, + "dexInternal": [ + 136, + 136 + ], + "recruitRate": -999, + "alphabetParent": [ + 105, + 136 + ] + }, + { + "name": "MonsterNamePorygon", + "category": "MonsterCategoryPorygon", + "overworldPalette": 1, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "DECREPIT_LAB", + "abilities": [ + "ABILITY_TRACE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 88, + "baseAtkSpAtk": [ + 10, + 9 + ], + "baseDefSpDef": [ + 7, + 9 + ], + "weight": 204, + "size": 23, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 137, + 137 + ], + "recruitRate": 76, + "alphabetParent": [ + 261, + 137 + ] + }, + { + "name": "MonsterNameOmanyte", + "category": "MonsterCategoryOmanyte", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ROCK", + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "DEEP_SEA_FLOOR", + "abilities": [ + "ABILITY_SWIFT_SWIM", + "ABILITY_SHELL_ARMOR" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 50, + "baseAtkSpAtk": [ + 9, + 10 + ], + "baseDefSpDef": [ + 8, + 10 + ], + "weight": 153, + "size": 21, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 138, + 138 + ], + "recruitRate": 80, + "alphabetParent": [ + 238, + 138 + ] + }, + { + "name": "MonsterNameOmastar", + "category": "MonsterCategoryOmanyte", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ROCK", + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "DEEP_SEA_FLOOR", + "abilities": [ + "ABILITY_SWIFT_SWIM", + "ABILITY_SHELL_ARMOR" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 85, + "baseAtkSpAtk": [ + 11, + 15 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 204, + "size": 34, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_OMANYTE", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 40 + }, + "dexInternal": [ + 139, + 139 + ], + "recruitRate": -999, + "alphabetParent": [ + 239, + 139 + ] + }, + { + "name": "MonsterNameKabuto", + "category": "MonsterCategoryBlastoise", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ROCK", + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "DEEP_SEA_FLOOR", + "abilities": [ + "ABILITY_SWIFT_SWIM", + "ABILITY_BATTLE_ARMOR" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 45, + "baseAtkSpAtk": [ + 11, + 10 + ], + "baseDefSpDef": [ + 8, + 9 + ], + "weight": 153, + "size": 17, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 140, + 140 + ], + "recruitRate": 72, + "alphabetParent": [ + 153, + 140 + ] + }, + { + "name": "MonsterNameKabutops", + "category": "MonsterCategoryBlastoise", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ROCK", + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "DEEP_SEA_FLOOR", + "abilities": [ + "ABILITY_SWIFT_SWIM", + "ABILITY_BATTLE_ARMOR" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 85, + "baseAtkSpAtk": [ + 13, + 12 + ], + "baseDefSpDef": [ + 11, + 11 + ], + "weight": 230, + "size": 39, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_KABUTO", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 40 + }, + "dexInternal": [ + 141, + 141 + ], + "recruitRate": -999, + "alphabetParent": [ + 154, + 141 + ] + }, + { + "name": "MonsterNameAerodactyl", + "category": "MonsterCategoryAerodactyl", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ROCK", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "ANCIENT_RELIC", + "abilities": [ + "ABILITY_ROCK_HEAD", + "ABILITY_PRESSURE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 52, + "expYield": 70, + "baseAtkSpAtk": [ + 21, + 21 + ], + "baseDefSpDef": [ + 12, + 14 + ], + "weight": 256, + "size": 36, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 142, + 142 + ], + "recruitRate": 84, + "alphabetParent": [ + 3, + 142 + ] + }, + { + "name": "MonsterNameSnorlax", + "category": "MonsterCategorySnorlax", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "ENERGETIC_FOREST", + "abilities": [ + "ABILITY_IMMUNITY", + "ABILITY_THICK_FAT" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 33, + "expYield": 89, + "baseAtkSpAtk": [ + 7, + 8 + ], + "baseDefSpDef": [ + 8, + 7 + ], + "weight": 358, + "size": 51, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_MUNCHLAX", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 40 + }, + "dexInternal": [ + 143, + 143 + ], + "recruitRate": 20, + "alphabetParent": [ + 320, + 143 + ] + }, + { + "name": "MonsterNameArticuno", + "category": "MonsterCategoryArticuno", + "overworldPalette": 5, + "bodySize": 4, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "unk12": true, + "types": [ + "TYPE_ICE", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "LEGENDARY_ISLAND", + "abilities": [ + "ABILITY_PRESSURE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 64, + "expYield": 150, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 11, + 11 + ], + "weight": 256, + "size": 69, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 144, + 144 + ], + "recruitRate": 300, + "alphabetParent": [ + 15, + 144 + ] + }, + { + "name": "MonsterNameZapdos", + "category": "MonsterCategoryElectabuzz", + "overworldPalette": 4, + "bodySize": 4, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "unk12": true, + "types": [ + "TYPE_ELECTRIC", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "LEGENDARY_ISLAND", + "abilities": [ + "ABILITY_PRESSURE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 57, + "expYield": 160, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 11, + 11 + ], + "weight": 256, + "size": 115, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 145, + 145 + ], + "recruitRate": 300, + "alphabetParent": [ + 421, + 145 + ] + }, + { + "name": "MonsterNameMoltres", + "category": "MonsterCategoryCharmeleon", + "overworldPalette": 0, + "bodySize": 4, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "unk12": true, + "types": [ + "TYPE_FIRE", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "LEGENDARY_ISLAND", + "abilities": [ + "ABILITY_PRESSURE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 58, + "expYield": 170, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 11, + 11 + ], + "weight": 281, + "size": 87, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 146, + 146 + ], + "recruitRate": 300, + "alphabetParent": [ + 216, + 146 + ] + }, + { + "name": "MonsterNameDratini", + "category": "MonsterCategoryHorsea", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_DRAGON" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "MYSTIC_LAKE", + "abilities": [ + "ABILITY_SHED_SKIN" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 50, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 27, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 147, + 147 + ], + "recruitRate": 110, + "alphabetParent": [ + 82, + 147 + ] + }, + { + "name": "MonsterNameDragonair", + "category": "MonsterCategoryHorsea", + "overworldPalette": 9, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_DRAGON" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "MYSTIC_LAKE", + "abilities": [ + "ABILITY_SHED_SKIN" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 60, + "baseAtkSpAtk": [ + 9, + 9 + ], + "baseDefSpDef": [ + 9, + 9 + ], + "weight": 153, + "size": 53, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_DRATINI", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 30 + }, + "dexInternal": [ + 148, + 148 + ], + "recruitRate": -190, + "alphabetParent": [ + 80, + 148 + ] + }, + { + "name": "MonsterNameDragonite", + "category": "MonsterCategoryHorsea", + "overworldPalette": 8, + "bodySize": 4, + "movementSpeed": 1, + "types": [ + "TYPE_DRAGON", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "MYSTIC_LAKE", + "abilities": [ + "ABILITY_INNER_FOCUS" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 45, + "expYield": 215, + "baseAtkSpAtk": [ + 11, + 11 + ], + "baseDefSpDef": [ + 11, + 11 + ], + "weight": 358, + "size": 56, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_DRAGONAIR", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 55 + }, + "dexInternal": [ + 149, + 149 + ], + "recruitRate": -999, + "alphabetParent": [ + 81, + 149 + ] + }, + { + "name": "MonsterNameMewtwo", + "category": "MonsterCategoryMewtwo", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_PSYCHIC" + ], + "friendArea": "CRYPTIC_CAVE", + "abilities": [ + "ABILITY_PRESSURE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 250, + "baseAtkSpAtk": [ + 25, + 25 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 332, + "size": 43, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 150, + 150 + ], + "recruitRate": 999, + "alphabetParent": [ + 210, + 150 + ] + }, + { + "name": "MonsterNameMew", + "category": "MonsterCategoryMew", + "overworldPalette": 1, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "FINAL_ISLAND", + "abilities": [ + "ABILITY_SYNCHRONIZE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 250, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 153, + "size": 26, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 151, + 151 + ], + "recruitRate": 9, + "alphabetParent": [ + 209, + 151 + ] + }, + { + "name": "MonsterNameChikorita", + "category": "MonsterCategoryChikorita", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0001111111111111", + "types": [ + "TYPE_GRASS" + ], + "friendArea": "BEAU_PLAINS", + "abilities": [ + "ABILITY_OVERGROW" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 23, + "expYield": 18, + "baseAtkSpAtk": [ + 3, + 4 + ], + "baseDefSpDef": [ + 1, + 0 + ], + "weight": 153, + "size": 22, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 152, + 152 + ], + "recruitRate": 114, + "alphabetParent": [ + 49, + 152 + ] + }, + { + "name": "MonsterNameBayleef", + "category": "MonsterCategoryChikorita", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS" + ], + "friendArea": "BEAU_PLAINS", + "abilities": [ + "ABILITY_OVERGROW" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 45, + "baseAtkSpAtk": [ + 10, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 32, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_CHIKORITA", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 16 + }, + "dexInternal": [ + 153, + 153 + ], + "recruitRate": -190, + "alphabetParent": [ + 22, + 153 + ] + }, + { + "name": "MonsterNameMeganium", + "category": "MonsterCategoryMeganium", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS" + ], + "friendArea": "BEAU_PLAINS", + "abilities": [ + "ABILITY_OVERGROW" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 135, + "baseAtkSpAtk": [ + 30, + 30 + ], + "baseDefSpDef": [ + 25, + 25 + ], + "weight": 332, + "size": 41, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_BAYLEEF", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 32 + }, + "dexInternal": [ + 154, + 154 + ], + "recruitRate": -999, + "alphabetParent": [ + 204, + 154 + ] + }, + { + "name": "MonsterNameCyndaquil", + "category": "MonsterCategoryCyndaquil", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0001111111111111", + "types": [ + "TYPE_FIRE" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "SCORCHED_PLAINS", + "abilities": [ + "ABILITY_BLAZE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 22, + "expYield": 21, + "baseAtkSpAtk": [ + 2, + 2 + ], + "baseDefSpDef": [ + 1, + 1 + ], + "weight": 153, + "size": 17, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 155, + 155 + ], + "recruitRate": 112, + "alphabetParent": [ + 66, + 155 + ] + }, + { + "name": "MonsterNameQuilava", + "category": "MonsterCategoryQuilava", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIRE" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "SCORCHED_PLAINS", + "abilities": [ + "ABILITY_BLAZE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 57, + "baseAtkSpAtk": [ + 11, + 10 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 153, + "size": 19, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_CYNDAQUIL", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 14 + }, + "dexInternal": [ + 156, + 156 + ], + "recruitRate": -190, + "alphabetParent": [ + 267, + 156 + ] + }, + { + "name": "MonsterNameTyphlosion", + "category": "MonsterCategoryQuilava", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIRE" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "SCORCHED_PLAINS", + "abilities": [ + "ABILITY_BLAZE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 45, + "expYield": 180, + "baseAtkSpAtk": [ + 12, + 11 + ], + "baseDefSpDef": [ + 11, + 11 + ], + "weight": 307, + "size": 33, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_QUILAVA", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 36 + }, + "dexInternal": [ + 157, + 157 + ], + "recruitRate": -999, + "alphabetParent": [ + 359, + 157 + ] + }, + { + "name": "MonsterNameTotodile", + "category": "MonsterCategoryTotodile", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0001111111111111", + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "RUB_A_DUB_RIVER", + "abilities": [ + "ABILITY_TORRENT" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 18, + "expYield": 27, + "baseAtkSpAtk": [ + 2, + 2 + ], + "baseDefSpDef": [ + 5, + 5 + ], + "weight": 153, + "size": 28, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 158, + 158 + ], + "recruitRate": 114, + "alphabetParent": [ + 355, + 158 + ] + }, + { + "name": "MonsterNameCroconaw", + "category": "MonsterCategoryTotodile", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "RUB_A_DUB_RIVER", + "abilities": [ + "ABILITY_TORRENT" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 75, + "baseAtkSpAtk": [ + 12, + 12 + ], + "baseDefSpDef": [ + 12, + 12 + ], + "weight": 179, + "size": 35, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_TOTODILE", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 18 + }, + "dexInternal": [ + 159, + 159 + ], + "recruitRate": -190, + "alphabetParent": [ + 64, + 159 + ] + }, + { + "name": "MonsterNameFeraligatr", + "category": "MonsterCategoryTotodile", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "RUB_A_DUB_RIVER", + "abilities": [ + "ABILITY_TORRENT" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 180, + "baseAtkSpAtk": [ + 13, + 13 + ], + "baseDefSpDef": [ + 12, + 12 + ], + "weight": 332, + "size": 49, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_CROCONAW", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 30 + }, + "dexInternal": [ + 160, + 160 + ], + "recruitRate": -339, + "alphabetParent": [ + 103, + 160 + ] + }, + { + "name": "MonsterNameSentret", + "category": "MonsterCategorySentret", + "overworldPalette": 1, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "THUNDER_MEADOW", + "abilities": [ + "ABILITY_RUN_AWAY", + "ABILITY_KEEN_EYE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 30, + "expYield": 50, + "baseAtkSpAtk": [ + 15, + 17 + ], + "baseDefSpDef": [ + 5, + 6 + ], + "weight": 153, + "size": 26, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 161, + 161 + ], + "recruitRate": 73, + "alphabetParent": [ + 297, + 161 + ] + }, + { + "name": "MonsterNameFurret", + "category": "MonsterCategoryFurret", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "THUNDER_MEADOW", + "abilities": [ + "ABILITY_RUN_AWAY", + "ABILITY_KEEN_EYE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 54, + "expYield": 35, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 7, + 12 + ], + "weight": 204, + "size": 31, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SENTRET", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 15 + }, + "dexInternal": [ + 162, + 162 + ], + "recruitRate": -999, + "alphabetParent": [ + 108, + 162 + ] + }, + { + "name": "MonsterNameHoothoot", + "category": "MonsterCategoryHoothoot", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL", + "TYPE_FLYING" + ], + "friendArea": "FLYAWAY_FOREST", + "abilities": [ + "ABILITY_INSOMNIA", + "ABILITY_KEEN_EYE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 25, + "expYield": 40, + "baseAtkSpAtk": [ + 13, + 14 + ], + "baseDefSpDef": [ + 5, + 5 + ], + "weight": 179, + "size": 23, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 163, + 163 + ], + "recruitRate": 70, + "alphabetParent": [ + 138, + 163 + ] + }, + { + "name": "MonsterNameNoctowl", + "category": "MonsterCategoryHoothoot", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL", + "TYPE_FLYING" + ], + "friendArea": "FLYAWAY_FOREST", + "abilities": [ + "ABILITY_INSOMNIA", + "ABILITY_KEEN_EYE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 45, + "expYield": 50, + "baseAtkSpAtk": [ + 18, + 20 + ], + "baseDefSpDef": [ + 5, + 6 + ], + "weight": 230, + "size": 31, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_HOOTHOOT", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 20 + }, + "dexInternal": [ + 164, + 164 + ], + "recruitRate": -999, + "alphabetParent": [ + 232, + 164 + ] + }, + { + "name": "MonsterNameLedyba", + "category": "MonsterCategoryLedyba", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "MIST_RISE_FOREST", + "abilities": [ + "ABILITY_SWARM", + "ABILITY_EARLY_BIRD" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 29, + "expYield": 55, + "baseAtkSpAtk": [ + 16, + 16 + ], + "baseDefSpDef": [ + 9, + 9 + ], + "weight": 153, + "size": 34, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 165, + 165 + ], + "recruitRate": 121, + "alphabetParent": [ + 172, + 165 + ] + }, + { + "name": "MonsterNameLedian", + "category": "MonsterCategoryLedyba", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "MIST_RISE_FOREST", + "abilities": [ + "ABILITY_SWARM", + "ABILITY_EARLY_BIRD" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 57, + "expYield": 75, + "baseAtkSpAtk": [ + 22, + 21 + ], + "baseDefSpDef": [ + 14, + 16 + ], + "weight": 204, + "size": 43, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_LEDYBA", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 18 + }, + "dexInternal": [ + 166, + 166 + ], + "recruitRate": -999, + "alphabetParent": [ + 171, + 166 + ] + }, + { + "name": "MonsterNameSpinarak", + "category": "MonsterCategorySpinarak", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_POISON" + ], + "friendArea": "SECRETIVE_FOREST", + "abilities": [ + "ABILITY_SWARM", + "ABILITY_INSOMNIA" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 30, + "expYield": 50, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 153, + "size": 25, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 167, + 167 + ], + "recruitRate": 78, + "alphabetParent": [ + 326, + 167 + ] + }, + { + "name": "MonsterNameAriados", + "category": "MonsterCategoryAriados", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_POISON" + ], + "friendArea": "SECRETIVE_FOREST", + "abilities": [ + "ABILITY_SWARM", + "ABILITY_INSOMNIA" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 43, + "expYield": 80, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 12, + 12 + ], + "weight": 204, + "size": 37, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SPINARAK", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 22 + }, + "dexInternal": [ + 168, + 168 + ], + "recruitRate": -999, + "alphabetParent": [ + 12, + 168 + ] + }, + { + "name": "MonsterNameCrobat", + "category": "MonsterCategoryZubat", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_POISON", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "ECHO_CAVE", + "abilities": [ + "ABILITY_INNER_FOCUS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 55, + "expYield": 80, + "baseAtkSpAtk": [ + 25, + 25 + ], + "baseDefSpDef": [ + 19, + 19 + ], + "weight": 307, + "size": 29, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_GOLBAT", + "evolveType": "EVOLVE_TYPE_IQ" + }, + "evolutionRequirements": { + "mainRequirement": 150 + }, + "dexInternal": [ + 169, + 169 + ], + "recruitRate": -999, + "alphabetParent": [ + 63, + 169 + ] + }, + { + "name": "MonsterNameChinchou", + "category": "MonsterCategoryChinchou", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_ELECTRIC" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "DEEP_SEA_FLOOR", + "abilities": [ + "ABILITY_VOLT_ABSORB", + "ABILITY_ILLUMINATE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 50, + "baseAtkSpAtk": [ + 10, + 10 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 27, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 170, + 170 + ], + "recruitRate": 87, + "alphabetParent": [ + 51, + 170 + ] + }, + { + "name": "MonsterNameLanturn", + "category": "MonsterCategoryLanturn", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_ELECTRIC" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "DEEP_SEA_FLOOR", + "abilities": [ + "ABILITY_VOLT_ABSORB", + "ABILITY_ILLUMINATE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 80, + "baseAtkSpAtk": [ + 11, + 12 + ], + "baseDefSpDef": [ + 9, + 9 + ], + "weight": 179, + "size": 28, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_CHINCHOU", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 27 + }, + "dexInternal": [ + 171, + 171 + ], + "recruitRate": -999, + "alphabetParent": [ + 166, + 171 + ] + }, + { + "name": "MonsterNamePichu", + "category": "MonsterCategoryPichu", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ELECTRIC" + ], + "friendArea": "ENERGETIC_FOREST", + "abilities": [ + "ABILITY_STATIC" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 25, + "expYield": 6, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 24, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 172, + 172 + ], + "recruitRate": 51, + "alphabetParent": [ + 246, + 172 + ] + }, + { + "name": "MonsterNameCleffa", + "category": "MonsterCategoryStaryu", + "overworldPalette": 1, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "MT_MOONVIEW", + "abilities": [ + "ABILITY_CUTE_CHARM" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 11, + "expYield": 12, + "baseAtkSpAtk": [ + 3, + 2 + ], + "baseDefSpDef": [ + 2, + 2 + ], + "weight": 153, + "size": 23, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 173, + 173 + ], + "recruitRate": 131, + "alphabetParent": [ + 56, + 173 + ] + }, + { + "name": "MonsterNameIgglybuff", + "category": "MonsterCategoryJigglypuff", + "overworldPalette": 1, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "SKY_BLUE_PLAINS", + "abilities": [ + "ABILITY_CUTE_CHARM" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 25, + "expYield": 15, + "baseAtkSpAtk": [ + 10, + 8 + ], + "baseDefSpDef": [ + 9, + 8 + ], + "weight": 153, + "size": 18, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 174, + 174 + ], + "recruitRate": 113, + "alphabetParent": [ + 145, + 174 + ] + }, + { + "name": "MonsterNameTogepi", + "category": "MonsterCategoryTogepi", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "FLYAWAY_FOREST", + "abilities": [ + "ABILITY_HUSTLE", + "ABILITY_SERENE_GRACE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 18, + "expYield": 20, + "baseAtkSpAtk": [ + 10, + 9 + ], + "baseDefSpDef": [ + 7, + 7 + ], + "weight": 153, + "size": 21, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 175, + 175 + ], + "recruitRate": 79, + "alphabetParent": [ + 351, + 175 + ] + }, + { + "name": "MonsterNameTogetic", + "category": "MonsterCategoryTogetic", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL", + "TYPE_FLYING" + ], + "friendArea": "FLYAWAY_FOREST", + "abilities": [ + "ABILITY_HUSTLE", + "ABILITY_SERENE_GRACE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 18, + "baseAtkSpAtk": [ + 11, + 12 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 20, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_TOGEPI", + "evolveType": "EVOLVE_TYPE_IQ" + }, + "evolutionRequirements": { + "mainRequirement": 150 + }, + "dexInternal": [ + 176, + 176 + ], + "recruitRate": -999, + "alphabetParent": [ + 352, + 176 + ] + }, + { + "name": "MonsterNameNatu", + "category": "MonsterCategoryPidgey", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC", + "TYPE_FLYING" + ], + "friendArea": "FLYAWAY_FOREST", + "abilities": [ + "ABILITY_SYNCHRONIZE", + "ABILITY_EARLY_BIRD" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 30, + "expYield": 6, + "baseAtkSpAtk": [ + 9, + 9 + ], + "baseDefSpDef": [ + 9, + 9 + ], + "weight": 153, + "size": 17, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 177, + 177 + ], + "recruitRate": 94, + "alphabetParent": [ + 222, + 177 + ] + }, + { + "name": "MonsterNameXatu", + "category": "MonsterCategoryXatu", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_PSYCHIC", + "TYPE_FLYING" + ], + "friendArea": "FLYAWAY_FOREST", + "abilities": [ + "ABILITY_SYNCHRONIZE", + "ABILITY_EARLY_BIRD" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 35, + "expYield": 45, + "baseAtkSpAtk": [ + 11, + 11 + ], + "baseDefSpDef": [ + 11, + 11 + ], + "weight": 153, + "size": 29, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_NATU", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 25 + }, + "dexInternal": [ + 178, + 178 + ], + "recruitRate": -999, + "alphabetParent": [ + 418, + 178 + ] + }, + { + "name": "MonsterNameMareep", + "category": "MonsterCategoryMareep", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ELECTRIC" + ], + "friendArea": "THUNDER_MEADOW", + "abilities": [ + "ABILITY_STATIC" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 33, + "expYield": 50, + "baseAtkSpAtk": [ + 15, + 20 + ], + "baseDefSpDef": [ + 13, + 15 + ], + "weight": 153, + "size": 23, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 179, + 179 + ], + "recruitRate": 119, + "alphabetParent": [ + 196, + 179 + ] + }, + { + "name": "MonsterNameFlaaffy", + "category": "MonsterCategoryMareep", + "overworldPalette": 11, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ELECTRIC" + ], + "friendArea": "THUNDER_MEADOW", + "abilities": [ + "ABILITY_STATIC" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 55, + "baseAtkSpAtk": [ + 15, + 22 + ], + "baseDefSpDef": [ + 15, + 18 + ], + "weight": 153, + "size": 27, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_MAREEP", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 15 + }, + "dexInternal": [ + 180, + 180 + ], + "recruitRate": -190, + "alphabetParent": [ + 104, + 180 + ] + }, + { + "name": "MonsterNameAmpharos", + "category": "MonsterCategoryLanturn", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ELECTRIC" + ], + "friendArea": "THUNDER_MEADOW", + "abilities": [ + "ABILITY_STATIC" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 45, + "expYield": 40, + "baseAtkSpAtk": [ + 17, + 15 + ], + "baseDefSpDef": [ + 11, + 11 + ], + "weight": 281, + "size": 29, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_FLAAFFY", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 30 + }, + "dexInternal": [ + 181, + 181 + ], + "recruitRate": -999, + "alphabetParent": [ + 8, + 181 + ] + }, + { + "name": "MonsterNameBellossom", + "category": "MonsterCategoryVileplume", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS" + ], + "friendArea": "JUNGLE", + "abilities": [ + "ABILITY_CHLOROPHYLL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 15, + "baseAtkSpAtk": [ + 8, + 7 + ], + "baseDefSpDef": [ + 6, + 9 + ], + "weight": 153, + "size": 32, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_GLOOM", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_SUN_STONE" + }, + "dexInternal": [ + 182, + 182 + ], + "recruitRate": -999, + "alphabetParent": [ + 26, + 182 + ] + }, + { + "name": "MonsterNameMarill", + "category": "MonsterCategoryMarill", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TURTLESHELL_POND", + "abilities": [ + "ABILITY_THICK_FAT", + "ABILITY_HUGE_POWER" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 25, + "expYield": 30, + "baseAtkSpAtk": [ + 7, + 7 + ], + "baseDefSpDef": [ + 7, + 7 + ], + "weight": 153, + "size": 28, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_AZURILL", + "evolveType": "EVOLVE_TYPE_IQ" + }, + "evolutionRequirements": { + "mainRequirement": 200 + }, + "dexInternal": [ + 183, + 183 + ], + "recruitRate": -190, + "alphabetParent": [ + 197, + 183 + ] + }, + { + "name": "MonsterNameAzumarill", + "category": "MonsterCategoryAzumarill", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TURTLESHELL_POND", + "abilities": [ + "ABILITY_THICK_FAT", + "ABILITY_HUGE_POWER" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 60, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 179, + "size": 36, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_MARILL", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 18 + }, + "dexInternal": [ + 184, + 184 + ], + "recruitRate": -999, + "alphabetParent": [ + 16, + 184 + ] + }, + { + "name": "MonsterNameSudowoodo", + "category": "MonsterCategorySudowoodo", + "overworldPalette": 8, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ROCK" + ], + "friendArea": "OVERGROWN_FOREST", + "abilities": [ + "ABILITY_STURDY", + "ABILITY_ROCK_HEAD" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 100, + "baseHP": 23, + "expYield": 48, + "baseAtkSpAtk": [ + 14, + 14 + ], + "baseDefSpDef": [ + 7, + 7 + ], + "weight": 204, + "size": 28, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 185, + 185 + ], + "recruitRate": 104, + "alphabetParent": [ + 335, + 185 + ] + }, + { + "name": "MonsterNamePolitoed", + "category": "MonsterCategoryPolitoed", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TADPOLE_POND", + "abilities": [ + "ABILITY_WATER_ABSORB", + "ABILITY_DAMP" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 45, + "expYield": 99, + "baseAtkSpAtk": [ + 9, + 10 + ], + "baseDefSpDef": [ + 8, + 11 + ], + "weight": 204, + "size": 33, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_POLIWHIRL", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_KINGS_ROCK", + "additionalRequirement": 4 + }, + "dexInternal": [ + 186, + 186 + ], + "recruitRate": -999, + "alphabetParent": [ + 255, + 186 + ] + }, + { + "name": "MonsterNameHoppip", + "category": "MonsterCategoryHoppip", + "overworldPalette": 10, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS", + "TYPE_FLYING" + ], + "friendArea": "BEAU_PLAINS", + "abilities": [ + "ABILITY_CHLOROPHYLL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 24, + "expYield": 15, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 3, + 3 + ], + "weight": 153, + "size": 32, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 187, + 187 + ], + "recruitRate": 85, + "alphabetParent": [ + 139, + 187 + ] + }, + { + "name": "MonsterNameSkiploom", + "category": "MonsterCategoryHoppip", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS", + "TYPE_FLYING" + ], + "friendArea": "BEAU_PLAINS", + "abilities": [ + "ABILITY_CHLOROPHYLL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 26, + "expYield": 25, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 3, + 3 + ], + "weight": 153, + "size": 28, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_HOPPIP", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 18 + }, + "dexInternal": [ + 188, + 188 + ], + "recruitRate": -190, + "alphabetParent": [ + 309, + 188 + ] + }, + { + "name": "MonsterNameJumpluff", + "category": "MonsterCategoryHoppip", + "overworldPalette": 12, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000011", + "types": [ + "TYPE_GRASS", + "TYPE_FLYING" + ], + "friendArea": "BEAU_PLAINS", + "abilities": [ + "ABILITY_CHLOROPHYLL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 28, + "expYield": 33, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 3, + 3 + ], + "weight": 153, + "size": 27, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SKIPLOOM", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 27 + }, + "dexInternal": [ + 189, + 189 + ], + "recruitRate": -999, + "alphabetParent": [ + 151, + 189 + ] + }, + { + "name": "MonsterNameAipom", + "category": "MonsterCategoryAipom", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "ENERGETIC_FOREST", + "abilities": [ + "ABILITY_RUN_AWAY", + "ABILITY_PICKUP" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 41, + "expYield": 40, + "baseAtkSpAtk": [ + 16, + 16 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 153, + "size": 40, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 190, + 190 + ], + "recruitRate": 72, + "alphabetParent": [ + 5, + 190 + ] + }, + { + "name": "MonsterNameSunkern", + "category": "MonsterCategoryBulbasaur", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS" + ], + "friendArea": "JUNGLE", + "abilities": [ + "ABILITY_CHLOROPHYLL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 5, + "baseHP": 12, + "expYield": 16, + "baseAtkSpAtk": [ + 5, + 5 + ], + "baseDefSpDef": [ + 4, + 4 + ], + "weight": 153, + "size": 22, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 191, + 191 + ], + "recruitRate": 52, + "alphabetParent": [ + 338, + 191 + ] + }, + { + "name": "MonsterNameSunflora", + "category": "MonsterCategorySunflora", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS" + ], + "friendArea": "JUNGLE", + "abilities": [ + "ABILITY_CHLOROPHYLL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 5, + "baseHP": 28, + "expYield": 70, + "baseAtkSpAtk": [ + 16, + 16 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 38, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SUNKERN", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_SUN_STONE" + }, + "dexInternal": [ + 192, + 192 + ], + "recruitRate": -999, + "alphabetParent": [ + 337, + 192 + ] + }, + { + "name": "MonsterNameYanma", + "category": "MonsterCategoryYanma", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "MIST_RISE_FOREST", + "abilities": [ + "ABILITY_SPEED_BOOST", + "ABILITY_COMPOUNDEYES" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 22, + "expYield": 55, + "baseAtkSpAtk": [ + 19, + 17 + ], + "baseDefSpDef": [ + 5, + 7 + ], + "weight": 204, + "size": 26, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 193, + 193 + ], + "recruitRate": 74, + "alphabetParent": [ + 419, + 193 + ] + }, + { + "name": "MonsterNameWooper", + "category": "MonsterCategoryWooper", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_GROUND" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "PEANUT_SWAMP", + "abilities": [ + "ABILITY_DAMP", + "ABILITY_WATER_ABSORB" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 34, + "expYield": 24, + "baseAtkSpAtk": [ + 9, + 9 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 24, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 194, + 194 + ], + "recruitRate": 119, + "alphabetParent": [ + 415, + 194 + ] + }, + { + "name": "MonsterNameQuagsire", + "category": "MonsterCategoryWooper", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_GROUND" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "PEANUT_SWAMP", + "abilities": [ + "ABILITY_DAMP", + "ABILITY_WATER_ABSORB" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 44, + "expYield": 105, + "baseAtkSpAtk": [ + 12, + 12 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 307, + "size": 36, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_WOOPER", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 20 + }, + "dexInternal": [ + 195, + 195 + ], + "recruitRate": -999, + "alphabetParent": [ + 266, + 195 + ] + }, + { + "name": "MonsterNameEspeon", + "category": "MonsterCategorySunflora", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "friendArea": "TRANSFORM_FOREST", + "abilities": [ + "ABILITY_SYNCHRONIZE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 78, + "baseAtkSpAtk": [ + 10, + 10 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 179, + "size": 35, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_EEVEE", + "evolveType": "EVOLVE_TYPE_IQ" + }, + "evolutionRequirements": { + "mainRequirement": 100, + "additionalRequirement": 8 + }, + "dexInternal": [ + 196, + 196 + ], + "recruitRate": -999, + "alphabetParent": [ + 96, + 196 + ] + }, + { + "name": "MonsterNameUmbreon", + "category": "MonsterCategoryUmbreon", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_DARK" + ], + "friendArea": "TRANSFORM_FOREST", + "abilities": [ + "ABILITY_SYNCHRONIZE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 81, + "baseAtkSpAtk": [ + 10, + 10 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 179, + "size": 27, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_EEVEE", + "evolveType": "EVOLVE_TYPE_IQ" + }, + "evolutionRequirements": { + "mainRequirement": 100, + "additionalRequirement": 9 + }, + "dexInternal": [ + 197, + 197 + ], + "recruitRate": -999, + "alphabetParent": [ + 362, + 197 + ] + }, + { + "name": "MonsterNameMurkrow", + "category": "MonsterCategoryMurkrow", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_DARK", + "TYPE_FLYING" + ], + "friendArea": "FLYAWAY_FOREST", + "abilities": [ + "ABILITY_INSOMNIA" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 35, + "expYield": 40, + "baseAtkSpAtk": [ + 23, + 23 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 153, + "size": 20, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 198, + 198 + ], + "recruitRate": 72, + "alphabetParent": [ + 221, + 198 + ] + }, + { + "name": "MonsterNameSlowking", + "category": "MonsterCategorySlowking", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "BOUNTIFUL_SEA", + "abilities": [ + "ABILITY_OBLIVIOUS", + "ABILITY_OWN_TEMPO" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 50, + "baseAtkSpAtk": [ + 10, + 10 + ], + "baseDefSpDef": [ + 7, + 7 + ], + "weight": 307, + "size": 37, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SLOWPOKE", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_KINGS_ROCK", + "additionalRequirement": 4 + }, + "dexInternal": [ + 199, + 199 + ], + "recruitRate": -999, + "alphabetParent": [ + 314, + 199 + ] + }, + { + "name": "MonsterNameMisdreavus", + "category": "MonsterCategoryMisdreavus", + "overworldPalette": 11, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GHOST" + ], + "movementType": "MOVEMENT_TYPE_WALL", + "friendArea": "DARKNESS_RIDGE", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 60, + "baseAtkSpAtk": [ + 7, + 7 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 27, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 200, + 200 + ], + "recruitRate": 88, + "alphabetParent": [ + 215, + 200 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_AN", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 12, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 201 + ], + "recruitRate": 18, + "alphabetParent": [ + 363, + 201 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_AN", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 13, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 202 + ], + "recruitRate": 18, + "alphabetParent": [ + 364, + 202 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_AN", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 17, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 203 + ], + "recruitRate": 18, + "alphabetParent": [ + 365, + 203 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_AN", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 13, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 204 + ], + "recruitRate": 18, + "alphabetParent": [ + 366, + 204 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_AN", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 12, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 205 + ], + "recruitRate": 18, + "alphabetParent": [ + 367, + 205 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_AN", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 13, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 206 + ], + "recruitRate": 18, + "alphabetParent": [ + 368, + 206 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_AN", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 12, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 207 + ], + "recruitRate": 18, + "alphabetParent": [ + 369, + 207 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_AN", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 18, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 208 + ], + "recruitRate": 18, + "alphabetParent": [ + 370, + 208 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_AN", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 8, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 209 + ], + "recruitRate": 18, + "alphabetParent": [ + 371, + 209 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_AN", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 10, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 210 + ], + "recruitRate": 18, + "alphabetParent": [ + 372, + 210 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_AN", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 10, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 211 + ], + "recruitRate": 18, + "alphabetParent": [ + 373, + 211 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_AN", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 10, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 212 + ], + "recruitRate": 18, + "alphabetParent": [ + 374, + 212 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_AN", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 17, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 213 + ], + "recruitRate": 18, + "alphabetParent": [ + 375, + 213 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_AN", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 15, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 214 + ], + "recruitRate": 18, + "alphabetParent": [ + 376, + 214 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_O_EXCLAIM", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 19, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 215 + ], + "recruitRate": 18, + "alphabetParent": [ + 377, + 215 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_O_EXCLAIM", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 9, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 216 + ], + "recruitRate": 18, + "alphabetParent": [ + 378, + 216 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_O_EXCLAIM", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 8, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 217 + ], + "recruitRate": 18, + "alphabetParent": [ + 379, + 217 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_O_EXCLAIM", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 9, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 218 + ], + "recruitRate": 18, + "alphabetParent": [ + 380, + 218 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_O_EXCLAIM", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 12, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 219 + ], + "recruitRate": 18, + "alphabetParent": [ + 381, + 219 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_O_EXCLAIM", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 10, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 220 + ], + "recruitRate": 18, + "alphabetParent": [ + 382, + 220 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_O_EXCLAIM", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 15, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 221 + ], + "recruitRate": 18, + "alphabetParent": [ + 383, + 221 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_O_EXCLAIM", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 12, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 222 + ], + "recruitRate": 18, + "alphabetParent": [ + 384, + 222 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_O_EXCLAIM", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 11, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 223 + ], + "recruitRate": 18, + "alphabetParent": [ + 385, + 223 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_O_EXCLAIM", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 9, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 224 + ], + "recruitRate": 18, + "alphabetParent": [ + 386, + 224 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_O_EXCLAIM", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 11, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 225 + ], + "recruitRate": 18, + "alphabetParent": [ + 387, + 225 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_O_EXCLAIM", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 9, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 226 + ], + "recruitRate": 18, + "alphabetParent": [ + 388, + 226 + ] + }, + { + "name": "MonsterNameWobbuffet", + "category": "MonsterCategoryWobbuffet", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000011", + "types": [ + "TYPE_PSYCHIC" + ], + "friendArea": "ECHO_CAVE", + "abilities": [ + "ABILITY_SHADOW_TAG" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 50, + "baseAtkSpAtk": [ + 6, + 6 + ], + "baseDefSpDef": [ + 6, + 6 + ], + "weight": 179, + "size": 30, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_WYNAUT", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 15 + }, + "dexInternal": [ + 202, + 229 + ], + "recruitRate": -999, + "alphabetParent": [ + 414, + 229 + ] + }, + { + "name": "MonsterNameGirafarig", + "category": "MonsterCategoryGirafarig", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL", + "TYPE_PSYCHIC" + ], + "friendArea": "SKY_BLUE_PLAINS", + "abilities": [ + "ABILITY_INNER_FOCUS", + "ABILITY_EARLY_BIRD" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 46, + "expYield": 70, + "baseAtkSpAtk": [ + 15, + 20 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 230, + "size": 26, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 203, + 230 + ], + "recruitRate": 76, + "alphabetParent": [ + 113, + 230 + ] + }, + { + "name": "MonsterNamePineco", + "category": "MonsterCategoryPineco", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG" + ], + "friendArea": "SECRETIVE_FOREST", + "abilities": [ + "ABILITY_STURDY" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 51, + "expYield": 42, + "baseAtkSpAtk": [ + 22, + 22 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 153, + "size": 22, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 204, + 231 + ], + "recruitRate": 94, + "alphabetParent": [ + 252, + 231 + ] + }, + { + "name": "MonsterNameForretress", + "category": "MonsterCategoryPineco", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_STEEL" + ], + "friendArea": "SECRETIVE_FOREST", + "abilities": [ + "ABILITY_STURDY" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 60, + "expYield": 75, + "baseAtkSpAtk": [ + 22, + 22 + ], + "baseDefSpDef": [ + 17, + 17 + ], + "weight": 332, + "size": 32, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_PINECO", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 31 + }, + "dexInternal": [ + 205, + 232 + ], + "recruitRate": -999, + "alphabetParent": [ + 107, + 232 + ] + }, + { + "name": "MonsterNameDunsparce", + "category": "MonsterCategoryDunsparce", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "ECHO_CAVE", + "abilities": [ + "ABILITY_SERENE_GRACE", + "ABILITY_RUN_AWAY" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 43, + "expYield": 22, + "baseAtkSpAtk": [ + 19, + 19 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 153, + "size": 21, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 206, + 233 + ], + "recruitRate": 76, + "alphabetParent": [ + 85, + 233 + ] + }, + { + "name": "MonsterNameGligar", + "category": "MonsterCategoryGligar", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GROUND", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "MT_DEEPGREEN", + "abilities": [ + "ABILITY_HYPER_CUTTER", + "ABILITY_SAND_VEIL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 38, + "expYield": 41, + "baseAtkSpAtk": [ + 21, + 17 + ], + "baseDefSpDef": [ + 11, + 13 + ], + "weight": 281, + "size": 47, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 207, + 234 + ], + "recruitRate": 85, + "alphabetParent": [ + 115, + 234 + ] + }, + { + "name": "MonsterNameSteelix", + "category": "MonsterCategorySteelix", + "overworldPalette": 5, + "bodySize": 4, + "movementSpeed": 1, + "types": [ + "TYPE_STEEL", + "TYPE_GROUND" + ], + "friendArea": "BOULDER_CAVE", + "abilities": [ + "ABILITY_ROCK_HEAD", + "ABILITY_STURDY" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 125, + "baseAtkSpAtk": [ + 23, + 23 + ], + "baseDefSpDef": [ + 12, + 12 + ], + "weight": 358, + "size": 94, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_ONIX", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_METAL_COAT", + "additionalRequirement": 4 + }, + "dexInternal": [ + 208, + 235 + ], + "recruitRate": -999, + "alphabetParent": [ + 334, + 235 + ] + }, + { + "name": "MonsterNameSnubbull", + "category": "MonsterCategoryClefairy", + "overworldPalette": 11, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000111", + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "SKY_BLUE_PLAINS", + "abilities": [ + "ABILITY_INTIMIDATE", + "ABILITY_RUN_AWAY" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 21, + "baseAtkSpAtk": [ + 10, + 10 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 30, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 209, + 236 + ], + "recruitRate": 81, + "alphabetParent": [ + 322, + 236 + ] + }, + { + "name": "MonsterNameGranbull", + "category": "MonsterCategoryClefairy", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "SKY_BLUE_PLAINS", + "abilities": [ + "ABILITY_INTIMIDATE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 45, + "expYield": 80, + "baseAtkSpAtk": [ + 12, + 12 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 230, + "size": 37, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SNUBBULL", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 23 + }, + "dexInternal": [ + 210, + 237 + ], + "recruitRate": -999, + "alphabetParent": [ + 122, + 237 + ] + }, + { + "name": "MonsterNameQwilfish", + "category": "MonsterCategoryJigglypuff", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_POISON" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "SERENE_SEA", + "abilities": [ + "ABILITY_POISON_POINT", + "ABILITY_SWIFT_SWIM" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 9, + "baseAtkSpAtk": [ + 9, + 9 + ], + "baseDefSpDef": [ + 9, + 9 + ], + "weight": 153, + "size": 14, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 211, + 238 + ], + "recruitRate": 69, + "alphabetParent": [ + 268, + 238 + ] + }, + { + "name": "MonsterNameScizor", + "category": "MonsterCategoryKingler", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_STEEL" + ], + "friendArea": "OVERGROWN_FOREST", + "abilities": [ + "ABILITY_SWARM" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 56, + "expYield": 108, + "baseAtkSpAtk": [ + 23, + 19 + ], + "baseDefSpDef": [ + 13, + 14 + ], + "weight": 332, + "size": 48, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SCYTHER", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_METAL_COAT", + "additionalRequirement": 4 + }, + "dexInternal": [ + 212, + 239 + ], + "recruitRate": -999, + "alphabetParent": [ + 290, + 239 + ] + }, + { + "name": "MonsterNameShuckle", + "category": "MonsterCategoryShuckle", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_ROCK" + ], + "friendArea": "MT_DEEPGREEN", + "abilities": [ + "ABILITY_STURDY" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 37, + "expYield": 50, + "baseAtkSpAtk": [ + 21, + 21 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 179, + "size": 29, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 213, + 240 + ], + "recruitRate": 69, + "alphabetParent": [ + 305, + 240 + ] + }, + { + "name": "MonsterNameHeracross", + "category": "MonsterCategoryHeracross", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_FIGHTING" + ], + "friendArea": "OVERGROWN_FOREST", + "abilities": [ + "ABILITY_SWARM", + "ABILITY_GUTS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 52, + "expYield": 55, + "baseAtkSpAtk": [ + 22, + 22 + ], + "baseDefSpDef": [ + 9, + 9 + ], + "weight": 256, + "size": 37, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 214, + 241 + ], + "recruitRate": 26, + "alphabetParent": [ + 133, + 241 + ] + }, + { + "name": "MonsterNameSneasel", + "category": "MonsterCategorySneasel", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_DARK", + "TYPE_ICE" + ], + "friendArea": "DARKNESS_RIDGE", + "abilities": [ + "ABILITY_INNER_FOCUS", + "ABILITY_KEEN_EYE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 84, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 7, + 10 + ], + "weight": 179, + "size": 36, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 215, + 242 + ], + "recruitRate": 77, + "alphabetParent": [ + 319, + 242 + ] + }, + { + "name": "MonsterNameTeddiursa", + "category": "MonsterCategoryTeddiursa", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "MT_DEEPGREEN", + "abilities": [ + "ABILITY_PICKUP" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 27, + "expYield": 40, + "baseAtkSpAtk": [ + 16, + 16 + ], + "baseDefSpDef": [ + 11, + 11 + ], + "weight": 153, + "size": 26, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 216, + 243 + ], + "recruitRate": 114, + "alphabetParent": [ + 348, + 243 + ] + }, + { + "name": "MonsterNameUrsaring", + "category": "MonsterCategoryUrsaring", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "MT_DEEPGREEN", + "abilities": [ + "ABILITY_GUTS" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 37, + "expYield": 100, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 12, + 12 + ], + "weight": 332, + "size": 54, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_TEDDIURSA", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 30 + }, + "dexInternal": [ + 217, + 244 + ], + "recruitRate": -999, + "alphabetParent": [ + 391, + 244 + ] + }, + { + "name": "MonsterNameSlugma", + "category": "MonsterCategorySlugma", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIRE" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "CRATER", + "abilities": [ + "ABILITY_MAGMA_ARMOR", + "ABILITY_FLAME_BODY" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 51, + "expYield": 55, + "baseAtkSpAtk": [ + 21, + 21 + ], + "baseDefSpDef": [ + 13, + 13 + ], + "weight": 204, + "size": 23, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 218, + 245 + ], + "recruitRate": 114, + "alphabetParent": [ + 316, + 245 + ] + }, + { + "name": "MonsterNameMagcargo", + "category": "MonsterCategorySlugma", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIRE", + "TYPE_ROCK" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "CRATER", + "abilities": [ + "ABILITY_MAGMA_ARMOR", + "ABILITY_FLAME_BODY" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 55, + "expYield": 56, + "baseAtkSpAtk": [ + 21, + 21 + ], + "baseDefSpDef": [ + 16, + 16 + ], + "weight": 256, + "size": 30, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SLUGMA", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 38 + }, + "dexInternal": [ + 219, + 246 + ], + "recruitRate": -999, + "alphabetParent": [ + 187, + 246 + ] + }, + { + "name": "MonsterNameSwinub", + "category": "MonsterCategorySwinub", + "overworldPalette": 1, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ICE", + "TYPE_GROUND" + ], + "friendArea": "FRIGID_CAVERN", + "abilities": [ + "ABILITY_OBLIVIOUS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 15, + "baseHP": 28, + "expYield": 37, + "baseAtkSpAtk": [ + 17, + 17 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 20, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 220, + 247 + ], + "recruitRate": 109, + "alphabetParent": [ + 344, + 247 + ] + }, + { + "name": "MonsterNamePiloswine", + "category": "MonsterCategoryPiloswine", + "overworldPalette": 1, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ICE", + "TYPE_GROUND" + ], + "friendArea": "FRIGID_CAVERN", + "abilities": [ + "ABILITY_OBLIVIOUS" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 15, + "baseHP": 56, + "expYield": 70, + "baseAtkSpAtk": [ + 23, + 23 + ], + "baseDefSpDef": [ + 13, + 13 + ], + "weight": 256, + "size": 37, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SWINUB", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 33 + }, + "dexInternal": [ + 221, + 248 + ], + "recruitRate": -999, + "alphabetParent": [ + 251, + 248 + ] + }, + { + "name": "MonsterNameCorsola", + "category": "MonsterCategoryCorsola", + "overworldPalette": 1, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_ROCK" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "SHALLOW_BEACH", + "abilities": [ + "ABILITY_HUSTLE", + "ABILITY_NATURAL_CURE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 45, + "expYield": 18, + "baseAtkSpAtk": [ + 10, + 12 + ], + "baseDefSpDef": [ + 11, + 10 + ], + "weight": 153, + "size": 23, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 222, + 249 + ], + "recruitRate": 83, + "alphabetParent": [ + 60, + 249 + ] + }, + { + "name": "MonsterNameRemoraid", + "category": "MonsterCategoryRemoraid", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TREASURE_SEA", + "abilities": [ + "ABILITY_HUSTLE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 36, + "baseAtkSpAtk": [ + 15, + 12 + ], + "baseDefSpDef": [ + 5, + 5 + ], + "weight": 153, + "size": 13, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 223, + 250 + ], + "recruitRate": 88, + "alphabetParent": [ + 281, + 250 + ] + }, + { + "name": "MonsterNameOctillery", + "category": "MonsterCategoryRemoraid", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TREASURE_SEA", + "abilities": [ + "ABILITY_SUCTION_CUPS" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 235, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 179, + "size": 40, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_REMORAID", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 25 + }, + "dexInternal": [ + 224, + 251 + ], + "recruitRate": -300, + "alphabetParent": [ + 236, + 251 + ] + }, + { + "name": "MonsterNameDelibird", + "category": "MonsterCategoryDelibird", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ICE", + "TYPE_FLYING" + ], + "friendArea": "FRIGID_CAVERN", + "abilities": [ + "ABILITY_VITAL_SPIRIT", + "ABILITY_HUSTLE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 40, + "expYield": 48, + "baseAtkSpAtk": [ + 12, + 12 + ], + "baseDefSpDef": [ + 12, + 8 + ], + "weight": 153, + "size": 39, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 225, + 252 + ], + "recruitRate": 88, + "alphabetParent": [ + 69, + 252 + ] + }, + { + "name": "MonsterNameMantine", + "category": "MonsterCategoryMantine", + "overworldPalette": 7, + "bodySize": 2, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "SERENE_SEA", + "abilities": [ + "ABILITY_SWIFT_SWIM", + "ABILITY_WATER_ABSORB" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 55, + "expYield": 250, + "baseAtkSpAtk": [ + 13, + 12 + ], + "baseDefSpDef": [ + 11, + 12 + ], + "weight": 358, + "size": 86, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 226, + 253 + ], + "recruitRate": 95, + "alphabetParent": [ + 195, + 253 + ] + }, + { + "name": "MonsterNameSkarmory", + "category": "MonsterCategorySkarmory", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000011", + "types": [ + "TYPE_STEEL", + "TYPE_FLYING" + ], + "friendArea": "RAVAGED_FIELD", + "abilities": [ + "ABILITY_KEEN_EYE", + "ABILITY_STURDY" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 47, + "expYield": 175, + "baseAtkSpAtk": [ + 15, + 13 + ], + "baseDefSpDef": [ + 5, + 7 + ], + "weight": 256, + "size": 50, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 227, + 254 + ], + "recruitRate": 68, + "alphabetParent": [ + 308, + 254 + ] + }, + { + "name": "MonsterNameHoundour", + "category": "MonsterCategoryHoundour", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_DARK", + "TYPE_FIRE" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "RAVAGED_FIELD", + "abilities": [ + "ABILITY_EARLY_BIRD", + "ABILITY_FLASH_FIRE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 31, + "expYield": 45, + "baseAtkSpAtk": [ + 19, + 18 + ], + "baseDefSpDef": [ + 12, + 12 + ], + "weight": 153, + "size": 21, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 228, + 255 + ], + "recruitRate": 114, + "alphabetParent": [ + 142, + 255 + ] + }, + { + "name": "MonsterNameHoundoom", + "category": "MonsterCategoryHoundour", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_DARK", + "TYPE_FIRE" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "RAVAGED_FIELD", + "abilities": [ + "ABILITY_EARLY_BIRD", + "ABILITY_FLASH_FIRE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 45, + "expYield": 55, + "baseAtkSpAtk": [ + 19, + 19 + ], + "baseDefSpDef": [ + 12, + 12 + ], + "weight": 204, + "size": 31, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_HOUNDOUR", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 24 + }, + "dexInternal": [ + 229, + 256 + ], + "recruitRate": -999, + "alphabetParent": [ + 141, + 256 + ] + }, + { + "name": "MonsterNameKingdra", + "category": "MonsterCategoryHorsea", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_DRAGON" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TREASURE_SEA", + "abilities": [ + "ABILITY_SWIFT_SWIM" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 20, + "expYield": 124, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 332, + "size": 28, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SEADRA", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_DRAGON_SCALE", + "additionalRequirement": 4 + }, + "dexInternal": [ + 230, + 257 + ], + "recruitRate": -999, + "alphabetParent": [ + 159, + 257 + ] + }, + { + "name": "MonsterNamePhanpy", + "category": "MonsterCategoryPhanpy", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GROUND" + ], + "friendArea": "SAFARI", + "abilities": [ + "ABILITY_PICKUP" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 42, + "expYield": 33, + "baseAtkSpAtk": [ + 21, + 21 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 204, + "size": 21, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 231, + 258 + ], + "recruitRate": 82, + "alphabetParent": [ + 245, + 258 + ] + }, + { + "name": "MonsterNameDonphan", + "category": "MonsterCategoryDonphan", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GROUND" + ], + "friendArea": "SAFARI", + "abilities": [ + "ABILITY_STURDY" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 43, + "expYield": 107, + "baseAtkSpAtk": [ + 22, + 22 + ], + "baseDefSpDef": [ + 20, + 20 + ], + "weight": 332, + "size": 37, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_PHANPY", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 25 + }, + "dexInternal": [ + 232, + 259 + ], + "recruitRate": -999, + "alphabetParent": [ + 79, + 259 + ] + }, + { + "name": "MonsterNamePorygon2", + "category": "MonsterCategoryPorygon", + "overworldPalette": 1, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "DECREPIT_LAB", + "abilities": [ + "ABILITY_TRACE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 110, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 204, + "size": 21, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_PORYGON", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_UPGRADE", + "additionalRequirement": 4 + }, + "dexInternal": [ + 233, + 260 + ], + "recruitRate": 100, + "alphabetParent": [ + 262, + 260 + ] + }, + { + "name": "MonsterNameStantler", + "category": "MonsterCategoryStantler", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "ENERGETIC_FOREST", + "abilities": [ + "ABILITY_INTIMIDATE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 43, + "expYield": 60, + "baseAtkSpAtk": [ + 18, + 19 + ], + "baseDefSpDef": [ + 13, + 13 + ], + "weight": 307, + "size": 31, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 234, + 261 + ], + "recruitRate": 72, + "alphabetParent": [ + 330, + 261 + ] + }, + { + "name": "MonsterNameSmeargle", + "category": "MonsterCategorySmeargle", + "overworldPalette": 8, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "SKY_BLUE_PLAINS", + "abilities": [ + "ABILITY_OWN_TEMPO" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 50, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 256, + "size": 35, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 235, + 262 + ], + "recruitRate": 68, + "alphabetParent": [ + 317, + 262 + ] + }, + { + "name": "MonsterNameTyrogue", + "category": "MonsterCategoryTyrogue", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIGHTING" + ], + "friendArea": "MT_DISCIPLINE", + "abilities": [ + "ABILITY_GUTS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 25, + "expYield": 30, + "baseAtkSpAtk": [ + 17, + 17 + ], + "baseDefSpDef": [ + 7, + 6 + ], + "weight": 179, + "size": 26, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 236, + 263 + ], + "recruitRate": 80, + "alphabetParent": [ + 361, + 263 + ] + }, + { + "name": "MonsterNameHitmontop", + "category": "MonsterCategoryHitmontop", + "overworldPalette": 9, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIGHTING" + ], + "friendArea": "MT_DISCIPLINE", + "abilities": [ + "ABILITY_INTIMIDATE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 33, + "expYield": 102, + "baseAtkSpAtk": [ + 9, + 8 + ], + "baseDefSpDef": [ + 7, + 8 + ], + "weight": 230, + "size": 35, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_TYROGUE", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 20, + "additionalRequirement": 7 + }, + "dexInternal": [ + 237, + 264 + ], + "recruitRate": -999, + "alphabetParent": [ + 136, + 264 + ] + }, + { + "name": "MonsterNameSmoochum", + "category": "MonsterCategorySmoochum", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ICE", + "TYPE_PSYCHIC" + ], + "friendArea": "FRIGID_CAVERN", + "abilities": [ + "ABILITY_OBLIVIOUS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 18, + "baseAtkSpAtk": [ + 12, + 10 + ], + "baseDefSpDef": [ + 12, + 10 + ], + "weight": 153, + "size": 24, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 238, + 265 + ], + "recruitRate": 80, + "alphabetParent": [ + 318, + 265 + ] + }, + { + "name": "MonsterNameElekid", + "category": "MonsterCategoryElectabuzz", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ELECTRIC" + ], + "friendArea": "POWER_PLANT", + "abilities": [ + "ABILITY_STATIC" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 21, + "expYield": 43, + "baseAtkSpAtk": [ + 12, + 10 + ], + "baseDefSpDef": [ + 6, + 6 + ], + "weight": 179, + "size": 41, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 239, + 266 + ], + "recruitRate": 103, + "alphabetParent": [ + 94, + 266 + ] + }, + { + "name": "MonsterNameMagby", + "category": "MonsterCategoryMagby", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIRE" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "CRATER", + "abilities": [ + "ABILITY_FLAME_BODY" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 48, + "expYield": 55, + "baseAtkSpAtk": [ + 21, + 21 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 179, + "size": 28, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 240, + 267 + ], + "recruitRate": 95, + "alphabetParent": [ + 186, + 267 + ] + }, + { + "name": "MonsterNameMiltank", + "category": "MonsterCategoryMiltank", + "overworldPalette": 11, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "SAFARI", + "abilities": [ + "ABILITY_THICK_FAT" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 106, + "baseAtkSpAtk": [ + 11, + 12 + ], + "baseDefSpDef": [ + 13, + 12 + ], + "weight": 307, + "size": 37, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 241, + 268 + ], + "recruitRate": 87, + "alphabetParent": [ + 213, + 268 + ] + }, + { + "name": "MonsterNameBlissey", + "category": "MonsterCategoryTogetic", + "overworldPalette": 10, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "SKY_BLUE_PLAINS", + "abilities": [ + "ABILITY_NATURAL_CURE", + "ABILITY_SERENE_GRACE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 33, + "expYield": 333, + "baseAtkSpAtk": [ + 7, + 7 + ], + "baseDefSpDef": [ + 7, + 7 + ], + "weight": 230, + "size": 48, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_CHANSEY", + "evolveType": "EVOLVE_TYPE_IQ" + }, + "evolutionRequirements": { + "mainRequirement": 150 + }, + "dexInternal": [ + 242, + 269 + ], + "recruitRate": -999, + "alphabetParent": [ + 30, + 269 + ] + }, + { + "name": "MonsterNameRaikou", + "category": "MonsterCategoryRaikou", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_ELECTRIC" + ], + "friendArea": "SACRED_FIELD", + "abilities": [ + "ABILITY_PRESSURE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 77, + "expYield": 170, + "baseAtkSpAtk": [ + 21, + 21 + ], + "baseDefSpDef": [ + 20, + 20 + ], + "weight": 332, + "size": 52, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 243, + 270 + ], + "recruitRate": 1, + "alphabetParent": [ + 270, + 270 + ] + }, + { + "name": "MonsterNameEntei", + "category": "MonsterCategoryQuilava", + "overworldPalette": 12, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_FIRE" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "SACRED_FIELD", + "abilities": [ + "ABILITY_PRESSURE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 78, + "expYield": 180, + "baseAtkSpAtk": [ + 21, + 20 + ], + "baseDefSpDef": [ + 20, + 22 + ], + "weight": 332, + "size": 61, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 244, + 271 + ], + "recruitRate": 1, + "alphabetParent": [ + 95, + 271 + ] + }, + { + "name": "MonsterNameSuicune", + "category": "MonsterCategorySuicune", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "SACRED_FIELD", + "abilities": [ + "ABILITY_PRESSURE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 76, + "expYield": 190, + "baseAtkSpAtk": [ + 22, + 22 + ], + "baseDefSpDef": [ + 19, + 19 + ], + "weight": 332, + "size": 65, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 245, + 272 + ], + "recruitRate": 1, + "alphabetParent": [ + 336, + 272 + ] + }, + { + "name": "MonsterNameLarvitar", + "category": "MonsterCategoryLarvitar", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ROCK", + "TYPE_GROUND" + ], + "friendArea": "MT_CLEFT", + "abilities": [ + "ABILITY_GUTS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 40, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 307, + "size": 21, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 246, + 273 + ], + "recruitRate": 122, + "alphabetParent": [ + 168, + 273 + ] + }, + { + "name": "MonsterNamePupitar", + "category": "MonsterCategoryPupitar", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ROCK", + "TYPE_GROUND" + ], + "friendArea": "MT_CLEFT", + "abilities": [ + "ABILITY_SHED_SKIN" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 42, + "expYield": 50, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 16, + 16 + ], + "weight": 332, + "size": 29, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_LARVITAR", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 30 + }, + "dexInternal": [ + 247, + 274 + ], + "recruitRate": -190, + "alphabetParent": [ + 265, + 274 + ] + }, + { + "name": "MonsterNameTyranitar", + "category": "MonsterCategoryDonphan", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000011", + "types": [ + "TYPE_ROCK", + "TYPE_DARK" + ], + "friendArea": "MT_CLEFT", + "abilities": [ + "ABILITY_SAND_STREAM" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 80, + "expYield": 205, + "baseAtkSpAtk": [ + 40, + 40 + ], + "baseDefSpDef": [ + 26, + 26 + ], + "weight": 358, + "size": 43, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_PUPITAR", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 55 + }, + "dexInternal": [ + 248, + 275 + ], + "recruitRate": -999, + "alphabetParent": [ + 360, + 275 + ] + }, + { + "name": "MonsterNameLugia", + "category": "MonsterCategoryLugia", + "overworldPalette": 9, + "bodySize": 4, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "unk12": true, + "types": [ + "TYPE_PSYCHIC", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "DEEP_SEA_CURRENT", + "abilities": [ + "ABILITY_PRESSURE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 70, + "expYield": 400, + "baseAtkSpAtk": [ + 23, + 24 + ], + "baseDefSpDef": [ + 18, + 18 + ], + "weight": 358, + "size": 122, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 249, + 276 + ], + "recruitRate": 999, + "alphabetParent": [ + 180, + 276 + ] + }, + { + "name": "MonsterNameHoOh", + "category": "MonsterCategoryHoOh", + "overworldPalette": 3, + "bodySize": 4, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_FIRE", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "RAINBOW_PEAK", + "abilities": [ + "ABILITY_PRESSURE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 75, + "expYield": 300, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 16, + 16 + ], + "weight": 332, + "size": 225, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 250, + 277 + ], + "recruitRate": 999, + "alphabetParent": [ + 137, + 277 + ] + }, + { + "name": "MonsterNameCelebi", + "category": "MonsterCategoryCelebi", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "unk12": true, + "types": [ + "TYPE_PSYCHIC", + "TYPE_GRASS" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "HEALING_FOREST", + "abilities": [ + "ABILITY_NATURAL_CURE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 55, + "expYield": 200, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 153, + "size": 23, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 251, + 278 + ], + "recruitRate": 999, + "alphabetParent": [ + 44, + 278 + ] + }, + { + "name": "MonsterNameTreecko", + "category": "MonsterCategoryTreecko", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0001111111111111", + "types": [ + "TYPE_GRASS" + ], + "friendArea": "OVERGROWN_FOREST", + "abilities": [ + "ABILITY_OVERGROW" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 18, + "expYield": 15, + "baseAtkSpAtk": [ + 1, + 1 + ], + "baseDefSpDef": [ + 3, + 3 + ], + "weight": 153, + "size": 24, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 252, + 279 + ], + "recruitRate": 112, + "alphabetParent": [ + 357, + 279 + ] + }, + { + "name": "MonsterNameGrovyle", + "category": "MonsterCategoryTreecko", + "overworldPalette": 12, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS" + ], + "friendArea": "OVERGROWN_FOREST", + "abilities": [ + "ABILITY_OVERGROW" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 63, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 20, + 20 + ], + "weight": 179, + "size": 29, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_TREECKO", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 16 + }, + "dexInternal": [ + 253, + 280 + ], + "recruitRate": -190, + "alphabetParent": [ + 126, + 280 + ] + }, + { + "name": "MonsterNameSceptile", + "category": "MonsterCategorySceptile", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS" + ], + "friendArea": "OVERGROWN_FOREST", + "abilities": [ + "ABILITY_OVERGROW" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 55, + "expYield": 156, + "baseAtkSpAtk": [ + 22, + 22 + ], + "baseDefSpDef": [ + 22, + 22 + ], + "weight": 256, + "size": 34, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_GROVYLE", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 36 + }, + "dexInternal": [ + 254, + 281 + ], + "recruitRate": -999, + "alphabetParent": [ + 289, + 281 + ] + }, + { + "name": "MonsterNameTorchic", + "category": "MonsterCategoryTorchic", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0001111111111111", + "types": [ + "TYPE_FIRE" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "SCORCHED_PLAINS", + "abilities": [ + "ABILITY_BLAZE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 18, + "expYield": 6, + "baseAtkSpAtk": [ + 1, + 1 + ], + "baseDefSpDef": [ + 3, + 3 + ], + "weight": 153, + "size": 21, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 255, + 282 + ], + "recruitRate": 119, + "alphabetParent": [ + 353, + 282 + ] + }, + { + "name": "MonsterNameCombusken", + "category": "MonsterCategoryCombusken", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIRE", + "TYPE_FIGHTING" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "SCORCHED_PLAINS", + "abilities": [ + "ABILITY_BLAZE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 57, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 20, + 20 + ], + "weight": 153, + "size": 27, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_TORCHIC", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 16 + }, + "dexInternal": [ + 256, + 283 + ], + "recruitRate": -190, + "alphabetParent": [ + 58, + 283 + ] + }, + { + "name": "MonsterNameBlaziken", + "category": "MonsterCategoryBlaziken", + "overworldPalette": 12, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIRE", + "TYPE_FIGHTING" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "SCORCHED_PLAINS", + "abilities": [ + "ABILITY_BLAZE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 55, + "expYield": 156, + "baseAtkSpAtk": [ + 23, + 20 + ], + "baseDefSpDef": [ + 23, + 20 + ], + "weight": 256, + "size": 36, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_COMBUSKEN", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 36 + }, + "dexInternal": [ + 257, + 284 + ], + "recruitRate": -999, + "alphabetParent": [ + 29, + 284 + ] + }, + { + "name": "MonsterNameMudkip", + "category": "MonsterCategoryMudkip", + "overworldPalette": 9, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0001111111111111", + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "PEANUT_SWAMP", + "abilities": [ + "ABILITY_TORRENT" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 18, + "expYield": 21, + "baseAtkSpAtk": [ + 4, + 4 + ], + "baseDefSpDef": [ + 4, + 4 + ], + "weight": 153, + "size": 17, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 258, + 285 + ], + "recruitRate": 123, + "alphabetParent": [ + 218, + 285 + ] + }, + { + "name": "MonsterNameMarshtomp", + "category": "MonsterCategoryMudkip", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_GROUND" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "PEANUT_SWAMP", + "abilities": [ + "ABILITY_TORRENT" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 84, + "baseAtkSpAtk": [ + 20, + 25 + ], + "baseDefSpDef": [ + 20, + 25 + ], + "weight": 179, + "size": 25, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_MUDKIP", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 16 + }, + "dexInternal": [ + 259, + 286 + ], + "recruitRate": -190, + "alphabetParent": [ + 199, + 286 + ] + }, + { + "name": "MonsterNameSwampert", + "category": "MonsterCategoryMudkip", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_GROUND" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "PEANUT_SWAMP", + "abilities": [ + "ABILITY_TORRENT" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 55, + "expYield": 200, + "baseAtkSpAtk": [ + 22, + 30 + ], + "baseDefSpDef": [ + 20, + 30 + ], + "weight": 332, + "size": 40, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_MARSHTOMP", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 36 + }, + "dexInternal": [ + 260, + 287 + ], + "recruitRate": -339, + "alphabetParent": [ + 342, + 287 + ] + }, + { + "name": "MonsterNamePoochyena", + "category": "MonsterCategoryPoochyena", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_DARK" + ], + "friendArea": "WILD_PLAINS", + "abilities": [ + "ABILITY_RUN_AWAY" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 26, + "expYield": 25, + "baseAtkSpAtk": [ + 9, + 9 + ], + "baseDefSpDef": [ + 5, + 5 + ], + "weight": 153, + "size": 21, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 261, + 288 + ], + "recruitRate": 82, + "alphabetParent": [ + 260, + 288 + ] + }, + { + "name": "MonsterNameMightyena", + "category": "MonsterCategoryPoochyena", + "overworldPalette": 11, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_DARK" + ], + "friendArea": "WILD_PLAINS", + "abilities": [ + "ABILITY_INTIMIDATE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 51, + "expYield": 40, + "baseAtkSpAtk": [ + 23, + 23 + ], + "baseDefSpDef": [ + 17, + 17 + ], + "weight": 204, + "size": 28, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_POOCHYENA", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 18 + }, + "dexInternal": [ + 262, + 289 + ], + "recruitRate": -999, + "alphabetParent": [ + 211, + 289 + ] + }, + { + "name": "MonsterNameZigzagoon", + "category": "MonsterCategoryZigzagoon", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "WILD_PLAINS", + "abilities": [ + "ABILITY_PICKUP" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 20, + "baseHP": 21, + "expYield": 25, + "baseAtkSpAtk": [ + 15, + 16 + ], + "baseDefSpDef": [ + 7, + 7 + ], + "weight": 153, + "size": 24, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 263, + 290 + ], + "recruitRate": 85, + "alphabetParent": [ + 422, + 290 + ] + }, + { + "name": "MonsterNameLinoone", + "category": "MonsterCategoryLinoone", + "overworldPalette": 9, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "WILD_PLAINS", + "abilities": [ + "ABILITY_PICKUP" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 20, + "baseHP": 31, + "expYield": 50, + "baseAtkSpAtk": [ + 18, + 18 + ], + "baseDefSpDef": [ + 9, + 8 + ], + "weight": 204, + "size": 30, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_ZIGZAGOON", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 20 + }, + "dexInternal": [ + 264, + 291 + ], + "recruitRate": -999, + "alphabetParent": [ + 175, + 291 + ] + }, + { + "name": "MonsterNameWurmple", + "category": "MonsterCategoryCaterpie", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG" + ], + "friendArea": "MIST_RISE_FOREST", + "abilities": [ + "ABILITY_SHIELD_DUST" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 5, + "baseHP": 10, + "expYield": 15, + "baseAtkSpAtk": [ + 4, + 6 + ], + "baseDefSpDef": [ + 5, + 5 + ], + "weight": 153, + "size": 18, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 265, + 292 + ], + "recruitRate": 74, + "alphabetParent": [ + 416, + 292 + ] + }, + { + "name": "MonsterNameSilcoon", + "category": "MonsterCategoryMetapod", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG" + ], + "friendArea": "MIST_RISE_FOREST", + "abilities": [ + "ABILITY_SHED_SKIN" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": false, + "chanceAsleep": 100, + "baseHP": 28, + "expYield": 35, + "baseAtkSpAtk": [ + 16, + 17 + ], + "baseDefSpDef": [ + 6, + 6 + ], + "weight": 153, + "size": 23, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_WURMPLE", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 7, + "additionalRequirement": 11 + }, + "dexInternal": [ + 266, + 293 + ], + "recruitRate": -190, + "alphabetParent": [ + 307, + 293 + ] + }, + { + "name": "MonsterNameBeautifly", + "category": "MonsterCategoryButterfree", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "MIST_RISE_FOREST", + "abilities": [ + "ABILITY_SWARM" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 84, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 10, + 11 + ], + "weight": 179, + "size": 48, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SILCOON", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 10 + }, + "dexInternal": [ + 267, + 294 + ], + "recruitRate": -999, + "alphabetParent": [ + 23, + 294 + ] + }, + { + "name": "MonsterNameCascoon", + "category": "MonsterCategoryMetapod", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG" + ], + "friendArea": "MIST_RISE_FOREST", + "abilities": [ + "ABILITY_SHED_SKIN" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": false, + "chanceAsleep": 100, + "baseHP": 28, + "expYield": 36, + "baseAtkSpAtk": [ + 17, + 16 + ], + "baseDefSpDef": [ + 6, + 6 + ], + "weight": 153, + "size": 24, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_WURMPLE", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 7, + "additionalRequirement": 12 + }, + "dexInternal": [ + 268, + 295 + ], + "recruitRate": -190, + "alphabetParent": [ + 38, + 295 + ] + }, + { + "name": "MonsterNameDustox", + "category": "MonsterCategoryVenomoth", + "overworldPalette": 10, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_POISON" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "MIST_RISE_FOREST", + "abilities": [ + "ABILITY_SHIELD_DUST" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 34, + "expYield": 37, + "baseAtkSpAtk": [ + 17, + 20 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 204, + "size": 43, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_CASCOON", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 10 + }, + "dexInternal": [ + 269, + 296 + ], + "recruitRate": -999, + "alphabetParent": [ + 88, + 296 + ] + }, + { + "name": "MonsterNameLotad", + "category": "MonsterCategoryLotad", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_GRASS" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TADPOLE_POND", + "abilities": [ + "ABILITY_SWIFT_SWIM", + "ABILITY_RAIN_DISH" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 33, + "expYield": 6, + "baseAtkSpAtk": [ + 13, + 13 + ], + "baseDefSpDef": [ + 11, + 11 + ], + "weight": 153, + "size": 23, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 270, + 297 + ], + "recruitRate": 80, + "alphabetParent": [ + 177, + 297 + ] + }, + { + "name": "MonsterNameLombre", + "category": "MonsterCategoryLombre", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000011111111", + "types": [ + "TYPE_WATER", + "TYPE_GRASS" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TADPOLE_POND", + "abilities": [ + "ABILITY_SWIFT_SWIM", + "ABILITY_RAIN_DISH" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 43, + "expYield": 96, + "baseAtkSpAtk": [ + 14, + 14 + ], + "baseDefSpDef": [ + 12, + 12 + ], + "weight": 204, + "size": 41, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_LOTAD", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 14 + }, + "dexInternal": [ + 271, + 298 + ], + "recruitRate": -190, + "alphabetParent": [ + 176, + 298 + ] + }, + { + "name": "MonsterNameLudicolo", + "category": "MonsterCategoryLudicolo", + "overworldPalette": 8, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_GRASS" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TADPOLE_POND", + "abilities": [ + "ABILITY_SWIFT_SWIM", + "ABILITY_RAIN_DISH" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 53, + "expYield": 140, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 13, + 13 + ], + "weight": 256, + "size": 49, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_LOMBRE", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_WATER_STONE" + }, + "dexInternal": [ + 272, + 299 + ], + "recruitRate": -999, + "alphabetParent": [ + 179, + 299 + ] + }, + { + "name": "MonsterNameSeedot", + "category": "MonsterCategorySeedot", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS" + ], + "friendArea": "MUSHROOM_FOREST", + "abilities": [ + "ABILITY_CHLOROPHYLL", + "ABILITY_EARLY_BIRD" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 43, + "expYield": 39, + "baseAtkSpAtk": [ + 17, + 17 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 153, + "size": 23, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 273, + 300 + ], + "recruitRate": 112, + "alphabetParent": [ + 295, + 300 + ] + }, + { + "name": "MonsterNameNuzleaf", + "category": "MonsterCategoryNuzleaf", + "overworldPalette": 8, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS", + "TYPE_DARK" + ], + "friendArea": "MUSHROOM_FOREST", + "abilities": [ + "ABILITY_CHLOROPHYLL", + "ABILITY_EARLY_BIRD" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 55, + "expYield": 50, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 179, + "size": 32, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SEEDOT", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 14 + }, + "dexInternal": [ + 274, + 301 + ], + "recruitRate": -190, + "alphabetParent": [ + 235, + 301 + ] + }, + { + "name": "MonsterNameShiftry", + "category": "MonsterCategoryShiftry", + "overworldPalette": 8, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000001111", + "types": [ + "TYPE_GRASS", + "TYPE_DARK" + ], + "friendArea": "MUSHROOM_FOREST", + "abilities": [ + "ABILITY_CHLOROPHYLL", + "ABILITY_EARLY_BIRD" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 40, + "expYield": 190, + "baseAtkSpAtk": [ + 18, + 17 + ], + "baseDefSpDef": [ + 16, + 16 + ], + "weight": 256, + "size": 44, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_NUZLEAF", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_LEAF_STONE" + }, + "dexInternal": [ + 275, + 302 + ], + "recruitRate": -300, + "alphabetParent": [ + 303, + 302 + ] + }, + { + "name": "MonsterNameTaillow", + "category": "MonsterCategoryTaillow", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL", + "TYPE_FLYING" + ], + "friendArea": "BEAU_PLAINS", + "abilities": [ + "ABILITY_GUTS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 6, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 15, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 276, + 303 + ], + "recruitRate": 75, + "alphabetParent": [ + 345, + 303 + ] + }, + { + "name": "MonsterNameSwellow", + "category": "MonsterCategorySwellow", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL", + "TYPE_FLYING" + ], + "friendArea": "BEAU_PLAINS", + "abilities": [ + "ABILITY_GUTS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 45, + "expYield": 57, + "baseAtkSpAtk": [ + 11, + 10 + ], + "baseDefSpDef": [ + 11, + 10 + ], + "weight": 153, + "size": 22, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_TAILLOW", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 22 + }, + "dexInternal": [ + 277, + 304 + ], + "recruitRate": -999, + "alphabetParent": [ + 343, + 304 + ] + }, + { + "name": "MonsterNameWingull", + "category": "MonsterCategoryWingull", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "SHALLOW_BEACH", + "abilities": [ + "ABILITY_KEEN_EYE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 33, + "expYield": 27, + "baseAtkSpAtk": [ + 9, + 9 + ], + "baseDefSpDef": [ + 9, + 9 + ], + "weight": 153, + "size": 25, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 278, + 305 + ], + "recruitRate": 125, + "alphabetParent": [ + 413, + 305 + ] + }, + { + "name": "MonsterNamePelipper", + "category": "MonsterCategoryPelipper", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_WATER", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "SHALLOW_BEACH", + "abilities": [ + "ABILITY_KEEN_EYE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 43, + "expYield": 84, + "baseAtkSpAtk": [ + 12, + 10 + ], + "baseDefSpDef": [ + 12, + 10 + ], + "weight": 179, + "size": 29, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_WINGULL", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 25 + }, + "dexInternal": [ + 279, + 306 + ], + "recruitRate": -999, + "alphabetParent": [ + 243, + 306 + ] + }, + { + "name": "MonsterNameRalts", + "category": "MonsterCategoryRalts", + "overworldPalette": 10, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "friendArea": "SKY_BLUE_PLAINS", + "abilities": [ + "ABILITY_SYNCHRONIZE", + "ABILITY_TRACE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 32, + "expYield": 18, + "baseAtkSpAtk": [ + 11, + 8 + ], + "baseDefSpDef": [ + 6, + 6 + ], + "weight": 153, + "size": 17, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 280, + 307 + ], + "recruitRate": 10, + "alphabetParent": [ + 271, + 307 + ] + }, + { + "name": "MonsterNameKirlia", + "category": "MonsterCategoryKirlia", + "overworldPalette": 10, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "friendArea": "SKY_BLUE_PLAINS", + "abilities": [ + "ABILITY_SYNCHRONIZE", + "ABILITY_TRACE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 42, + "expYield": 60, + "baseAtkSpAtk": [ + 13, + 11 + ], + "baseDefSpDef": [ + 6, + 6 + ], + "weight": 179, + "size": 24, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_RALTS", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 20 + }, + "dexInternal": [ + 281, + 308 + ], + "recruitRate": -190, + "alphabetParent": [ + 161, + 308 + ] + }, + { + "name": "MonsterNameGardevoir", + "category": "MonsterCategoryGardevoir", + "overworldPalette": 10, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000111", + "types": [ + "TYPE_PSYCHIC" + ], + "friendArea": "SKY_BLUE_PLAINS", + "abilities": [ + "ABILITY_SYNCHRONIZE", + "ABILITY_TRACE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 52, + "expYield": 120, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 7, + 6 + ], + "weight": 230, + "size": 29, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_KIRLIA", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 30 + }, + "dexInternal": [ + 282, + 309 + ], + "recruitRate": -999, + "alphabetParent": [ + 109, + 309 + ] + }, + { + "name": "MonsterNameSurskit", + "category": "MonsterCategorySurskit", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TADPOLE_POND", + "abilities": [ + "ABILITY_SWIFT_SWIM" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 20, + "expYield": 10, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 7, + 7 + ], + "weight": 153, + "size": 16, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 283, + 310 + ], + "recruitRate": 38, + "alphabetParent": [ + 339, + 310 + ] + }, + { + "name": "MonsterNameMasquerain", + "category": "MonsterCategoryMasquerain", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "TADPOLE_POND", + "abilities": [ + "ABILITY_INTIMIDATE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 51, + "expYield": 40, + "baseAtkSpAtk": [ + 9, + 9 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 32, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SURSKIT", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 22 + }, + "dexInternal": [ + 284, + 311 + ], + "recruitRate": -999, + "alphabetParent": [ + 200, + 311 + ] + }, + { + "name": "MonsterNameShroomish", + "category": "MonsterCategoryParas", + "overworldPalette": 8, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS" + ], + "friendArea": "MUSHROOM_FOREST", + "abilities": [ + "ABILITY_EFFECT_SPORE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 27, + "expYield": 50, + "baseAtkSpAtk": [ + 16, + 16 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 22, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 285, + 312 + ], + "recruitRate": 77, + "alphabetParent": [ + 304, + 312 + ] + }, + { + "name": "MonsterNameBreloom", + "category": "MonsterCategoryParas", + "overworldPalette": 8, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS", + "TYPE_FIGHTING" + ], + "friendArea": "MUSHROOM_FOREST", + "abilities": [ + "ABILITY_EFFECT_SPORE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 44, + "expYield": 55, + "baseAtkSpAtk": [ + 22, + 21 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 204, + "size": 33, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SHROOMISH", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 23 + }, + "dexInternal": [ + 286, + 313 + ], + "recruitRate": -999, + "alphabetParent": [ + 31, + 313 + ] + }, + { + "name": "MonsterNameSlakoth", + "category": "MonsterCategorySlakoth", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "ENERGETIC_FOREST", + "abilities": [ + "ABILITY_TRUANT" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 100, + "baseHP": 40, + "expYield": 50, + "baseAtkSpAtk": [ + 24, + 24 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 179, + "size": 31, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 287, + 314 + ], + "recruitRate": 113, + "alphabetParent": [ + 312, + 314 + ] + }, + { + "name": "MonsterNameVigoroth", + "category": "MonsterCategoryVigoroth", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "ENERGETIC_FOREST", + "abilities": [ + "ABILITY_VITAL_SPIRIT" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 43, + "expYield": 51, + "baseAtkSpAtk": [ + 25, + 25 + ], + "baseDefSpDef": [ + 15, + 17 + ], + "weight": 230, + "size": 38, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SLAKOTH", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 18 + }, + "dexInternal": [ + 288, + 315 + ], + "recruitRate": -190, + "alphabetParent": [ + 398, + 315 + ] + }, + { + "name": "MonsterNameSlaking", + "category": "MonsterCategorySlaking", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "ENERGETIC_FOREST", + "abilities": [ + "ABILITY_TRUANT" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 46, + "expYield": 72, + "baseAtkSpAtk": [ + 26, + 26 + ], + "baseDefSpDef": [ + 15, + 17 + ], + "weight": 332, + "size": 45, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_VIGOROTH", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 36 + }, + "dexInternal": [ + 289, + 316 + ], + "recruitRate": -999, + "alphabetParent": [ + 311, + 316 + ] + }, + { + "name": "MonsterNameNincada", + "category": "MonsterCategoryNincada", + "overworldPalette": 10, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_GROUND" + ], + "friendArea": "SECRETIVE_FOREST", + "abilities": [ + "ABILITY_COMPOUNDEYES" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 38, + "expYield": 30, + "baseAtkSpAtk": [ + 14, + 14 + ], + "baseDefSpDef": [ + 9, + 9 + ], + "weight": 153, + "size": 18, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 290, + 317 + ], + "recruitRate": 74, + "alphabetParent": [ + 229, + 317 + ] + }, + { + "name": "MonsterNameNinjask", + "category": "MonsterCategoryNinjask", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "SECRETIVE_FOREST", + "abilities": [ + "ABILITY_SPEED_BOOST" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 70, + "baseAtkSpAtk": [ + 12, + 13 + ], + "baseDefSpDef": [ + 16, + 16 + ], + "weight": 153, + "size": 40, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_NINCADA", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 20 + }, + "dexInternal": [ + 291, + 318 + ], + "recruitRate": -999, + "alphabetParent": [ + 231, + 318 + ] + }, + { + "name": "MonsterNameShedinja", + "category": "MonsterCategoryShedinja", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG", + "TYPE_GHOST" + ], + "movementType": "MOVEMENT_TYPE_WALL", + "friendArea": "SECRETIVE_FOREST", + "abilities": [ + "ABILITY_WONDER_GUARD" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 3, + "expYield": 3, + "baseAtkSpAtk": [ + 28, + 28 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 28, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_NINCADA", + "evolveType": "EVOLVE_TYPE_NONE" + }, + "evolutionRequirements": { + "mainRequirement": 0 + }, + "dexInternal": [ + 292, + 319 + ], + "recruitRate": -999, + "alphabetParent": [ + 300, + 319 + ] + }, + { + "name": "MonsterNameWhismur", + "category": "MonsterCategoryWhismur", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "ECHO_CAVE", + "abilities": [ + "ABILITY_SOUNDPROOF" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 15, + "expYield": 48, + "baseAtkSpAtk": [ + 3, + 3 + ], + "baseDefSpDef": [ + 2, + 2 + ], + "weight": 153, + "size": 26, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 293, + 320 + ], + "recruitRate": 88, + "alphabetParent": [ + 411, + 320 + ] + }, + { + "name": "MonsterNameLoudred", + "category": "MonsterCategoryLoudred", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "ECHO_CAVE", + "abilities": [ + "ABILITY_SOUNDPROOF" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 45, + "expYield": 70, + "baseAtkSpAtk": [ + 16, + 16 + ], + "baseDefSpDef": [ + 13, + 13 + ], + "weight": 230, + "size": 42, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_WHISMUR", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 20 + }, + "dexInternal": [ + 294, + 321 + ], + "recruitRate": -190, + "alphabetParent": [ + 178, + 321 + ] + }, + { + "name": "MonsterNameExploud", + "category": "MonsterCategoryExploud", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "ECHO_CAVE", + "abilities": [ + "ABILITY_SOUNDPROOF" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 55, + "expYield": 89, + "baseAtkSpAtk": [ + 17, + 17 + ], + "baseDefSpDef": [ + 14, + 14 + ], + "weight": 332, + "size": 50, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_LOUDRED", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 40 + }, + "dexInternal": [ + 295, + 322 + ], + "recruitRate": -999, + "alphabetParent": [ + 99, + 322 + ] + }, + { + "name": "MonsterNameMakuhita", + "category": "MonsterCategoryMakuhita", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_FIGHTING" + ], + "friendArea": "MT_DISCIPLINE", + "abilities": [ + "ABILITY_THICK_FAT", + "ABILITY_GUTS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 45, + "expYield": 60, + "baseAtkSpAtk": [ + 15, + 16 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 332, + "size": 37, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 296, + 323 + ], + "recruitRate": 102, + "alphabetParent": [ + 192, + 323 + ] + }, + { + "name": "MonsterNameHariyama", + "category": "MonsterCategoryHariyama", + "overworldPalette": 9, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIGHTING" + ], + "friendArea": "MT_DISCIPLINE", + "abilities": [ + "ABILITY_THICK_FAT", + "ABILITY_GUTS" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 155, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 358, + "size": 55, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_MAKUHITA", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 24 + }, + "dexInternal": [ + 297, + 324 + ], + "recruitRate": -999, + "alphabetParent": [ + 131, + 324 + ] + }, + { + "name": "MonsterNameAzurill", + "category": "MonsterCategoryAzurill", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TURTLESHELL_POND", + "abilities": [ + "ABILITY_THICK_FAT", + "ABILITY_HUGE_POWER" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 26, + "expYield": 30, + "baseAtkSpAtk": [ + 6, + 6 + ], + "baseDefSpDef": [ + 7, + 7 + ], + "weight": 153, + "size": 23, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 298, + 325 + ], + "recruitRate": 102, + "alphabetParent": [ + 17, + 325 + ] + }, + { + "name": "MonsterNameNosepass", + "category": "MonsterCategoryNosepass", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ROCK" + ], + "friendArea": "ECHO_CAVE", + "abilities": [ + "ABILITY_STURDY", + "ABILITY_MAGNET_PULL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 49, + "expYield": 45, + "baseAtkSpAtk": [ + 21, + 20 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 332, + "size": 34, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 299, + 326 + ], + "recruitRate": 74, + "alphabetParent": [ + 233, + 326 + ] + }, + { + "name": "MonsterNameSkitty", + "category": "MonsterCategorySkitty", + "overworldPalette": 11, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0001111111111111", + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "ENERGETIC_FOREST", + "abilities": [ + "ABILITY_CUTE_CHARM" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 19, + "expYield": 33, + "baseAtkSpAtk": [ + 2, + 2 + ], + "baseDefSpDef": [ + 2, + 2 + ], + "weight": 153, + "size": 26, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 300, + 327 + ], + "recruitRate": 72, + "alphabetParent": [ + 310, + 327 + ] + }, + { + "name": "MonsterNameDelcatty", + "category": "MonsterCategoryDelcatty", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "ENERGETIC_FOREST", + "abilities": [ + "ABILITY_CUTE_CHARM" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 96, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 204, + "size": 30, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SKITTY", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_MOON_STONE" + }, + "dexInternal": [ + 301, + 328 + ], + "recruitRate": -999, + "alphabetParent": [ + 68, + 328 + ] + }, + { + "name": "MonsterNameSableye", + "category": "MonsterCategoryMurkrow", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_DARK", + "TYPE_GHOST" + ], + "friendArea": "DARKNESS_RIDGE", + "abilities": [ + "ABILITY_KEEN_EYE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 20, + "expYield": 33, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 31, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 302, + 329 + ], + "recruitRate": 82, + "alphabetParent": [ + 285, + 329 + ] + }, + { + "name": "MonsterNameMawile", + "category": "MonsterCategoryMawile", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_STEEL" + ], + "friendArea": "ECHO_CAVE", + "abilities": [ + "ABILITY_HYPER_CUTTER", + "ABILITY_INTIMIDATE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 47, + "expYield": 33, + "baseAtkSpAtk": [ + 22, + 20 + ], + "baseDefSpDef": [ + 5, + 7 + ], + "weight": 153, + "size": 31, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 303, + 330 + ], + "recruitRate": 71, + "alphabetParent": [ + 201, + 330 + ] + }, + { + "name": "MonsterNameAron", + "category": "MonsterCategoryAron", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_STEEL", + "TYPE_ROCK" + ], + "friendArea": "MT_CLEFT", + "abilities": [ + "ABILITY_STURDY", + "ABILITY_ROCK_HEAD" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 21, + "expYield": 35, + "baseAtkSpAtk": [ + 15, + 16 + ], + "baseDefSpDef": [ + 7, + 6 + ], + "weight": 281, + "size": 20, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 304, + 331 + ], + "recruitRate": 78, + "alphabetParent": [ + 14, + 331 + ] + }, + { + "name": "MonsterNameLairon", + "category": "MonsterCategoryAron", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_STEEL", + "TYPE_ROCK" + ], + "friendArea": "MT_CLEFT", + "abilities": [ + "ABILITY_STURDY", + "ABILITY_ROCK_HEAD" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 49, + "expYield": 80, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 13, + 13 + ], + "weight": 332, + "size": 35, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_ARON", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 32 + }, + "dexInternal": [ + 305, + 332 + ], + "recruitRate": -190, + "alphabetParent": [ + 165, + 332 + ] + }, + { + "name": "MonsterNameAggron", + "category": "MonsterCategoryAron", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_STEEL", + "TYPE_ROCK" + ], + "friendArea": "MT_CLEFT", + "abilities": [ + "ABILITY_STURDY", + "ABILITY_ROCK_HEAD" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 165, + "baseAtkSpAtk": [ + 25, + 25 + ], + "baseDefSpDef": [ + 20, + 20 + ], + "weight": 358, + "size": 64, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_LAIRON", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 42 + }, + "dexInternal": [ + 306, + 333 + ], + "recruitRate": -999, + "alphabetParent": [ + 4, + 333 + ] + }, + { + "name": "MonsterNameMeditite", + "category": "MonsterCategoryMeditite", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIGHTING", + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "MT_DISCIPLINE", + "abilities": [ + "ABILITY_PURE_POWER" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 15, + "baseHP": 25, + "expYield": 32, + "baseAtkSpAtk": [ + 13, + 13 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 29, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 307, + 334 + ], + "recruitRate": 55, + "alphabetParent": [ + 203, + 334 + ] + }, + { + "name": "MonsterNameMedicham", + "category": "MonsterCategoryMeditite", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000001111111", + "types": [ + "TYPE_FIGHTING", + "TYPE_PSYCHIC" + ], + "friendArea": "MT_DISCIPLINE", + "abilities": [ + "ABILITY_PURE_POWER" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 38, + "expYield": 60, + "baseAtkSpAtk": [ + 13, + 13 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 204, + "size": 31, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_MEDITITE", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 37 + }, + "dexInternal": [ + 308, + 335 + ], + "recruitRate": -999, + "alphabetParent": [ + 202, + 335 + ] + }, + { + "name": "MonsterNameElectrike", + "category": "MonsterCategoryJolteon", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ELECTRIC" + ], + "friendArea": "THUNDER_MEADOW", + "abilities": [ + "ABILITY_STATIC", + "ABILITY_LIGHTNINGROD" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 42, + "expYield": 25, + "baseAtkSpAtk": [ + 17, + 18 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 153, + "size": 25, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 309, + 336 + ], + "recruitRate": 78, + "alphabetParent": [ + 92, + 336 + ] + }, + { + "name": "MonsterNameManectric", + "category": "MonsterCategoryManectric", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ELECTRIC" + ], + "friendArea": "THUNDER_MEADOW", + "abilities": [ + "ABILITY_STATIC", + "ABILITY_LIGHTNINGROD" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 56, + "expYield": 65, + "baseAtkSpAtk": [ + 25, + 25 + ], + "baseDefSpDef": [ + 13, + 13 + ], + "weight": 230, + "size": 27, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_ELECTRIKE", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 26 + }, + "dexInternal": [ + 310, + 337 + ], + "recruitRate": -999, + "alphabetParent": [ + 193, + 337 + ] + }, + { + "name": "MonsterNamePlusle", + "category": "MonsterCategoryPlusle", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ELECTRIC" + ], + "friendArea": "THUNDER_MEADOW", + "abilities": [ + "ABILITY_PLUS" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 20, + "expYield": 40, + "baseAtkSpAtk": [ + 10, + 10 + ], + "baseDefSpDef": [ + 7, + 7 + ], + "weight": 153, + "size": 20, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 311, + 338 + ], + "recruitRate": 350, + "alphabetParent": [ + 254, + 338 + ] + }, + { + "name": "MonsterNameMinun", + "category": "MonsterCategoryPlusle", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ELECTRIC" + ], + "friendArea": "THUNDER_MEADOW", + "abilities": [ + "ABILITY_MINUS" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 20, + "expYield": 40, + "baseAtkSpAtk": [ + 10, + 10 + ], + "baseDefSpDef": [ + 7, + 7 + ], + "weight": 153, + "size": 20, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 312, + 339 + ], + "recruitRate": 350, + "alphabetParent": [ + 214, + 339 + ] + }, + { + "name": "MonsterNameVolbeat", + "category": "MonsterCategoryVolbeat", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG" + ], + "friendArea": "RUB_A_DUB_RIVER", + "abilities": [ + "ABILITY_ILLUMINATE", + "ABILITY_SWARM" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 51, + "baseAtkSpAtk": [ + 19, + 19 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 153, + "size": 38, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 313, + 340 + ], + "recruitRate": 86, + "alphabetParent": [ + 400, + 340 + ] + }, + { + "name": "MonsterNameIllumise", + "category": "MonsterCategoryVolbeat", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_BUG" + ], + "friendArea": "RUB_A_DUB_RIVER", + "abilities": [ + "ABILITY_OBLIVIOUS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 35, + "baseAtkSpAtk": [ + 19, + 19 + ], + "baseDefSpDef": [ + 12, + 12 + ], + "weight": 153, + "size": 31, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 314, + 341 + ], + "recruitRate": 73, + "alphabetParent": [ + 146, + 341 + ] + }, + { + "name": "MonsterNameRoselia", + "category": "MonsterCategoryRoselia", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS", + "TYPE_POISON" + ], + "friendArea": "BEAU_PLAINS", + "abilities": [ + "ABILITY_NATURAL_CURE", + "ABILITY_POISON_POINT" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 45, + "expYield": 36, + "baseAtkSpAtk": [ + 12, + 12 + ], + "baseDefSpDef": [ + 16, + 16 + ], + "weight": 153, + "size": 31, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 315, + 342 + ], + "recruitRate": 70, + "alphabetParent": [ + 284, + 342 + ] + }, + { + "name": "MonsterNameGulpin", + "category": "MonsterCategoryGulpin", + "overworldPalette": 10, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_POISON" + ], + "friendArea": "POISON_SWAMP", + "abilities": [ + "ABILITY_LIQUID_OOZE", + "ABILITY_STICKY_HOLD" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 30, + "baseAtkSpAtk": [ + 9, + 9 + ], + "baseDefSpDef": [ + 9, + 9 + ], + "weight": 153, + "size": 22, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 316, + 343 + ], + "recruitRate": 69, + "alphabetParent": [ + 129, + 343 + ] + }, + { + "name": "MonsterNameSwalot", + "category": "MonsterCategorySwalot", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_POISON" + ], + "friendArea": "POISON_SWAMP", + "abilities": [ + "ABILITY_LIQUID_OOZE", + "ABILITY_STICKY_HOLD" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 45, + "expYield": 90, + "baseAtkSpAtk": [ + 11, + 11 + ], + "baseDefSpDef": [ + 11, + 11 + ], + "weight": 332, + "size": 44, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_GULPIN", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 26 + }, + "dexInternal": [ + 317, + 344 + ], + "recruitRate": -999, + "alphabetParent": [ + 341, + 344 + ] + }, + { + "name": "MonsterNameCarvanha", + "category": "MonsterCategoryCarvanha", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_DARK" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TREASURE_SEA", + "abilities": [ + "ABILITY_ROUGH_SKIN" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 80, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 13, + 13 + ], + "weight": 179, + "size": 27, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 318, + 345 + ], + "recruitRate": 89, + "alphabetParent": [ + 37, + 345 + ] + }, + { + "name": "MonsterNameSharpedo", + "category": "MonsterCategorySharpedo", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_DARK" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TREASURE_SEA", + "abilities": [ + "ABILITY_ROUGH_SKIN" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 190, + "baseAtkSpAtk": [ + 18, + 18 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 332, + "size": 28, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_CARVANHA", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 30 + }, + "dexInternal": [ + 319, + 346 + ], + "recruitRate": -999, + "alphabetParent": [ + 299, + 346 + ] + }, + { + "name": "MonsterNameWailmer", + "category": "MonsterCategoryWailmer", + "overworldPalette": 9, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "SERENE_SEA", + "abilities": [ + "ABILITY_WATER_VEIL", + "ABILITY_OBLIVIOUS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 100, + "baseAtkSpAtk": [ + 10, + 10 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 332, + "size": 40, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 320, + 347 + ], + "recruitRate": 82, + "alphabetParent": [ + 403, + 347 + ] + }, + { + "name": "MonsterNameWailord", + "category": "MonsterCategoryWailord", + "overworldPalette": 5, + "bodySize": 4, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "SERENE_SEA", + "abilities": [ + "ABILITY_WATER_VEIL", + "ABILITY_OBLIVIOUS" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 60, + "expYield": 250, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 13, + 13 + ], + "weight": 358, + "size": 167, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_WAILMER", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 40 + }, + "dexInternal": [ + 321, + 348 + ], + "recruitRate": -999, + "alphabetParent": [ + 404, + 348 + ] + }, + { + "name": "MonsterNameNumel", + "category": "MonsterCategoryNumel", + "overworldPalette": 8, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIRE", + "TYPE_GROUND" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "CRATER", + "abilities": [ + "ABILITY_OBLIVIOUS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 39, + "expYield": 50, + "baseAtkSpAtk": [ + 13, + 14 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 179, + "size": 22, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 322, + 349 + ], + "recruitRate": 81, + "alphabetParent": [ + 234, + 349 + ] + }, + { + "name": "MonsterNameCamerupt", + "category": "MonsterCategoryNone", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIRE", + "TYPE_GROUND" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "CRATER", + "abilities": [ + "ABILITY_MAGMA_ARMOR" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 55, + "expYield": 115, + "baseAtkSpAtk": [ + 16, + 16 + ], + "baseDefSpDef": [ + 13, + 13 + ], + "weight": 358, + "size": 37, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_NUMEL", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 33 + }, + "dexInternal": [ + 323, + 350 + ], + "recruitRate": -999, + "alphabetParent": [ + 36, + 350 + ] + }, + { + "name": "MonsterNameTorkoal", + "category": "MonsterCategoryTorkoal", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_FIRE" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "CRATER", + "abilities": [ + "ABILITY_WHITE_SMOKE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 37, + "expYield": 50, + "baseAtkSpAtk": [ + 10, + 10 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 332, + "size": 28, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 324, + 351 + ], + "recruitRate": 81, + "alphabetParent": [ + 354, + 351 + ] + }, + { + "name": "MonsterNameSpoink", + "category": "MonsterCategorySpoink", + "overworldPalette": 10, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "friendArea": "MT_DEEPGREEN", + "abilities": [ + "ABILITY_THICK_FAT", + "ABILITY_OWN_TEMPO" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 28, + "expYield": 90, + "baseAtkSpAtk": [ + 6, + 6 + ], + "baseDefSpDef": [ + 6, + 6 + ], + "weight": 204, + "size": 24, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 325, + 352 + ], + "recruitRate": 75, + "alphabetParent": [ + 328, + 352 + ] + }, + { + "name": "MonsterNameGrumpig", + "category": "MonsterCategoryGrumpig", + "overworldPalette": 10, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "friendArea": "MT_DEEPGREEN", + "abilities": [ + "ABILITY_THICK_FAT", + "ABILITY_OWN_TEMPO" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 124, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 12, + 12 + ], + "weight": 307, + "size": 37, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SPOINK", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 32 + }, + "dexInternal": [ + 326, + 353 + ], + "recruitRate": -999, + "alphabetParent": [ + 128, + 353 + ] + }, + { + "name": "MonsterNameSpinda", + "category": "MonsterCategorySpinda", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000001111", + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "MT_DEEPGREEN", + "abilities": [ + "ABILITY_OWN_TEMPO" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 15, + "baseAtkSpAtk": [ + 9, + 9 + ], + "baseDefSpDef": [ + 9, + 10 + ], + "weight": 153, + "size": 34, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 327, + 354 + ], + "recruitRate": 72, + "alphabetParent": [ + 327, + 354 + ] + }, + { + "name": "MonsterNameTrapinch", + "category": "MonsterCategoryTrapinch", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GROUND" + ], + "friendArea": "FURNACE_DESERT", + "abilities": [ + "ABILITY_HYPER_CUTTER", + "ABILITY_ARENA_TRAP" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 60, + "baseAtkSpAtk": [ + 22, + 21 + ], + "baseDefSpDef": [ + 12, + 12 + ], + "weight": 153, + "size": 19, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 328, + 355 + ], + "recruitRate": 83, + "alphabetParent": [ + 356, + 355 + ] + }, + { + "name": "MonsterNameVibrava", + "category": "MonsterCategoryVibrava", + "overworldPalette": 10, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GROUND", + "TYPE_DRAGON" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "FURNACE_DESERT", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 45, + "expYield": 70, + "baseAtkSpAtk": [ + 22, + 21 + ], + "baseDefSpDef": [ + 15, + 13 + ], + "weight": 153, + "size": 36, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_TRAPINCH", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 35 + }, + "dexInternal": [ + 329, + 356 + ], + "recruitRate": -190, + "alphabetParent": [ + 396, + 356 + ] + }, + { + "name": "MonsterNameFlygon", + "category": "MonsterCategoryXatu", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GROUND", + "TYPE_DRAGON" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "FURNACE_DESERT", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 51, + "expYield": 90, + "baseAtkSpAtk": [ + 22, + 21 + ], + "baseDefSpDef": [ + 17, + 16 + ], + "weight": 332, + "size": 47, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_VIBRAVA", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 45 + }, + "dexInternal": [ + 330, + 357 + ], + "recruitRate": -999, + "alphabetParent": [ + 106, + 357 + ] + }, + { + "name": "MonsterNameCacnea", + "category": "MonsterCategoryCacnea", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS" + ], + "friendArea": "FURNACE_DESERT", + "abilities": [ + "ABILITY_SAND_VEIL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 35, + "baseAtkSpAtk": [ + 19, + 21 + ], + "baseDefSpDef": [ + 13, + 13 + ], + "weight": 256, + "size": 32, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 331, + 358 + ], + "recruitRate": 72, + "alphabetParent": [ + 34, + 358 + ] + }, + { + "name": "MonsterNameCacturne", + "category": "MonsterCategoryCacturne", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS", + "TYPE_DARK" + ], + "friendArea": "FURNACE_DESERT", + "abilities": [ + "ABILITY_SAND_VEIL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 55, + "expYield": 80, + "baseAtkSpAtk": [ + 22, + 22 + ], + "baseDefSpDef": [ + 14, + 14 + ], + "weight": 307, + "size": 49, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_CACNEA", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 32 + }, + "dexInternal": [ + 332, + 359 + ], + "recruitRate": -999, + "alphabetParent": [ + 35, + 359 + ] + }, + { + "name": "MonsterNameSwablu", + "category": "MonsterCategorySwablu", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "FLYAWAY_FOREST", + "abilities": [ + "ABILITY_NATURAL_CURE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 44, + "expYield": 59, + "baseAtkSpAtk": [ + 13, + 15 + ], + "baseDefSpDef": [ + 11, + 12 + ], + "weight": 153, + "size": 26, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 333, + 360 + ], + "recruitRate": 75, + "alphabetParent": [ + 340, + 360 + ] + }, + { + "name": "MonsterNameAltaria", + "category": "MonsterCategoryAltaria", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_DRAGON", + "TYPE_FLYING" + ], + "friendArea": "FLYAWAY_FOREST", + "abilities": [ + "ABILITY_NATURAL_CURE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 46, + "expYield": 80, + "baseAtkSpAtk": [ + 13, + 15 + ], + "baseDefSpDef": [ + 11, + 12 + ], + "weight": 179, + "size": 35, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SWABLU", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 35 + }, + "dexInternal": [ + 334, + 361 + ], + "recruitRate": -999, + "alphabetParent": [ + 7, + 361 + ] + }, + { + "name": "MonsterNameZangoose", + "category": "MonsterCategoryZangoose", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "WILD_PLAINS", + "abilities": [ + "ABILITY_IMMUNITY" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 46, + "expYield": 40, + "baseAtkSpAtk": [ + 12, + 12 + ], + "baseDefSpDef": [ + 8, + 10 + ], + "weight": 230, + "size": 41, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 335, + 362 + ], + "recruitRate": 72, + "alphabetParent": [ + 420, + 362 + ] + }, + { + "name": "MonsterNameSeviper", + "category": "MonsterCategorySeviper", + "overworldPalette": 2, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_POISON" + ], + "friendArea": "WILD_PLAINS", + "abilities": [ + "ABILITY_SHED_SKIN" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 46, + "expYield": 54, + "baseAtkSpAtk": [ + 13, + 14 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 256, + "size": 30, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 336, + 363 + ], + "recruitRate": 72, + "alphabetParent": [ + 298, + 363 + ] + }, + { + "name": "MonsterNameLunatone", + "category": "MonsterCategoryLunatone", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ROCK", + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "MT_MOONVIEW", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 44, + "expYield": 115, + "baseAtkSpAtk": [ + 22, + 22 + ], + "baseDefSpDef": [ + 18, + 18 + ], + "weight": 332, + "size": 20, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 337, + 364 + ], + "recruitRate": 50, + "alphabetParent": [ + 181, + 364 + ] + }, + { + "name": "MonsterNameSolrock", + "category": "MonsterCategoryLunatone", + "overworldPalette": 4, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ROCK", + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "MT_MOONVIEW", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 46, + "expYield": 120, + "baseAtkSpAtk": [ + 24, + 24 + ], + "baseDefSpDef": [ + 18, + 18 + ], + "weight": 332, + "size": 28, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 338, + 365 + ], + "recruitRate": 50, + "alphabetParent": [ + 323, + 365 + ] + }, + { + "name": "MonsterNameBarboach", + "category": "MonsterCategoryBarboach", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_GROUND" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "PEANUT_SWAMP", + "abilities": [ + "ABILITY_OBLIVIOUS" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 3, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 17, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 339, + 366 + ], + "recruitRate": 83, + "alphabetParent": [ + 21, + 366 + ] + }, + { + "name": "MonsterNameWhiscash", + "category": "MonsterCategoryBarboach", + "overworldPalette": 9, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000011", + "types": [ + "TYPE_WATER", + "TYPE_GROUND" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "PEANUT_SWAMP", + "abilities": [ + "ABILITY_OBLIVIOUS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 45, + "expYield": 69, + "baseAtkSpAtk": [ + 12, + 12 + ], + "baseDefSpDef": [ + 13, + 13 + ], + "weight": 179, + "size": 38, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_BARBOACH", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 30 + }, + "dexInternal": [ + 340, + 367 + ], + "recruitRate": -999, + "alphabetParent": [ + 410, + 367 + ] + }, + { + "name": "MonsterNameCorphish", + "category": "MonsterCategoryCorphish", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TURTLESHELL_POND", + "abilities": [ + "ABILITY_HYPER_CUTTER", + "ABILITY_SHELL_ARMOR" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 33, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 153, + "size": 29, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 341, + 368 + ], + "recruitRate": 88, + "alphabetParent": [ + 59, + 368 + ] + }, + { + "name": "MonsterNameCrawdaunt", + "category": "MonsterCategoryCrawdaunt", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_DARK" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TURTLESHELL_POND", + "abilities": [ + "ABILITY_HYPER_CUTTER", + "ABILITY_SHELL_ARMOR" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 96, + "baseAtkSpAtk": [ + 22, + 22 + ], + "baseDefSpDef": [ + 18, + 18 + ], + "weight": 204, + "size": 37, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_CORPHISH", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 30 + }, + "dexInternal": [ + 342, + 369 + ], + "recruitRate": -999, + "alphabetParent": [ + 62, + 369 + ] + }, + { + "name": "MonsterNameBaltoy", + "category": "MonsterCategoryBaltoy", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GROUND", + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "ANCIENT_RELIC", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 10, + "baseHP": 26, + "expYield": 21, + "baseAtkSpAtk": [ + 13, + 13 + ], + "baseDefSpDef": [ + 7, + 7 + ], + "weight": 179, + "size": 22, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 343, + 370 + ], + "recruitRate": 56, + "alphabetParent": [ + 19, + 370 + ] + }, + { + "name": "MonsterNameClaydol", + "category": "MonsterCategoryBaltoy", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GROUND", + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "ANCIENT_RELIC", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 10, + "baseHP": 59, + "expYield": 90, + "baseAtkSpAtk": [ + 21, + 21 + ], + "baseDefSpDef": [ + 15, + 16 + ], + "weight": 332, + "size": 33, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_BALTOY", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 36 + }, + "dexInternal": [ + 344, + 371 + ], + "recruitRate": -999, + "alphabetParent": [ + 53, + 371 + ] + }, + { + "name": "MonsterNameLileep", + "category": "MonsterCategoryLileep", + "overworldPalette": 10, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ROCK", + "TYPE_GRASS" + ], + "friendArea": "DEEP_SEA_FLOOR", + "abilities": [ + "ABILITY_SUCTION_CUPS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 55, + "expYield": 70, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 16, + 16 + ], + "weight": 179, + "size": 32, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 345, + 372 + ], + "recruitRate": 73, + "alphabetParent": [ + 174, + 372 + ] + }, + { + "name": "MonsterNameCradily", + "category": "MonsterCategoryCradily", + "overworldPalette": 10, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ROCK", + "TYPE_GRASS" + ], + "friendArea": "DEEP_SEA_FLOOR", + "abilities": [ + "ABILITY_SUCTION_CUPS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 55, + "expYield": 110, + "baseAtkSpAtk": [ + 21, + 21 + ], + "baseDefSpDef": [ + 18, + 18 + ], + "weight": 281, + "size": 36, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_LILEEP", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 40 + }, + "dexInternal": [ + 346, + 373 + ], + "recruitRate": -300, + "alphabetParent": [ + 61, + 373 + ] + }, + { + "name": "MonsterNameAnorith", + "category": "MonsterCategoryAnorith", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ROCK", + "TYPE_BUG" + ], + "friendArea": "TREASURE_SEA", + "abilities": [ + "ABILITY_BATTLE_ARMOR" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 80, + "baseAtkSpAtk": [ + 12, + 12 + ], + "baseDefSpDef": [ + 12, + 12 + ], + "weight": 153, + "size": 33, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 347, + 374 + ], + "recruitRate": 87, + "alphabetParent": [ + 9, + 374 + ] + }, + { + "name": "MonsterNameArmaldo", + "category": "MonsterCategoryArmaldo", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ROCK", + "TYPE_BUG" + ], + "friendArea": "TREASURE_SEA", + "abilities": [ + "ABILITY_BATTLE_ARMOR" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 120, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 281, + "size": 39, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_ANORITH", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 40 + }, + "dexInternal": [ + 348, + 375 + ], + "recruitRate": -999, + "alphabetParent": [ + 13, + 375 + ] + }, + { + "name": "MonsterNameFeebas", + "category": "MonsterCategoryMagikarp", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "WATERFALL_LAKE", + "abilities": [ + "ABILITY_SWIFT_SWIM" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 20, + "expYield": 21, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 19, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 349, + 376 + ], + "recruitRate": 92, + "alphabetParent": [ + 102, + 376 + ] + }, + { + "name": "MonsterNameMilotic", + "category": "MonsterCategoryMilotic", + "overworldPalette": 0, + "bodySize": 4, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "WATERFALL_LAKE", + "abilities": [ + "ABILITY_MARVEL_SCALE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 60, + "expYield": 222, + "baseAtkSpAtk": [ + 25, + 25 + ], + "baseDefSpDef": [ + 20, + 20 + ], + "weight": 332, + "size": 119, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_FEEBAS", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 1, + "additionalRequirement": 10 + }, + "dexInternal": [ + 350, + 377 + ], + "recruitRate": -999, + "alphabetParent": [ + 212, + 377 + ] + }, + { + "name": "MonsterNameCastform", + "category": "MonsterCategoryCastform", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "THUNDER_MEADOW", + "abilities": [ + "ABILITY_FORECAST" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 200, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 12, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 351, + 378 + ], + "recruitRate": 74, + "alphabetParent": [ + 39, + 378 + ] + }, + { + "name": "MonsterNameCastform", + "category": "MonsterCategoryCastform", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "THUNDER_MEADOW", + "abilities": [ + "ABILITY_FORECAST" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 200, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 30, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 351, + 379 + ], + "recruitRate": 74, + "alphabetParent": [ + 40, + 378 + ] + }, + { + "name": "MonsterNameCastform", + "category": "MonsterCategoryCastform", + "overworldPalette": 0, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "THUNDER_MEADOW", + "abilities": [ + "ABILITY_FORECAST" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 200, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 29, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 351, + 380 + ], + "recruitRate": 74, + "alphabetParent": [ + 41, + 378 + ] + }, + { + "name": "MonsterNameCastform", + "category": "MonsterCategoryCastform", + "overworldPalette": 7, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "THUNDER_MEADOW", + "abilities": [ + "ABILITY_FORECAST" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 200, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 24, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 351, + 381 + ], + "recruitRate": 74, + "alphabetParent": [ + 42, + 378 + ] + }, + { + "name": "MonsterNameKecleon", + "category": "MonsterCategoryKecleon", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000011000011", + "types": [ + "TYPE_NORMAL" + ], + "friendArea": "OVERGROWN_FOREST", + "abilities": [ + "ABILITY_COLOR_CHANGE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 50, + "expYield": 1, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 179, + "size": 31, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 352, + 382 + ], + "recruitRate": -339, + "alphabetParent": [ + 158, + 379 + ] + }, + { + "name": "MonsterNameShuppet", + "category": "MonsterCategoryShuppet", + "overworldPalette": 9, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GHOST" + ], + "movementType": "MOVEMENT_TYPE_WALL", + "friendArea": "DARKNESS_RIDGE", + "abilities": [ + "ABILITY_INSOMNIA" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 46, + "expYield": 60, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 153, + "size": 20, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 353, + 383 + ], + "recruitRate": 80, + "alphabetParent": [ + 306, + 380 + ] + }, + { + "name": "MonsterNameBanette", + "category": "MonsterCategoryBanette", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GHOST" + ], + "movementType": "MOVEMENT_TYPE_WALL", + "friendArea": "DARKNESS_RIDGE", + "abilities": [ + "ABILITY_INSOMNIA" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 50, + "expYield": 105, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 153, + "size": 28, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SHUPPET", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 37 + }, + "dexInternal": [ + 354, + 384 + ], + "recruitRate": -999, + "alphabetParent": [ + 20, + 381 + ] + }, + { + "name": "MonsterNameDuskull", + "category": "MonsterCategoryDuskull", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GHOST" + ], + "movementType": "MOVEMENT_TYPE_WALL", + "friendArea": "DARKNESS_RIDGE", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 31, + "expYield": 55, + "baseAtkSpAtk": [ + 19, + 21 + ], + "baseDefSpDef": [ + 17, + 17 + ], + "weight": 153, + "size": 32, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 355, + 385 + ], + "recruitRate": 75, + "alphabetParent": [ + 87, + 382 + ] + }, + { + "name": "MonsterNameDusclops", + "category": "MonsterCategoryDusclops", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GHOST" + ], + "friendArea": "DARKNESS_RIDGE", + "abilities": [ + "ABILITY_PRESSURE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 75, + "baseAtkSpAtk": [ + 20, + 22 + ], + "baseDefSpDef": [ + 18, + 18 + ], + "weight": 204, + "size": 45, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_DUSKULL", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 37 + }, + "dexInternal": [ + 356, + 386 + ], + "recruitRate": -999, + "alphabetParent": [ + 86, + 383 + ] + }, + { + "name": "MonsterNameTropius", + "category": "MonsterCategoryTropius", + "overworldPalette": 8, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_GRASS", + "TYPE_FLYING" + ], + "friendArea": "JUNGLE", + "abilities": [ + "ABILITY_CHLOROPHYLL" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 42, + "expYield": 100, + "baseAtkSpAtk": [ + 22, + 23 + ], + "baseDefSpDef": [ + 20, + 20 + ], + "weight": 332, + "size": 41, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 357, + 387 + ], + "recruitRate": 76, + "alphabetParent": [ + 358, + 384 + ] + }, + { + "name": "MonsterNameChimecho", + "category": "MonsterCategoryChimecho", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "THUNDER_MEADOW", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 58, + "expYield": 20, + "baseAtkSpAtk": [ + 16, + 16 + ], + "baseDefSpDef": [ + 4, + 4 + ], + "weight": 153, + "size": 16, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 358, + 388 + ], + "recruitRate": 69, + "alphabetParent": [ + 50, + 385 + ] + }, + { + "name": "MonsterNameAbsol", + "category": "MonsterCategoryAbsol", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000011", + "unk12": true, + "types": [ + "TYPE_DARK" + ], + "friendArea": "DARKNESS_RIDGE", + "abilities": [ + "ABILITY_PRESSURE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 61, + "expYield": 200, + "baseAtkSpAtk": [ + 16, + 15 + ], + "baseDefSpDef": [ + 21, + 22 + ], + "weight": 230, + "size": 33, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 359, + 389 + ], + "recruitRate": 68, + "alphabetParent": [ + 2, + 386 + ] + }, + { + "name": "MonsterNameWynaut", + "category": "MonsterCategoryWynaut", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_PSYCHIC" + ], + "friendArea": "ECHO_CAVE", + "abilities": [ + "ABILITY_SHADOW_TAG" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 11, + "expYield": 25, + "baseAtkSpAtk": [ + 4, + 4 + ], + "baseDefSpDef": [ + 4, + 4 + ], + "weight": 153, + "size": 24, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 360, + 390 + ], + "recruitRate": 96, + "alphabetParent": [ + 417, + 387 + ] + }, + { + "name": "MonsterNameSnorunt", + "category": "MonsterCategorySnorunt", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ICE" + ], + "friendArea": "FRIGID_CAVERN", + "abilities": [ + "ABILITY_INNER_FOCUS" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 32, + "expYield": 50, + "baseAtkSpAtk": [ + 4, + 4 + ], + "baseDefSpDef": [ + 13, + 13 + ], + "weight": 153, + "size": 26, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 361, + 391 + ], + "recruitRate": 75, + "alphabetParent": [ + 321, + 388 + ] + }, + { + "name": "MonsterNameGlalie", + "category": "MonsterCategoryGlalie", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ICE" + ], + "friendArea": "FRIGID_CAVERN", + "abilities": [ + "ABILITY_INNER_FOCUS" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 37, + "expYield": 80, + "baseAtkSpAtk": [ + 14, + 14 + ], + "baseDefSpDef": [ + 16, + 16 + ], + "weight": 358, + "size": 47, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SNORUNT", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 42 + }, + "dexInternal": [ + 362, + 392 + ], + "recruitRate": -999, + "alphabetParent": [ + 114, + 389 + ] + }, + { + "name": "MonsterNameSpheal", + "category": "MonsterCategorySpheal", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ICE", + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "ICE_FLOE_BEACH", + "abilities": [ + "ABILITY_THICK_FAT" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 78, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 13, + 13 + ], + "weight": 204, + "size": 22, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 363, + 393 + ], + "recruitRate": 88, + "alphabetParent": [ + 325, + 390 + ] + }, + { + "name": "MonsterNameSealeo", + "category": "MonsterCategorySealeo", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ICE", + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "ICE_FLOE_BEACH", + "abilities": [ + "ABILITY_THICK_FAT" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 45, + "expYield": 103, + "baseAtkSpAtk": [ + 16, + 16 + ], + "baseDefSpDef": [ + 14, + 14 + ], + "weight": 332, + "size": 29, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SPHEAL", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 32 + }, + "dexInternal": [ + 364, + 394 + ], + "recruitRate": -190, + "alphabetParent": [ + 294, + 391 + ] + }, + { + "name": "MonsterNameWalrein", + "category": "MonsterCategoryWalrein", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ICE", + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "ICE_FLOE_BEACH", + "abilities": [ + "ABILITY_THICK_FAT" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 130, + "baseAtkSpAtk": [ + 17, + 17 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 332, + "size": 38, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SEALEO", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 44 + }, + "dexInternal": [ + 365, + 395 + ], + "recruitRate": -999, + "alphabetParent": [ + 405, + 392 + ] + }, + { + "name": "MonsterNameClamperl", + "category": "MonsterCategoryShellder", + "overworldPalette": 1, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "DEEP_SEA_FLOOR", + "abilities": [ + "ABILITY_SHELL_ARMOR" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 70, + "baseAtkSpAtk": [ + 10, + 12 + ], + "baseDefSpDef": [ + 13, + 13 + ], + "weight": 256, + "size": 35, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 366, + 396 + ], + "recruitRate": 85, + "alphabetParent": [ + 52, + 393 + ] + }, + { + "name": "MonsterNameHuntail", + "category": "MonsterCategoryHuntail", + "overworldPalette": 1, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "DEEP_SEA_FLOOR", + "abilities": [ + "ABILITY_SWIFT_SWIM" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 105, + "baseAtkSpAtk": [ + 12, + 13 + ], + "baseDefSpDef": [ + 14, + 14 + ], + "weight": 179, + "size": 33, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_CLAMPERL", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_DEEPSEATOOTH", + "additionalRequirement": 4 + }, + "dexInternal": [ + 367, + 397 + ], + "recruitRate": -999, + "alphabetParent": [ + 143, + 394 + ] + }, + { + "name": "MonsterNameGorebyss", + "category": "MonsterCategoryGorebyss", + "overworldPalette": 10, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "DEEP_SEA_FLOOR", + "abilities": [ + "ABILITY_SWIFT_SWIM" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 120, + "baseAtkSpAtk": [ + 13, + 15 + ], + "baseDefSpDef": [ + 14, + 14 + ], + "weight": 179, + "size": 19, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_CLAMPERL", + "evolveType": "EVOLVE_TYPE_ITEM" + }, + "evolutionRequirements": { + "mainRequirement": "ITEM_DEEPSEASCALE", + "additionalRequirement": 4 + }, + "dexInternal": [ + 368, + 398 + ], + "recruitRate": -999, + "alphabetParent": [ + 121, + 395 + ] + }, + { + "name": "MonsterNameRelicanth", + "category": "MonsterCategoryRelicanth", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER", + "TYPE_ROCK" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "DEEP_SEA_FLOOR", + "abilities": [ + "ABILITY_SWIFT_SWIM", + "ABILITY_ROCK_HEAD" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 69, + "baseAtkSpAtk": [ + 9, + 9 + ], + "baseDefSpDef": [ + 9, + 9 + ], + "weight": 179, + "size": 30, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 369, + 399 + ], + "recruitRate": 79, + "alphabetParent": [ + 280, + 396 + ] + }, + { + "name": "MonsterNameLuvdisc", + "category": "MonsterCategoryLuvdisc", + "overworldPalette": 10, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "TREASURE_SEA", + "abilities": [ + "ABILITY_SWIFT_SWIM" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 80, + "baseAtkSpAtk": [ + 8, + 9 + ], + "baseDefSpDef": [ + 8, + 9 + ], + "weight": 153, + "size": 14, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 370, + 400 + ], + "recruitRate": 86, + "alphabetParent": [ + 182, + 397 + ] + }, + { + "name": "MonsterNameBagon", + "category": "MonsterCategoryBagon", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_DRAGON" + ], + "friendArea": "DRAGON_CAVE", + "abilities": [ + "ABILITY_ROCK_HEAD" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 36, + "expYield": 60, + "baseAtkSpAtk": [ + 22, + 22 + ], + "baseDefSpDef": [ + 11, + 11 + ], + "weight": 230, + "size": 28, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 371, + 401 + ], + "recruitRate": 76, + "alphabetParent": [ + 18, + 398 + ] + }, + { + "name": "MonsterNameShelgon", + "category": "MonsterCategoryShelgon", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_DRAGON" + ], + "friendArea": "DRAGON_CAVE", + "abilities": [ + "ABILITY_ROCK_HEAD" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 39, + "expYield": 65, + "baseAtkSpAtk": [ + 22, + 22 + ], + "baseDefSpDef": [ + 16, + 16 + ], + "weight": 332, + "size": 41, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_BAGON", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 30 + }, + "dexInternal": [ + 372, + 402 + ], + "recruitRate": -190, + "alphabetParent": [ + 301, + 399 + ] + }, + { + "name": "MonsterNameSalamence", + "category": "MonsterCategoryHorsea", + "overworldPalette": 5, + "bodySize": 2, + "movementSpeed": 1, + "types": [ + "TYPE_DRAGON", + "TYPE_FLYING" + ], + "friendArea": "DRAGON_CAVE", + "abilities": [ + "ABILITY_INTIMIDATE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 40, + "expYield": 85, + "baseAtkSpAtk": [ + 25, + 25 + ], + "baseDefSpDef": [ + 18, + 18 + ], + "weight": 332, + "size": 92, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_SHELGON", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 50 + }, + "dexInternal": [ + 373, + 403 + ], + "recruitRate": -999, + "alphabetParent": [ + 286, + 400 + ] + }, + { + "name": "MonsterNameBeldum", + "category": "MonsterCategoryBeldum", + "overworldPalette": 11, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_STEEL", + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "MAGNETIC_QUARRY", + "abilities": [ + "ABILITY_CLEAR_BODY" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 12, + "baseHP": 20, + "expYield": 32, + "baseAtkSpAtk": [ + 15, + 17 + ], + "baseDefSpDef": [ + 7, + 8 + ], + "weight": 332, + "size": 23, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 374, + 404 + ], + "recruitRate": 78, + "alphabetParent": [ + 25, + 401 + ] + }, + { + "name": "MonsterNameMetang", + "category": "MonsterCategoryMetang", + "overworldPalette": 11, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_STEEL", + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "MAGNETIC_QUARRY", + "abilities": [ + "ABILITY_CLEAR_BODY" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 5, + "baseHP": 41, + "expYield": 65, + "baseAtkSpAtk": [ + 16, + 19 + ], + "baseDefSpDef": [ + 10, + 10 + ], + "weight": 358, + "size": 47, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_BELDUM", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 20 + }, + "dexInternal": [ + 375, + 405 + ], + "recruitRate": -190, + "alphabetParent": [ + 207, + 402 + ] + }, + { + "name": "MonsterNameMetagross", + "category": "MonsterCategoryMetagross", + "overworldPalette": 11, + "bodySize": 2, + "movementSpeed": 1, + "types": [ + "TYPE_STEEL", + "TYPE_PSYCHIC" + ], + "friendArea": "MAGNETIC_QUARRY", + "abilities": [ + "ABILITY_CLEAR_BODY" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 5, + "baseHP": 44, + "expYield": 95, + "baseAtkSpAtk": [ + 17, + 20 + ], + "baseDefSpDef": [ + 12, + 12 + ], + "weight": 358, + "size": 59, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "preEvolution": { + "evolveFrom": "MONSTER_METANG", + "evolveType": "EVOLVE_TYPE_LEVEL" + }, + "evolutionRequirements": { + "mainRequirement": 45 + }, + "dexInternal": [ + 376, + 406 + ], + "recruitRate": -999, + "alphabetParent": [ + 206, + 403 + ] + }, + { + "name": "MonsterNameRegirock", + "category": "MonsterCategoryRegirock", + "overworldPalette": 6, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ROCK" + ], + "friendArea": "ANCIENT_RELIC", + "abilities": [ + "ABILITY_CLEAR_BODY" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 200, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 358, + "size": 60, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 377, + 407 + ], + "recruitRate": 1, + "alphabetParent": [ + 278, + 404 + ] + }, + { + "name": "MonsterNameRegice", + "category": "MonsterCategoryRegice", + "overworldPalette": 9, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_ICE" + ], + "friendArea": "ANCIENT_RELIC", + "abilities": [ + "ABILITY_CLEAR_BODY" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 200, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 332, + "size": 49, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 378, + 408 + ], + "recruitRate": 1, + "alphabetParent": [ + 277, + 405 + ] + }, + { + "name": "MonsterNameRegisteel", + "category": "MonsterCategoryRegisteel", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_STEEL" + ], + "friendArea": "ANCIENT_RELIC", + "abilities": [ + "ABILITY_CLEAR_BODY" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 35, + "expYield": 200, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 358, + "size": 53, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 379, + 409 + ], + "recruitRate": 1, + "alphabetParent": [ + 279, + 406 + ] + }, + { + "name": "MonsterNameLatias", + "category": "MonsterCategoryLatias", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000011", + "unk12": true, + "types": [ + "TYPE_DRAGON", + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "SOUTHERN_ISLAND", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 200, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 230, + "size": 37, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 380, + 410 + ], + "recruitRate": 1, + "alphabetParent": [ + 169, + 407 + ] + }, + { + "name": "MonsterNameLatios", + "category": "MonsterCategoryLatias", + "overworldPalette": 5, + "bodySize": 2, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000011", + "unk12": true, + "types": [ + "TYPE_DRAGON", + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "SOUTHERN_ISLAND", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 50, + "expYield": 200, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 281, + "size": 57, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 381, + 411 + ], + "recruitRate": 1, + "alphabetParent": [ + 170, + 408 + ] + }, + { + "name": "MonsterNameKyogre", + "category": "MonsterCategoryKyogre", + "overworldPalette": 5, + "bodySize": 4, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "unk12": true, + "types": [ + "TYPE_WATER" + ], + "movementType": "MOVEMENT_TYPE_WATER", + "friendArea": "SEAFLOOR_CAVE", + "abilities": [ + "ABILITY_DRIZZLE" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 75, + "expYield": 210, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 358, + "size": 124, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 382, + 412 + ], + "recruitRate": 500, + "alphabetParent": [ + 164, + 409 + ] + }, + { + "name": "MonsterNameGroudon", + "category": "MonsterCategoryGroudon", + "overworldPalette": 5, + "bodySize": 4, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "unk12": true, + "types": [ + "TYPE_GROUND" + ], + "movementType": "MOVEMENT_TYPE_LAVA", + "friendArea": "VOLCANIC_PIT", + "abilities": [ + "ABILITY_DROUGHT" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 78, + "expYield": 220, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 358, + "size": 107, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 383, + 413 + ], + "recruitRate": -100, + "alphabetParent": [ + 125, + 410 + ] + }, + { + "name": "MonsterNameRayquaza", + "category": "MonsterCategoryRayquaza", + "overworldPalette": 3, + "bodySize": 4, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "unk12": true, + "types": [ + "TYPE_DRAGON", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "STRATOS_LOOKOUT", + "abilities": [ + "ABILITY_AIR_LOCK" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 80, + "expYield": 230, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 17, + 17 + ], + "weight": 358, + "size": 156, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 384, + 414 + ], + "recruitRate": -100, + "alphabetParent": [ + 275, + 411 + ] + }, + { + "name": "MonsterNameJirachi", + "category": "MonsterCategoryJirachi", + "overworldPalette": 10, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000011", + "types": [ + "TYPE_STEEL", + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "MT_MOONVIEW", + "abilities": [ + "ABILITY_SERENE_GRACE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 65, + "expYield": 300, + "baseAtkSpAtk": [ + 15, + 15 + ], + "baseDefSpDef": [ + 15, + 15 + ], + "weight": 153, + "size": 31, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 385, + 415 + ], + "recruitRate": 999, + "alphabetParent": [ + 149, + 412 + ] + }, + { + "name": "MonsterNameDeoxys", + "category": "MonsterCategoryDeoxys", + "overworldPalette": 9, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "unk12": true, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "ENCLOSED_ISLAND", + "abilities": [ + "ABILITY_PRESSURE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 85, + "expYield": 300, + "baseAtkSpAtk": [ + 21, + 22 + ], + "baseDefSpDef": [ + 22, + 21 + ], + "weight": 281, + "size": 54, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 386, + 416 + ], + "recruitRate": -100, + "alphabetParent": [ + 70, + 413 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_O_EXCLAIM", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 50, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 11, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 227 + ], + "recruitRate": 1, + "alphabetParent": [ + 389, + 227 + ] + }, + { + "name": "MonsterNameUnown", + "category": "MonsterCategoryUnown", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "AGED_CHAMBER_O_EXCLAIM", + "abilities": [ + "ABILITY_LEVITATE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 30, + "expYield": 50, + "baseAtkSpAtk": [ + 8, + 8 + ], + "baseDefSpDef": [ + 8, + 8 + ], + "weight": 153, + "size": 12, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 201, + 228 + ], + "recruitRate": 1, + "alphabetParent": [ + 390, + 228 + ] + }, + { + "name": "MonsterNameDeoxys", + "category": "MonsterCategoryDeoxys", + "overworldPalette": 9, + "bodySize": 1, + "movementSpeed": 1, + "unk12": true, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "ENCLOSED_ISLAND", + "abilities": [ + "ABILITY_PRESSURE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 85, + "expYield": 300, + "baseAtkSpAtk": [ + 21, + 22 + ], + "baseDefSpDef": [ + 22, + 21 + ], + "weight": 281, + "size": 51, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 386, + 416 + ], + "recruitRate": -999, + "alphabetParent": [ + 71, + 413 + ] + }, + { + "name": "MonsterNameDeoxys", + "category": "MonsterCategoryDeoxys", + "overworldPalette": 9, + "bodySize": 1, + "movementSpeed": 1, + "unk12": true, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "ENCLOSED_ISLAND", + "abilities": [ + "ABILITY_PRESSURE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 85, + "expYield": 300, + "baseAtkSpAtk": [ + 21, + 22 + ], + "baseDefSpDef": [ + 22, + 21 + ], + "weight": 281, + "size": 63, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 386, + 417 + ], + "recruitRate": -999, + "alphabetParent": [ + 72, + 413 + ] + }, + { + "name": "MonsterNameDeoxys", + "category": "MonsterCategoryDeoxys", + "overworldPalette": 9, + "bodySize": 1, + "movementSpeed": 1, + "unk12": true, + "types": [ + "TYPE_PSYCHIC" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "ENCLOSED_ISLAND", + "abilities": [ + "ABILITY_PRESSURE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 0, + "baseHP": 85, + "expYield": 300, + "baseAtkSpAtk": [ + 21, + 22 + ], + "baseDefSpDef": [ + 22, + 21 + ], + "weight": 281, + "size": 39, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 386, + 418 + ], + "recruitRate": -999, + "alphabetParent": [ + 73, + 413 + ] + }, + { + "name": "MonsterNameMunchlax", + "category": "MonsterCategoryLoudred", + "overworldPalette": 12, + "bodySize": 1, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000111111", + "types": [ + "TYPE_PSYCHIC" + ], + "friendArea": "NONE", + "abilities": [ + "ABILITY_PRESSURE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 10, + "baseHP": 7, + "expYield": 100, + "baseAtkSpAtk": [ + 1, + 1 + ], + "baseDefSpDef": [ + 1, + 1 + ], + "weight": 332, + "size": 31, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 387, + 419 + ], + "recruitRate": 0, + "alphabetParent": [ + 220, + 414 + ] + }, + { + "name": "MonsterNameDecoy", + "category": "MonsterCategorySlakoth", + "overworldPalette": 3, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_STEEL" + ], + "friendArea": "NONE", + "abilities": [ + "ABILITY_PRESSURE" + ], + "shadowSize": 1, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 10, + "expYield": 1, + "baseAtkSpAtk": [ + 1, + 1 + ], + "baseDefSpDef": [ + 1, + 1 + ], + "weight": 281, + "size": 22, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 388, + 420 + ], + "recruitRate": 0, + "alphabetParent": [ + 67, + 415 + ] + }, + { + "name": "MonsterNameStatue", + "category": "MonsterCategoryTorkoal", + "overworldPalette": 5, + "bodySize": 1, + "movementSpeed": 1, + "types": [ + "TYPE_WATER" + ], + "friendArea": "NONE", + "abilities": [ + "ABILITY_DRIZZLE" + ], + "shadowSize": 0, + "regenSpeed": 100, + "canMove": false, + "chanceAsleep": 0, + "baseHP": 180, + "expYield": 14, + "baseAtkSpAtk": [ + 180, + 180 + ], + "baseDefSpDef": [ + 3, + 6 + ], + "weight": 153, + "size": 12, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": false, + "dexInternal": [ + 389, + 421 + ], + "recruitRate": 7, + "alphabetParent": [ + 333, + 416 + ] + }, + { + "name": "MonsterNameRayquaza", + "category": "MonsterCategoryRayquaza", + "overworldPalette": 3, + "bodySize": 4, + "movementSpeed": 1, + "dialogueSprites": "0b0000000000000001", + "types": [ + "TYPE_DRAGON", + "TYPE_FLYING" + ], + "movementType": "MOVEMENT_TYPE_CHASM", + "friendArea": "STRATOS_LOOKOUT", + "abilities": [ + "ABILITY_AIR_LOCK" + ], + "shadowSize": 2, + "regenSpeed": 100, + "canMove": true, + "chanceAsleep": 8, + "baseHP": 80, + "expYield": 230, + "baseAtkSpAtk": [ + 20, + 20 + ], + "baseDefSpDef": [ + 17, + 17 + ], + "weight": 358, + "size": 156, + "unk30": 10, + "unk31": 10, + "unk32": 24, + "toolboxEnabled": true, + "dexInternal": [ + 384, + 422 + ], + "recruitRate": 0, + "alphabetParent": [ + 276, + 411 + ] + } +] diff --git a/data/monster/monster_names.s b/data/monster/monster_names.s new file mode 100644 index 000000000..19fd8a6a7 --- /dev/null +++ b/data/monster/monster_names.s @@ -0,0 +1,3309 @@ +.global MonsterNameStatue +MonsterNameStatue: +.string "Statue\0" +.align 2,0 + +.global MonsterNameDecoy +MonsterNameDecoy: +.string "Decoy\0" +.align 2,0 + +.global MonsterNameMunchlax +MonsterNameMunchlax: +.string "Munchlax\0" +.align 2,0 + +.global MonsterCategoryDeoxys +MonsterCategoryDeoxys: +.string "DNA\0" +.align 2,0 + +.global MonsterNameDeoxys +MonsterNameDeoxys: +.string "Deoxys\0" +.align 2,0 + +.global MonsterCategoryJirachi +MonsterCategoryJirachi: +.string "Wish\0" +.align 2,0 + +.global MonsterNameJirachi +MonsterNameJirachi: +.string "Jirachi\0" +.align 2,0 + +.global MonsterCategoryRayquaza +MonsterCategoryRayquaza: +.string "Sky High\0" +.align 2,0 + +.global MonsterNameRayquaza +MonsterNameRayquaza: +.string "Rayquaza\0" +.align 2,0 + +.global MonsterCategoryGroudon +MonsterCategoryGroudon: +.string "Continent\0" +.align 2,0 + +.global MonsterNameGroudon +MonsterNameGroudon: +.string "Groudon\0" +.align 2,0 + +.global MonsterCategoryKyogre +MonsterCategoryKyogre: +.string "Sea Basin\0" +.align 2,0 + +.global MonsterNameKyogre +MonsterNameKyogre: +.string "Kyogre\0" +.align 2,0 + +.global MonsterNameLatios +MonsterNameLatios: +.string "Latios\0" +.align 2,0 + +.global MonsterCategoryLatias +MonsterCategoryLatias: +.string "Eon\0" +.align 2,0 + +.global MonsterNameLatias +MonsterNameLatias: +.string "Latias\0" +.align 2,0 + +.global MonsterCategoryRegisteel +MonsterCategoryRegisteel: +.string "Iron\0" +.align 2,0 + +.global MonsterNameRegisteel +MonsterNameRegisteel: +.string "Registeel\0" +.align 2,0 + +.global MonsterCategoryRegice +MonsterCategoryRegice: +.string "Iceberg\0" +.align 2,0 + +.global MonsterNameRegice +MonsterNameRegice: +.string "Regice\0" +.align 2,0 + +.global MonsterCategoryRegirock +MonsterCategoryRegirock: +.string "Rock Peak\0" +.align 2,0 + +.global MonsterNameRegirock +MonsterNameRegirock: +.string "Regirock\0" +.align 2,0 + +.global MonsterCategoryMetagross +MonsterCategoryMetagross: +.string "Iron Leg\0" +.align 2,0 + +.global MonsterNameMetagross +MonsterNameMetagross: +.string "Metagross\0" +.align 2,0 + +.global MonsterCategoryMetang +MonsterCategoryMetang: +.string "Iron Claw\0" +.align 2,0 + +.global MonsterNameMetang +MonsterNameMetang: +.string "Metang\0" +.align 2,0 + +.global MonsterCategoryBeldum +MonsterCategoryBeldum: +.string "Iron Ball\0" +.align 2,0 + +.global MonsterNameBeldum +MonsterNameBeldum: +.string "Beldum\0" +.align 2,0 + +.global MonsterNameSalamence +MonsterNameSalamence: +.string "Salamence\0" +.align 2,0 + +.global MonsterCategoryShelgon +MonsterCategoryShelgon: +.string "Endurance\0" +.align 2,0 + +.global MonsterNameShelgon +MonsterNameShelgon: +.string "Shelgon\0" +.align 2,0 + +.global MonsterCategoryBagon +MonsterCategoryBagon: +.string "Rock Head\0" +.align 2,0 + +.global MonsterNameBagon +MonsterNameBagon: +.string "Bagon\0" +.align 2,0 + +.global MonsterCategoryLuvdisc +MonsterCategoryLuvdisc: +.string "Rendezvous\0" +.align 2,0 + +.global MonsterNameLuvdisc +MonsterNameLuvdisc: +.string "Luvdisc\0" +.align 2,0 + +.global MonsterCategoryRelicanth +MonsterCategoryRelicanth: +.string "Longevity\0" +.align 2,0 + +.global MonsterNameRelicanth +MonsterNameRelicanth: +.string "Relicanth\0" +.align 2,0 + +.global MonsterCategoryGorebyss +MonsterCategoryGorebyss: +.string "South Sea\0" +.align 2,0 + +.global MonsterNameGorebyss +MonsterNameGorebyss: +.string "Gorebyss\0" +.align 2,0 + +.global MonsterCategoryHuntail +MonsterCategoryHuntail: +.string "Deep Sea\0" +.align 2,0 + +.global MonsterNameHuntail +MonsterNameHuntail: +.string "Huntail\0" +.align 2,0 + +.global MonsterNameClamperl +MonsterNameClamperl: +.string "Clamperl\0" +.align 2,0 + +.global MonsterCategoryWalrein +MonsterCategoryWalrein: +.string "Ice Break\0" +.align 2,0 + +.global MonsterNameWalrein +MonsterNameWalrein: +.string "Walrein\0" +.align 2,0 + +.global MonsterCategorySealeo +MonsterCategorySealeo: +.string "Ball Roll\0" +.align 2,0 + +.global MonsterNameSealeo +MonsterNameSealeo: +.string "Sealeo\0" +.align 2,0 + +.global MonsterCategorySpheal +MonsterCategorySpheal: +.string "Clap\0" +.align 2,0 + +.global MonsterNameSpheal +MonsterNameSpheal: +.string "Spheal\0" +.align 2,0 + +.global MonsterCategoryGlalie +MonsterCategoryGlalie: +.string "Face\0" +.align 2,0 + +.global MonsterNameGlalie +MonsterNameGlalie: +.string "Glalie\0" +.align 2,0 + +.global MonsterCategorySnorunt +MonsterCategorySnorunt: +.string "Snow Hat\0" +.align 2,0 + +.global MonsterNameSnorunt +MonsterNameSnorunt: +.string "Snorunt\0" +.align 2,0 + +.global MonsterCategoryWynaut +MonsterCategoryWynaut: +.string "Bright\0" +.align 2,0 + +.global MonsterNameWynaut +MonsterNameWynaut: +.string "Wynaut\0" +.align 2,0 + +.global MonsterCategoryAbsol +MonsterCategoryAbsol: +.string "Disaster\0" +.align 2,0 + +.global MonsterNameAbsol +MonsterNameAbsol: +.string "Absol\0" +.align 2,0 + +.global MonsterCategoryChimecho +MonsterCategoryChimecho: +.string "Wind Chime\0" +.align 2,0 + +.global MonsterNameChimecho +MonsterNameChimecho: +.string "Chimecho\0" +.align 2,0 + +.global MonsterCategoryTropius +MonsterCategoryTropius: +.string "Fruit\0" +.align 2,0 + +.global MonsterNameTropius +MonsterNameTropius: +.string "Tropius\0" +.align 2,0 + +.global MonsterCategoryDusclops +MonsterCategoryDusclops: +.string "Beckon\0" +.align 2,0 + +.global MonsterNameDusclops +MonsterNameDusclops: +.string "Dusclops\0" +.align 2,0 + +.global MonsterCategoryDuskull +MonsterCategoryDuskull: +.string "Requiem\0" +.align 2,0 + +.global MonsterNameDuskull +MonsterNameDuskull: +.string "Duskull\0" +.align 2,0 + +.global MonsterCategoryBanette +MonsterCategoryBanette: +.string "Marionette\0" +.align 2,0 + +.global MonsterNameBanette +MonsterNameBanette: +.string "Banette\0" +.align 2,0 + +.global MonsterCategoryShuppet +MonsterCategoryShuppet: +.string "Puppet\0" +.align 2,0 + +.global MonsterNameShuppet +MonsterNameShuppet: +.string "Shuppet\0" +.align 2,0 + +.global MonsterCategoryKecleon +MonsterCategoryKecleon: +.string "Color Swap\0" +.align 2,0 + +.global MonsterNameKecleon +MonsterNameKecleon: +.string "Kecleon\0" +.align 2,0 + +.global MonsterCategoryCastform +MonsterCategoryCastform: +.string "Weather\0" +.align 2,0 + +.global MonsterNameCastform +MonsterNameCastform: +.string "Castform\0" +.align 2,0 + +.global MonsterCategoryMilotic +MonsterCategoryMilotic: +.string "Tender\0" +.align 2,0 + +.global MonsterNameMilotic +MonsterNameMilotic: +.string "Milotic\0" +.align 2,0 + +.global MonsterNameFeebas +MonsterNameFeebas: +.string "Feebas\0" +.align 2,0 + +.global MonsterCategoryArmaldo +MonsterCategoryArmaldo: +.string "Plate\0" +.align 2,0 + +.global MonsterNameArmaldo +MonsterNameArmaldo: +.string "Armaldo\0" +.align 2,0 + +.global MonsterCategoryAnorith +MonsterCategoryAnorith: +.string "Old Shrimp\0" +.align 2,0 + +.global MonsterNameAnorith +MonsterNameAnorith: +.string "Anorith\0" +.align 2,0 + +.global MonsterCategoryCradily +MonsterCategoryCradily: +.string "Barnacle\0" +.align 2,0 + +.global MonsterNameCradily +MonsterNameCradily: +.string "Cradily\0" +.align 2,0 + +.global MonsterCategoryLileep +MonsterCategoryLileep: +.string "Sea Lily\0" +.align 2,0 + +.global MonsterNameLileep +MonsterNameLileep: +.string "Lileep\0" +.align 2,0 + +.global MonsterNameClaydol +MonsterNameClaydol: +.string "Claydol\0" +.align 2,0 + +.global MonsterCategoryBaltoy +MonsterCategoryBaltoy: +.string "Clay Doll\0" +.align 2,0 + +.global MonsterNameBaltoy +MonsterNameBaltoy: +.string "Baltoy\0" +.align 2,0 + +.global MonsterCategoryCrawdaunt +MonsterCategoryCrawdaunt: +.string "Rogue\0" +.align 2,0 + +.global MonsterNameCrawdaunt +MonsterNameCrawdaunt: +.string "Crawdaunt\0" +.align 2,0 + +.global MonsterCategoryCorphish +MonsterCategoryCorphish: +.string "Ruffian\0" +.align 2,0 + +.global MonsterNameCorphish +MonsterNameCorphish: +.string "Corphish\0" +.align 2,0 + +.global MonsterNameWhiscash +MonsterNameWhiscash: +.string "Whiscash\0" +.align 2,0 + +.global MonsterCategoryBarboach +MonsterCategoryBarboach: +.string "Whiskers\0" +.align 2,0 + +.global MonsterNameBarboach +MonsterNameBarboach: +.string "Barboach\0" +.align 2,0 + +.global MonsterNameSolrock +MonsterNameSolrock: +.string "Solrock\0" +.align 2,0 + +.global MonsterCategoryLunatone +MonsterCategoryLunatone: +.string "Meteorite\0" +.align 2,0 + +.global MonsterNameLunatone +MonsterNameLunatone: +.string "Lunatone\0" +.align 2,0 + +.global MonsterCategorySeviper +MonsterCategorySeviper: +.string "Fang Snake\0" +.align 2,0 + +.global MonsterNameSeviper +MonsterNameSeviper: +.string "Seviper\0" +.align 2,0 + +.global MonsterCategoryZangoose +MonsterCategoryZangoose: +.string "Cat Ferret\0" +.align 2,0 + +.global MonsterNameZangoose +MonsterNameZangoose: +.string "Zangoose\0" +.align 2,0 + +.global MonsterCategoryAltaria +MonsterCategoryAltaria: +.string "Humming\0" +.align 2,0 + +.global MonsterNameAltaria +MonsterNameAltaria: +.string "Altaria\0" +.align 2,0 + +.global MonsterCategorySwablu +MonsterCategorySwablu: +.string "Cotton Bird\0" +.align 2,0 + +.global MonsterNameSwablu +MonsterNameSwablu: +.string "Swablu\0" +.align 2,0 + +.global MonsterCategoryCacturne +MonsterCategoryCacturne: +.string "Scarecrow\0" +.align 2,0 + +.global MonsterNameCacturne +MonsterNameCacturne: +.string "Cacturne\0" +.align 2,0 + +.global MonsterCategoryCacnea +MonsterCategoryCacnea: +.string "Cactus\0" +.align 2,0 + +.global MonsterNameCacnea +MonsterNameCacnea: +.string "Cacnea\0" +.align 2,0 + +.global MonsterNameFlygon +MonsterNameFlygon: +.string "Flygon\0" +.align 2,0 + +.global MonsterCategoryVibrava +MonsterCategoryVibrava: +.string "Vibration\0" +.align 2,0 + +.global MonsterNameVibrava +MonsterNameVibrava: +.string "Vibrava\0" +.align 2,0 + +.global MonsterCategoryTrapinch +MonsterCategoryTrapinch: +.string "Ant Pit\0" +.align 2,0 + +.global MonsterNameTrapinch +MonsterNameTrapinch: +.string "Trapinch\0" +.align 2,0 + +.global MonsterCategorySpinda +MonsterCategorySpinda: +.string "Spot Panda\0" +.align 2,0 + +.global MonsterNameSpinda +MonsterNameSpinda: +.string "Spinda\0" +.align 2,0 + +.global MonsterCategoryGrumpig +MonsterCategoryGrumpig: +.string "Manipulate\0" +.align 2,0 + +.global MonsterNameGrumpig +MonsterNameGrumpig: +.string "Grumpig\0" +.align 2,0 + +.global MonsterCategorySpoink +MonsterCategorySpoink: +.string "Bounce\0" +.align 2,0 + +.global MonsterNameSpoink +MonsterNameSpoink: +.string "Spoink\0" +.align 2,0 + +.global MonsterCategoryTorkoal +MonsterCategoryTorkoal: +.string "Coal\0" +.align 2,0 + +.global MonsterNameTorkoal +MonsterNameTorkoal: +.string "Torkoal\0" +.align 2,0 + +.global MonsterNameCamerupt +MonsterNameCamerupt: +.string "Camerupt\0" +.align 2,0 + +.global MonsterCategoryNumel +MonsterCategoryNumel: +.string "Numb\0" +.align 2,0 + +.global MonsterNameNumel +MonsterNameNumel: +.string "Numel\0" +.align 2,0 + +.global MonsterCategoryWailord +MonsterCategoryWailord: +.string "Float Whale\0" +.align 2,0 + +.global MonsterNameWailord +MonsterNameWailord: +.string "Wailord\0" +.align 2,0 + +.global MonsterCategoryWailmer +MonsterCategoryWailmer: +.string "Ball Whale\0" +.align 2,0 + +.global MonsterNameWailmer +MonsterNameWailmer: +.string "Wailmer\0" +.align 2,0 + +.global MonsterCategorySharpedo +MonsterCategorySharpedo: +.string "Brutal\0" +.align 2,0 + +.global MonsterNameSharpedo +MonsterNameSharpedo: +.string "Sharpedo\0" +.align 2,0 + +.global MonsterCategoryCarvanha +MonsterCategoryCarvanha: +.string "Savage\0" +.align 2,0 + +.global MonsterNameCarvanha +MonsterNameCarvanha: +.string "Carvanha\0" +.align 2,0 + +.global MonsterCategorySwalot +MonsterCategorySwalot: +.string "Poison Bag\0" +.align 2,0 + +.global MonsterNameSwalot +MonsterNameSwalot: +.string "Swalot\0" +.align 2,0 + +.global MonsterCategoryGulpin +MonsterCategoryGulpin: +.string "Stomach\0" +.align 2,0 + +.global MonsterNameGulpin +MonsterNameGulpin: +.string "Gulpin\0" +.align 2,0 + +.global MonsterCategoryRoselia +MonsterCategoryRoselia: +.string "Thorn\0" +.align 2,0 + +.global MonsterNameRoselia +MonsterNameRoselia: +.string "Roselia\0" +.align 2,0 + +.global MonsterNameIllumise +MonsterNameIllumise: +.string "Illumise\0" +.align 2,0 + +.global MonsterCategoryVolbeat +MonsterCategoryVolbeat: +.string "Firefly\0" +.align 2,0 + +.global MonsterNameVolbeat +MonsterNameVolbeat: +.string "Volbeat\0" +.align 2,0 + +.global MonsterNameMinun +MonsterNameMinun: +.string "Minun\0" +.align 2,0 + +.global MonsterCategoryPlusle +MonsterCategoryPlusle: +.string "Cheering\0" +.align 2,0 + +.global MonsterNamePlusle +MonsterNamePlusle: +.string "Plusle\0" +.align 2,0 + +.global MonsterCategoryManectric +MonsterCategoryManectric: +.string "Discharge\0" +.align 2,0 + +.global MonsterNameManectric +MonsterNameManectric: +.string "Manectric\0" +.align 2,0 + +.global MonsterNameElectrike +MonsterNameElectrike: +.string "Electrike\0" +.align 2,0 + +.global MonsterNameMedicham +MonsterNameMedicham: +.string "Medicham\0" +.align 2,0 + +.global MonsterCategoryMeditite +MonsterCategoryMeditite: +.string "Meditate\0" +.align 2,0 + +.global MonsterNameMeditite +MonsterNameMeditite: +.string "Meditite\0" +.align 2,0 + +.global MonsterNameAggron +MonsterNameAggron: +.string "Aggron\0" +.align 2,0 + +.global MonsterNameLairon +MonsterNameLairon: +.string "Lairon\0" +.align 2,0 + +.global MonsterCategoryAron +MonsterCategoryAron: +.string "Iron Armor\0" +.align 2,0 + +.global MonsterNameAron +MonsterNameAron: +.string "Aron\0" +.align 2,0 + +.global MonsterCategoryMawile +MonsterCategoryMawile: +.string "Deceiver\0" +.align 2,0 + +.global MonsterNameMawile +MonsterNameMawile: +.string "Mawile\0" +.align 2,0 + +.global MonsterNameSableye +MonsterNameSableye: +.string "Sableye\0" +.align 2,0 + +.global MonsterCategoryDelcatty +MonsterCategoryDelcatty: +.string "Prim\0" +.align 2,0 + +.global MonsterNameDelcatty +MonsterNameDelcatty: +.string "Delcatty\0" +.align 2,0 + +.global MonsterCategorySkitty +MonsterCategorySkitty: +.string "Kitten\0" +.align 2,0 + +.global MonsterNameSkitty +MonsterNameSkitty: +.string "Skitty\0" +.align 2,0 + +.global MonsterCategoryNosepass +MonsterCategoryNosepass: +.string "Compass\0" +.align 2,0 + +.global MonsterNameNosepass +MonsterNameNosepass: +.string "Nosepass\0" +.align 2,0 + +.global MonsterCategoryAzurill +MonsterCategoryAzurill: +.string "Polka Dot\0" +.align 2,0 + +.global MonsterNameAzurill +MonsterNameAzurill: +.string "Azurill\0" +.align 2,0 + +.global MonsterCategoryHariyama +MonsterCategoryHariyama: +.string "Arm Thrust\0" +.align 2,0 + +.global MonsterNameHariyama +MonsterNameHariyama: +.string "Hariyama\0" +.align 2,0 + +.global MonsterCategoryMakuhita +MonsterCategoryMakuhita: +.string "Guts\0" +.align 2,0 + +.global MonsterNameMakuhita +MonsterNameMakuhita: +.string "Makuhita\0" +.align 2,0 + +.global MonsterCategoryExploud +MonsterCategoryExploud: +.string "Loud Noise\0" +.align 2,0 + +.global MonsterNameExploud +MonsterNameExploud: +.string "Exploud\0" +.align 2,0 + +.global MonsterCategoryLoudred +MonsterCategoryLoudred: +.string "Big Voice\0" +.align 2,0 + +.global MonsterNameLoudred +MonsterNameLoudred: +.string "Loudred\0" +.align 2,0 + +.global MonsterCategoryWhismur +MonsterCategoryWhismur: +.string "Whisper\0" +.align 2,0 + +.global MonsterNameWhismur +MonsterNameWhismur: +.string "Whismur\0" +.align 2,0 + +.global MonsterCategoryShedinja +MonsterCategoryShedinja: +.string "Shed\0" +.align 2,0 + +.global MonsterNameShedinja +MonsterNameShedinja: +.string "Shedinja\0" +.align 2,0 + +.global MonsterCategoryNinjask +MonsterCategoryNinjask: +.string "Ninja\0" +.align 2,0 + +.global MonsterNameNinjask +MonsterNameNinjask: +.string "Ninjask\0" +.align 2,0 + +.global MonsterCategoryNincada +MonsterCategoryNincada: +.string "Trainee\0" +.align 2,0 + +.global MonsterNameNincada +MonsterNameNincada: +.string "Nincada\0" +.align 2,0 + +.global MonsterCategorySlaking +MonsterCategorySlaking: +.string "Lazy\0" +.align 2,0 + +.global MonsterNameSlaking +MonsterNameSlaking: +.string "Slaking\0" +.align 2,0 + +.global MonsterCategoryVigoroth +MonsterCategoryVigoroth: +.string "Wild Monkey\0" +.align 2,0 + +.global MonsterNameVigoroth +MonsterNameVigoroth: +.string "Vigoroth\0" +.align 2,0 + +.global MonsterCategorySlakoth +MonsterCategorySlakoth: +.string "Slacker\0" +.align 2,0 + +.global MonsterNameSlakoth +MonsterNameSlakoth: +.string "Slakoth\0" +.align 2,0 + +.global MonsterNameBreloom +MonsterNameBreloom: +.string "Breloom\0" +.align 2,0 + +.global MonsterNameShroomish +MonsterNameShroomish: +.string "Shroomish\0" +.align 2,0 + +.global MonsterCategoryMasquerain +MonsterCategoryMasquerain: +.string "Eyeball\0" +.align 2,0 + +.global MonsterNameMasquerain +MonsterNameMasquerain: +.string "Masquerain\0" +.align 2,0 + +.global MonsterCategorySurskit +MonsterCategorySurskit: +.string "Pond Skater\0" +.align 2,0 + +.global MonsterNameSurskit +MonsterNameSurskit: +.string "Surskit\0" +.align 2,0 + +.global MonsterCategoryGardevoir +MonsterCategoryGardevoir: +.string "Embrace\0" +.align 2,0 + +.global MonsterNameGardevoir +MonsterNameGardevoir: +.string "Gardevoir\0" +.align 2,0 + +.global MonsterCategoryKirlia +MonsterCategoryKirlia: +.string "Emotion\0" +.align 2,0 + +.global MonsterNameKirlia +MonsterNameKirlia: +.string "Kirlia\0" +.align 2,0 + +.global MonsterCategoryRalts +MonsterCategoryRalts: +.string "Feeling\0" +.align 2,0 + +.global MonsterNameRalts +MonsterNameRalts: +.string "Ralts\0" +.align 2,0 + +.global MonsterCategoryPelipper +MonsterCategoryPelipper: +.string "Water Bird\0" +.align 2,0 + +.global MonsterNamePelipper +MonsterNamePelipper: +.string "Pelipper\0" +.align 2,0 + +.global MonsterCategoryWingull +MonsterCategoryWingull: +.string "Seagull\0" +.align 2,0 + +.global MonsterNameWingull +MonsterNameWingull: +.string "Wingull\0" +.align 2,0 + +.global MonsterCategorySwellow +MonsterCategorySwellow: +.string "Swallow\0" +.align 2,0 + +.global MonsterNameSwellow +MonsterNameSwellow: +.string "Swellow\0" +.align 2,0 + +.global MonsterCategoryTaillow +MonsterCategoryTaillow: +.string "Tinyswallow\0" +.align 2,0 + +.global MonsterNameTaillow +MonsterNameTaillow: +.string "Taillow\0" +.align 2,0 + +.global MonsterCategoryShiftry +MonsterCategoryShiftry: +.string "Wicked\0" +.align 2,0 + +.global MonsterNameShiftry +MonsterNameShiftry: +.string "Shiftry\0" +.align 2,0 + +.global MonsterCategoryNuzleaf +MonsterCategoryNuzleaf: +.string "Wily\0" +.align 2,0 + +.global MonsterNameNuzleaf +MonsterNameNuzleaf: +.string "Nuzleaf\0" +.align 2,0 + +.global MonsterCategorySeedot +MonsterCategorySeedot: +.string "Acorn\0" +.align 2,0 + +.global MonsterNameSeedot +MonsterNameSeedot: +.string "Seedot\0" +.align 2,0 + +.global MonsterCategoryLudicolo +MonsterCategoryLudicolo: +.string "Carefree\0" +.align 2,0 + +.global MonsterNameLudicolo +MonsterNameLudicolo: +.string "Ludicolo\0" +.align 2,0 + +.global MonsterCategoryLombre +MonsterCategoryLombre: +.string "Jolly\0" +.align 2,0 + +.global MonsterNameLombre +MonsterNameLombre: +.string "Lombre\0" +.align 2,0 + +.global MonsterCategoryLotad +MonsterCategoryLotad: +.string "Water Weed\0" +.align 2,0 + +.global MonsterNameLotad +MonsterNameLotad: +.string "Lotad\0" +.align 2,0 + +.global MonsterNameDustox +MonsterNameDustox: +.string "Dustox\0" +.align 2,0 + +.global MonsterNameCascoon +MonsterNameCascoon: +.string "Cascoon\0" +.align 2,0 + +.global MonsterNameBeautifly +MonsterNameBeautifly: +.string "Beautifly\0" +.align 2,0 + +.global MonsterNameSilcoon +MonsterNameSilcoon: +.string "Silcoon\0" +.align 2,0 + +.global MonsterNameWurmple +MonsterNameWurmple: +.string "Wurmple\0" +.align 2,0 + +.global MonsterCategoryLinoone +MonsterCategoryLinoone: +.string "Rushing\0" +.align 2,0 + +.global MonsterNameLinoone +MonsterNameLinoone: +.string "Linoone\0" +.align 2,0 + +.global MonsterCategoryZigzagoon +MonsterCategoryZigzagoon: +.string "Tinyraccoon\0" +.align 2,0 + +.global MonsterNameZigzagoon +MonsterNameZigzagoon: +.string "Zigzagoon\0" +.align 2,0 + +.global MonsterNameMightyena +MonsterNameMightyena: +.string "Mightyena\0" +.align 2,0 + +.global MonsterCategoryPoochyena +MonsterCategoryPoochyena: +.string "Bite\0" +.align 2,0 + +.global MonsterNamePoochyena +MonsterNamePoochyena: +.string "Poochyena\0" +.align 2,0 + +.global MonsterNameSwampert +MonsterNameSwampert: +.string "Swampert\0" +.align 2,0 + +.global MonsterNameMarshtomp +MonsterNameMarshtomp: +.string "Marshtomp\0" +.align 2,0 + +.global MonsterCategoryMudkip +MonsterCategoryMudkip: +.string "Mud Fish\0" +.align 2,0 + +.global MonsterNameMudkip +MonsterNameMudkip: +.string "Mudkip\0" +.align 2,0 + +.global MonsterCategoryBlaziken +MonsterCategoryBlaziken: +.string "Blaze\0" +.align 2,0 + +.global MonsterNameBlaziken +MonsterNameBlaziken: +.string "Blaziken\0" +.align 2,0 + +.global MonsterCategoryCombusken +MonsterCategoryCombusken: +.string "Young Fowl\0" +.align 2,0 + +.global MonsterNameCombusken +MonsterNameCombusken: +.string "Combusken\0" +.align 2,0 + +.global MonsterCategoryTorchic +MonsterCategoryTorchic: +.string "Chick\0" +.align 2,0 + +.global MonsterNameTorchic +MonsterNameTorchic: +.string "Torchic\0" +.align 2,0 + +.global MonsterCategorySceptile +MonsterCategorySceptile: +.string "Forest\0" +.align 2,0 + +.global MonsterNameSceptile +MonsterNameSceptile: +.string "Sceptile\0" +.align 2,0 + +.global MonsterNameGrovyle +MonsterNameGrovyle: +.string "Grovyle\0" +.align 2,0 + +.global MonsterCategoryTreecko +MonsterCategoryTreecko: +.string "Wood Gecko\0" +.align 2,0 + +.global MonsterNameTreecko +MonsterNameTreecko: +.string "Treecko\0" +.align 2,0 + +.global MonsterCategoryCelebi +MonsterCategoryCelebi: +.string "Time Travel\0" +.align 2,0 + +.global MonsterNameCelebi +MonsterNameCelebi: +.string "Celebi\0" +.align 2,0 + +.global MonsterCategoryHoOh +MonsterCategoryHoOh: +.string "Rainbow\0" +.align 2,0 + +.global MonsterNameHoOh +MonsterNameHoOh: +.string "Ho-Oh\0" +.align 2,0 + +.global MonsterCategoryLugia +MonsterCategoryLugia: +.string "Diving\0" +.align 2,0 + +.global MonsterNameLugia +MonsterNameLugia: +.string "Lugia\0" +.align 2,0 + +.global MonsterNameTyranitar +MonsterNameTyranitar: +.string "Tyranitar\0" +.align 2,0 + +.global MonsterCategoryPupitar +MonsterCategoryPupitar: +.string "Hard Shell\0" +.align 2,0 + +.global MonsterNamePupitar +MonsterNamePupitar: +.string "Pupitar\0" +.align 2,0 + +.global MonsterCategoryLarvitar +MonsterCategoryLarvitar: +.string "Rock Skin\0" +.align 2,0 + +.global MonsterNameLarvitar +MonsterNameLarvitar: +.string "Larvitar\0" +.align 2,0 + +.global MonsterCategorySuicune +MonsterCategorySuicune: +.string "Aurora\0" +.align 2,0 + +.global MonsterNameSuicune +MonsterNameSuicune: +.string "Suicune\0" +.align 2,0 + +.global MonsterNameEntei +MonsterNameEntei: +.string "Entei\0" +.align 2,0 + +.global MonsterCategoryRaikou +MonsterCategoryRaikou: +.string "Thunder\0" +.align 2,0 + +.global MonsterNameRaikou +MonsterNameRaikou: +.string "Raikou\0" +.align 2,0 + +.global MonsterNameBlissey +MonsterNameBlissey: +.string "Blissey\0" +.align 2,0 + +.global MonsterCategoryMiltank +MonsterCategoryMiltank: +.string "Milk Cow\0" +.align 2,0 + +.global MonsterNameMiltank +MonsterNameMiltank: +.string "Miltank\0" +.align 2,0 + +.global MonsterCategoryMagby +MonsterCategoryMagby: +.string "Live Coal\0" +.align 2,0 + +.global MonsterNameMagby +MonsterNameMagby: +.string "Magby\0" +.align 2,0 + +.global MonsterNameElekid +MonsterNameElekid: +.string "Elekid\0" +.align 2,0 + +.global MonsterCategorySmoochum +MonsterCategorySmoochum: +.string "Kiss\0" +.align 2,0 + +.global MonsterNameSmoochum +MonsterNameSmoochum: +.string "Smoochum\0" +.align 2,0 + +.global MonsterCategoryHitmontop +MonsterCategoryHitmontop: +.string "Handstand\0" +.align 2,0 + +.global MonsterNameHitmontop +MonsterNameHitmontop: +.string "Hitmontop\0" +.align 2,0 + +.global MonsterCategoryTyrogue +MonsterCategoryTyrogue: +.string "Scuffle\0" +.align 2,0 + +.global MonsterNameTyrogue +MonsterNameTyrogue: +.string "Tyrogue\0" +.align 2,0 + +.global MonsterCategorySmeargle +MonsterCategorySmeargle: +.string "Painter\0" +.align 2,0 + +.global MonsterNameSmeargle +MonsterNameSmeargle: +.string "Smeargle\0" +.align 2,0 + +.global MonsterCategoryStantler +MonsterCategoryStantler: +.string "Big Horn\0" +.align 2,0 + +.global MonsterNameStantler +MonsterNameStantler: +.string "Stantler\0" +.align 2,0 + +.global MonsterNamePorygon2 +MonsterNamePorygon2: +.string "Porygon2\0" +.align 2,0 + +.global MonsterCategoryDonphan +MonsterCategoryDonphan: +.string "Armor\0" +.align 2,0 + +.global MonsterNameDonphan +MonsterNameDonphan: +.string "Donphan\0" +.align 2,0 + +.global MonsterCategoryPhanpy +MonsterCategoryPhanpy: +.string "Long Nose\0" +.align 2,0 + +.global MonsterNamePhanpy +MonsterNamePhanpy: +.string "Phanpy\0" +.align 2,0 + +.global MonsterNameKingdra +MonsterNameKingdra: +.string "Kingdra\0" +.align 2,0 + +.global MonsterNameHoundoom +MonsterNameHoundoom: +.string "Houndoom\0" +.align 2,0 + +.global MonsterCategoryHoundour +MonsterCategoryHoundour: +.string "Dark\0" +.align 2,0 + +.global MonsterNameHoundour +MonsterNameHoundour: +.string "Houndour\0" +.align 2,0 + +.global MonsterCategorySkarmory +MonsterCategorySkarmory: +.string "Armor Bird\0" +.align 2,0 + +.global MonsterNameSkarmory +MonsterNameSkarmory: +.string "Skarmory\0" +.align 2,0 + +.global MonsterCategoryMantine +MonsterCategoryMantine: +.string "Kite\0" +.align 2,0 + +.global MonsterNameMantine +MonsterNameMantine: +.string "Mantine\0" +.align 2,0 + +.global MonsterCategoryDelibird +MonsterCategoryDelibird: +.string "Delivery\0" +.align 2,0 + +.global MonsterNameDelibird +MonsterNameDelibird: +.string "Delibird\0" +.align 2,0 + +.global MonsterNameOctillery +MonsterNameOctillery: +.string "Octillery\0" +.align 2,0 + +.global MonsterCategoryRemoraid +MonsterCategoryRemoraid: +.string "Jet\0" +.align 2,0 + +.global MonsterNameRemoraid +MonsterNameRemoraid: +.string "Remoraid\0" +.align 2,0 + +.global MonsterCategoryCorsola +MonsterCategoryCorsola: +.string "Coral\0" +.align 2,0 + +.global MonsterNameCorsola +MonsterNameCorsola: +.string "Corsola\0" +.align 2,0 + +.global MonsterCategoryPiloswine +MonsterCategoryPiloswine: +.string "Swine\0" +.align 2,0 + +.global MonsterNamePiloswine +MonsterNamePiloswine: +.string "Piloswine\0" +.align 2,0 + +.global MonsterCategorySwinub +MonsterCategorySwinub: +.string "Pig\0" +.align 2,0 + +.global MonsterNameSwinub +MonsterNameSwinub: +.string "Swinub\0" +.align 2,0 + +.global MonsterNameMagcargo +MonsterNameMagcargo: +.string "Magcargo\0" +.align 2,0 + +.global MonsterCategorySlugma +MonsterCategorySlugma: +.string "Lava\0" +.align 2,0 + +.global MonsterNameSlugma +MonsterNameSlugma: +.string "Slugma\0" +.align 2,0 + +.global MonsterCategoryUrsaring +MonsterCategoryUrsaring: +.string "Hibernator\0" +.align 2,0 + +.global MonsterNameUrsaring +MonsterNameUrsaring: +.string "Ursaring\0" +.align 2,0 + +.global MonsterCategoryTeddiursa +MonsterCategoryTeddiursa: +.string "Little Bear\0" +.align 2,0 + +.global MonsterNameTeddiursa +MonsterNameTeddiursa: +.string "Teddiursa\0" +.align 2,0 + +.global MonsterCategorySneasel +MonsterCategorySneasel: +.string "Sharp Claw\0" +.align 2,0 + +.global MonsterNameSneasel +MonsterNameSneasel: +.string "Sneasel\0" +.align 2,0 + +.global MonsterCategoryHeracross +MonsterCategoryHeracross: +.string "Single Horn\0" +.align 2,0 + +.global MonsterNameHeracross +MonsterNameHeracross: +.string "Heracross\0" +.align 2,0 + +.global MonsterCategoryShuckle +MonsterCategoryShuckle: +.string "Mold\0" +.align 2,0 + +.global MonsterNameShuckle +MonsterNameShuckle: +.string "Shuckle\0" +.align 2,0 + +.global MonsterNameScizor +MonsterNameScizor: +.string "Scizor\0" +.align 2,0 + +.global MonsterNameQwilfish +MonsterNameQwilfish: +.string "Qwilfish\0" +.align 2,0 + +.global MonsterNameGranbull +MonsterNameGranbull: +.string "Granbull\0" +.align 2,0 + +.global MonsterNameSnubbull +MonsterNameSnubbull: +.string "Snubbull\0" +.align 2,0 + +.global MonsterCategorySteelix +MonsterCategorySteelix: +.string "Iron Snake\0" +.align 2,0 + +.global MonsterNameSteelix +MonsterNameSteelix: +.string "Steelix\0" +.align 2,0 + +.global MonsterCategoryGligar +MonsterCategoryGligar: +.string "Flyscorpion\0" +.align 2,0 + +.global MonsterNameGligar +MonsterNameGligar: +.string "Gligar\0" +.align 2,0 + +.global MonsterCategoryDunsparce +MonsterCategoryDunsparce: +.string "Land Snake\0" +.align 2,0 + +.global MonsterNameDunsparce +MonsterNameDunsparce: +.string "Dunsparce\0" +.align 2,0 + +.global MonsterNameForretress +MonsterNameForretress: +.string "Forretress\0" +.align 2,0 + +.global MonsterCategoryPineco +MonsterCategoryPineco: +.string "Bagworm\0" +.align 2,0 + +.global MonsterNamePineco +MonsterNamePineco: +.string "Pineco\0" +.align 2,0 + +.global MonsterCategoryGirafarig +MonsterCategoryGirafarig: +.string "Long Neck\0" +.align 2,0 + +.global MonsterNameGirafarig +MonsterNameGirafarig: +.string "Girafarig\0" +.align 2,0 + +.global MonsterCategoryWobbuffet +MonsterCategoryWobbuffet: +.string "Patient\0" +.align 2,0 + +.global MonsterNameWobbuffet +MonsterNameWobbuffet: +.string "Wobbuffet\0" +.align 2,0 + +.global MonsterCategoryUnown +MonsterCategoryUnown: +.string "Symbol\0" +.align 2,0 + +.global MonsterNameUnown +MonsterNameUnown: +.string "Unown\0" +.align 2,0 + +.global MonsterCategoryMisdreavus +MonsterCategoryMisdreavus: +.string "Screech\0" +.align 2,0 + +.global MonsterNameMisdreavus +MonsterNameMisdreavus: +.string "Misdreavus\0" +.align 2,0 + +.global MonsterCategorySlowking +MonsterCategorySlowking: +.string "Royal\0" +.align 2,0 + +.global MonsterNameSlowking +MonsterNameSlowking: +.string "Slowking\0" +.align 2,0 + +.global MonsterCategoryMurkrow +MonsterCategoryMurkrow: +.string "Darkness\0" +.align 2,0 + +.global MonsterNameMurkrow +MonsterNameMurkrow: +.string "Murkrow\0" +.align 2,0 + +.global MonsterCategoryUmbreon +MonsterCategoryUmbreon: +.string "Moonlight\0" +.align 2,0 + +.global MonsterNameUmbreon +MonsterNameUmbreon: +.string "Umbreon\0" +.align 2,0 + +.global MonsterNameEspeon +MonsterNameEspeon: +.string "Espeon\0" +.align 2,0 + +.global MonsterNameQuagsire +MonsterNameQuagsire: +.string "Quagsire\0" +.align 2,0 + +.global MonsterCategoryWooper +MonsterCategoryWooper: +.string "Water Fish\0" +.align 2,0 + +.global MonsterNameWooper +MonsterNameWooper: +.string "Wooper\0" +.align 2,0 + +.global MonsterCategoryYanma +MonsterCategoryYanma: +.string "Clear Wing\0" +.align 2,0 + +.global MonsterNameYanma +MonsterNameYanma: +.string "Yanma\0" +.align 2,0 + +.global MonsterCategorySunflora +MonsterCategorySunflora: +.string "Sun\0" +.align 2,0 + +.global MonsterNameSunflora +MonsterNameSunflora: +.string "Sunflora\0" +.align 2,0 + +.global MonsterNameSunkern +MonsterNameSunkern: +.string "Sunkern\0" +.align 2,0 + +.global MonsterCategoryAipom +MonsterCategoryAipom: +.string "Long Tail\0" +.align 2,0 + +.global MonsterNameAipom +MonsterNameAipom: +.string "Aipom\0" +.align 2,0 + +.global MonsterNameJumpluff +MonsterNameJumpluff: +.string "Jumpluff\0" +.align 2,0 + +.global MonsterNameSkiploom +MonsterNameSkiploom: +.string "Skiploom\0" +.align 2,0 + +.global MonsterCategoryHoppip +MonsterCategoryHoppip: +.string "Cottonweed\0" +.align 2,0 + +.global MonsterNameHoppip +MonsterNameHoppip: +.string "Hoppip\0" +.align 2,0 + +.global MonsterCategoryPolitoed +MonsterCategoryPolitoed: +.string "Frog\0" +.align 2,0 + +.global MonsterNamePolitoed +MonsterNamePolitoed: +.string "Politoed\0" +.align 2,0 + +.global MonsterCategorySudowoodo +MonsterCategorySudowoodo: +.string "Imitation\0" +.align 2,0 + +.global MonsterNameSudowoodo +MonsterNameSudowoodo: +.string "Sudowoodo\0" +.align 2,0 + +.global MonsterCategoryAzumarill +MonsterCategoryAzumarill: +.string "Aqua Rabbit\0" +.align 2,0 + +.global MonsterNameAzumarill +MonsterNameAzumarill: +.string "Azumarill\0" +.align 2,0 + +.global MonsterCategoryMarill +MonsterCategoryMarill: +.string "Aqua Mouse\0" +.align 2,0 + +.global MonsterNameMarill +MonsterNameMarill: +.string "Marill\0" +.align 2,0 + +.global MonsterNameBellossom +MonsterNameBellossom: +.string "Bellossom\0" +.align 2,0 + +.global MonsterNameAmpharos +MonsterNameAmpharos: +.string "Ampharos\0" +.align 2,0 + +.global MonsterNameFlaaffy +MonsterNameFlaaffy: +.string "Flaaffy\0" +.align 2,0 + +.global MonsterCategoryMareep +MonsterCategoryMareep: +.string "Wool\0" +.align 2,0 + +.global MonsterNameMareep +MonsterNameMareep: +.string "Mareep\0" +.align 2,0 + +.global MonsterCategoryXatu +MonsterCategoryXatu: +.string "Mystic\0" +.align 2,0 + +.global MonsterNameXatu +MonsterNameXatu: +.string "Xatu\0" +.align 2,0 + +.global MonsterNameNatu +MonsterNameNatu: +.string "Natu\0" +.align 2,0 + +.global MonsterCategoryTogetic +MonsterCategoryTogetic: +.string "Happiness\0" +.align 2,0 + +.global MonsterNameTogetic +MonsterNameTogetic: +.string "Togetic\0" +.align 2,0 + +.global MonsterCategoryTogepi +MonsterCategoryTogepi: +.string "Spike Ball\0" +.align 2,0 + +.global MonsterNameTogepi +MonsterNameTogepi: +.string "Togepi\0" +.align 2,0 + +.global MonsterNameIgglybuff +MonsterNameIgglybuff: +.string "Igglybuff\0" +.align 2,0 + +.global MonsterNameCleffa +MonsterNameCleffa: +.string "Cleffa\0" +.align 2,0 + +.global MonsterCategoryPichu +MonsterCategoryPichu: +.string "Tiny Mouse\0" +.align 2,0 + +.global MonsterNamePichu +MonsterNamePichu: +.string "Pichu\0" +.align 2,0 + +.global MonsterCategoryLanturn +MonsterCategoryLanturn: +.string "Light\0" +.align 2,0 + +.global MonsterNameLanturn +MonsterNameLanturn: +.string "Lanturn\0" +.align 2,0 + +.global MonsterCategoryChinchou +MonsterCategoryChinchou: +.string "Angler\0" +.align 2,0 + +.global MonsterNameChinchou +MonsterNameChinchou: +.string "Chinchou\0" +.align 2,0 + +.global MonsterNameCrobat +MonsterNameCrobat: +.string "Crobat\0" +.align 2,0 + +.global MonsterCategoryAriados +MonsterCategoryAriados: +.string "Long Leg\0" +.align 2,0 + +.global MonsterNameAriados +MonsterNameAriados: +.string "Ariados\0" +.align 2,0 + +.global MonsterCategorySpinarak +MonsterCategorySpinarak: +.string "String Spit\0" +.align 2,0 + +.global MonsterNameSpinarak +MonsterNameSpinarak: +.string "Spinarak\0" +.align 2,0 + +.global MonsterNameLedian +MonsterNameLedian: +.string "Ledian\0" +.align 2,0 + +.global MonsterCategoryLedyba +MonsterCategoryLedyba: +.string "Five Star\0" +.align 2,0 + +.global MonsterNameLedyba +MonsterNameLedyba: +.string "Ledyba\0" +.align 2,0 + +.global MonsterNameNoctowl +MonsterNameNoctowl: +.string "Noctowl\0" +.align 2,0 + +.global MonsterCategoryHoothoot +MonsterCategoryHoothoot: +.string "Owl\0" +.align 2,0 + +.global MonsterNameHoothoot +MonsterNameHoothoot: +.string "Hoothoot\0" +.align 2,0 + +.global MonsterCategoryFurret +MonsterCategoryFurret: +.string "Long Body\0" +.align 2,0 + +.global MonsterNameFurret +MonsterNameFurret: +.string "Furret\0" +.align 2,0 + +.global MonsterCategorySentret +MonsterCategorySentret: +.string "Scout\0" +.align 2,0 + +.global MonsterNameSentret +MonsterNameSentret: +.string "Sentret\0" +.align 2,0 + +.global MonsterNameFeraligatr +MonsterNameFeraligatr: +.string "Feraligatr\0" +.align 2,0 + +.global MonsterNameCroconaw +MonsterNameCroconaw: +.string "Croconaw\0" +.align 2,0 + +.global MonsterCategoryTotodile +MonsterCategoryTotodile: +.string "Big Jaw\0" +.align 2,0 + +.global MonsterNameTotodile +MonsterNameTotodile: +.string "Totodile\0" +.align 2,0 + +.global MonsterNameTyphlosion +MonsterNameTyphlosion: +.string "Typhlosion\0" +.align 2,0 + +.global MonsterCategoryQuilava +MonsterCategoryQuilava: +.string "Volcano\0" +.align 2,0 + +.global MonsterNameQuilava +MonsterNameQuilava: +.string "Quilava\0" +.align 2,0 + +.global MonsterCategoryCyndaquil +MonsterCategoryCyndaquil: +.string "Fire Mouse\0" +.align 2,0 + +.global MonsterNameCyndaquil +MonsterNameCyndaquil: +.string "Cyndaquil\0" +.align 2,0 + +.global MonsterCategoryMeganium +MonsterCategoryMeganium: +.string "Herb\0" +.align 2,0 + +.global MonsterNameMeganium +MonsterNameMeganium: +.string "Meganium\0" +.align 2,0 + +.global MonsterNameBayleef +MonsterNameBayleef: +.string "Bayleef\0" +.align 2,0 + +.global MonsterCategoryChikorita +MonsterCategoryChikorita: +.string "Leaf\0" +.align 2,0 + +.global MonsterNameChikorita +MonsterNameChikorita: +.string "Chikorita\0" +.align 2,0 + +.global MonsterCategoryMew +MonsterCategoryMew: +.string "New Species\0" +.align 2,0 + +.global MonsterNameMew +MonsterNameMew: +.string "Mew\0" +.align 2,0 + +.global MonsterCategoryMewtwo +MonsterCategoryMewtwo: +.string "Genetic\0" +.align 2,0 + +.global MonsterNameMewtwo +MonsterNameMewtwo: +.string "Mewtwo\0" +.align 2,0 + +.global MonsterNameDragonite +MonsterNameDragonite: +.string "Dragonite\0" +.align 2,0 + +.global MonsterNameDragonair +MonsterNameDragonair: +.string "Dragonair\0" +.align 2,0 + +.global MonsterNameDratini +MonsterNameDratini: +.string "Dratini\0" +.align 2,0 + +.global MonsterNameMoltres +MonsterNameMoltres: +.string "Moltres\0" +.align 2,0 + +.global MonsterNameZapdos +MonsterNameZapdos: +.string "Zapdos\0" +.align 2,0 + +.global MonsterCategoryArticuno +MonsterCategoryArticuno: +.string "Freeze\0" +.align 2,0 + +.global MonsterNameArticuno +MonsterNameArticuno: +.string "Articuno\0" +.align 2,0 + +.global MonsterCategorySnorlax +MonsterCategorySnorlax: +.string "Sleeping\0" +.align 2,0 + +.global MonsterNameSnorlax +MonsterNameSnorlax: +.string "Snorlax\0" +.align 2,0 + +.global MonsterCategoryAerodactyl +MonsterCategoryAerodactyl: +.string "Fossil\0" +.align 2,0 + +.global MonsterNameAerodactyl +MonsterNameAerodactyl: +.string "Aerodactyl\0" +.align 2,0 + +.global MonsterNameKabutops +MonsterNameKabutops: +.string "Kabutops\0" +.align 2,0 + +.global MonsterNameKabuto +MonsterNameKabuto: +.string "Kabuto\0" +.align 2,0 + +.global MonsterNameOmastar +MonsterNameOmastar: +.string "Omastar\0" +.align 2,0 + +.global MonsterCategoryOmanyte +MonsterCategoryOmanyte: +.string "Spiral\0" +.align 2,0 + +.global MonsterNameOmanyte +MonsterNameOmanyte: +.string "Omanyte\0" +.align 2,0 + +.global MonsterCategoryPorygon +MonsterCategoryPorygon: +.string "Virtual\0" +.align 2,0 + +.global MonsterNamePorygon +MonsterNamePorygon: +.string "Porygon\0" +.align 2,0 + +.global MonsterNameFlareon +MonsterNameFlareon: +.string "Flareon\0" +.align 2,0 + +.global MonsterCategoryJolteon +MonsterCategoryJolteon: +.string "Lightning\0" +.align 2,0 + +.global MonsterNameJolteon +MonsterNameJolteon: +.string "Jolteon\0" +.align 2,0 + +.global MonsterCategoryVaporeon +MonsterCategoryVaporeon: +.string "Bubble Jet\0" +.align 2,0 + +.global MonsterNameVaporeon +MonsterNameVaporeon: +.string "Vaporeon\0" +.align 2,0 + +.global MonsterCategoryEevee +MonsterCategoryEevee: +.string "Evolution\0" +.align 2,0 + +.global MonsterNameEevee +MonsterNameEevee: +.string "Eevee\0" +.align 2,0 + +.global MonsterCategoryDitto +MonsterCategoryDitto: +.string "Transform\0" +.align 2,0 + +.global MonsterNameDitto +MonsterNameDitto: +.string "Ditto\0" +.align 2,0 + +.global MonsterCategoryLapras +MonsterCategoryLapras: +.string "Transport\0" +.align 2,0 + +.global MonsterNameLapras +MonsterNameLapras: +.string "Lapras\0" +.align 2,0 + +.global MonsterCategoryGyarados +MonsterCategoryGyarados: +.string "Atrocious\0" +.align 2,0 + +.global MonsterNameGyarados +MonsterNameGyarados: +.string "Gyarados\0" +.align 2,0 + +.global MonsterCategoryMagikarp +MonsterCategoryMagikarp: +.string "Fish\0" +.align 2,0 + +.global MonsterNameMagikarp +MonsterNameMagikarp: +.string "Magikarp\0" +.align 2,0 + +.global MonsterCategoryTauros +MonsterCategoryTauros: +.string "Wild Bull\0" +.align 2,0 + +.global MonsterNameTauros +MonsterNameTauros: +.string "Tauros\0" +.align 2,0 + +.global MonsterCategoryPinsir +MonsterCategoryPinsir: +.string "Stag Beetle\0" +.align 2,0 + +.global MonsterNamePinsir +MonsterNamePinsir: +.string "Pinsir\0" +.align 2,0 + +.global MonsterCategoryMagmar +MonsterCategoryMagmar: +.string "Spitfire\0" +.align 2,0 + +.global MonsterNameMagmar +MonsterNameMagmar: +.string "Magmar\0" +.align 2,0 + +.global MonsterCategoryElectabuzz +MonsterCategoryElectabuzz: +.string "Electric\0" +.align 2,0 + +.global MonsterNameElectabuzz +MonsterNameElectabuzz: +.string "Electabuzz\0" +.align 2,0 + +.global MonsterCategoryJynx +MonsterCategoryJynx: +.string "Human Shape\0" +.align 2,0 + +.global MonsterNameJynx +MonsterNameJynx: +.string "Jynx\0" +.align 2,0 + +.global MonsterCategoryScyther +MonsterCategoryScyther: +.string "Mantis\0" +.align 2,0 + +.global MonsterNameScyther +MonsterNameScyther: +.string "Scyther\0" +.align 2,0 + +.global MonsterCategoryMrMime +MonsterCategoryMrMime: +.string "Barrier\0" +.align 2,0 + +.global MonsterNameMrMime +MonsterNameMrMime: +.string "Mr. Mime\0" +.align 2,0 + +.global MonsterCategoryStarmie +MonsterCategoryStarmie: +.string "Mysterious\0" +.align 2,0 + +.global MonsterNameStarmie +MonsterNameStarmie: +.string "Starmie\0" +.align 2,0 + +.global MonsterCategoryStaryu +MonsterCategoryStaryu: +.string "Star Shape\0" +.align 2,0 + +.global MonsterNameStaryu +MonsterNameStaryu: +.string "Staryu\0" +.align 2,0 + +.global MonsterNameSeaking +MonsterNameSeaking: +.string "Seaking\0" +.align 2,0 + +.global MonsterCategoryGoldeen +MonsterCategoryGoldeen: +.string "Goldfish\0" +.align 2,0 + +.global MonsterNameGoldeen +MonsterNameGoldeen: +.string "Goldeen\0" +.align 2,0 + +.global MonsterNameSeadra +MonsterNameSeadra: +.string "Seadra\0" +.align 2,0 + +.global MonsterCategoryHorsea +MonsterCategoryHorsea: +.string "Dragon\0" +.align 2,0 + +.global MonsterNameHorsea +MonsterNameHorsea: +.string "Horsea\0" +.align 2,0 + +.global MonsterCategoryKangaskhan +MonsterCategoryKangaskhan: +.string "Parent\0" +.align 2,0 + +.global MonsterNameKangaskhan +MonsterNameKangaskhan: +.string "Kangaskhan\0" +.align 2,0 + +.global MonsterCategoryTangela +MonsterCategoryTangela: +.string "Vine\0" +.align 2,0 + +.global MonsterNameTangela +MonsterNameTangela: +.string "Tangela\0" +.align 2,0 + +.global MonsterNameChansey +MonsterNameChansey: +.string "Chansey\0" +.align 2,0 + +.global MonsterNameRhydon +MonsterNameRhydon: +.string "Rhydon\0" +.align 2,0 + +.global MonsterCategoryRhyhorn +MonsterCategoryRhyhorn: +.string "Spikes\0" +.align 2,0 + +.global MonsterNameRhyhorn +MonsterNameRhyhorn: +.string "Rhyhorn\0" +.align 2,0 + +.global MonsterNameWeezing +MonsterNameWeezing: +.string "Weezing\0" +.align 2,0 + +.global MonsterCategoryKoffing +MonsterCategoryKoffing: +.string "Poison Gas\0" +.align 2,0 + +.global MonsterNameKoffing +MonsterNameKoffing: +.string "Koffing\0" +.align 2,0 + +.global MonsterCategoryLickitung +MonsterCategoryLickitung: +.string "Licking\0" +.align 2,0 + +.global MonsterNameLickitung +MonsterNameLickitung: +.string "Lickitung\0" +.align 2,0 + +.global MonsterCategoryHitmonchan +MonsterCategoryHitmonchan: +.string "Punching\0" +.align 2,0 + +.global MonsterNameHitmonchan +MonsterNameHitmonchan: +.string "Hitmonchan\0" +.align 2,0 + +.global MonsterCategoryHitmonlee +MonsterCategoryHitmonlee: +.string "Kicking\0" +.align 2,0 + +.global MonsterNameHitmonlee +MonsterNameHitmonlee: +.string "Hitmonlee\0" +.align 2,0 + +.global MonsterCategoryMarowak +MonsterCategoryMarowak: +.string "Bone Keeper\0" +.align 2,0 + +.global MonsterNameMarowak +MonsterNameMarowak: +.string "Marowak\0" +.align 2,0 + +.global MonsterCategoryCubone +MonsterCategoryCubone: +.string "Lonely\0" +.align 2,0 + +.global MonsterNameCubone +MonsterNameCubone: +.string "Cubone\0" +.align 2,0 + +.global MonsterCategoryExeggutor +MonsterCategoryExeggutor: +.string "Coconut\0" +.align 2,0 + +.global MonsterNameExeggutor +MonsterNameExeggutor: +.string "Exeggutor\0" +.align 2,0 + +.global MonsterCategoryExeggcute +MonsterCategoryExeggcute: +.string "Egg\0" +.align 2,0 + +.global MonsterNameExeggcute +MonsterNameExeggcute: +.string "Exeggcute\0" +.align 2,0 + +.global MonsterNameElectrode +MonsterNameElectrode: +.string "Electrode\0" +.align 2,0 + +.global MonsterCategoryVoltorb +MonsterCategoryVoltorb: +.string "Ball\0" +.align 2,0 + +.global MonsterNameVoltorb +MonsterNameVoltorb: +.string "Voltorb\0" +.align 2,0 + +.global MonsterCategoryKingler +MonsterCategoryKingler: +.string "Pincer\0" +.align 2,0 + +.global MonsterNameKingler +MonsterNameKingler: +.string "Kingler\0" +.align 2,0 + +.global MonsterCategoryKrabby +MonsterCategoryKrabby: +.string "River Crab\0" +.align 2,0 + +.global MonsterNameKrabby +MonsterNameKrabby: +.string "Krabby\0" +.align 2,0 + +.global MonsterNameHypno +MonsterNameHypno: +.string "Hypno\0" +.align 2,0 + +.global MonsterCategoryDrowzee +MonsterCategoryDrowzee: +.string "Hypnosis\0" +.align 2,0 + +.global MonsterNameDrowzee +MonsterNameDrowzee: +.string "Drowzee\0" +.align 2,0 + +.global MonsterCategoryOnix +MonsterCategoryOnix: +.string "Rock Snake\0" +.align 2,0 + +.global MonsterNameOnix +MonsterNameOnix: +.string "Onix\0" +.align 2,0 + +.global MonsterCategoryGengar +MonsterCategoryGengar: +.string "Shadow\0" +.align 2,0 + +.global MonsterNameGengar +MonsterNameGengar: +.string "Gengar\0" +.align 2,0 + +.global MonsterNameHaunter +MonsterNameHaunter: +.string "Haunter\0" +.align 2,0 + +.global MonsterCategoryGastly +MonsterCategoryGastly: +.string "Gas\0" +.align 2,0 + +.global MonsterNameGastly +MonsterNameGastly: +.string "Gastly\0" +.align 2,0 + +.global MonsterNameCloyster +MonsterNameCloyster: +.string "Cloyster\0" +.align 2,0 + +.global MonsterCategoryShellder +MonsterCategoryShellder: +.string "Bivalve\0" +.align 2,0 + +.global MonsterNameShellder +MonsterNameShellder: +.string "Shellder\0" +.align 2,0 + +.global MonsterNameMuk +MonsterNameMuk: +.string "Muk\0" +.align 2,0 + +.global MonsterCategoryGrimer +MonsterCategoryGrimer: +.string "Sludge\0" +.align 2,0 + +.global MonsterNameGrimer +MonsterNameGrimer: +.string "Grimer\0" +.align 2,0 + +.global MonsterNameDewgong +MonsterNameDewgong: +.string "Dewgong\0" +.align 2,0 + +.global MonsterCategorySeel +MonsterCategorySeel: +.string "Sea Lion\0" +.align 2,0 + +.global MonsterNameSeel +MonsterNameSeel: +.string "Seel\0" +.align 2,0 + +.global MonsterCategoryDodrio +MonsterCategoryDodrio: +.string "Triple Bird\0" +.align 2,0 + +.global MonsterNameDodrio +MonsterNameDodrio: +.string "Dodrio\0" +.align 2,0 + +.global MonsterCategoryDoduo +MonsterCategoryDoduo: +.string "Twin Bird\0" +.align 2,0 + +.global MonsterNameDoduo +MonsterNameDoduo: +.string "Doduo\0" +.align 2,0 + +.global MonsterCategoryFarfetch +MonsterCategoryFarfetch: +.string "Wild Duck\0" +.align 2,0 + +.global MonsterNameFarfetch +MonsterNameFarfetch: +.string "Farfetch'd\0" +.align 2,0 + +.global MonsterNameMagneton +MonsterNameMagneton: +.string "Magneton\0" +.align 2,0 + +.global MonsterCategoryMagnemite +MonsterCategoryMagnemite: +.string "Magnet\0" +.align 2,0 + +.global MonsterNameMagnemite +MonsterNameMagnemite: +.string "Magnemite\0" +.align 2,0 + +.global MonsterCategorySlowbro +MonsterCategorySlowbro: +.string "Hermit Crab\0" +.align 2,0 + +.global MonsterNameSlowbro +MonsterNameSlowbro: +.string "Slowbro\0" +.align 2,0 + +.global MonsterCategorySlowpoke +MonsterCategorySlowpoke: +.string "Dopey\0" +.align 2,0 + +.global MonsterNameSlowpoke +MonsterNameSlowpoke: +.string "Slowpoke\0" +.align 2,0 + +.global MonsterNameRapidash +MonsterNameRapidash: +.string "Rapidash\0" +.align 2,0 + +.global MonsterCategoryPonyta +MonsterCategoryPonyta: +.string "Fire Horse\0" +.align 2,0 + +.global MonsterNamePonyta +MonsterNamePonyta: +.string "Ponyta\0" +.align 2,0 + +.global MonsterCategoryGolem +MonsterCategoryGolem: +.string "Megaton\0" +.align 2,0 + +.global MonsterNameGolem +MonsterNameGolem: +.string "Golem\0" +.align 2,0 + +.global MonsterNameGraveler +MonsterNameGraveler: +.string "Graveler\0" +.align 2,0 + +.global MonsterCategoryGeodude +MonsterCategoryGeodude: +.string "Rock\0" +.align 2,0 + +.global MonsterNameGeodude +MonsterNameGeodude: +.string "Geodude\0" +.align 2,0 + +.global MonsterNameTentacruel +MonsterNameTentacruel: +.string "Tentacruel\0" +.align 2,0 + +.global MonsterCategoryTentacool +MonsterCategoryTentacool: +.string "Jellyfish\0" +.align 2,0 + +.global MonsterNameTentacool +MonsterNameTentacool: +.string "Tentacool\0" +.align 2,0 + +.global MonsterNameVictreebel +MonsterNameVictreebel: +.string "Victreebel\0" +.align 2,0 + +.global MonsterCategoryWeepinbell +MonsterCategoryWeepinbell: +.string "Flycatcher\0" +.align 2,0 + +.global MonsterNameWeepinbell +MonsterNameWeepinbell: +.string "Weepinbell\0" +.align 2,0 + +.global MonsterNameBellsprout +MonsterNameBellsprout: +.string "Bellsprout\0" +.align 2,0 + +.global MonsterNameMachamp +MonsterNameMachamp: +.string "Machamp\0" +.align 2,0 + +.global MonsterNameMachoke +MonsterNameMachoke: +.string "Machoke\0" +.align 2,0 + +.global MonsterCategoryMachop +MonsterCategoryMachop: +.string "Superpower\0" +.align 2,0 + +.global MonsterNameMachop +MonsterNameMachop: +.string "Machop\0" +.align 2,0 + +.global MonsterNameAlakazam +MonsterNameAlakazam: +.string "Alakazam\0" +.align 2,0 + +.global MonsterNameKadabra +MonsterNameKadabra: +.string "Kadabra\0" +.align 2,0 + +.global MonsterCategoryAbra +MonsterCategoryAbra: +.string "Psi\0" +.align 2,0 + +.global MonsterNameAbra +MonsterNameAbra: +.string "Abra\0" +.align 2,0 + +.global MonsterNamePoliwrath +MonsterNamePoliwrath: +.string "Poliwrath\0" +.align 2,0 + +.global MonsterNamePoliwhirl +MonsterNamePoliwhirl: +.string "Poliwhirl\0" +.align 2,0 + +.global MonsterCategoryPoliwag +MonsterCategoryPoliwag: +.string "Tadpole\0" +.align 2,0 + +.global MonsterNamePoliwag +MonsterNamePoliwag: +.string "Poliwag\0" +.align 2,0 + +.global MonsterCategoryArcanine +MonsterCategoryArcanine: +.string "Legendary\0" +.align 2,0 + +.global MonsterNameArcanine +MonsterNameArcanine: +.string "Arcanine\0" +.align 2,0 + +.global MonsterCategoryGrowlithe +MonsterCategoryGrowlithe: +.string "Puppy\0" +.align 2,0 + +.global MonsterNameGrowlithe +MonsterNameGrowlithe: +.string "Growlithe\0" +.align 2,0 + +.global MonsterNamePrimeape +MonsterNamePrimeape: +.string "Primeape\0" +.align 2,0 + +.global MonsterCategoryMankey +MonsterCategoryMankey: +.string "Pig Monkey\0" +.align 2,0 + +.global MonsterNameMankey +MonsterNameMankey: +.string "Mankey\0" +.align 2,0 + +.global MonsterNameGolduck +MonsterNameGolduck: +.string "Golduck\0" +.align 2,0 + +.global MonsterCategoryPsyduck +MonsterCategoryPsyduck: +.string "Duck\0" +.align 2,0 + +.global MonsterNamePsyduck +MonsterNamePsyduck: +.string "Psyduck\0" +.align 2,0 + +.global MonsterCategoryPersian +MonsterCategoryPersian: +.string "Classy Cat\0" +.align 2,0 + +.global MonsterNamePersian +MonsterNamePersian: +.string "Persian\0" +.align 2,0 + +.global MonsterCategoryMeowth +MonsterCategoryMeowth: +.string "Scratch Cat\0" +.align 2,0 + +.global MonsterNameMeowth +MonsterNameMeowth: +.string "Meowth\0" +.align 2,0 + +.global MonsterNameDugtrio +MonsterNameDugtrio: +.string "Dugtrio\0" +.align 2,0 + +.global MonsterCategoryDiglett +MonsterCategoryDiglett: +.string "Mole\0" +.align 2,0 + +.global MonsterNameDiglett +MonsterNameDiglett: +.string "Diglett\0" +.align 2,0 + +.global MonsterCategoryVenomoth +MonsterCategoryVenomoth: +.string "Poison Moth\0" +.align 2,0 + +.global MonsterNameVenomoth +MonsterNameVenomoth: +.string "Venomoth\0" +.align 2,0 + +.global MonsterCategoryVenonat +MonsterCategoryVenonat: +.string "Insect\0" +.align 2,0 + +.global MonsterNameVenonat +MonsterNameVenonat: +.string "Venonat\0" +.align 2,0 + +.global MonsterNameParasect +MonsterNameParasect: +.string "Parasect\0" +.align 2,0 + +.global MonsterCategoryParas +MonsterCategoryParas: +.string "Mushroom\0" +.align 2,0 + +.global MonsterNameParas +MonsterNameParas: +.string "Paras\0" +.align 2,0 + +.global MonsterCategoryVileplume +MonsterCategoryVileplume: +.string "Flower\0" +.align 2,0 + +.global MonsterNameVileplume +MonsterNameVileplume: +.string "Vileplume\0" +.align 2,0 + +.global MonsterNameGloom +MonsterNameGloom: +.string "Gloom\0" +.align 2,0 + +.global MonsterCategoryOddish +MonsterCategoryOddish: +.string "Weed\0" +.align 2,0 + +.global MonsterNameOddish +MonsterNameOddish: +.string "Oddish\0" +.align 2,0 + +.global MonsterNameGolbat +MonsterNameGolbat: +.string "Golbat\0" +.align 2,0 + +.global MonsterCategoryZubat +MonsterCategoryZubat: +.string "Bat\0" +.align 2,0 + +.global MonsterNameZubat +MonsterNameZubat: +.string "Zubat\0" +.align 2,0 + +.global MonsterNameWigglytuff +MonsterNameWigglytuff: +.string "Wigglytuff\0" +.align 2,0 + +.global MonsterCategoryJigglypuff +MonsterCategoryJigglypuff: +.string "Balloon\0" +.align 2,0 + +.global MonsterNameJigglypuff +MonsterNameJigglypuff: +.string "Jigglypuff\0" +.align 2,0 + +.global MonsterNameNinetales +MonsterNameNinetales: +.string "Ninetales\0" +.align 2,0 + +.global MonsterCategoryVulpix +MonsterCategoryVulpix: +.string "Fox\0" +.align 2,0 + +.global MonsterNameVulpix +MonsterNameVulpix: +.string "Vulpix\0" +.align 2,0 + +.global MonsterNameClefable +MonsterNameClefable: +.string "Clefable\0" +.align 2,0 + +.global MonsterCategoryClefairy +MonsterCategoryClefairy: +.string "Fairy\0" +.align 2,0 + +.global MonsterNameClefairy +MonsterNameClefairy: +.string "Clefairy\0" +.align 2,0 + +.global MonsterNameNidoking +MonsterNameNidoking: +.string "Nidoking\0" +.align 2,0 + +.global MonsterNameNidorino +MonsterNameNidorino: +.string "Nidorino\0" +.align 2,0 + +.global MonsterNameNidoran_M +MonsterNameNidoran_M: +.string "Nidoran♂\0" +.align 2,0 + +.global MonsterCategoryNidoqueen +MonsterCategoryNidoqueen: +.string "Drill\0" +.align 2,0 + +.global MonsterNameNidoqueen +MonsterNameNidoqueen: +.string "Nidoqueen\0" +.align 2,0 + +.global MonsterNameNidorina +MonsterNameNidorina: +.string "Nidorina\0" +.align 2,0 + +.global MonsterCategoryNidoran_F +MonsterCategoryNidoran_F: +.string "Poison Pin\0" +.align 2,0 + +.global MonsterNameNidoran_F +MonsterNameNidoran_F: +.string "Nidoran♀\0" +.align 2,0 + +.global MonsterNameSandslash +MonsterNameSandslash: +.string "Sandslash\0" +.align 2,0 + +.global MonsterNameSandshrew +MonsterNameSandshrew: +.string "Sandshrew\0" +.align 2,0 + +.global MonsterNameRaichu +MonsterNameRaichu: +.string "Raichu\0" +.align 2,0 + +.global MonsterNamePikachu +MonsterNamePikachu: +.string "Pikachu\0" +.align 2,0 + +.global MonsterCategoryArbok +MonsterCategoryArbok: +.string "Cobra\0" +.align 2,0 + +.global MonsterNameArbok +MonsterNameArbok: +.string "Arbok\0" +.align 2,0 + +.global MonsterCategoryEkans +MonsterCategoryEkans: +.string "Snake\0" +.align 2,0 + +.global MonsterNameEkans +MonsterNameEkans: +.string "Ekans\0" +.align 2,0 + +.global MonsterCategoryFearow +MonsterCategoryFearow: +.string "Beak\0" +.align 2,0 + +.global MonsterNameFearow +MonsterNameFearow: +.string "Fearow\0" +.align 2,0 + +.global MonsterNameSpearow +MonsterNameSpearow: +.string "Spearow\0" +.align 2,0 + +.global MonsterNameRaticate +MonsterNameRaticate: +.string "Raticate\0" +.align 2,0 + +.global MonsterCategoryRattata +MonsterCategoryRattata: +.string "Mouse\0" +.align 2,0 + +.global MonsterNameRattata +MonsterNameRattata: +.string "Rattata\0" +.align 2,0 + +.global MonsterNamePidgeot +MonsterNamePidgeot: +.string "Pidgeot\0" +.align 2,0 + +.global MonsterCategoryPidgeotto +MonsterCategoryPidgeotto: +.string "Bird\0" +.align 2,0 + +.global MonsterNamePidgeotto +MonsterNamePidgeotto: +.string "Pidgeotto\0" +.align 2,0 + +.global MonsterCategoryPidgey +MonsterCategoryPidgey: +.string "Tiny Bird\0" +.align 2,0 + +.global MonsterNamePidgey +MonsterNamePidgey: +.string "Pidgey\0" +.align 2,0 + +.global MonsterCategoryBeedrill +MonsterCategoryBeedrill: +.string "Poison Bee\0" +.align 2,0 + +.global MonsterNameBeedrill +MonsterNameBeedrill: +.string "Beedrill\0" +.align 2,0 + +.global MonsterNameKakuna +MonsterNameKakuna: +.string "Kakuna\0" +.align 2,0 + +.global MonsterCategoryWeedle +MonsterCategoryWeedle: +.string "Hairy Bug\0" +.align 2,0 + +.global MonsterNameWeedle +MonsterNameWeedle: +.string "Weedle\0" +.align 2,0 + +.global MonsterCategoryButterfree +MonsterCategoryButterfree: +.string "Butterfly\0" +.align 2,0 + +.global MonsterNameButterfree +MonsterNameButterfree: +.string "Butterfree\0" +.align 2,0 + +.global MonsterCategoryMetapod +MonsterCategoryMetapod: +.string "Cocoon\0" +.align 2,0 + +.global MonsterNameMetapod +MonsterNameMetapod: +.string "Metapod\0" +.align 2,0 + +.global MonsterCategoryCaterpie +MonsterCategoryCaterpie: +.string "Worm\0" +.align 2,0 + +.global MonsterNameCaterpie +MonsterNameCaterpie: +.string "Caterpie\0" +.align 2,0 + +.global MonsterCategoryBlastoise +MonsterCategoryBlastoise: +.string "Shellfish\0" +.align 2,0 + +.global MonsterNameBlastoise +MonsterNameBlastoise: +.string "Blastoise\0" +.align 2,0 + +.global MonsterCategoryWartortle +MonsterCategoryWartortle: +.string "Turtle\0" +.align 2,0 + +.global MonsterNameWartortle +MonsterNameWartortle: +.string "Wartortle\0" +.align 2,0 + +.global MonsterCategorySquirtle +MonsterCategorySquirtle: +.string "Tiny Turtle\0" +.align 2,0 + +.global MonsterNameSquirtle +MonsterNameSquirtle: +.string "Squirtle\0" +.align 2,0 + +.global MonsterNameCharizard +MonsterNameCharizard: +.string "Charizard\0" +.align 2,0 + +.global MonsterCategoryCharmeleon +MonsterCategoryCharmeleon: +.string "Flame\0" +.align 2,0 + +.global MonsterNameCharmeleon +MonsterNameCharmeleon: +.string "Charmeleon\0" +.align 2,0 + +.global MonsterCategoryCharmander +MonsterCategoryCharmander: +.string "Lizard\0" +.align 2,0 + +.global MonsterNameCharmander +MonsterNameCharmander: +.string "Charmander\0" +.align 2,0 + +.global MonsterNameVenusaur +MonsterNameVenusaur: +.string "Venusaur\0" +.align 2,0 + +.global MonsterNameIvysaur +MonsterNameIvysaur: +.string "Ivysaur\0" +.align 2,0 + +.global MonsterCategoryBulbasaur +MonsterCategoryBulbasaur: +.string "Seed\0" +.align 2,0 + +.global MonsterNameBulbasaur +MonsterNameBulbasaur: +.string "Bulbasaur\0" +.align 2,0 + +.global MonsterCategoryNone +MonsterCategoryNone: +.string "Eruption\0" +.align 2,0 + +.global MonsterNameNone +MonsterNameNone: +.string "??????????\0" +.align 2,0 diff --git a/data/move/move_data.json b/data/move/move_data.json index bbd490ebd..174ff0034 100644 --- a/data/move/move_data.json +++ b/data/move/move_data.json @@ -1,8328 +1,7915 @@ [ { - "name": "None", - "namePointer": "MoveNameNone", - "power": 0, + "name": "MoveNameNone", + "basePower": 0, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000011111111", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 99, - "weight": 0, - "accuracyGlobal": 0, - "accuracyOffensive": 0, - "accuracyUseChance": 0, - "hitCount": 0, + "basePP": 99, + "aiWeight": 0, + "accuracy1": 0, + "accuracy2": 0, + "aiConditionRandomChance": 0, + "numberOfChainedHits": 0, "cannotHitFrozen": false, - "rangeType": 0, - "descriptionPointer": "MoveDescriptionNone", + "rangeID": 0, + "description": "MoveDescriptionNone", "useText": "MoveDescriptionNone" }, { - "name": "Iron Tail", - "namePointer": "MoveNameIronTail", - "power": 20, + "name": "MoveNameIronTail", + "basePower": 20, "type": "TYPE_STEEL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 10, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionLowerDefenseChance", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionLowerDefenseChance", "useText": "MoveUseTextUse" }, { - "name": "Ice Ball", - "namePointer": "MoveNameIceBall", - "power": 1, + "name": "MoveNameIceBall", + "basePower": 1, "type": "TYPE_ICE", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 15, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 68, - "accuracyUseChance": 75, - "hitCount": 5, - "maxPowerBoost": 99, - "criticalHitChance": 2, + "basePP": 15, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 68, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 5, + "maxUpgradeLevel": 99, + "critChance": 2, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionMultiHitUntilMiss", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionMultiHitUntilMiss", "useText": "MoveUseTextUse" }, { - "name": "Yawn", - "namePointer": "MoveNameYawn", - "power": 4, + "name": "MoveNameYawn", + "basePower": 4, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, - "affectedByMuzzled": true, + "usesMouth": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionYawn", + "rangeID": 11, + "description": "MoveDescriptionYawn", "useText": "MoveUseTextUse" }, { - "name": "Lovely Kiss", - "namePointer": "MoveNameLovelyKiss", - "power": 0, + "name": "MoveNameLovelyKiss", + "basePower": 0, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000100000", "aiTargetingFlags": "0b0000000000100000", - "maxPP": 13, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 13, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, - "affectedByMuzzled": true, + "usesMouth": true, "cannotHitFrozen": true, - "rangeType": 2, - "descriptionPointer": "MoveDescriptionLovelyKiss", + "rangeID": 2, + "description": "MoveDescriptionLovelyKiss", "useText": "MoveUseTextUse" }, { - "name": "Nightmare", - "namePointer": "MoveNameNightmare", - "power": 4, + "name": "MoveNameNightmare", + "basePower": 4, "type": "TYPE_GHOST", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionNightmare", + "rangeID": 11, + "description": "MoveDescriptionNightmare", "useText": "MoveUseTextUse" }, { - "name": "Morning Sun", - "namePointer": "MoveNameMorningSun", - "power": 4, + "name": "MoveNameMorningSun", + "basePower": 4, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001100001", "aiTargetingFlags": "0b0000001001100001", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 4, - "descriptionPointer": "MoveDescriptionMorningSun", + "rangeID": 4, + "description": "MoveDescriptionMorningSun", "useText": "MoveUseTextUse" }, { - "name": "Vital Throw", - "namePointer": "MoveNameVitalThrow", - "power": 14, + "name": "MoveNameVitalThrow", + "basePower": 14, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionVitalThrow", + "rangeID": 19, + "description": "MoveDescriptionVitalThrow", "useText": "MoveUseTextUse" }, { - "name": "Dig", - "namePointer": "MoveNameDig", - "power": 12, + "name": "MoveNameDig", + "basePower": 12, "type": "TYPE_GROUND", "targetingFlags": "0b0000000001110100", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 20, - "descriptionPointer": "MoveDescriptionDig", + "ignoresTaunted": true, + "rangeID": 20, + "description": "MoveDescriptionDig", "useText": "MoveUseTextUse" }, { - "name": "Thrash", - "namePointer": "MoveNameThrash", - "power": 18, + "name": "MoveNameThrash", + "basePower": 18, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000010", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 3, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 3, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 12, - "descriptionPointer": "MoveDescriptionThrash", + "ignoresTaunted": true, + "rangeID": 12, + "description": "MoveDescriptionThrash", "useText": "MoveUseTextUse" }, { - "name": "Sweet Scent", - "namePointer": "MoveNameSweetScent", - "power": 2, + "name": "MoveNameSweetScent", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000110000", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 22, - "weight": 10, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 10, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 15, - "descriptionPointer": "MoveDescriptionSweetScent", + "rangeID": 15, + "description": "MoveDescriptionSweetScent", "useText": "MoveUseTextUse" }, { - "name": "Charm", - "namePointer": "MoveNameCharm", - "power": 2, + "name": "MoveNameCharm", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 75, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 75, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionCharm", + "rangeID": 11, + "description": "MoveDescriptionCharm", "useText": "MoveUseTextUse" }, { - "name": "Rain Dance", - "namePointer": "MoveNameRainDance", - "power": 2, + "name": "MoveNameRainDance", + "basePower": 2, "type": "TYPE_WATER", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 6, - "descriptionPointer": "MoveDescriptionRainDance", + "rangeID": 6, + "description": "MoveDescriptionRainDance", "useText": "MoveUseTextUse" }, { - "name": "Confuse Ray", - "namePointer": "MoveNameConfuseRay", - "power": 2, + "name": "MoveNameConfuseRay", + "basePower": 2, "type": "TYPE_GHOST", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 13, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 13, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionConfuseRay", + "rangeID": 11, + "description": "MoveDescriptionConfuseRay", "useText": "MoveUseTextUse" }, { - "name": "Hail", - "namePointer": "MoveNameHail", - "power": 2, + "name": "MoveNameHail", + "basePower": 2, "type": "TYPE_ICE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 13, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 13, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 6, - "descriptionPointer": "MoveDescriptionHail", + "rangeID": 6, + "description": "MoveDescriptionHail", "useText": "MoveUseTextUse" }, { - "name": "Aromatherapy", - "namePointer": "MoveNameAromatherapy", - "power": 2, + "name": "MoveNameAromatherapy", + "basePower": 2, "type": "TYPE_GRASS", "targetingFlags": "0b0000000000110001", "aiTargetingFlags": "0b0000001100110001", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": false, - "rangeType": 16, - "descriptionPointer": "MoveDescriptionHealTeamStatus", + "rangeID": 16, + "description": "MoveDescriptionHealTeamStatus", "useText": "MoveUseTextUse" }, { - "name": "Bubble", - "namePointer": "MoveNameBubble", - "power": 4, + "name": "MoveNameBubble", + "basePower": 4, "type": "TYPE_WATER", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 15, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionLowerSpeedChanceDistance", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionLowerSpeedChanceDistance", "useText": "MoveUseTextUse" }, { - "name": "Encore", - "namePointer": "MoveNameEncore", - "power": 2, + "name": "MoveNameEncore", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionEncore", + "rangeID": 11, + "description": "MoveDescriptionEncore", "useText": "MoveUseTextUse" }, { - "name": "Cut", - "namePointer": "MoveNameCut", - "power": 10, + "name": "MoveNameCut", + "basePower": 10, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000100000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 10, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 2, - "descriptionPointer": "MoveDescriptionCut", + "ignoresTaunted": true, + "rangeID": 2, + "description": "MoveDescriptionCut", "useText": "MoveUseTextUse" }, { - "name": "Rage", - "namePointer": "MoveNameRage", - "power": 4, + "name": "MoveNameRage", + "basePower": 4, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionRage", + "rangeID": 19, + "description": "MoveDescriptionRage", "useText": "MoveUseTextUse" }, { - "name": "Super Fang", - "namePointer": "MoveNameSuperFang", - "power": 2, + "name": "MoveNameSuperFang", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "affectedByMuzzled": true, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "usesMouth": true, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionSuperFang", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionSuperFang", "useText": "MoveUseTextUse" }, { - "name": "Pain Split", - "namePointer": "MoveNamePainSplit", - "power": 2, + "name": "MoveNamePainSplit", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionPainSplit", + "rangeID": 11, + "description": "MoveDescriptionPainSplit", "useText": "MoveUseTextUse" }, { - "name": "Torment", - "namePointer": "MoveNameTorment", - "power": 2, + "name": "MoveNameTorment", + "basePower": 2, "type": "TYPE_DARK", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 16, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "affectedByMuzzled": true, + "basePP": 16, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "usesMouth": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionTorment", + "rangeID": 11, + "description": "MoveDescriptionTorment", "useText": "MoveUseTextUse" }, { - "name": "String Shot", - "namePointer": "MoveNameStringShot", - "power": 2, + "name": "MoveNameStringShot", + "basePower": 2, "type": "TYPE_BUG", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 16, - "weight": 10, - "accuracyGlobal": 75, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 16, + "aiWeight": 10, + "accuracy1": 75, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionStringShot", + "rangeID": 14, + "description": "MoveDescriptionStringShot", "useText": "MoveUseTextUse" }, { - "name": "Swagger", - "namePointer": "MoveNameSwagger", - "power": 2, + "name": "MoveNameSwagger", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 18, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 18, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionSwagger", + "rangeID": 11, + "description": "MoveDescriptionSwagger", "useText": "MoveUseTextUse" }, { - "name": "Snore", - "namePointer": "MoveNameSnore", - "power": 4, + "name": "MoveNameSnore", + "basePower": 4, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 16, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 95, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, - "affectedByMuzzled": true, + "basePP": 16, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 95, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, + "usesMouth": true, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 10, - "descriptionPointer": "MoveDescriptionSnore", + "ignoresTaunted": true, + "rangeID": 10, + "description": "MoveDescriptionSnore", "useText": "MoveUseTextUse" }, { - "name": "Heal Bell", - "namePointer": "MoveNameHealBell", - "power": 2, + "name": "MoveNameHealBell", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000110001", "aiTargetingFlags": "0b0000001100110001", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": false, - "rangeType": 16, - "descriptionPointer": "MoveDescriptionHealTeamStatus", + "rangeID": 16, + "description": "MoveDescriptionHealTeamStatus", "useText": "MoveUseTextUse" }, { - "name": "Screech", - "namePointer": "SpeciesCategoryMisdreavus", - "power": 2, + "name": "MonsterCategoryMisdreavus", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, - "affectedByMuzzled": true, + "usesMouth": true, "cannotHitFrozen": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionScreech", + "rangeID": 3, + "description": "MoveDescriptionScreech", "useText": "MoveUseTextUse" }, { - "name": "Rock Throw", - "namePointer": "MoveNameRockThrow", - "power": 5, + "name": "MoveNameRockThrow", + "basePower": 5, "type": "TYPE_ROCK", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 16, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 16, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDamage", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDamage", "useText": "MoveUseTextUse" }, { - "name": "Rock Smash", - "namePointer": "MoveNameRockSmash", - "power": 1, + "name": "MoveNameRockSmash", + "basePower": 1, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 99, - "weight": 20, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 99, + "aiWeight": 20, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 25, - "descriptionPointer": "MoveDescriptionRockSmash", + "ignoresTaunted": true, + "rangeID": 25, + "description": "MoveDescriptionRockSmash", "useText": "MoveUseTextUse" }, { - "name": "Rock Slide", - "namePointer": "MoveNameRockSlide", - "power": 14, + "name": "MoveNameRockSlide", + "basePower": 14, "type": "TYPE_ROCK", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 13, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 13, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionRockSlide", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionRockSlide", "useText": "MoveUseTextUse" }, { - "name": "Weather Ball", - "namePointer": "MoveNameWeatherBall", - "power": 10, + "name": "MoveNameWeatherBall", + "basePower": 10, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 15, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionWeatherBall", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionWeatherBall", "useText": "MoveUseTextUse" }, { - "name": "Whirlpool", - "namePointer": "MoveNameWhirlpool", - "power": 2, + "name": "MoveNameWhirlpool", + "basePower": 2, "type": "TYPE_WATER", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionWhirlpool", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionWhirlpool", "useText": "MoveUseTextUse" }, { - "name": "Fake Tears", - "namePointer": "MoveNameFakeTears", - "power": 2, + "name": "MoveNameFakeTears", + "basePower": 2, "type": "TYPE_DARK", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, - "affectedByMuzzled": true, + "usesMouth": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionFakeTears", + "rangeID": 11, + "description": "MoveDescriptionFakeTears", "useText": "MoveUseTextUse" }, { - "name": "Sing", - "namePointer": "MoveNameSing", - "power": 2, + "name": "MoveNameSing", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 17, - "weight": 10, - "accuracyGlobal": 100, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 10, + "accuracy1": 100, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, - "affectedByMuzzled": true, + "usesMouth": true, "cannotHitFrozen": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionSing", + "rangeID": 3, + "description": "MoveDescriptionSing", "useText": "MoveUseTextUse" }, { - "name": "Spite", - "namePointer": "MoveNameSpite", - "power": 2, + "name": "MoveNameSpite", + "basePower": 2, "type": "TYPE_GHOST", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionSpite", + "rangeID": 11, + "description": "MoveDescriptionSpite", "useText": "MoveUseTextUse" }, { - "name": "Air Cutter", - "namePointer": "MoveNameAirCutter", - "power": 2, + "name": "MoveNameAirCutter", + "basePower": 2, "type": "TYPE_FLYING", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 17, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 50, + "basePP": 17, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 50, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionHighCritical", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionHighCritical", "useText": "MoveUseTextUse" }, { - "name": "Smokescreen", - "namePointer": "MoveNameSmokescreen", - "power": 2, + "name": "MoveNameSmokescreen", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 10, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionSmokescreen", + "rangeID": 3, + "description": "MoveDescriptionSmokescreen", "useText": "MoveUseTextUse" }, { - "name": "Pursuit", - "namePointer": "MoveNamePursuit", - "power": 8, + "name": "MoveNamePursuit", + "basePower": 8, "type": "TYPE_DARK", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionCounter", + "rangeID": 19, + "description": "MoveDescriptionCounter", "useText": "MoveUseTextUse" }, { - "name": "Doubleslap", - "namePointer": "MoveNameDoubleslap", - "power": 4, + "name": "MoveNameDoubleslap", + "basePower": 4, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 70, - "accuracyUseChance": 75, - "hitCount": 0, - "maxPowerBoost": 99, - "criticalHitChance": 2, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 70, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 0, + "maxUpgradeLevel": 99, + "critChance": 2, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionMultiHit", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionMultiHit", "useText": "MoveUseTextUse" }, { - "name": "Mirror Move", - "namePointer": "MoveNameMirrorMove", - "power": 2, + "name": "MoveNameMirrorMove", + "basePower": 2, "type": "TYPE_FLYING", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 7, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 7, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionMirrorMove", + "rangeID": 19, + "description": "MoveDescriptionMirrorMove", "useText": "MoveUseTextUse" }, { - "name": "Overheat", - "namePointer": "MoveNameOverheat", - "power": 20, + "name": "MoveNameOverheat", + "basePower": 20, "type": "TYPE_FIRE", "targetingFlags": "0b0000000000100000", "aiTargetingFlags": "0b0000000000100000", - "maxPP": 10, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": false, - "dealsDirectDamage": true, - "rangeType": 2, - "descriptionPointer": "MoveDescriptionOverheat", + "ignoresTaunted": true, + "rangeID": 2, + "description": "MoveDescriptionOverheat", "useText": "MoveUseTextUse" }, { - "name": "Aurora Beam", - "namePointer": "MoveNameAuroraBeam", - "power": 10, + "name": "MoveNameAuroraBeam", + "basePower": 10, "type": "TYPE_ICE", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 17, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 65, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 65, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionAuroraBeam", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionAuroraBeam", "useText": "MoveUseTextUse" }, { - "name": "Memento", - "namePointer": "MoveNameMemento", - "power": 2, + "name": "MoveNameMemento", + "basePower": 2, "type": "TYPE_DARK", "targetingFlags": "0b0000000000110000", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 15, - "weight": 10, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 10, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 15, - "descriptionPointer": "MoveDescriptionMemento", + "rangeID": 15, + "description": "MoveDescriptionMemento", "useText": "MoveUseTextUse" }, { - "name": "Octazooka", - "namePointer": "MoveNameOctazooka", - "power": 8, + "name": "MoveNameOctazooka", + "basePower": 8, "type": "TYPE_WATER", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 15, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, - "affectedByMuzzled": true, + "basePP": 15, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, + "usesMouth": true, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionOctazooka", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionOctazooka", "useText": "MoveUseTextUse" }, { - "name": "Flatter", - "namePointer": "MoveNameFlatter", - "power": 2, + "name": "MoveNameFlatter", + "basePower": 2, "type": "TYPE_DARK", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, - "affectedByMuzzled": true, + "usesMouth": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionFlatter", + "rangeID": 11, + "description": "MoveDescriptionFlatter", "useText": "MoveUseTextUse" }, { - "name": "Astonish", - "namePointer": "MoveNameAstonish", - "power": 6, + "name": "MoveNameAstonish", + "basePower": 6, "type": "TYPE_GHOST", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionCringe", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionCringe", "useText": "MoveUseTextUse" }, { - "name": "Will-O-Wisp", - "namePointer": "MoveNameWillOWisp", - "power": 2, + "name": "MoveNameWillOWisp", + "basePower": 2, "type": "TYPE_FIRE", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 17, - "weight": 20, - "accuracyGlobal": 100, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 20, + "accuracy1": 100, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionWillOWisp", + "rangeID": 3, + "description": "MoveDescriptionWillOWisp", "useText": "MoveUseTextUse" }, { - "name": "Return", - "namePointer": "MoveNameReturn", - "power": 2, + "name": "MoveNameReturn", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionReturn", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionReturn", "useText": "MoveUseTextUse" }, { - "name": "Grudge", - "namePointer": "MoveNameGrudge", - "power": 2, + "name": "MoveNameGrudge", + "basePower": 2, "type": "TYPE_GHOST", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionGrudge", + "rangeID": 19, + "description": "MoveDescriptionGrudge", "useText": "MoveUseTextUse" }, { - "name": "Strength", - "namePointer": "MoveNameStrength", - "power": 20, + "name": "MoveNameStrength", + "basePower": 20, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 20, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 20, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionStrength", + "rangeID": 11, + "description": "MoveDescriptionStrength", "useText": "MoveUseTextUse" }, { - "name": "Counter", - "namePointer": "MoveNameCounter", - "power": 2, + "name": "MoveNameCounter", + "basePower": 2, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionCounter", + "rangeID": 19, + "description": "MoveDescriptionCounter", "useText": "MoveUseTextUse" }, { - "name": "Flame Wheel", - "namePointer": "MoveNameFlameWheel", - "power": 12, + "name": "MoveNameFlameWheel", + "basePower": 12, "type": "TYPE_FIRE", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 11, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 11, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": false, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionBurnChance", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionBurnChance", "useText": "MoveUseTextUse" }, { - "name": "Flamethrower", - "namePointer": "MoveNameFlamethrower", - "power": 18, + "name": "MoveNameFlamethrower", + "basePower": 18, "type": "TYPE_FIRE", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 12, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": false, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionFlamethrower", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionFlamethrower", "useText": "MoveUseTextUse" }, { - "name": "Odor Sleuth", - "namePointer": "MoveNameOdorSleuth", - "power": 2, + "name": "MoveNameOdorSleuth", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000110000", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 22, - "weight": 10, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 10, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 15, - "descriptionPointer": "MoveDescriptionOdorSleuth", + "rangeID": 15, + "description": "MoveDescriptionOdorSleuth", "useText": "MoveUseTextUse" }, { - "name": "Sharpen", - "namePointer": "MoveNameSharpen", - "power": 2, + "name": "MoveNameSharpen", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionBoostAttack", + "rangeID": 19, + "description": "MoveDescriptionBoostAttack", "useText": "MoveUseTextUse" }, { - "name": "Double Team", - "namePointer": "MoveNameDoubleTeam", - "power": 2, + "name": "MoveNameDoubleTeam", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 17, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 17, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionBoostEvasion", + "rangeID": 19, + "description": "MoveDescriptionBoostEvasion", "useText": "MoveUseTextUse" }, { - "name": "Gust", - "namePointer": "MoveNameGust", - "power": 4, + "name": "MoveNameGust", + "basePower": 4, "type": "TYPE_FLYING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 19, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 19, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionGust", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionGust", "useText": "MoveUseTextUse" }, { - "name": "Harden", - "namePointer": "MoveNameHarden", - "power": 2, + "name": "MoveNameHarden", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000100000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionBoostDefense", + "rangeID": 19, + "description": "MoveDescriptionBoostDefense", "useText": "MoveUseTextUse" }, { - "name": "Disable", - "namePointer": "MoveNameDisable", - "power": 2, + "name": "MoveNameDisable", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 9, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 9, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionParalyze", + "rangeID": 11, + "description": "MoveDescriptionParalyze", "useText": "MoveUseTextUse" }, { - "name": "Razor Wind", - "namePointer": "MoveNameRazorWind", - "power": 16, + "name": "MoveNameRazorWind", + "basePower": 16, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110100", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 13, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 50, + "basePP": 13, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 50, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 28, - "descriptionPointer": "MoveDescriptionRazorWind", + "ignoresTaunted": true, + "rangeID": 28, + "description": "MoveDescriptionRazorWind", "useText": "MoveUseTextUse" }, { - "name": "Bide", - "namePointer": "MoveNameBide", - "power": 2, + "name": "MoveNameBide", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionBide", + "rangeID": 19, + "description": "MoveDescriptionBide", "useText": "MoveUseTextUse" }, { - "name": "Crunch", - "namePointer": "MoveNameCrunch", - "power": 16, + "name": "MoveNameCrunch", + "basePower": 16, "type": "TYPE_DARK", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 13, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, - "affectedByMuzzled": true, + "basePP": 13, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, + "usesMouth": true, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionLowerSpecialDefenseChance", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionLowerSpecialDefenseChance", "useText": "MoveUseTextUse" }, { - "name": "Bite", - "namePointer": "SpeciesCategoryPoochyena", - "power": 7, + "name": "MonsterCategoryPoochyena", + "basePower": 7, "type": "TYPE_DARK", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 19, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, - "affectedByMuzzled": true, + "basePP": 19, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, + "usesMouth": true, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionCringe", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionCringe", "useText": "MoveUseTextUse" }, { - "name": "Thunder", - "namePointer": "SpeciesCategoryRaikou", - "power": 24, + "name": "MonsterCategoryRaikou", + "basePower": 24, "type": "TYPE_ELECTRIC", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 9, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 73, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 9, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 73, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionThunder", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionThunder", "useText": "MoveUseTextUse" }, { - "name": "Thunderpunch", - "namePointer": "MoveNameThunderpunch", - "power": 6, + "name": "MoveNameThunderpunch", + "basePower": 6, "type": "TYPE_ELECTRIC", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionParalyzeChance", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionParalyzeChance", "useText": "MoveUseTextUse" }, { - "name": "Endeavor", - "namePointer": "MoveNameEndeavor", - "power": 2, + "name": "MoveNameEndeavor", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionEndeavor", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionEndeavor", "useText": "MoveUseTextUse" }, { - "name": "Facade", - "namePointer": "MoveNameFacade", - "power": 14, + "name": "MoveNameFacade", + "basePower": 14, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionFacade", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionFacade", "useText": "MoveUseTextUse" }, { - "name": "Karate Chop", - "namePointer": "MoveNameKarateChop", - "power": 10, + "name": "MoveNameKarateChop", + "basePower": 10, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 18, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 18, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionHighCritical", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionHighCritical", "useText": "MoveUseTextUse" }, { - "name": "Clamp", - "namePointer": "MoveNameClamp", - "power": 6, + "name": "MoveNameClamp", + "basePower": 6, "type": "TYPE_WATER", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionConstriction", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionConstriction", "useText": "MoveUseTextUse" }, { - "name": "Withdraw", - "namePointer": "MoveNameWithdraw", - "power": 2, + "name": "MoveNameWithdraw", + "basePower": 2, "type": "TYPE_WATER", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 32, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 32, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionBoostDefense", + "rangeID": 19, + "description": "MoveDescriptionBoostDefense", "useText": "MoveUseTextUse" }, { - "name": "Constrict", - "namePointer": "MoveNameConstrict", - "power": 2, + "name": "MoveNameConstrict", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionConstrict", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionConstrict", "useText": "MoveUseTextUse" }, { - "name": "Brick Break", - "namePointer": "MoveNameBrickBreak", - "power": 14, + "name": "MoveNameBrickBreak", + "basePower": 14, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionBrickBreak", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionBrickBreak", "useText": "MoveUseTextUse" }, { - "name": "Rock Tomb", - "namePointer": "MoveNameRockTomb", - "power": 10, + "name": "MoveNameRockTomb", + "basePower": 10, "type": "TYPE_ROCK", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 60, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 60, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDamageLowerSpeed", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDamageLowerSpeed", "useText": "MoveUseTextUse" }, { - "name": "Focus Energy", - "namePointer": "MoveNameFocusEnergy", - "power": 2, + "name": "MoveNameFocusEnergy", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 27, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 27, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionFocusEnergy", + "rangeID": 19, + "description": "MoveDescriptionFocusEnergy", "useText": "MoveUseTextUse" }, { - "name": "Focus Punch", - "namePointer": "MoveNameFocusPunch", - "power": 20, + "name": "MoveNameFocusPunch", + "basePower": 20, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000001110100", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 10, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 20, - "descriptionPointer": "MoveDescriptionFocusPunch", + "ignoresTaunted": true, + "rangeID": 20, + "description": "MoveDescriptionFocusPunch", "useText": "MoveUseTextUse" }, { - "name": "Giga Drain", - "namePointer": "MoveNameGigaDrain", - "power": 12, + "name": "MoveNameGigaDrain", + "basePower": 12, "type": "TYPE_GRASS", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 10, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDrain", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDrain", "useText": "MoveUseTextUse" }, { - "name": "Reversal", - "namePointer": "MoveNameReversal", - "power": 2, + "name": "MoveNameReversal", + "basePower": 2, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionReversal", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionReversal", "useText": "MoveUseTextUse" }, { - "name": "Smellingsalt", - "namePointer": "MoveNameSmellingsalt", - "power": 12, + "name": "MoveNameSmellingsalt", + "basePower": 12, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionSmellingsalt", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionSmellingsalt", "useText": "MoveUseTextUse" }, { - "name": "Spore", - "namePointer": "MoveNameSpore", - "power": 2, + "name": "MoveNameSpore", + "basePower": 2, "type": "TYPE_GRASS", "targetingFlags": "0b0000000000110000", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 19, - "weight": 10, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 19, + "aiWeight": 10, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 15, - "descriptionPointer": "MoveDescriptionSpore", + "rangeID": 15, + "description": "MoveDescriptionSpore", "useText": "MoveUseTextUse" }, { - "name": "Leech Life", - "namePointer": "MoveNameLeechLife", - "power": 4, + "name": "MoveNameLeechLife", + "basePower": 4, "type": "TYPE_BUG", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 19, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, - "affectedByMuzzled": true, + "basePP": 19, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, + "usesMouth": true, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDrain", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDrain", "useText": "MoveUseTextUse" }, { - "name": "Slash", - "namePointer": "MoveNameSlash", - "power": 14, + "name": "MoveNameSlash", + "basePower": 14, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 11, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 50, + "basePP": 11, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 50, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionHighCritical", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionHighCritical", "useText": "MoveUseTextUse" }, { - "name": "Silver Wind", - "namePointer": "MoveNameSilverWind", - "power": 12, + "name": "MoveNameSilverWind", + "basePower": 12, "type": "TYPE_BUG", "targetingFlags": "0b0000000000110000", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 13, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 95, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 13, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 95, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 15, - "descriptionPointer": "MoveDescriptionSilverWind", + "ignoresTaunted": true, + "rangeID": 15, + "description": "MoveDescriptionSilverWind", "useText": "MoveUseTextUse" }, { - "name": "Metal Sound", - "namePointer": "MoveNameMetalSound", - "power": 2, + "name": "MoveNameMetalSound", + "basePower": 2, "type": "TYPE_STEEL", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionMetalSound", + "rangeID": 3, + "description": "MoveDescriptionMetalSound", "useText": "MoveUseTextUse" }, { - "name": "Grasswhistle", - "namePointer": "MoveNameGrasswhistle", - "power": 2, + "name": "MoveNameGrasswhistle", + "basePower": 2, "type": "TYPE_GRASS", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 13, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 13, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, - "affectedByMuzzled": true, + "usesMouth": true, "cannotHitFrozen": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionSleep", + "rangeID": 3, + "description": "MoveDescriptionSleep", "useText": "MoveUseTextUse" }, { - "name": "Tickle", - "namePointer": "MoveNameTickle", - "power": 2, + "name": "MoveNameTickle", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionTickle", + "rangeID": 11, + "description": "MoveDescriptionTickle", "useText": "MoveUseTextUse" }, { - "name": "Spider Web", - "namePointer": "MoveNameSpiderWeb", - "power": 2, + "name": "MoveNameSpiderWeb", + "basePower": 2, "type": "TYPE_BUG", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 16, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 16, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionLegHolder", + "rangeID": 3, + "description": "MoveDescriptionLegHolder", "useText": "MoveUseTextUse" }, { - "name": "Crabhammer", - "namePointer": "MoveNameCrabhammer", - "power": 18, + "name": "MoveNameCrabhammer", + "basePower": 18, "type": "TYPE_WATER", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 50, + "basePP": 12, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 50, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionHighCritical", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionHighCritical", "useText": "MoveUseTextUse" }, { - "name": "Haze", - "namePointer": "MoveNameHaze", - "power": 2, + "name": "MoveNameHaze", + "basePower": 2, "type": "TYPE_ICE", "targetingFlags": "0b0000000000110010", "aiTargetingFlags": "0b0000000000110001", - "maxPP": 13, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 13, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 17, - "descriptionPointer": "MoveDescriptionHaze", + "rangeID": 17, + "description": "MoveDescriptionHaze", "useText": "MoveUseTextUse" }, { - "name": "Mean Look", - "namePointer": "MoveNameMeanLook", - "power": 2, + "name": "MoveNameMeanLook", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionLegHolder", + "rangeID": 11, + "description": "MoveDescriptionLegHolder", "useText": "MoveUseTextUse" }, { - "name": "Cross Chop", - "namePointer": "MoveNameCrossChop", - "power": 20, + "name": "MoveNameCrossChop", + "basePower": 20, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 10, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 50, + "basePP": 10, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 50, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionHighCritical", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionHighCritical", "useText": "MoveUseTextUse" }, { - "name": "Outrage", - "namePointer": "MoveNameOutrage", - "power": 18, + "name": "MoveNameOutrage", + "basePower": 18, "type": "TYPE_DRAGON", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 9, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 0, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 9, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 0, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionOutrage", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionOutrage", "useText": "MoveUseTextUse" }, { - "name": "Low Kick", - "namePointer": "MoveNameLowKick", - "power": 7, + "name": "MoveNameLowKick", + "basePower": 7, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionLowKick", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionLowKick", "useText": "MoveUseTextUse" }, { - "name": "Ancientpower", - "namePointer": "MoveNameAncientpower", - "power": 12, + "name": "MoveNameAncientpower", + "basePower": 12, "type": "TYPE_ROCK", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionAncientpower", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionAncientpower", "useText": "MoveUseTextUse" }, { - "name": "Synthesis", - "namePointer": "MoveNameSynthesis", - "power": 2, + "name": "MoveNameSynthesis", + "basePower": 2, "type": "TYPE_GRASS", "targetingFlags": "0b0000001001110011", "aiTargetingFlags": "0b0000001001110011", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 21, - "descriptionPointer": "MoveDescriptionSynthesis", + "rangeID": 21, + "description": "MoveDescriptionSynthesis", "useText": "MoveUseTextUse" }, { - "name": "Agility", - "namePointer": "MoveNameAgility", - "power": 2, + "name": "MoveNameAgility", + "basePower": 2, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000000110001", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 22, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 22, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 16, - "descriptionPointer": "MoveDescriptionAgility", + "rangeID": 16, + "description": "MoveDescriptionAgility", "useText": "MoveUseTextUse" }, { - "name": "Rapid Spin", - "namePointer": "MoveNameRapidSpin", - "power": 4, + "name": "MoveNameRapidSpin", + "basePower": 4, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionRapidSpin", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionRapidSpin", "useText": "MoveUseTextUse" }, { - "name": "Icy Wind", - "namePointer": "MoveNameIcyWind", - "power": 5, + "name": "MoveNameIcyWind", + "basePower": 5, "type": "TYPE_ICE", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 13, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 13, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionIcyWind", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionIcyWind", "useText": "MoveUseTextUse" }, { - "name": "Mind Reader", - "namePointer": "MoveNameMindReader", - "power": 2, + "name": "MoveNameMindReader", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionMindReader", + "rangeID": 19, + "description": "MoveDescriptionMindReader", "useText": "MoveUseTextUse" }, { - "name": "Cosmic Power", - "namePointer": "MoveNameCosmicPower", - "power": 2, + "name": "MoveNameCosmicPower", + "basePower": 2, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 19, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 19, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionCosmicPower", + "rangeID": 19, + "description": "MoveDescriptionCosmicPower", "useText": "MoveUseTextUse" }, { - "name": "Sky Attack", - "namePointer": "MoveNameSkyAttack", - "power": 30, + "name": "MoveNameSkyAttack", + "basePower": 30, "type": "TYPE_FLYING", "targetingFlags": "0b0000000001110100", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 9, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 9, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 28, - "descriptionPointer": "MoveDescriptionSkyAttack", + "ignoresTaunted": true, + "rangeID": 28, + "description": "MoveDescriptionSkyAttack", "useText": "MoveUseTextUse" }, { - "name": "Powder Snow", - "namePointer": "MoveNamePowderSnow", - "power": 4, + "name": "MoveNamePowderSnow", + "basePower": 4, "type": "TYPE_ICE", "targetingFlags": "0b0000000000110000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 15, - "descriptionPointer": "MoveDescriptionFreezeChanceRoom", + "ignoresTaunted": true, + "rangeID": 15, + "description": "MoveDescriptionFreezeChanceRoom", "useText": "MoveUseTextUse" }, { - "name": "Follow Me", - "namePointer": "MoveNameFollowMe", - "power": 2, + "name": "MoveNameFollowMe", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 15, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionFollowMe", + "rangeID": 19, + "description": "MoveDescriptionFollowMe", "useText": "MoveUseTextUse" }, { - "name": "Meteor Mash", - "namePointer": "MoveNameMeteorMash", - "power": 20, + "name": "MoveNameMeteorMash", + "basePower": 20, "type": "TYPE_STEEL", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 9, - "weight": 10, - "accuracyGlobal": 100, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 9, + "aiWeight": 10, + "accuracy1": 100, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionMeteorMash", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionMeteorMash", "useText": "MoveUseTextUse" }, { - "name": "Endure", - "namePointer": "MoveNameEndure", - "power": 2, + "name": "MoveNameEndure", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 75, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 75, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionEndure", + "rangeID": 19, + "description": "MoveDescriptionEndure", "useText": "MoveUseTextUse" }, { - "name": "Rollout", - "namePointer": "MoveNameRollout", - "power": 1, + "name": "MoveNameRollout", + "basePower": 1, "type": "TYPE_ROCK", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 14, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 68, - "accuracyUseChance": 75, - "hitCount": 5, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 14, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 68, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 5, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionMultiHitUntilMiss", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionMultiHitUntilMiss", "useText": "MoveUseTextUse" }, { - "name": "Scary Face", - "namePointer": "MoveNameScaryFace", - "power": 2, + "name": "MoveNameScaryFace", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 14, - "weight": 15, - "accuracyGlobal": 70, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 14, + "aiWeight": 15, + "accuracy1": 70, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionLowerSpeed", + "rangeID": 11, + "description": "MoveDescriptionLowerSpeed", "useText": "MoveUseTextUse" }, { - "name": "Psybeam", - "namePointer": "MoveNamePsybeam", - "power": 12, + "name": "MoveNamePsybeam", + "basePower": 12, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 17, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionConfuseChanceDistance", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionConfuseChanceDistance", "useText": "MoveUseTextUse" }, { - "name": "Psywave", - "namePointer": "MoveNamePsywave", - "power": 2, + "name": "MoveNamePsywave", + "basePower": 2, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 19, - "weight": 10, - "accuracyGlobal": 100, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 19, + "aiWeight": 10, + "accuracy1": 100, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionPsywave", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionPsywave", "useText": "MoveUseTextUse" }, { - "name": "Psychic", - "namePointer": "MoveNamePsychic", - "power": 18, + "name": "MoveNamePsychic", + "basePower": 18, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 10, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionLowerSpecialDefenseChance", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionLowerSpecialDefenseChance", "useText": "MoveUseTextUse" }, { - "name": "Psycho Boost", - "namePointer": "MoveNamePsychoBoost", - "power": 28, + "name": "MoveNamePsychoBoost", + "basePower": 28, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 8, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 8, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionPsychoBoost", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionPsychoBoost", "useText": "MoveUseTextUse" }, { - "name": "Hypnosis", - "namePointer": "SpeciesCategoryDrowzee", - "power": 2, + "name": "MonsterCategoryDrowzee", + "basePower": 2, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 60, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 60, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionSleep", + "rangeID": 3, + "description": "MoveDescriptionSleep", "useText": "MoveUseTextUse" }, { - "name": "Uproar", - "namePointer": "MoveNameUproar", - "power": 10, + "name": "MoveNameUproar", + "basePower": 10, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000110001", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 17, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "affectedByMuzzled": true, + "basePP": 17, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "usesMouth": true, "cannotHitFrozen": true, - "rangeType": 16, - "descriptionPointer": "MoveDescriptionUproar", + "rangeID": 16, + "description": "MoveDescriptionUproar", "useText": "MoveUseTextUse" }, { - "name": "Water Spout", - "namePointer": "MoveNameWaterSpout", - "power": 30, + "name": "MoveNameWaterSpout", + "basePower": 30, "type": "TYPE_WATER", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 8, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 8, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionWaterSpout", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionWaterSpout", "useText": "MoveUseTextUse" }, { - "name": "Signal Beam", - "namePointer": "MoveNameSignalBeam", - "power": 14, + "name": "MoveNameSignalBeam", + "basePower": 14, "type": "TYPE_BUG", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 15, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionConfuseChanceDistance", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionConfuseChanceDistance", "useText": "MoveUseTextUse" }, { - "name": "Psych Up", - "namePointer": "MoveNamePsychUp", - "power": 2, + "name": "MoveNamePsychUp", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000010", "aiTargetingFlags": "0b0000000000000010", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 30, - "descriptionPointer": "MoveDescriptionPsychUp", + "rangeID": 30, + "description": "MoveDescriptionPsychUp", "useText": "MoveUseTextUse" }, { - "name": "Submission", - "namePointer": "MoveNameSubmission", - "power": 15, + "name": "MoveNameSubmission", + "basePower": 15, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionRecoil", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionRecoil", "useText": "MoveUseTextUse" }, { - "name": "Recover", - "namePointer": "MoveNameRecover", - "power": 2, + "name": "MoveNameRecover", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000001001110011", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionRecover", + "rangeID": 19, + "description": "MoveDescriptionRecover", "useText": "MoveUseTextUse" }, { - "name": "Earthquake", - "namePointer": "MoveNameEarthquake", - "power": 5, + "name": "MoveNameEarthquake", + "basePower": 5, "type": "TYPE_GROUND", "targetingFlags": "0b0000000000110101", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 10, - "weight": 20, - "accuracyGlobal": 100, - "accuracyOffensive": 65, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 20, + "accuracy1": 100, + "accuracy2": 65, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 18, - "descriptionPointer": "MoveDescriptionEarthquake", + "ignoresTaunted": true, + "rangeID": 18, + "description": "MoveDescriptionEarthquake", "useText": "MoveUseTextUse" }, { - "name": "Nature Power", - "namePointer": "MoveNameNaturePower", - "power": 2, + "name": "MoveNameNaturePower", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 27, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 27, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 10, - "descriptionPointer": "MoveDescriptionNaturePower", + "ignoresTaunted": true, + "rangeID": 10, + "description": "MoveDescriptionNaturePower", "useText": "MoveUseTextUse" }, { - "name": "Lick", - "namePointer": "MoveNameLick", - "power": 4, + "name": "MoveNameLick", + "basePower": 4, "type": "TYPE_GHOST", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 30, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, - "affectedByMuzzled": true, + "basePP": 22, + "aiWeight": 30, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, + "usesMouth": true, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionParalyzeChance", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionParalyzeChance", "useText": "MoveUseTextUse" }, { - "name": "Flail", - "namePointer": "MoveNameFlail", - "power": 2, + "name": "MoveNameFlail", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 30, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 30, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionFlail", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionFlail", "useText": "MoveUseTextUse" }, { - "name": "Tail Whip", - "namePointer": "MoveNameTailWhip", - "power": 2, + "name": "MoveNameTailWhip", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionLowerDefense", + "rangeID": 11, + "description": "MoveDescriptionLowerDefense", "useText": "MoveUseTextUse" }, { - "name": "Selfdestruct", - "namePointer": "MoveNameSelfdestruct", - "power": 80, + "name": "MoveNameSelfdestruct", + "basePower": 80, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 26, - "descriptionPointer": "MoveDescriptionSelfdestruct", + "ignoresTaunted": true, + "rangeID": 26, + "description": "MoveDescriptionSelfdestruct", "useText": "MoveUseTextUse" }, { - "name": "Stun Spore", - "namePointer": "MoveNameStunSpore", - "power": 2, + "name": "MoveNameStunSpore", + "basePower": 2, "type": "TYPE_GRASS", "targetingFlags": "0b0000000000100000", "aiTargetingFlags": "0b0000000000100000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 2, - "descriptionPointer": "MoveDescriptionStunSpore", + "rangeID": 2, + "description": "MoveDescriptionStunSpore", "useText": "MoveUseTextUse" }, { - "name": "Bind", - "namePointer": "MoveNameBind", - "power": 4, + "name": "MoveNameBind", + "basePower": 4, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionConstriction", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionConstriction", "useText": "MoveUseTextUse" }, { - "name": "Shadow Punch", - "namePointer": "MoveNameShadowPunch", - "power": 6, + "name": "MoveNameShadowPunch", + "basePower": 6, "type": "TYPE_GHOST", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 8, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 8, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionNeverMiss", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionNeverMiss", "useText": "MoveUseTextUse" }, { - "name": "Shadow Ball", - "namePointer": "MoveNameShadowBall", - "power": 16, + "name": "MoveNameShadowBall", + "basePower": 16, "type": "TYPE_GHOST", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 10, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionShadowBall", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionShadowBall", "useText": "MoveUseTextUse" }, { - "name": "Charge", - "namePointer": "MoveNameCharge", - "power": 10, + "name": "MoveNameCharge", + "basePower": 10, "type": "TYPE_ELECTRIC", "targetingFlags": "0b0000000001110100", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 25, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 25, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 20, - "descriptionPointer": "MoveDescriptionCharge", + "rangeID": 20, + "description": "MoveDescriptionCharge", "useText": "MoveUseTextUse" }, { - "name": "Thunderbolt", - "namePointer": "MoveNameThunderbolt", - "power": 18, + "name": "MoveNameThunderbolt", + "basePower": 18, "type": "TYPE_ELECTRIC", "targetingFlags": "0b0000000000100000", "aiTargetingFlags": "0b0000000000100000", - "maxPP": 10, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 2, - "descriptionPointer": "MoveDescriptionThunderbolt", + "ignoresTaunted": true, + "rangeID": 2, + "description": "MoveDescriptionThunderbolt", "useText": "MoveUseTextUse" }, { - "name": "Mist", - "namePointer": "MoveNameMist", - "power": 2, + "name": "MoveNameMist", + "basePower": 2, "type": "TYPE_ICE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 19, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 19, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionMist", + "rangeID": 19, + "description": "MoveDescriptionMist", "useText": "MoveUseTextUse" }, { - "name": "Fissure", - "namePointer": "MoveNameFissure", - "power": 2, + "name": "MoveNameFissure", + "basePower": 2, "type": "TYPE_GROUND", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 14, - "weight": 20, - "accuracyGlobal": 35, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 14, + "aiWeight": 20, + "accuracy1": 35, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionFissure", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionFissure", "useText": "MoveUseTextUse" }, { - "name": "Extremespeed", - "namePointer": "MoveNameExtremespeed", - "power": 16, + "name": "MoveNameExtremespeed", + "basePower": 16, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001000000", "aiTargetingFlags": "0b0000000001000000", - "maxPP": 12, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 13, - "descriptionPointer": "MoveDescriptionTwoTilesAhead", + "ignoresTaunted": true, + "rangeID": 13, + "description": "MoveDescriptionTwoTilesAhead", "useText": "MoveUseTextUse" }, { - "name": "Extrasensory", - "namePointer": "MoveNameExtrasensory", - "power": 16, + "name": "MoveNameExtrasensory", + "basePower": 16, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionExtrasensory", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionExtrasensory", "useText": "MoveUseTextUse" }, { - "name": "Safeguard", - "namePointer": "MoveNameSafeguard", - "power": 2, + "name": "MoveNameSafeguard", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000110001", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 15, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 15, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 16, - "descriptionPointer": "MoveDescriptionSafeguard", + "rangeID": 16, + "description": "MoveDescriptionSafeguard", "useText": "MoveUseTextUse" }, { - "name": "Absorb", - "namePointer": "MoveNameAbsorb", - "power": 1, + "name": "MoveNameAbsorb", + "basePower": 1, "type": "TYPE_GRASS", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 18, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, - "affectedByMuzzled": true, + "basePP": 18, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, + "usesMouth": true, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDrain", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDrain", "useText": "MoveUseTextUse" }, { - "name": "Sky Uppercut", - "namePointer": "MoveNameSkyUppercut", - "power": 16, + "name": "MoveNameSkyUppercut", + "basePower": 16, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionSkyUppercut", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionSkyUppercut", "useText": "MoveUseTextUse" }, { - "name": "Skill Swap", - "namePointer": "MoveNameSkillSwap", - "power": 2, + "name": "MoveNameSkillSwap", + "basePower": 2, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionSkillSwap", + "rangeID": 11, + "description": "MoveDescriptionSkillSwap", "useText": "MoveUseTextUse" }, { - "name": "Sketch", - "namePointer": "MoveNameSketch", - "power": 2, + "name": "MoveNameSketch", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 1, - "weight": 20, - "accuracyGlobal": 100, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 1, + "aiWeight": 20, + "accuracy1": 100, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionSketch", + "rangeID": 11, + "description": "MoveDescriptionSketch", "useText": "MoveUseTextUse" }, { - "name": "Headbutt", - "namePointer": "MoveNameHeadbutt", - "power": 6, + "name": "MoveNameHeadbutt", + "basePower": 6, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionCringe", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionCringe", "useText": "MoveUseTextUse" }, { - "name": "Double-Edge", - "namePointer": "MoveNameDoubleEdge", - "power": 15, + "name": "MoveNameDoubleEdge", + "basePower": 15, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionRecoil", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionRecoil", "useText": "MoveUseTextUse" }, { - "name": "Sandstorm", - "namePointer": "MoveNameSandstorm", - "power": 2, + "name": "MoveNameSandstorm", + "basePower": 2, "type": "TYPE_ROCK", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 14, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 20, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 14, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 20, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 6, - "descriptionPointer": "MoveDescriptionSandstorm", + "rangeID": 6, + "description": "MoveDescriptionSandstorm", "useText": "MoveUseTextUse" }, { - "name": "Sand-Attack", - "namePointer": "MoveNameSandAttack", - "power": 2, + "name": "MoveNameSandAttack", + "basePower": 2, "type": "TYPE_GROUND", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 80, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 80, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionLowerAccuracy", + "rangeID": 3, + "description": "MoveDescriptionLowerAccuracy", "useText": "MoveUseTextUse" }, { - "name": "Sand Tomb", - "namePointer": "MoveNameSandTomb", - "power": 4, + "name": "MoveNameSandTomb", + "basePower": 4, "type": "TYPE_GROUND", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 73, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 73, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionConstriction", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionConstriction", "useText": "MoveUseTextUse" }, { - "name": "Spark", - "namePointer": "MoveNameSpark", - "power": 12, + "name": "MoveNameSpark", + "basePower": 12, "type": "TYPE_ELECTRIC", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionParalyzeChance", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionParalyzeChance", "useText": "MoveUseTextUse" }, { - "name": "Swift", - "namePointer": "MoveNameSwift", - "power": 10, + "name": "MoveNameSwift", + "basePower": 10, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 8, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 8, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionNeverMiss", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionNeverMiss", "useText": "MoveUseTextUse" }, { - "name": "Kinesis", - "namePointer": "MoveNameKinesis", - "power": 2, + "name": "MoveNameKinesis", + "basePower": 2, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionLowerAccuracy", + "rangeID": 11, + "description": "MoveDescriptionLowerAccuracy", "useText": "MoveUseTextUse" }, { - "name": "Smog", - "namePointer": "MoveNameSmog", - "power": 4, + "name": "MoveNameSmog", + "basePower": 4, "type": "TYPE_POISON", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 73, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 73, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionPoisonChance", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionPoisonChance", "useText": "MoveUseTextUse" }, { - "name": "Growth", - "namePointer": "MoveNameGrowth", - "power": 2, + "name": "MoveNameGrowth", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionGrowth", + "rangeID": 19, + "description": "MoveDescriptionGrowth", "useText": "MoveUseTextUse" }, { - "name": "Sacred Fire", - "namePointer": "MoveNameSacredFire", - "power": 20, + "name": "MoveNameSacredFire", + "basePower": 20, "type": "TYPE_FIRE", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 10, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionSacredFire", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionSacredFire", "useText": "MoveUseTextUse" }, { - "name": "Sheer Cold", - "namePointer": "MoveNameSheerCold", - "power": 2, + "name": "MoveNameSheerCold", + "basePower": 2, "type": "TYPE_ICE", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 20, - "accuracyGlobal": 35, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 20, + "accuracy1": 35, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionSheerCold", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionSheerCold", "useText": "MoveUseTextUse" }, { - "name": "Solarbeam", - "namePointer": "MoveNameSolarbeam", - "power": 24, + "name": "MoveNameSolarbeam", + "basePower": 24, "type": "TYPE_GRASS", "targetingFlags": "0b0000000001110100", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 9, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 9, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 28, - "descriptionPointer": "MoveDescriptionSolarbeam", + "ignoresTaunted": true, + "rangeID": 28, + "description": "MoveDescriptionSolarbeam", "useText": "MoveUseTextUse" }, { - "name": "Sonicboom", - "namePointer": "MoveNameSonicboom", - "power": 2, + "name": "MoveNameSonicboom", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 22, - "weight": 10, - "accuracyGlobal": 100, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 10, + "accuracy1": 100, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionSonicboom", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionSonicboom", "useText": "MoveUseTextUse" }, { - "name": "Fly", - "namePointer": "MoveNameFly", - "power": 14, + "name": "MoveNameFly", + "basePower": 14, "type": "TYPE_FLYING", "targetingFlags": "0b0000000001110100", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 20, - "descriptionPointer": "MoveDescriptionFly", + "ignoresTaunted": true, + "rangeID": 20, + "description": "MoveDescriptionFly", "useText": "MoveUseTextUse" }, { - "name": "Tackle", - "namePointer": "MoveNameTackle", - "power": 7, + "name": "MoveNameTackle", + "basePower": 7, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 25, - "accuracyGlobal": 100, - "accuracyOffensive": 95, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 25, + "accuracy1": 100, + "accuracy2": 95, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDamage", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDamage", "useText": "MoveUseTextUse" }, { - "name": "Explosion", - "namePointer": "MoveNameExplosion", - "power": 50, + "name": "MoveNameExplosion", + "basePower": 50, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000001000000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 27, - "descriptionPointer": "MoveDescriptionExplosion", + "ignoresTaunted": true, + "rangeID": 27, + "description": "MoveDescriptionExplosion", "useText": "MoveUseTextUse" }, { - "name": "Dive", - "namePointer": "MoveNameDive", - "power": 12, + "name": "MoveNameDive", + "basePower": 12, "type": "TYPE_WATER", "targetingFlags": "0b0000000001110100", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 20, - "descriptionPointer": "MoveDescriptionDive", + "ignoresTaunted": true, + "rangeID": 20, + "description": "MoveDescriptionDive", "useText": "MoveUseTextUse" }, { - "name": "Fire Blast", - "namePointer": "MoveNameFireBlast", - "power": 24, + "name": "MoveNameFireBlast", + "basePower": 24, "type": "TYPE_FIRE", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 9, - "weight": 30, - "accuracyGlobal": 100, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 9, + "aiWeight": 30, + "accuracy1": 100, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": false, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionBurnChance", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionBurnChance", "useText": "MoveUseTextUse" }, { - "name": "Waterfall", - "namePointer": "MoveNameWaterfall", - "power": 16, + "name": "MoveNameWaterfall", + "basePower": 16, "type": "TYPE_WATER", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDamage", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDamage", "useText": "MoveUseTextUse" }, { - "name": "Muddy Water", - "namePointer": "MoveNameMuddyWater", - "power": 18, + "name": "MoveNameMuddyWater", + "basePower": 18, "type": "TYPE_WATER", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 10, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionMuddyWater", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionMuddyWater", "useText": "MoveUseTextUse" }, { - "name": "Stockpile", - "namePointer": "MoveNameStockpile", - "power": 2, + "name": "MoveNameStockpile", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, - "affectedByMuzzled": true, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, + "usesMouth": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionStockpile", + "rangeID": 19, + "description": "MoveDescriptionStockpile", "useText": "MoveUseTextUse" }, { - "name": "Slam", - "namePointer": "MoveNameSlam", - "power": 16, + "name": "MoveNameSlam", + "basePower": 16, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDamage", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDamage", "useText": "MoveUseTextUse" }, { - "name": "Twister", - "namePointer": "MoveNameTwister", - "power": 8, + "name": "MoveNameTwister", + "basePower": 8, "type": "TYPE_DRAGON", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionTwister", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionTwister", "useText": "MoveUseTextUse" }, { - "name": "Bullet Seed", - "namePointer": "MoveNameBulletSeed", - "power": 10, + "name": "MoveNameBulletSeed", + "basePower": 10, "type": "TYPE_GRASS", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 10, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 0, - "maxPowerBoost": 99, - "criticalHitChance": 2, + "basePP": 10, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 0, + "maxUpgradeLevel": 99, + "critChance": 2, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionMultiHitDistance", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionMultiHitDistance", "useText": "MoveUseTextUse" }, { - "name": "Twineedle", - "namePointer": "MoveNameTwineedle", - "power": 6, + "name": "MoveNameTwineedle", + "basePower": 6, "type": "TYPE_BUG", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 15, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 80, - "accuracyUseChance": 75, - "hitCount": 2, - "maxPowerBoost": 99, - "criticalHitChance": 2, + "basePP": 15, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 80, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 2, + "maxUpgradeLevel": 99, + "critChance": 2, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionTwineedle", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionTwineedle", "useText": "MoveUseTextUse" }, { - "name": "Softboiled", - "namePointer": "MoveNameSoftboiled", - "power": 2, + "name": "MoveNameSoftboiled", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000001000110001", "aiTargetingFlags": "0b0000001000110001", - "maxPP": 15, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 15, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 16, - "descriptionPointer": "MoveDescriptionSoftboiled", + "rangeID": 16, + "description": "MoveDescriptionSoftboiled", "useText": "MoveUseTextUse" }, { - "name": "Egg Bomb", - "namePointer": "MoveNameEggBomb", - "power": 10, + "name": "MoveNameEggBomb", + "basePower": 10, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 15, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionDamage", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionDamage", "useText": "MoveUseTextUse" }, { - "name": "Faint Attack", - "namePointer": "MoveNameFaintAttack", - "power": 6, + "name": "MoveNameFaintAttack", + "basePower": 6, "type": "TYPE_DARK", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 8, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 8, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionNeverMiss", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionNeverMiss", "useText": "MoveUseTextUse" }, { - "name": "Barrage", - "namePointer": "MoveNameBarrage", - "power": 1, + "name": "MoveNameBarrage", + "basePower": 1, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 17, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 0, - "maxPowerBoost": 99, - "criticalHitChance": 2, + "basePP": 17, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 0, + "maxUpgradeLevel": 99, + "critChance": 2, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionMultiHit", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionMultiHit", "useText": "MoveUseTextUse" }, { - "name": "Minimize", - "namePointer": "MoveNameMinimize", - "power": 2, + "name": "MoveNameMinimize", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 27, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 27, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionBoostEvasion", + "rangeID": 19, + "description": "MoveDescriptionBoostEvasion", "useText": "MoveUseTextUse" }, { - "name": "Seismic Toss", - "namePointer": "MoveNameSeismicToss", - "power": 2, + "name": "MoveNameSeismicToss", + "basePower": 2, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 30, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 30, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionSeismicToss", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionSeismicToss", "useText": "MoveUseTextUse" }, { - "name": "Supersonic", - "namePointer": "MoveNameSupersonic", - "power": 2, + "name": "MoveNameSupersonic", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 10, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 55, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 55, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, - "affectedByMuzzled": true, + "usesMouth": true, "cannotHitFrozen": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionConfuse", + "rangeID": 3, + "description": "MoveDescriptionConfuse", "useText": "MoveUseTextUse" }, { - "name": "Taunt", - "namePointer": "MoveNameTaunt", - "power": 2, + "name": "MoveNameTaunt", + "basePower": 2, "type": "TYPE_DARK", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 20, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 20, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionTaunt", + "rangeID": 11, + "description": "MoveDescriptionTaunt", "useText": "MoveUseTextUse" }, { - "name": "Moonlight", - "namePointer": "SpeciesCategoryUmbreon", - "power": 2, + "name": "MonsterCategoryUmbreon", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000001001100001", "aiTargetingFlags": "0b0000001000110001", - "maxPP": 12, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 12, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 5, - "descriptionPointer": "MoveDescriptionMoonlight", + "rangeID": 5, + "description": "MoveDescriptionMoonlight", "useText": "MoveUseTextUse" }, { - "name": "Peck", - "namePointer": "MoveNamePeck", - "power": 4, + "name": "MoveNamePeck", + "basePower": 4, "type": "TYPE_FLYING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 95, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 95, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDamage", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDamage", "useText": "MoveUseTextUse" }, { - "name": "Arm Thrust", - "namePointer": "SpeciesCategoryHariyama", - "power": 2, + "name": "MonsterCategoryHariyama", + "basePower": 2, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 0, - "maxPowerBoost": 99, - "criticalHitChance": 2, + "basePP": 17, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 0, + "maxUpgradeLevel": 99, + "critChance": 2, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionMultiHit", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionMultiHit", "useText": "MoveUseTextUse" }, { - "name": "Horn Attack", - "namePointer": "MoveNameHornAttack", - "power": 8, + "name": "MoveNameHornAttack", + "basePower": 8, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 18, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 95, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 18, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 95, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDamage", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDamage", "useText": "MoveUseTextUse" }, { - "name": "Horn Drill", - "namePointer": "MoveNameHornDrill", - "power": 2, + "name": "MoveNameHornDrill", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 25, - "accuracyGlobal": 35, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 25, + "accuracy1": 35, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionOneHit", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionOneHit", "useText": "MoveUseTextUse" }, { - "name": "Wing Attack", - "namePointer": "MoveNameWingAttack", - "power": 6, + "name": "MoveNameWingAttack", + "basePower": 6, "type": "TYPE_FLYING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 95, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 95, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDamage", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDamage", "useText": "MoveUseTextUse" }, { - "name": "Aerial Ace", - "namePointer": "MoveNameAerialAce", - "power": 10, + "name": "MoveNameAerialAce", + "basePower": 10, "type": "TYPE_FLYING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 8, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 8, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionNeverMiss", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionNeverMiss", "useText": "MoveUseTextUse" }, { - "name": "Icicle Spear", - "namePointer": "MoveNameIcicleSpear", - "power": 2, + "name": "MoveNameIcicleSpear", + "basePower": 2, "type": "TYPE_ICE", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 22, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 70, - "accuracyUseChance": 75, - "hitCount": 0, - "maxPowerBoost": 99, - "criticalHitChance": 2, + "basePP": 22, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 70, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 0, + "maxUpgradeLevel": 99, + "critChance": 2, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionMultiHit", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionMultiHit", "useText": "MoveUseTextUse" }, { - "name": "Swords Dance", - "namePointer": "MoveNameSwordsDance", - "power": 2, + "name": "MoveNameSwordsDance", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 20, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 20, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionSwordsDance", + "rangeID": 19, + "description": "MoveDescriptionSwordsDance", "useText": "MoveUseTextUse" }, { - "name": "Vine Whip", - "namePointer": "MoveNameVineWhip", - "power": 8, + "name": "MoveNameVineWhip", + "basePower": 8, "type": "TYPE_GRASS", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDamage", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDamage", "useText": "MoveUseTextUse" }, { - "name": "Conversion", - "namePointer": "MoveNameConversion", - "power": 2, + "name": "MoveNameConversion", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionConversion", + "rangeID": 19, + "description": "MoveDescriptionConversion", "useText": "MoveUseTextUse" }, { - "name": "Conversion 2", - "namePointer": "MoveNameConversion2", - "power": 2, + "name": "MoveNameConversion2", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionConversion2", + "rangeID": 19, + "description": "MoveDescriptionConversion2", "useText": "MoveUseTextUse" }, { - "name": "Helping Hand", - "namePointer": "MoveNameHelpingHand", - "power": 2, + "name": "MoveNameHelpingHand", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000110110", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 17, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 22, - "descriptionPointer": "MoveDescriptionHelpingHand", + "rangeID": 22, + "description": "MoveDescriptionHelpingHand", "useText": "MoveUseTextUse" }, { - "name": "Iron Defense", - "namePointer": "MoveNameIronDefense", - "power": 2, + "name": "MoveNameIronDefense", + "basePower": 2, "type": "TYPE_STEEL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionBoostDefenseTwo", + "rangeID": 19, + "description": "MoveDescriptionBoostDefenseTwo", "useText": "MoveUseTextUse" }, { - "name": "Teleport", - "namePointer": "MoveNameTeleport", - "power": 2, + "name": "MoveNameTeleport", + "basePower": 2, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionTeleport", + "rangeID": 19, + "description": "MoveDescriptionTeleport", "useText": "MoveUseTextUse" }, { - "name": "Thundershock", - "namePointer": "MoveNameThundershock", - "power": 1, + "name": "MoveNameThundershock", + "basePower": 1, "type": "TYPE_ELECTRIC", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 2, + "basePP": 17, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 2, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionParalyzeChance", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionParalyzeChance", "useText": "MoveUseTextUse" }, { - "name": "Shock Wave", - "namePointer": "MoveNameShockWave", - "power": 7, + "name": "MoveNameShockWave", + "basePower": 7, "type": "TYPE_ELECTRIC", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 8, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 8, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionShockWave", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionShockWave", "useText": "MoveUseTextUse" }, { - "name": "Quick Attack", - "namePointer": "MoveNameQuickAttack", - "power": 4, + "name": "MoveNameQuickAttack", + "basePower": 4, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001000000", "aiTargetingFlags": "0b0000000001000000", - "maxPP": 13, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 13, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 13, - "descriptionPointer": "MoveDescriptionTwoTilesAhead", + "ignoresTaunted": true, + "rangeID": 13, + "description": "MoveDescriptionTwoTilesAhead", "useText": "MoveUseTextUse" }, { - "name": "Sweet Kiss", - "namePointer": "MoveNameSweetKiss", - "power": 2, + "name": "MoveNameSweetKiss", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, - "affectedByMuzzled": true, + "usesMouth": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionConfuse", + "rangeID": 11, + "description": "MoveDescriptionConfuse", "useText": "MoveUseTextUse" }, { - "name": "Thunder Wave", - "namePointer": "MoveNameThunderWave", - "power": 2, + "name": "MoveNameThunderWave", + "basePower": 2, "type": "TYPE_ELECTRIC", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 50, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 50, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionParalyze", + "rangeID": 11, + "description": "MoveDescriptionParalyze", "useText": "MoveUseTextUse" }, { - "name": "Zap Cannon", - "namePointer": "MoveNameZapCannon", - "power": 20, + "name": "MoveNameZapCannon", + "basePower": 20, "type": "TYPE_ELECTRIC", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 9, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 73, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 9, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 73, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionZapCannon", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionZapCannon", "useText": "MoveUseTextUse" }, { - "name": "Block", - "namePointer": "MoveNameBlock", - "power": 2, + "name": "MoveNameBlock", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionBlock", + "rangeID": 11, + "description": "MoveDescriptionBlock", "useText": "MoveUseTextUse" }, { - "name": "Howl", - "namePointer": "MoveNameHowl", - "power": 2, + "name": "MoveNameHowl", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 27, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, - "affectedByMuzzled": true, + "basePP": 27, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, + "usesMouth": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionBoostAttack", + "rangeID": 19, + "description": "MoveDescriptionBoostAttack", "useText": "MoveUseTextUse" }, { - "name": "Poison Gas", - "namePointer": "SpeciesCategoryKoffing", - "power": 2, + "name": "MonsterCategoryKoffing", + "basePower": 2, "type": "TYPE_POISON", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 27, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 27, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionPoison", + "rangeID": 11, + "description": "MoveDescriptionPoison", "useText": "MoveUseTextUse" }, { - "name": "Toxic", - "namePointer": "MoveNameToxic", - "power": 2, + "name": "MoveNameToxic", + "basePower": 2, "type": "TYPE_POISON", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionToxic", + "rangeID": 11, + "description": "MoveDescriptionToxic", "useText": "MoveUseTextUse" }, { - "name": "Poison Fang", - "namePointer": "MoveNamePoisonFang", - "power": 10, + "name": "MoveNamePoisonFang", + "basePower": 10, "type": "TYPE_POISON", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionPoisonFang", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionPoisonFang", "useText": "MoveUseTextUse" }, { - "name": "Poisonpowder", - "namePointer": "MoveNamePoisonpowder", - "power": 2, + "name": "MoveNamePoisonpowder", + "basePower": 2, "type": "TYPE_POISON", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionPoison", + "rangeID": 11, + "description": "MoveDescriptionPoison", "useText": "MoveUseTextUse" }, { - "name": "Poison Sting", - "namePointer": "MoveNamePoisonSting", - "power": 3, + "name": "MoveNamePoisonSting", + "basePower": 3, "type": "TYPE_POISON", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 19, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 73, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 19, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 73, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionPoisonChance", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionPoisonChance", "useText": "MoveUseTextUse" }, { - "name": "Spike Cannon", - "namePointer": "MoveNameSpikeCannon", - "power": 3, + "name": "MoveNameSpikeCannon", + "basePower": 3, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 17, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 70, - "accuracyUseChance": 75, - "hitCount": 0, - "maxPowerBoost": 99, - "criticalHitChance": 2, + "basePP": 17, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 70, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 0, + "maxUpgradeLevel": 99, + "critChance": 2, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionMultiHitDistance", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionMultiHitDistance", "useText": "MoveUseTextUse" }, { - "name": "Acid Armor", - "namePointer": "MoveNameAcidArmor", - "power": 2, + "name": "MoveNameAcidArmor", + "basePower": 2, "type": "TYPE_POISON", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 27, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 27, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionBoostDefenseTwo", + "rangeID": 19, + "description": "MoveDescriptionBoostDefenseTwo", "useText": "MoveUseTextUse" }, { - "name": "Take Down", - "namePointer": "MoveNameTakeDown", - "power": 8, + "name": "MoveNameTakeDown", + "basePower": 8, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 19, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 19, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionTakeDown", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionTakeDown", "useText": "MoveUseTextUse" }, { - "name": "Jump Kick", - "namePointer": "MoveNameJumpKick", - "power": 14, + "name": "MoveNameJumpKick", + "basePower": 14, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 13, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 95, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 13, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 95, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionJumpKick", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionJumpKick", "useText": "MoveUseTextUse" }, { - "name": "Bounce", - "namePointer": "SpeciesCategorySpoink", - "power": 16, + "name": "MonsterCategorySpoink", + "basePower": 16, "type": "TYPE_FLYING", "targetingFlags": "0b0000000001110100", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 11, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 11, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 20, - "descriptionPointer": "MoveDescriptionBounce", + "ignoresTaunted": true, + "rangeID": 20, + "description": "MoveDescriptionBounce", "useText": "MoveUseTextUse" }, { - "name": "Hi Jump Kick", - "namePointer": "MoveNameHiJumpKick", - "power": 16, + "name": "MoveNameHiJumpKick", + "basePower": 16, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 11, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 11, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionJumpKick", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionJumpKick", "useText": "MoveUseTextUse" }, { - "name": "Tri Attack", - "namePointer": "MoveNameTriAttack", - "power": 6, + "name": "MoveNameTriAttack", + "basePower": 6, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 17, - "weight": 25, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 25, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": false, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionTriAttack", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionTriAttack", "useText": "MoveUseTextUse" }, { - "name": "Dragon Claw", - "namePointer": "MoveNameDragonClaw", - "power": 16, + "name": "MoveNameDragonClaw", + "basePower": 16, "type": "TYPE_DRAGON", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 10, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDamage", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDamage", "useText": "MoveUseTextUse" }, { - "name": "Trick", - "namePointer": "MoveNameTrick", - "power": 2, + "name": "MoveNameTrick", + "basePower": 2, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionTrick", + "rangeID": 11, + "description": "MoveDescriptionTrick", "useText": "MoveUseTextUse" }, { - "name": "Triple Kick", - "namePointer": "MoveNameTripleKick", - "power": 8, + "name": "MoveNameTripleKick", + "basePower": 8, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 70, - "accuracyUseChance": 75, - "hitCount": 3, - "maxPowerBoost": 99, - "criticalHitChance": 2, + "basePP": 15, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 70, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 3, + "maxUpgradeLevel": 99, + "critChance": 2, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionTripleKick", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionTripleKick", "useText": "MoveUseTextUse" }, { - "name": "Drill Peck", - "namePointer": "MoveNameDrillPeck", - "power": 16, + "name": "MoveNameDrillPeck", + "basePower": 16, "type": "TYPE_FLYING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 13, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 13, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDamage", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDamage", "useText": "MoveUseTextUse" }, { - "name": "Mud Sport", - "namePointer": "MoveNameMudSport", - "power": 2, + "name": "MoveNameMudSport", + "basePower": 2, "type": "TYPE_GROUND", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 17, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 6, - "descriptionPointer": "MoveDescriptionMudSport", + "rangeID": 6, + "description": "MoveDescriptionMudSport", "useText": "MoveUseTextUse" }, { - "name": "Mud-Slap", - "namePointer": "MoveNameMudSlap", - "power": 4, + "name": "MoveNameMudSlap", + "basePower": 4, "type": "TYPE_GROUND", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 16, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 16, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionMudSlap", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionMudSlap", "useText": "MoveUseTextUse" }, { - "name": "Thief", - "namePointer": "MoveNameThief", - "power": 2, + "name": "MoveNameThief", + "basePower": 2, "type": "TYPE_DARK", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 20, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 20, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionThief", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionThief", "useText": "MoveUseTextUse" }, { - "name": "Amnesia", - "namePointer": "MoveNameAmnesia", - "power": 2, + "name": "MoveNameAmnesia", + "basePower": 2, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionAmnesia", + "rangeID": 19, + "description": "MoveDescriptionAmnesia", "useText": "MoveUseTextUse" }, { - "name": "Night Shade", - "namePointer": "MoveNameNightShade", - "power": 2, + "name": "MoveNameNightShade", + "basePower": 2, "type": "TYPE_GHOST", "targetingFlags": "0b0000000000100000", "aiTargetingFlags": "0b0000000000100000", - "maxPP": 17, - "weight": 25, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 25, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 2, - "descriptionPointer": "MoveDescriptionNightShade", + "ignoresTaunted": true, + "rangeID": 2, + "description": "MoveDescriptionNightShade", "useText": "MoveUseTextUse" }, { - "name": "Growl", - "namePointer": "MoveNameGrowl", - "power": 2, + "name": "MoveNameGrowl", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000110000", "aiTargetingFlags": "0b0000000001000000", - "maxPP": 20, - "weight": 10, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 20, + "aiWeight": 10, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, - "affectedByMuzzled": true, + "usesMouth": true, "cannotHitFrozen": true, - "rangeType": 15, - "descriptionPointer": "MoveDescriptionGrowl", + "rangeID": 15, + "description": "MoveDescriptionGrowl", "useText": "MoveUseTextUse" }, { - "name": "Slack Off", - "namePointer": "MoveNameSlackOff", - "power": 2, + "name": "MoveNameSlackOff", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000001001110011", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionRecover", + "rangeID": 19, + "description": "MoveDescriptionRecover", "useText": "MoveUseTextUse" }, { - "name": "Surf", - "namePointer": "MoveNameSurf", - "power": 18, + "name": "MoveNameSurf", + "basePower": 18, "type": "TYPE_WATER", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 11, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 11, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionSurf", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionSurf", "useText": "MoveUseTextUse" }, { - "name": "Role Play", - "namePointer": "MoveNameRolePlay", - "power": 2, + "name": "MoveNameRolePlay", + "basePower": 2, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionRolePlay", + "rangeID": 11, + "description": "MoveDescriptionRolePlay", "useText": "MoveUseTextUse" }, { - "name": "Needle Arm", - "namePointer": "MoveNameNeedleArm", - "power": 12, + "name": "MoveNameNeedleArm", + "basePower": 12, "type": "TYPE_GRASS", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 11, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 11, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionCringe", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionCringe", "useText": "MoveUseTextUse" }, { - "name": "Double Kick", - "namePointer": "MoveNameDoubleKick", - "power": 6, + "name": "MoveNameDoubleKick", + "basePower": 6, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 14, - "weight": 20, - "accuracyGlobal": 100, - "accuracyOffensive": 87, - "accuracyUseChance": 75, - "hitCount": 2, - "maxPowerBoost": 99, - "criticalHitChance": 3, + "basePP": 14, + "aiWeight": 20, + "accuracy1": 100, + "accuracy2": 87, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 2, + "maxUpgradeLevel": 99, + "critChance": 3, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionHitTwice", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionHitTwice", "useText": "MoveUseTextUse" }, { - "name": "Sunny Day", - "namePointer": "MoveNameSunnyDay", - "power": 2, + "name": "MoveNameSunnyDay", + "basePower": 2, "type": "TYPE_FIRE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 12, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 6, - "descriptionPointer": "MoveDescriptionSunnyDay", + "rangeID": 6, + "description": "MoveDescriptionSunnyDay", "useText": "MoveUseTextUse" }, { - "name": "Leer", - "namePointer": "MoveNameLeer", - "power": 2, + "name": "MoveNameLeer", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 27, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 27, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionLowerDefense", + "rangeID": 11, + "description": "MoveDescriptionLowerDefense", "useText": "MoveUseTextUse" }, { - "name": "Wish", - "namePointer": "SpeciesCategoryJirachi", - "power": 2, + "name": "MonsterCategoryJirachi", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 15, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionWish", + "rangeID": 19, + "description": "MoveDescriptionWish", "useText": "MoveUseTextUse" }, { - "name": "Fake Out", - "namePointer": "MoveNameFakeOut", - "power": 8, + "name": "MoveNameFakeOut", + "basePower": 8, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001000000", "aiTargetingFlags": "0b0000000001000000", - "maxPP": 17, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 13, - "descriptionPointer": "MoveDescriptionFakeOut", + "ignoresTaunted": true, + "rangeID": 13, + "description": "MoveDescriptionFakeOut", "useText": "MoveUseTextUse" }, { - "name": "Sleep Talk", - "namePointer": "MoveNameSleepTalk", - "power": 2, + "name": "MoveNameSleepTalk", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "affectedByMuzzled": true, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "usesMouth": true, "cannotHitFrozen": true, - "rangeType": 10, - "descriptionPointer": "MoveDescriptionSleepTalk", + "rangeID": 10, + "description": "MoveDescriptionSleepTalk", "useText": "MoveUseTextUse" }, { - "name": "Pay Day", - "namePointer": "MoveNamePayDay", - "power": 8, + "name": "MoveNamePayDay", + "basePower": 8, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionPayDay", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionPayDay", "useText": "MoveUseTextUse" }, { - "name": "Assist", - "namePointer": "MoveNameAssist", - "power": 2, + "name": "MoveNameAssist", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 27, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 95, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 27, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 95, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 10, - "descriptionPointer": "MoveDescriptionAssist", + "ignoresTaunted": true, + "rangeID": 10, + "description": "MoveDescriptionAssist", "useText": "MoveUseTextAssist" }, { - "name": "Heat Wave", - "namePointer": "MoveNameHeatWave", - "power": 10, + "name": "MoveNameHeatWave", + "basePower": 10, "type": "TYPE_FIRE", "targetingFlags": "0b0000000000110000", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 15, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": false, - "dealsDirectDamage": true, - "rangeType": 15, - "descriptionPointer": "MoveDescriptionHeatWave", + "ignoresTaunted": true, + "rangeID": 15, + "description": "MoveDescriptionHeatWave", "useText": "MoveUseTextUse" }, { - "name": "Sleep Powder", - "namePointer": "MoveNameSleepPowder", - "power": 2, + "name": "MoveNameSleepPowder", + "basePower": 2, "type": "TYPE_GRASS", "targetingFlags": "0b0000000000100000", "aiTargetingFlags": "0b0000000000100000", - "maxPP": 19, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 19, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 2, - "descriptionPointer": "MoveDescriptionSleepPowder", + "rangeID": 2, + "description": "MoveDescriptionSleepPowder", "useText": "MoveUseTextUse" }, { - "name": "Rest", - "namePointer": "MoveNameRest", - "power": 2, + "name": "MoveNameRest", + "basePower": 2, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 10, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 10, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionRest", + "rangeID": 19, + "description": "MoveDescriptionRest", "useText": "MoveUseTextUse" }, { - "name": "Ingrain", - "namePointer": "MoveNameIngrain", - "power": 2, + "name": "MoveNameIngrain", + "basePower": 2, "type": "TYPE_GRASS", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 22, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionIngrain", + "rangeID": 19, + "description": "MoveDescriptionIngrain", "useText": "MoveUseTextUse" }, { - "name": "Confusion", - "namePointer": "MoveNameConfusion", - "power": 5, + "name": "MoveNameConfusion", + "basePower": 5, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 10, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 10, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionConfuseChance", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionConfuseChance", "useText": "MoveUseTextUse" }, { - "name": "Body Slam", - "namePointer": "MoveNameBodySlam", - "power": 12, + "name": "MoveNameBodySlam", + "basePower": 12, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionParalyzeChance", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionParalyzeChance", "useText": "MoveUseTextUse" }, { - "name": "Swallow", - "namePointer": "SpeciesCategorySwellow", - "power": 2, + "name": "MonsterCategorySwellow", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000001001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, - "affectedByMuzzled": true, + "basePP": 15, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, + "usesMouth": true, "cannotHitFrozen": true, - "rangeType": 21, - "descriptionPointer": "MoveDescriptionSwallow", + "rangeID": 21, + "description": "MoveDescriptionSwallow", "useText": "MoveUseTextUse" }, { - "name": "Curse", - "namePointer": "MoveNameCurse", - "power": 2, + "name": "MoveNameCurse", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 20, - "accuracyGlobal": 100, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 20, + "accuracy1": 100, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 10, - "descriptionPointer": "MoveDescriptionCurse", + "rangeID": 10, + "description": "MoveDescriptionCurse", "useText": "MoveUseTextUse" }, { - "name": "Frenzy Plant", - "namePointer": "MoveNameFrenzyPlant", - "power": 30, + "name": "MoveNameFrenzyPlant", + "basePower": 30, "type": "TYPE_GRASS", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 10, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionFrenzyPlant", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionFrenzyPlant", "useText": "MoveUseTextUse" }, { - "name": "Hydro Cannon", - "namePointer": "MoveNameHydroCannon", - "power": 30, + "name": "MoveNameHydroCannon", + "basePower": 30, "type": "TYPE_WATER", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 9, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 9, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionHydroCannon", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionHydroCannon", "useText": "MoveUseTextUse" }, { - "name": "Hydro Pump", - "namePointer": "MoveNameHydroPump", - "power": 24, + "name": "MoveNameHydroPump", + "basePower": 24, "type": "TYPE_WATER", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 9, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 9, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionHydroPump", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionHydroPump", "useText": "MoveUseTextUse" }, { - "name": "Hyper Voice", - "namePointer": "MoveNameHyperVoice", - "power": 18, + "name": "MoveNameHyperVoice", + "basePower": 18, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 12, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, - "affectedByMuzzled": true, + "basePP": 12, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, + "usesMouth": true, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionDamage", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionDamage", "useText": "MoveUseTextUse" }, { - "name": "Hyper Beam", - "namePointer": "MoveNameHyperBeam", - "power": 30, + "name": "MoveNameHyperBeam", + "basePower": 30, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 8, - "weight": 10, - "accuracyGlobal": 100, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 8, + "aiWeight": 10, + "accuracy1": 100, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionHyperBeam", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionHyperBeam", "useText": "MoveUseTextUse" }, { - "name": "Superpower", - "namePointer": "SpeciesCategoryMachop", - "power": 24, + "name": "MonsterCategoryMachop", + "basePower": 24, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 11, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 11, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionSuperpower", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionSuperpower", "useText": "MoveUseTextUse" }, { - "name": "Steel Wing", - "namePointer": "MoveNameSteelWing", - "power": 14, + "name": "MoveNameSteelWing", + "basePower": 14, "type": "TYPE_STEEL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 10, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionSteelWing", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionSteelWing", "useText": "MoveUseTextUse" }, { - "name": "Spit Up", - "namePointer": "MoveNameSpitUp", - "power": 20, + "name": "MoveNameSpitUp", + "basePower": 20, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, - "affectedByMuzzled": true, + "basePP": 12, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, + "usesMouth": true, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionSpitUp", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionSpitUp", "useText": "MoveUseTextUse" }, { - "name": "Dynamicpunch", - "namePointer": "MoveNameDynamicpunch", - "power": 10, + "name": "MoveNameDynamicpunch", + "basePower": 10, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 13, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 13, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDynamicpunch", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDynamicpunch", "useText": "MoveUseTextUse" }, { - "name": "Guillotine", - "namePointer": "MoveNameGuillotine", - "power": 2, + "name": "MoveNameGuillotine", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 20, - "accuracyGlobal": 35, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 20, + "accuracy1": 35, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionOneHit", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionOneHit", "useText": "MoveUseTextUse" }, { - "name": "Vicegrip", - "namePointer": "MoveNameVicegrip", - "power": 6, + "name": "MoveNameVicegrip", + "basePower": 6, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDamage", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDamage", "useText": "MoveUseTextUse" }, { - "name": "Knock Off", - "namePointer": "MoveNameKnockOff", - "power": 4, + "name": "MoveNameKnockOff", + "basePower": 4, "type": "TYPE_DARK", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionKnockOff", + "rangeID": 11, + "description": "MoveDescriptionKnockOff", "useText": "MoveUseTextUse" }, { - "name": "Pound", - "namePointer": "MoveNamePound", - "power": 8, + "name": "MoveNamePound", + "basePower": 8, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDamage", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDamage", "useText": "MoveUseTextUse" }, { - "name": "Razor Leaf", - "namePointer": "MoveNameRazorLeaf", - "power": 4, + "name": "MoveNameRazorLeaf", + "basePower": 4, "type": "TYPE_GRASS", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 50, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 50, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionHighCriticalDistance", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionHighCriticalDistance", "useText": "MoveUseTextUse" }, { - "name": "Baton Pass", - "namePointer": "MoveNameBatonPass", - "power": 2, + "name": "MoveNameBatonPass", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000110010", "aiTargetingFlags": "0b0000000000110010", - "maxPP": 19, - "weight": 10, - "accuracyGlobal": 100, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 19, + "aiWeight": 10, + "accuracy1": 100, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 17, - "descriptionPointer": "MoveDescriptionBatonPass", + "rangeID": 17, + "description": "MoveDescriptionBatonPass", "useText": "MoveUseTextUse" }, { - "name": "Petal Dance", - "namePointer": "MoveNamePetalDance", - "power": 7, + "name": "MoveNamePetalDance", + "basePower": 7, "type": "TYPE_GRASS", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 87, - "accuracyUseChance": 75, - "hitCount": 0, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 87, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 0, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionPetalDance", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionPetalDance", "useText": "MoveUseTextUse" }, { - "name": "Splash", - "namePointer": "MoveNameSplash", - "power": 2, + "name": "MoveNameSplash", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 50, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 50, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionSplash", + "rangeID": 19, + "description": "MoveDescriptionSplash", "useText": "MoveUseTextUse" }, { - "name": "Bubblebeam", - "namePointer": "MoveNameBubblebeam", - "power": 6, + "name": "MoveNameBubblebeam", + "basePower": 6, "type": "TYPE_WATER", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 19, - "weight": 20, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 19, + "aiWeight": 20, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionLowerSpeedChanceDistance", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionLowerSpeedChanceDistance", "useText": "MoveUseTextUse" }, { - "name": "Doom Desire", - "namePointer": "MoveNameDoomDesire", - "power": 24, + "name": "MoveNameDoomDesire", + "basePower": 24, "type": "TYPE_STEEL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 11, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 11, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionFixedDamage", + "rangeID": 19, + "description": "MoveDescriptionFixedDamage", "useText": "MoveUseTextUse" }, { - "name": "Belly Drum", - "namePointer": "MoveNameBellyDrum", - "power": 2, + "name": "MoveNameBellyDrum", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 10, - "weight": 25, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 10, + "aiWeight": 25, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionBellyDrum", + "rangeID": 19, + "description": "MoveDescriptionBellyDrum", "useText": "MoveUseTextUse" }, { - "name": "Barrier", - "namePointer": "SpeciesCategoryMrMime", - "power": 2, + "name": "MonsterCategoryMrMime", + "basePower": 2, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionBoostDefenseTwo", + "rangeID": 19, + "description": "MoveDescriptionBoostDefenseTwo", "useText": "MoveUseTextUse" }, { - "name": "Light Screen", - "namePointer": "MoveNameLightScreen", - "power": 2, + "name": "MoveNameLightScreen", + "basePower": 2, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 14, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 14, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionLightScreen", + "rangeID": 19, + "description": "MoveDescriptionLightScreen", "useText": "MoveUseTextUse" }, { - "name": "Scratch", - "namePointer": "MoveNameScratch", - "power": 8, + "name": "MoveNameScratch", + "basePower": 8, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDamage", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDamage", "useText": "MoveUseTextUse" }, { - "name": "Hyper Fang", - "namePointer": "MoveNameHyperFang", - "power": 16, + "name": "MoveNameHyperFang", + "basePower": 16, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 13, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, - "affectedByMuzzled": true, + "basePP": 13, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, + "usesMouth": true, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionCringe", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionCringe", "useText": "MoveUseTextUse" }, { - "name": "Ember", - "namePointer": "MoveNameEmber", - "power": 7, + "name": "MoveNameEmber", + "basePower": 7, "type": "TYPE_FIRE", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 18, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 18, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": false, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionBurnChance", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionBurnChance", "useText": "MoveUseTextUse" }, { - "name": "Secret Power", - "namePointer": "MoveNameSecretPower", - "power": 14, + "name": "MoveNameSecretPower", + "basePower": 14, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 10, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionSecretPower", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionSecretPower", "useText": "MoveUseTextUse" }, { - "name": "Dizzy Punch", - "namePointer": "MoveNameDizzyPunch", - "power": 6, + "name": "MoveNameDizzyPunch", + "basePower": 6, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionConfuseChance", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionConfuseChance", "useText": "MoveUseTextUse" }, { - "name": "Bulk Up", - "namePointer": "MoveNameBulkUp", - "power": 2, + "name": "MoveNameBulkUp", + "basePower": 2, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionBulkUp", + "rangeID": 19, + "description": "MoveDescriptionBulkUp", "useText": "MoveUseTextUse" }, { - "name": "Imprison", - "namePointer": "MoveNameImprison", - "power": 2, + "name": "MoveNameImprison", + "basePower": 2, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionImprison", + "rangeID": 11, + "description": "MoveDescriptionImprison", "useText": "MoveUseTextUse" }, { - "name": "Featherdance", - "namePointer": "MoveNameFeatherdance", - "power": 2, + "name": "MoveNameFeatherdance", + "basePower": 2, "type": "TYPE_FLYING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionFeatherdance", + "rangeID": 11, + "description": "MoveDescriptionFeatherdance", "useText": "MoveUseTextUse" }, { - "name": "Whirlwind", - "namePointer": "MoveNameWhirlwind", - "power": 2, + "name": "MoveNameWhirlwind", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 27, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 27, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionWhirlwind", + "rangeID": 11, + "description": "MoveDescriptionWhirlwind", "useText": "MoveUseTextUse" }, { - "name": "Beat Up", - "namePointer": "MoveNameBeatUp", - "power": 2, + "name": "MoveNameBeatUp", + "basePower": 2, "type": "TYPE_DARK", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 4, - "descriptionPointer": "MoveDescriptionBeatUp", + "rangeID": 4, + "description": "MoveDescriptionBeatUp", "useText": "MoveUseTextUse" }, { - "name": "Blizzard", - "namePointer": "MoveNameBlizzard", - "power": 24, + "name": "MoveNameBlizzard", + "basePower": 24, "type": "TYPE_ICE", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 10, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionFreezeChanceRoom", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionFreezeChanceRoom", "useText": "MoveUseTextUse" }, { - "name": "Stomp", - "namePointer": "MoveNameStomp", - "power": 12, + "name": "MoveNameStomp", + "basePower": 12, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionCringe", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionCringe", "useText": "MoveUseTextUse" }, { - "name": "Blast Burn", - "namePointer": "MoveNameBlastBurn", - "power": 30, + "name": "MoveNameBlastBurn", + "basePower": 30, "type": "TYPE_FIRE", "targetingFlags": "0b0000000000100000", "aiTargetingFlags": "0b0000000000100000", - "maxPP": 8, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, - "affectedByMuzzled": true, + "basePP": 8, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, + "usesMouth": true, "cannotHitFrozen": false, - "dealsDirectDamage": true, - "rangeType": 2, - "descriptionPointer": "MoveDescriptionBlastBurn", + "ignoresTaunted": true, + "rangeID": 2, + "description": "MoveDescriptionBlastBurn", "useText": "MoveUseTextUse" }, { - "name": "Flash", - "namePointer": "MoveNameFlash", - "power": 2, + "name": "MoveNameFlash", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionLowerAccuracy", + "rangeID": 11, + "description": "MoveDescriptionLowerAccuracy", "useText": "MoveUseTextUse" }, { - "name": "Teeter Dance", - "namePointer": "MoveNameTeeterDance", - "power": 2, + "name": "MoveNameTeeterDance", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001100010", "aiTargetingFlags": "0b0000000001100010", - "maxPP": 15, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 6, - "descriptionPointer": "MoveDescriptionTeeterDance", + "rangeID": 6, + "description": "MoveDescriptionTeeterDance", "useText": "MoveUseTextUse" }, { - "name": "Crush Claw", - "namePointer": "MoveNameCrushClaw", - "power": 14, + "name": "MoveNameCrushClaw", + "basePower": 14, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionLowerDefenseChance", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionLowerDefenseChance", "useText": "MoveUseTextUse" }, { - "name": "Blaze Kick", - "namePointer": "MoveNameBlazeKick", - "power": 16, + "name": "MoveNameBlazeKick", + "basePower": 16, "type": "TYPE_FIRE", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 13, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 50, + "basePP": 13, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 50, "cannotHitFrozen": false, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionBlazeKick", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionBlazeKick", "useText": "MoveUseTextUse" }, { - "name": "Present", - "namePointer": "MoveNamePresent", - "power": 2, + "name": "MoveNamePresent", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 19, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 19, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionPresent", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionPresent", "useText": "MoveUseTextUse" }, { - "name": "Eruption", - "namePointer": "SpeciesCategoryNone", - "power": 30, + "name": "MonsterCategoryNone", + "basePower": 30, "type": "TYPE_FIRE", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 10, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": false, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionEruption", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionEruption", "useText": "MoveUseTextUse" }, { - "name": "Sludge", - "namePointer": "SpeciesCategoryGrimer", - "power": 12, + "name": "MonsterCategoryGrimer", + "basePower": 12, "type": "TYPE_POISON", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 22, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionSludge", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionSludge", "useText": "MoveUseTextUse" }, { - "name": "Sludge Bomb", - "namePointer": "MoveNameSludgeBomb", - "power": 18, + "name": "MoveNameSludgeBomb", + "basePower": 18, "type": "TYPE_POISON", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 10, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionSludgeBomb", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionSludgeBomb", "useText": "MoveUseTextUse" }, { - "name": "Glare", - "namePointer": "MoveNameGlare", - "power": 2, + "name": "MoveNameGlare", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionParalyze", + "rangeID": 11, + "description": "MoveDescriptionParalyze", "useText": "MoveUseTextUse" }, { - "name": "Transform", - "namePointer": "SpeciesCategoryDitto", - "power": 2, + "name": "MonsterCategoryDitto", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000001100000", - "maxPP": 1, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 1, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionTransform", + "rangeID": 19, + "description": "MoveDescriptionTransform", "useText": "MoveUseTextUse" }, { - "name": "Poison Tail", - "namePointer": "MoveNamePoisonTail", - "power": 10, + "name": "MoveNamePoisonTail", + "basePower": 10, "type": "TYPE_POISON", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 50, + "basePP": 17, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 50, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionPoisonTail", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionPoisonTail", "useText": "MoveUseTextUse" }, { - "name": "Roar", - "namePointer": "MoveNameRoar", - "power": 2, + "name": "MoveNameRoar", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 14, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "affectedByMuzzled": true, + "basePP": 14, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "usesMouth": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionWhirlwind", + "rangeID": 11, + "description": "MoveDescriptionWhirlwind", "useText": "MoveUseTextUse" }, { - "name": "Bone Rush", - "namePointer": "MoveNameBoneRush", - "power": 12, + "name": "MoveNameBoneRush", + "basePower": 12, "type": "TYPE_GROUND", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 12, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 70, - "accuracyUseChance": 75, - "hitCount": 0, - "maxPowerBoost": 99, - "criticalHitChance": 2, + "basePP": 12, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 70, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 0, + "maxUpgradeLevel": 99, + "critChance": 2, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionMultiHit", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionMultiHit", "useText": "MoveUseTextUse" }, { - "name": "Camouflage", - "namePointer": "MoveNameCamouflage", - "power": 2, + "name": "MoveNameCamouflage", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 22, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionCamouflage", + "rangeID": 19, + "description": "MoveDescriptionCamouflage", "useText": "MoveUseTextUse" }, { - "name": "Covet", - "namePointer": "MoveNameCovet", - "power": 8, + "name": "MoveNameCovet", + "basePower": 8, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 27, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 27, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionThief", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionThief", "useText": "MoveUseTextUse" }, { - "name": "Tail Glow", - "namePointer": "MoveNameTailGlow", - "power": 2, + "name": "MoveNameTailGlow", + "basePower": 2, "type": "TYPE_BUG", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionTailGlow", + "rangeID": 19, + "description": "MoveDescriptionTailGlow", "useText": "MoveUseTextUse" }, { - "name": "Bone Club", - "namePointer": "MoveNameBoneClub", - "power": 12, + "name": "MoveNameBoneClub", + "basePower": 12, "type": "TYPE_GROUND", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionCringe", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionCringe", "useText": "MoveUseTextUse" }, { - "name": "Bonemerang", - "namePointer": "MoveNameBonemerang", - "power": 10, + "name": "MoveNameBonemerang", + "basePower": 10, "type": "TYPE_GROUND", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 14, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 87, - "accuracyUseChance": 75, - "hitCount": 2, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 14, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 87, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 2, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionBonemerang", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionBonemerang", "useText": "MoveUseTextUse" }, { - "name": "Fire Spin", - "namePointer": "MoveNameFireSpin", - "power": 4, + "name": "MoveNameFireSpin", + "basePower": 4, "type": "TYPE_FIRE", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 19, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 73, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 19, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 73, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": false, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionFireSpin", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionFireSpin", "useText": "MoveUseTextUse" }, { - "name": "Fire Punch", - "namePointer": "MoveNameFirePunch", - "power": 14, + "name": "MoveNameFirePunch", + "basePower": 14, "type": "TYPE_FIRE", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 13, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 13, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": false, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionBurnChance", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionBurnChance", "useText": "MoveUseTextUse" }, { - "name": "Perish Song", - "namePointer": "MoveNamePerishSong", - "power": 2, + "name": "MoveNamePerishSong", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001100000", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 15, - "weight": 10, - "accuracyGlobal": 25, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "affectedByMuzzled": true, + "basePP": 15, + "aiWeight": 10, + "accuracy1": 25, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "usesMouth": true, "cannotHitFrozen": true, - "rangeType": 7, - "descriptionPointer": "MoveDescriptionPerishSong", + "rangeID": 7, + "description": "MoveDescriptionPerishSong", "useText": "MoveUseTextUse" }, { - "name": "Wrap", - "namePointer": "MoveNameWrap", - "power": 4, + "name": "MoveNameWrap", + "basePower": 4, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionWrap", + "rangeID": 11, + "description": "MoveDescriptionWrap", "useText": "MoveUseTextUse" }, { - "name": "Spikes", - "namePointer": "SpeciesCategoryRhyhorn", - "power": 2, + "name": "MonsterCategoryRhyhorn", + "basePower": 2, "type": "TYPE_GROUND", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000100110000", - "maxPP": 22, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 24, - "descriptionPointer": "MoveDescriptionSpikes", + "rangeID": 24, + "description": "MoveDescriptionSpikes", "useText": "MoveUseTextUse" }, { - "name": "Magnitude", - "namePointer": "MoveNameMagnitude", - "power": 2, + "name": "MoveNameMagnitude", + "basePower": 2, "type": "TYPE_GROUND", "targetingFlags": "0b0000000000110101", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 20, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 20, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 18, - "descriptionPointer": "MoveDescriptionMagnitude", + "ignoresTaunted": true, + "rangeID": 18, + "description": "MoveDescriptionMagnitude", "useText": "MoveUseTextUse" }, { - "name": "Magical Leaf", - "namePointer": "MoveNameMagicalLeaf", - "power": 12, + "name": "MoveNameMagicalLeaf", + "basePower": 12, "type": "TYPE_GRASS", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 8, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 8, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionNeverMiss", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionNeverMiss", "useText": "MoveUseTextUse" }, { - "name": "Magic Coat", - "namePointer": "MoveNameMagicCoat", - "power": 2, + "name": "MoveNameMagicCoat", + "basePower": 2, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 19, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 19, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionMagicCoat", + "rangeID": 19, + "description": "MoveDescriptionMagicCoat", "useText": "MoveUseTextUse" }, { - "name": "Mud Shot", - "namePointer": "MoveNameMudShot", - "power": 12, + "name": "MoveNameMudShot", + "basePower": 12, "type": "TYPE_GROUND", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 13, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 65, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 13, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 65, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionDamageLowerSpeed", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionDamageLowerSpeed", "useText": "MoveUseTextUse" }, { - "name": "Mach Punch", - "namePointer": "MoveNameMachPunch", - "power": 8, + "name": "MoveNameMachPunch", + "basePower": 8, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000001000000", "aiTargetingFlags": "0b0000000001000000", - "maxPP": 22, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 13, - "descriptionPointer": "MoveDescriptionTwoTilesAhead", + "ignoresTaunted": true, + "rangeID": 13, + "description": "MoveDescriptionTwoTilesAhead", "useText": "MoveUseTextUse" }, { - "name": "Protect", - "namePointer": "MoveNameProtect", - "power": 2, + "name": "MoveNameProtect", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 10, - "weight": 15, - "accuracyGlobal": 75, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 15, + "accuracy1": 75, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionProtect", + "rangeID": 19, + "description": "MoveDescriptionProtect", "useText": "MoveUseTextUse" }, { - "name": "Defense Curl", - "namePointer": "MoveNameDefenseCurl", - "power": 2, + "name": "MoveNameDefenseCurl", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 27, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 27, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionBoostDefense", + "rangeID": 19, + "description": "MoveDescriptionBoostDefense", "useText": "MoveUseTextUse" }, { - "name": "Rolling Kick", - "namePointer": "MoveNameRollingKick", - "power": 12, + "name": "MoveNameRollingKick", + "basePower": 12, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 13, - "weight": 20, - "accuracyGlobal": 100, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 13, + "aiWeight": 20, + "accuracy1": 100, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionCringe", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionCringe", "useText": "MoveUseTextUse" }, { - "name": "Substitute", - "namePointer": "MoveNameSubstitute", - "power": 2, + "name": "MoveNameSubstitute", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000010", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 7, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 7, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 30, - "descriptionPointer": "MoveDescriptionSubstitute", + "rangeID": 30, + "description": "MoveDescriptionSubstitute", "useText": "MoveUseTextUse" }, { - "name": "Detect", - "namePointer": "MoveNameDetect", - "power": 2, + "name": "MoveNameDetect", + "basePower": 2, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 75, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 75, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionProtect", + "rangeID": 19, + "description": "MoveDescriptionProtect", "useText": "MoveUseTextUse" }, { - "name": "Pin Missile", - "namePointer": "MoveNamePinMissile", - "power": 4, + "name": "MoveNamePinMissile", + "basePower": 4, "type": "TYPE_BUG", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 17, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 0, - "maxPowerBoost": 99, - "criticalHitChance": 1, + "basePP": 17, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 0, + "maxUpgradeLevel": 99, + "critChance": 1, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionMultiHitDistance", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionMultiHitDistance", "useText": "MoveUseTextUse" }, { - "name": "Water Sport", - "namePointer": "MoveNameWaterSport", - "power": 2, + "name": "MoveNameWaterSport", + "basePower": 2, "type": "TYPE_WATER", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 19, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 19, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 6, - "descriptionPointer": "MoveDescriptionWaterSport", + "rangeID": 6, + "description": "MoveDescriptionWaterSport", "useText": "MoveUseTextUse" }, { - "name": "Water Gun", - "namePointer": "MoveNameWaterGun", - "power": 5, + "name": "MoveNameWaterGun", + "basePower": 5, "type": "TYPE_WATER", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 17, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionDamage", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionDamage", "useText": "MoveUseTextUse" }, { - "name": "Mist Ball", - "namePointer": "MoveNameMistBall", - "power": 14, + "name": "MoveNameMistBall", + "basePower": 14, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 10, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionMistBall", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionMistBall", "useText": "MoveUseTextUse" }, { - "name": "Water Pulse", - "namePointer": "MoveNameWaterPulse", - "power": 12, + "name": "MoveNameWaterPulse", + "basePower": 12, "type": "TYPE_WATER", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 12, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionWaterPulse", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionWaterPulse", "useText": "MoveUseTextUse" }, { - "name": "Fury Attack", - "namePointer": "MoveNameFuryAttack", - "power": 1, + "name": "MoveNameFuryAttack", + "basePower": 1, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 70, - "accuracyUseChance": 75, - "hitCount": 0, - "maxPowerBoost": 99, - "criticalHitChance": 1, + "basePP": 22, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 70, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 0, + "maxUpgradeLevel": 99, + "critChance": 1, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionMultiHit", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionMultiHit", "useText": "MoveUseTextUse" }, { - "name": "Fury Swipes", - "namePointer": "MoveNameFurySwipes", - "power": 4, + "name": "MoveNameFurySwipes", + "basePower": 4, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 19, - "weight": 25, - "accuracyGlobal": 125, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 0, - "maxPowerBoost": 99, - "criticalHitChance": 1, + "basePP": 19, + "aiWeight": 25, + "accuracy1": 125, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 0, + "maxUpgradeLevel": 99, + "critChance": 1, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionMultiHit", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionMultiHit", "useText": "MoveUseTextUse" }, { - "name": "Destiny Bond", - "namePointer": "MoveNameDestinyBond", - "power": 2, + "name": "MoveNameDestinyBond", + "basePower": 2, "type": "TYPE_GHOST", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionDestinyBond", + "rangeID": 3, + "description": "MoveDescriptionDestinyBond", "useText": "MoveUseTextUse" }, { - "name": "False Swipe", - "namePointer": "MoveNameFalseSwipe", - "power": 40, + "name": "MoveNameFalseSwipe", + "basePower": 40, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 30, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 30, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionFalseSwipe", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionFalseSwipe", "useText": "MoveUseTextUse" }, { - "name": "Foresight", - "namePointer": "MoveNameForesight", - "power": 2, + "name": "MoveNameForesight", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionForesight", + "rangeID": 11, + "description": "MoveDescriptionForesight", "useText": "MoveUseTextUse" }, { - "name": "Mirror Coat", - "namePointer": "MoveNameMirrorCoat", - "power": 2, + "name": "MoveNameMirrorCoat", + "basePower": 2, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionMirrorCoat", + "rangeID": 19, + "description": "MoveDescriptionMirrorCoat", "useText": "MoveUseTextUse" }, { - "name": "Future Sight", - "namePointer": "MoveNameFutureSight", - "power": 16, + "name": "MoveNameFutureSight", + "basePower": 16, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 13, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 13, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionFixedDamage", + "rangeID": 19, + "description": "MoveDescriptionFixedDamage", "useText": "MoveUseTextUse" }, { - "name": "Milk Drink", - "namePointer": "MoveNameMilkDrink", - "power": 2, + "name": "MoveNameMilkDrink", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000001001100001", "aiTargetingFlags": "0b0000001001100001", - "maxPP": 15, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, - "affectedByMuzzled": true, + "basePP": 15, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, + "usesMouth": true, "cannotHitFrozen": true, - "rangeType": 5, - "descriptionPointer": "MoveDescriptionMilkDrink", + "rangeID": 5, + "description": "MoveDescriptionMilkDrink", "useText": "MoveUseTextUse" }, { - "name": "Calm Mind", - "namePointer": "MoveNameCalmMind", - "power": 2, + "name": "MoveNameCalmMind", + "basePower": 2, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 19, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 19, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionCalmMind", + "rangeID": 19, + "description": "MoveDescriptionCalmMind", "useText": "MoveUseTextUse" }, { - "name": "Mega Drain", - "namePointer": "MoveNameMegaDrain", - "power": 8, + "name": "MoveNameMegaDrain", + "basePower": 8, "type": "TYPE_GRASS", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDrain", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDrain", "useText": "MoveUseTextUse" }, { - "name": "Mega Kick", - "namePointer": "MoveNameMegaKick", - "power": 16, + "name": "MoveNameMegaKick", + "basePower": 16, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDamage", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDamage", "useText": "MoveUseTextUse" }, { - "name": "Mega Punch", - "namePointer": "MoveNameMegaPunch", - "power": 16, + "name": "MoveNameMegaPunch", + "basePower": 16, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDamage", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDamage", "useText": "MoveUseTextUse" }, { - "name": "Megahorn", - "namePointer": "MoveNameMegahorn", - "power": 24, + "name": "MoveNameMegahorn", + "basePower": 24, "type": "TYPE_BUG", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 10, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionDamage", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionDamage", "useText": "MoveUseTextUse" }, { - "name": "Hidden Power", - "namePointer": "MoveNameHiddenPower", - "power": 2, + "name": "MoveNameHiddenPower", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionHiddenPower", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionHiddenPower", "useText": "MoveUseTextUse" }, { - "name": "Metal Claw", - "namePointer": "MoveNameMetalClaw", - "power": 10, + "name": "MoveNameMetalClaw", + "basePower": 10, "type": "TYPE_STEEL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionMetalClaw", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionMetalClaw", "useText": "MoveUseTextUse" }, { - "name": "Attract", - "namePointer": "MoveNameAttract", - "power": 2, + "name": "MoveNameAttract", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 10, - "weight": 20, - "accuracyGlobal": 100, - "accuracyOffensive": 78, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 20, + "accuracy1": 100, + "accuracy2": 78, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionAttract", + "rangeID": 3, + "description": "MoveDescriptionAttract", "useText": "MoveUseTextUse" }, { - "name": "Mimic", - "namePointer": "MoveNameMimic", - "power": 2, + "name": "MoveNameMimic", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionMimic", + "rangeID": 11, + "description": "MoveDescriptionMimic", "useText": "MoveUseTextUse" }, { - "name": "Frustration", - "namePointer": "MoveNameFrustration", - "power": 2, + "name": "MoveNameFrustration", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 20, - "weight": 30, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 20, + "aiWeight": 30, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionFrustration", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionFrustration", "useText": "MoveUseTextUse" }, { - "name": "Leech Seed", - "namePointer": "MoveNameLeechSeed", - "power": 2, + "name": "MoveNameLeechSeed", + "basePower": 2, "type": "TYPE_GRASS", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 90, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 90, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionLeechSeed", + "rangeID": 3, + "description": "MoveDescriptionLeechSeed", "useText": "MoveUseTextUse" }, { - "name": "Metronome", - "namePointer": "MoveNameMetronome", - "power": 2, + "name": "MoveNameMetronome", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 10, - "descriptionPointer": "MoveDescriptionMetronome", + "ignoresTaunted": true, + "rangeID": 10, + "description": "MoveDescriptionMetronome", "useText": "MoveUseTextUse" }, { - "name": "Dream Eater", - "namePointer": "MoveNameDreamEater", - "power": 20, + "name": "MoveNameDreamEater", + "basePower": 20, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000010000000000", - "maxPP": 13, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, - "affectedByMuzzled": true, + "basePP": 13, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, + "usesMouth": true, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionDreamEater", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionDreamEater", "useText": "MoveUseTextUse" }, { - "name": "Acid", - "namePointer": "MoveNameAcid", - "power": 8, + "name": "MoveNameAcid", + "basePower": 8, "type": "TYPE_POISON", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 17, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionAcid", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionAcid", "useText": "MoveUseTextUse" }, { - "name": "Meditate", - "namePointer": "SpeciesCategoryMeditite", - "power": 2, + "name": "MonsterCategoryMeditite", + "basePower": 2, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionBoostAttack", + "rangeID": 19, + "description": "MoveDescriptionBoostAttack", "useText": "MoveUseTextUse" }, { - "name": "Snatch", - "namePointer": "MoveNameSnatch", - "power": 2, + "name": "MoveNameSnatch", + "basePower": 2, "type": "TYPE_DARK", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 17, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionSnatch", + "rangeID": 19, + "description": "MoveDescriptionSnatch", "useText": "MoveUseTextUse" }, { - "name": "Luster Purge", - "namePointer": "MoveNameLusterPurge", - "power": 14, + "name": "MoveNameLusterPurge", + "basePower": 14, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionLowerSpecialDefenseChance", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionLowerSpecialDefenseChance", "useText": "MoveUseTextUse" }, { - "name": "Leaf Blade", - "namePointer": "MoveNameLeafBlade", - "power": 14, + "name": "MoveNameLeafBlade", + "basePower": 14, "type": "TYPE_GRASS", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 50, + "basePP": 12, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 50, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionHighCritical", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionHighCritical", "useText": "MoveUseTextUse" }, { - "name": "Recycle", - "namePointer": "MoveNameRecycle", - "power": 2, + "name": "MoveNameRecycle", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 23, - "descriptionPointer": "MoveDescriptionRecycle", + "rangeID": 23, + "description": "MoveDescriptionRecycle", "useText": "MoveUseTextUse" }, { - "name": "Reflect", - "namePointer": "MoveNameReflect", - "power": 2, + "name": "MoveNameReflect", + "basePower": 2, "type": "TYPE_PSYCHIC", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionReflect", + "rangeID": 19, + "description": "MoveDescriptionReflect", "useText": "MoveUseTextUse" }, { - "name": "Refresh", - "namePointer": "MoveNameRefresh", - "power": 2, + "name": "MoveNameRefresh", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000110001", "aiTargetingFlags": "0b0000001100110001", - "maxPP": 17, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 17, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": false, - "rangeType": 16, - "descriptionPointer": "MoveDescriptionRefresh", + "rangeID": 16, + "description": "MoveDescriptionRefresh", "useText": "MoveUseTextUse" }, { - "name": "Revenge", - "namePointer": "MoveNameRevenge", - "power": 12, + "name": "MoveNameRevenge", + "basePower": 12, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionBide", + "rangeID": 19, + "description": "MoveDescriptionBide", "useText": "MoveUseTextUse" }, { - "name": "Dragon Rage", - "namePointer": "MoveNameDragonRage", - "power": 2, + "name": "MoveNameDragonRage", + "basePower": 2, "type": "TYPE_DRAGON", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 17, - "weight": 20, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 17, + "aiWeight": 20, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionDragonRage", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionDragonRage", "useText": "MoveUseTextUse" }, { - "name": "Dragonbreath", - "namePointer": "MoveNameDragonbreath", - "power": 12, + "name": "MoveNameDragonbreath", + "basePower": 12, "type": "TYPE_DRAGON", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 12, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, - "affectedByMuzzled": true, + "basePP": 12, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, + "usesMouth": true, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionDragonbreath", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionDragonbreath", "useText": "MoveUseTextUse" }, { - "name": "Dragon Dance", - "namePointer": "MoveNameDragonDance", - "power": 2, + "name": "MoveNameDragonDance", + "basePower": 2, "type": "TYPE_DRAGON", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 125, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, - "targetsUser": true, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 125, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, + "isSnatchable": true, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionDragonDance", + "rangeID": 19, + "description": "MoveDescriptionDragonDance", "useText": "MoveUseTextUse" }, { - "name": "Ice Punch", - "namePointer": "MoveNameIcePunch", - "power": 14, + "name": "MoveNameIcePunch", + "basePower": 14, "type": "TYPE_ICE", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionFreezeChanceRoom", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionFreezeChanceRoom", "useText": "MoveUseTextUse" }, { - "name": "Ice Beam", - "namePointer": "MoveNameIceBeam", - "power": 15, + "name": "MoveNameIceBeam", + "basePower": 15, "type": "TYPE_ICE", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 8, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 8, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionIceBeam", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionIceBeam", "useText": "MoveUseTextUse" }, { - "name": "Fury Cutter", - "namePointer": "MoveNameFuryCutter", - "power": 2, + "name": "MoveNameFuryCutter", + "basePower": 2, "type": "TYPE_BUG", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 14, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 87, - "accuracyUseChance": 75, - "hitCount": 2, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 14, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 87, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 2, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionHitTwice", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionHitTwice", "useText": "MoveUseTextUse" }, { - "name": "Comet Punch", - "namePointer": "MoveNameCometPunch", - "power": 3, + "name": "MoveNameCometPunch", + "basePower": 3, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 19, - "weight": 30, - "accuracyGlobal": 125, - "accuracyOffensive": 80, - "accuracyUseChance": 75, - "hitCount": 0, - "maxPowerBoost": 99, - "criticalHitChance": 1, + "basePP": 19, + "aiWeight": 30, + "accuracy1": 125, + "accuracy2": 80, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 0, + "maxUpgradeLevel": 99, + "critChance": 1, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionMultiHit", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionMultiHit", "useText": "MoveUseTextUse" }, { - "name": "Skull Bash", - "namePointer": "MoveNameSkullBash", - "power": 10, + "name": "MoveNameSkullBash", + "basePower": 10, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110100", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 15, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 15, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 20, - "descriptionPointer": "MoveDescriptionSkullBash", + "ignoresTaunted": true, + "rangeID": 20, + "description": "MoveDescriptionSkullBash", "useText": "MoveUseTextUse" }, { - "name": "Lock-On", - "namePointer": "MoveNameLockOn", - "power": 2, + "name": "MoveNameLockOn", + "basePower": 2, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionLockOn", + "rangeID": 19, + "description": "MoveDescriptionLockOn", "useText": "MoveUseTextUse" }, { - "name": "Rock Blast", - "namePointer": "MoveNameRockBlast", - "power": 4, + "name": "MoveNameRockBlast", + "basePower": 4, "type": "TYPE_ROCK", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 17, - "weight": 30, - "accuracyGlobal": 100, - "accuracyOffensive": 80, - "accuracyUseChance": 75, - "hitCount": 0, - "maxPowerBoost": 99, - "criticalHitChance": 1, + "basePP": 17, + "aiWeight": 30, + "accuracy1": 100, + "accuracy2": 80, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 0, + "maxUpgradeLevel": 99, + "critChance": 1, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionMultiHit", + "ignoresTaunted": true, + "rangeID": 3, + "description": "MoveDescriptionMultiHit", "useText": "MoveUseTextUse" }, { - "name": "Cotton Spore", - "namePointer": "MoveNameCottonSpore", - "power": 2, + "name": "MoveNameCottonSpore", + "basePower": 2, "type": "TYPE_GRASS", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 13, - "weight": 15, - "accuracyGlobal": 70, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 13, + "aiWeight": 15, + "accuracy1": 70, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "affectedByMagicCoat": true, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionLowerSpeed", + "rangeID": 11, + "description": "MoveDescriptionLowerSpeed", "useText": "MoveUseTextUse" }, { - "name": "Struggle", - "namePointer": "MoveNameStruggle", - "power": 30, + "name": "MoveNameStruggle", + "basePower": 30, "type": "TYPE_NORMAL", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 1, - "weight": 30, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "criticalHitChance": 12, + "basePP": 1, + "aiWeight": 30, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionStruggle", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionStruggle", "useText": "MoveUseTextUse" }, { - "name": "Aeroblast", - "namePointer": "MoveNameAeroblast", - "power": 20, + "name": "MoveNameAeroblast", + "basePower": 20, "type": "TYPE_FLYING", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 12, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 50, + "basePP": 12, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 50, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionHighCriticalDistance", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionHighCriticalDistance", "useText": "MoveUseTextUse" }, { - "name": "Volt Tackle", - "namePointer": "MoveNameVoltTackle", - "power": 24, + "name": "MoveNameVoltTackle", + "basePower": 24, "type": "TYPE_ELECTRIC", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 12, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 12, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionVoltTackle", + "ignoresTaunted": true, + "rangeID": 14, + "description": "MoveDescriptionVoltTackle", "useText": "MoveUseTextUse" }, { - "name": "Regular attack", - "namePointer": "MoveNameRegularAttack", - "power": 1, + "name": "MoveNameRegularAttack", + "basePower": 1, "type": "TYPE_NONE", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 70, - "accuracyGlobal": 125, - "accuracyOffensive": 93, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 1, + "basePP": 17, + "aiWeight": 70, + "accuracy1": 125, + "accuracy2": 93, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 1, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionNull", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionNull", "useText": "MoveUseTextRegularAttack" }, { - "name": "Is watching", - "namePointer": "MoveNameIsWatching", - "power": 2, + "name": "MoveNameIsWatching", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 10, - "accuracyGlobal": 80, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 6, + "basePP": 17, + "aiWeight": 10, + "accuracy1": 80, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 6, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionIsWatching", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionIsWatching", "useText": "MoveUseTextUse" }, { - "name": "Bide 2", - "namePointer": "MoveNameBide2", - "power": 2, + "name": "MoveNameBide2", + "basePower": 2, "type": "TYPE_FIGHTING", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 17, - "weight": 10, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 6, + "basePP": 17, + "aiWeight": 10, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 6, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionNull", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionNull", "useText": "MoveUseTextBide" }, { - "name": "$$$", - "namePointer": "MoveNamePlaceholder", - "power": 2, + "name": "MoveNamePlaceholder", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 17, - "weight": 10, - "accuracyGlobal": 80, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 6, + "basePP": 17, + "aiWeight": 10, + "accuracy1": 80, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 6, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionPlaceholder", + "ignoresTaunted": true, + "rangeID": 19, + "description": "MoveDescriptionPlaceholder", "useText": "MoveUseTextUse" }, { - "name": "$$$", - "namePointer": "MoveNamePlaceholder", - "power": 2, + "name": "MoveNamePlaceholder", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 17, - "weight": 10, - "accuracyGlobal": 80, - "accuracyOffensive": 84, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 6, + "basePP": 17, + "aiWeight": 10, + "accuracy1": 80, + "accuracy2": 84, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 6, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionPlaceholder", + "ignoresTaunted": true, + "rangeID": 19, + "description": "MoveDescriptionPlaceholder", "useText": "MoveUseTextUse" }, { - "name": "Wide Slash", - "namePointer": "MoveNameWideSlash", - "power": 20, + "name": "MoveNameWideSlash", + "basePower": 20, "type": "TYPE_NONE", "targetingFlags": "0b0000000000010000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 10, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 88, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 88, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 1, - "descriptionPointer": "MoveDescriptionWideSlash", + "ignoresTaunted": true, + "rangeID": 1, + "description": "MoveDescriptionWideSlash", "useText": "MoveUseTextUse" }, { - "name": "Excavate", - "namePointer": "MoveNameExcavate", - "power": 2, + "name": "MoveNameExcavate", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 99, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, + "basePP": 99, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionNull", + "ignoresTaunted": true, + "rangeID": 19, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Spin Slash", - "namePointer": "MoveNameSpinSlash", - "power": 15, + "name": "MoveNameSpinSlash", + "basePower": 15, "type": "TYPE_NONE", "targetingFlags": "0b0000000000100000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 10, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 10, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 9, - "descriptionPointer": "MoveDescriptionNull", + "ignoresTaunted": true, + "rangeID": 9, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "See-Trap", - "namePointer": "MoveNameSeeTrap", - "power": 2, + "name": "MoveNameSeeTrap", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 19, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Takeaway", - "namePointer": "MoveNameTakeaway", - "power": 2, + "name": "MoveNameTakeaway", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 20, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 12, + "aiWeight": 20, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionNull", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Rebound", - "namePointer": "MoveNameRebound", - "power": 2, + "name": "MoveNameRebound", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 19, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Bloop Slash", - "namePointer": "MoveNameBloopSlash", - "power": 10, + "name": "MoveNameBloopSlash", + "basePower": 10, "type": "TYPE_NONE", "targetingFlags": "0b0000000001000000", "aiTargetingFlags": "0b0000000001000000", - "maxPP": 22, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, - "criticalHitChance": 12, + "basePP": 22, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, + "critChance": 12, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 13, - "descriptionPointer": "MoveDescriptionNull", + "ignoresTaunted": true, + "rangeID": 13, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Switcher", - "namePointer": "MoveNameSwitcher", - "power": 2, + "name": "MoveNameSwitcher", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010010", - "maxPP": 17, - "weight": 20, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 17, + "aiWeight": 20, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 14, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Blowback", - "namePointer": "MoveNameBlowback", - "power": 2, + "name": "MoveNameBlowback", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001010010", "aiTargetingFlags": "0b0000000001010000", - "maxPP": 17, - "weight": 20, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 17, + "aiWeight": 20, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 14, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 14, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Warp", - "namePointer": "MoveNameWarp", - "power": 2, + "name": "MoveNameWarp", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000000110000", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 14, - "weight": 8, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 14, + "aiWeight": 8, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 15, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 15, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Transfer", - "namePointer": "MoveNameTransfer", - "power": 2, + "name": "MoveNameTransfer", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 3, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Slow Down", - "namePointer": "MoveNameSlowDown", - "power": 2, + "name": "MoveNameSlowDown", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000000110000", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 37, - "weight": 8, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 37, + "aiWeight": 8, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 15, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 15, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Speed Boost", - "namePointer": "MoveNameSpeedBoost", - "power": 2, + "name": "MoveNameSpeedBoost", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000000110001", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 16, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 16, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Searchlight", - "namePointer": "MoveNameSearchlight", - "power": 2, + "name": "MoveNameSearchlight", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 19, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Petrify", - "namePointer": "MoveNamePetrify", - "power": 2, + "name": "MoveNamePetrify", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000000110000", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 15, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 15, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Stay Away", - "namePointer": "MoveNameStayAway", - "power": 2, + "name": "MoveNameStayAway", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 3, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Pounce", - "namePointer": "MoveNamePounce", - "power": 2, + "name": "MoveNamePounce", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 10, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 10, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Trawl", - "namePointer": "MoveNameTrawl", - "power": 2, + "name": "MoveNameTrawl", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 22, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 19, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Cleanse", - "namePointer": "MoveNameCleanse", - "power": 2, + "name": "MoveNameCleanse", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 17, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 20, - "hitCount": 1, + "basePP": 17, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 20, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 10, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 10, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Observer", - "namePointer": "MoveNameObserver", - "power": 2, + "name": "MoveNameObserver", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 3, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Decoy Maker", - "namePointer": "MoveNameDecoyMaker", - "power": 2, + "name": "MoveNameDecoyMaker", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 3, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Siesta", - "namePointer": "MoveNameSiesta", - "power": 2, + "name": "MoveNameSiesta", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000000110000", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 15, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 15, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Totter", - "namePointer": "MoveNameTotter", - "power": 2, + "name": "MoveNameTotter", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000000110000", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 12, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 12, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 15, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 15, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Two-Edge", - "namePointer": "MoveNameTwoEdge", - "power": 2, + "name": "MoveNameTwoEdge", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000000110000", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 22, - "weight": 20, - "accuracyGlobal": 45, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 20, + "accuracy1": 45, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 15, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 15, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "No-Move", - "namePointer": "MoveNameNoMove", - "power": 2, + "name": "MoveNameNoMove", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 11, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Escape", - "namePointer": "MoveNameEscape", - "power": 2, + "name": "MoveNameEscape", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 1, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 1, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 10, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 10, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Scan", - "namePointer": "MoveNameScan", - "power": 2, + "name": "MoveNameScan", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 27, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 27, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 19, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Power-Ears", - "namePointer": "MoveNamePowerEars", - "power": 2, + "name": "MoveNamePowerEars", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 27, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 27, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 19, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Drought", - "namePointer": "MoveNameDrought", - "power": 2, + "name": "MoveNameDrought", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 29, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 29, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Trap Buster", - "namePointer": "MoveNameTrapBuster", - "power": 2, + "name": "MoveNameTrapBuster", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 57, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 57, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 29, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 29, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Wild Call", - "namePointer": "MoveNameWildCall", - "power": 2, + "name": "MoveNameWildCall", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 4, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 4, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Invisify", - "namePointer": "MoveNameInvisify", - "power": 2, + "name": "MoveNameInvisify", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 12, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 19, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "One-Shot", - "namePointer": "MoveNameOneShot", - "power": 200, + "name": "MoveNameOneShot", + "basePower": 200, "type": "TYPE_NONE", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 3, - "weight": 8, - "accuracyGlobal": 35, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, + "basePP": 3, + "aiWeight": 8, + "accuracy1": 35, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionNull", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "HP Gauge", - "namePointer": "MoveNameHPGauge", - "power": 2, + "name": "MoveNameHPGauge", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 32, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 32, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 6, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 6, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Vacuum-Cut", - "namePointer": "MoveNameVacuumCut", - "power": 10, + "name": "MoveNameVacuumCut", + "basePower": 10, "type": "TYPE_NONE", "targetingFlags": "0b0000000000110000", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 7, - "weight": 20, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 7, + "aiWeight": 20, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 15, - "descriptionPointer": "MoveDescriptionVacuumCut", + "rangeID": 15, + "description": "MoveDescriptionVacuumCut", "useText": "MoveUseTextUse" }, { - "name": "Reviver", - "namePointer": "MoveNameReviver", - "power": 2, + "name": "MoveNameReviver", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 4, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 4, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 19, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Shocker", - "namePointer": "MoveNameShocker", - "power": 2, + "name": "MoveNameShocker", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 45, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 45, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionNull", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Echo", - "namePointer": "MoveNameEcho", - "power": 10, + "name": "MoveNameEcho", + "basePower": 10, "type": "TYPE_NONE", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 27, - "weight": 20, - "accuracyGlobal": 125, - "accuracyOffensive": 45, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, + "basePP": 27, + "aiWeight": 20, + "accuracy1": 125, + "accuracy2": 45, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionNull", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Famish", - "namePointer": "MoveNameFamish", - "power": 2, + "name": "MoveNameFamish", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000000110000", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 15, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 15, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "One-Room", - "namePointer": "MoveNameOneRoom", - "power": 2, + "name": "MoveNameOneRoom", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 29, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 29, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Fill-In", - "namePointer": "MoveNameFillIn", - "power": 2, + "name": "MoveNameFillIn", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 99, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 99, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 29, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 29, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Trapper", - "namePointer": "MoveNameTrapper", - "power": 2, + "name": "MoveNameTrapper", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 17, - "weight": 10, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 17, + "aiWeight": 10, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 10, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 10, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Possess", - "namePointer": "MoveNamePossess", - "power": 2, + "name": "MoveNamePossess", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 12, - "weight": 8, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 12, + "aiWeight": 8, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 11, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Itemize", - "namePointer": "MoveNameItemize", - "power": 2, + "name": "MoveNameItemize", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000010000000", "aiTargetingFlags": "0b0000000010000000", - "maxPP": 17, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 45, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 17, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 45, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 3, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 3, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "[M:D1]", - "namePointer": "MoveNamePlaceholder", - "power": 2, + "name": "MoveNamePlaceholder", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionPlaceholder", + "rangeID": 19, + "description": "MoveDescriptionPlaceholder", "useText": "MoveUseTextUse" }, { - "name": "Projectile", - "namePointer": "MoveNamePlaceholder", - "power": 2, + "name": "MoveNamePlaceholder", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000011111111", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 57, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 57, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 10, - "descriptionPointer": "MoveDescriptionDamage", + "rangeID": 10, + "description": "MoveDescriptionDamage", "useText": "MoveUseTextUse" }, { - "name": "Hurl", - "namePointer": "MoveNameHurl", - "power": 2, + "name": "MoveNameHurl", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000000000000", "aiTargetingFlags": "0b0000000000000000", - "maxPP": 22, - "weight": 15, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, - "maxPowerBoost": 99, + "basePP": 22, + "aiWeight": 15, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, + "maxUpgradeLevel": 99, "cannotHitFrozen": true, - "dealsDirectDamage": true, - "rangeType": 11, - "descriptionPointer": "MoveDescriptionNull", + "ignoresTaunted": true, + "rangeID": 11, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Mobile", - "namePointer": "MoveNameMobile", - "power": 2, + "name": "MoveNameMobile", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 17, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 17, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 19, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Item-Toss", - "namePointer": "MoveNameItemToss", - "power": 2, + "name": "MoveNameItemToss", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000011111111", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 96, - "weight": 8, - "accuracyGlobal": 100, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 96, + "aiWeight": 8, + "accuracy1": 100, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 10, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 10, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "See Stairs", - "namePointer": "MoveNameSeeStairs", - "power": 2, + "name": "MoveNameSeeStairs", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 19, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "Long Toss", - "namePointer": "MoveNameLongToss", - "power": 2, + "name": "MoveNameLongToss", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 19, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" }, { - "name": "[M:D1]", - "namePointer": "MoveNamePlaceholder", - "power": 2, + "name": "MoveNamePlaceholder", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000011111111", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionPlaceholder", + "rangeID": 19, + "description": "MoveDescriptionPlaceholder", "useText": "MoveUseTextUse" }, { - "name": "Pierce", - "namePointer": "MoveNamePierce", - "power": 2, + "name": "MoveNamePierce", + "basePower": 2, "type": "TYPE_NONE", "targetingFlags": "0b0000000001110011", "aiTargetingFlags": "0b0000000000110000", - "maxPP": 22, - "weight": 8, - "accuracyGlobal": 125, - "accuracyOffensive": 100, - "accuracyUseChance": 75, - "hitCount": 1, + "basePP": 22, + "aiWeight": 8, + "accuracy1": 125, + "accuracy2": 100, + "aiConditionRandomChance": 75, + "numberOfChainedHits": 1, "cannotHitFrozen": true, - "rangeType": 19, - "descriptionPointer": "MoveDescriptionNull", + "rangeID": 19, + "description": "MoveDescriptionNull", "useText": "MoveUseTextUse" } ] diff --git a/data/pokemon/.gitignore b/data/pokemon/.gitignore deleted file mode 100644 index d07881618..000000000 --- a/data/pokemon/.gitignore +++ /dev/null @@ -1 +0,0 @@ -species_data.inc diff --git a/data/pokemon/species_data.json b/data/pokemon/species_data.json deleted file mode 100644 index ef7e206bb..000000000 --- a/data/pokemon/species_data.json +++ /dev/null @@ -1,20552 +0,0 @@ -[ - { - "name": "None", - "species": "SpeciesNameNone", - "category": "SpeciesCategoryNone", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "NONE", - "abilities": [ - "ABILITY_OVERGROW" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 1, - "base_exp": 100, - "base_att_spatt": [ - 0, - 0 - ], - "base_def_spdef": [ - 0, - 0 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 99, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 0, - 0 - ], - "base_recruit": -999, - "alphabetParent": [ - 0, - 0 - ] - }, - { - "name": "Bulbasaur", - "species": "SpeciesNameBulbasaur", - "category": "SpeciesCategoryBulbasaur", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0001111111111111", - "types": [ - "TYPE_GRASS", - "TYPE_POISON" - ], - "friend_area": "BEAU_PLAINS", - "abilities": [ - "ABILITY_OVERGROW" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 20, - "base_exp": 18, - "base_att_spatt": [ - 2, - 2 - ], - "base_def_spdef": [ - 1, - 0 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 27, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 1, - 1 - ], - "base_recruit": 125, - "alphabetParent": [ - 32, - 1 - ] - }, - { - "name": "Ivysaur", - "species": "SpeciesNameIvysaur", - "category": "SpeciesCategoryBulbasaur", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS", - "TYPE_POISON" - ], - "friend_area": "BEAU_PLAINS", - "abilities": [ - "ABILITY_OVERGROW" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 46, - "base_exp": 40, - "base_att_spatt": [ - 14, - 12 - ], - "base_def_spdef": [ - 9, - 10 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 33, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_BULBASAUR", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 16 - }, - "dexInternal": [ - 2, - 2 - ], - "base_recruit": -190, - "alphabetParent": [ - 147, - 2 - ] - }, - { - "name": "Venusaur", - "species": "SpeciesNameVenusaur", - "category": "SpeciesCategoryBulbasaur", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS", - "TYPE_POISON" - ], - "friend_area": "BEAU_PLAINS", - "abilities": [ - "ABILITY_OVERGROW" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 51, - "base_exp": 180, - "base_att_spatt": [ - 20, - 15 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 48, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_IVYSAUR", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 32 - }, - "dexInternal": [ - 3, - 3 - ], - "base_recruit": -999, - "alphabetParent": [ - 395, - 3 - ] - }, - { - "name": "Charmander", - "species": "SpeciesNameCharmander", - "category": "SpeciesCategoryCharmander", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0001111111111111", - "types": [ - "TYPE_FIRE" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "MT_CLEFT", - "abilities": [ - "ABILITY_BLAZE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 18, - "base_exp": 24, - "base_att_spatt": [ - 3, - 3 - ], - "base_def_spdef": [ - 0, - 0 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 26, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 4, - 4 - ], - "base_recruit": 117, - "alphabetParent": [ - 47, - 4 - ] - }, - { - "name": "Charmeleon", - "species": "SpeciesNameCharmeleon", - "category": "SpeciesCategoryCharmeleon", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIRE" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "MT_CLEFT", - "abilities": [ - "ABILITY_BLAZE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 58, - "base_exp": 57, - "base_att_spatt": [ - 21, - 19 - ], - "base_def_spdef": [ - 9, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 26, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_CHARMANDER", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 16 - }, - "dexInternal": [ - 5, - 5 - ], - "base_recruit": -190, - "alphabetParent": [ - 48, - 5 - ] - }, - { - "name": "Charizard", - "species": "SpeciesNameCharizard", - "category": "SpeciesCategoryCharmeleon", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000011111", - "types": [ - "TYPE_FIRE", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "MT_CLEFT", - "abilities": [ - "ABILITY_BLAZE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 58, - "base_exp": 200, - "base_att_spatt": [ - 12, - 8 - ], - "base_def_spdef": [ - 9, - 10 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 52, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_CHARMELEON", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 36 - }, - "dexInternal": [ - 6, - 6 - ], - "base_recruit": -999, - "alphabetParent": [ - 46, - 6 - ] - }, - { - "name": "Squirtle", - "species": "SpeciesNameSquirtle", - "category": "SpeciesCategorySquirtle", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0001111111111111", - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TURTLESHELL_POND", - "abilities": [ - "ABILITY_TORRENT" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 20, - "base_exp": 27, - "base_att_spatt": [ - 3, - 2 - ], - "base_def_spdef": [ - 3, - 3 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 21, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 7, - 7 - ], - "base_recruit": 117, - "alphabetParent": [ - 329, - 7 - ] - }, - { - "name": "Wartortle", - "species": "SpeciesNameWartortle", - "category": "SpeciesCategoryWartortle", - "overworld_palette": 9, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TURTLESHELL_POND", - "abilities": [ - "ABILITY_TORRENT" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 46, - "base_exp": 66, - "base_att_spatt": [ - 15, - 17 - ], - "base_def_spdef": [ - 17, - 14 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 34, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SQUIRTLE", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 16 - }, - "dexInternal": [ - 8, - 8 - ], - "base_recruit": -190, - "alphabetParent": [ - 406, - 8 - ] - }, - { - "name": "Blastoise", - "species": "SpeciesNameBlastoise", - "category": "SpeciesCategoryBlastoise", - "overworld_palette": 9, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000001111", - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TURTLESHELL_POND", - "abilities": [ - "ABILITY_TORRENT" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 53, - "base_exp": 250, - "base_att_spatt": [ - 16, - 18 - ], - "base_def_spdef": [ - 19, - 18 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 51, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_WARTORTLE", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 36 - }, - "dexInternal": [ - 9, - 9 - ], - "base_recruit": -339, - "alphabetParent": [ - 28, - 9 - ] - }, - { - "name": "Caterpie", - "species": "SpeciesNameCaterpie", - "category": "SpeciesCategoryCaterpie", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000111", - "types": [ - "TYPE_BUG" - ], - "friend_area": "MIST_RISE_FOREST", - "abilities": [ - "ABILITY_SHIELD_DUST" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 12, - "base_exp": 9, - "base_att_spatt": [ - 6, - 6 - ], - "base_def_spdef": [ - 7, - 7 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 16, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 10, - 10 - ], - "base_recruit": 102, - "alphabetParent": [ - 43, - 10 - ] - }, - { - "name": "Metapod", - "species": "SpeciesNameMetapod", - "category": "SpeciesCategoryMetapod", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_BUG" - ], - "friend_area": "MIST_RISE_FOREST", - "abilities": [ - "ABILITY_SHED_SKIN" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 15, - "base_exp": 27, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 20, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_CATERPIE", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 7 - }, - "dexInternal": [ - 11, - 11 - ], - "base_recruit": -190, - "alphabetParent": [ - 208, - 11 - ] - }, - { - "name": "Butterfree", - "species": "SpeciesNameButterfree", - "category": "SpeciesCategoryButterfree", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_BUG", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "MIST_RISE_FOREST", - "abilities": [ - "ABILITY_COMPOUNDEYES" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 47, - "base_exp": 96, - "base_att_spatt": [ - 22, - 23 - ], - "base_def_spdef": [ - 13, - 14 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 39, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_METAPOD", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 10 - }, - "dexInternal": [ - 12, - 12 - ], - "base_recruit": -999, - "alphabetParent": [ - 33, - 12 - ] - }, - { - "name": "Weedle", - "species": "SpeciesNameWeedle", - "category": "SpeciesCategoryWeedle", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_POISON" - ], - "friend_area": "MIST_RISE_FOREST", - "abilities": [ - "ABILITY_SHIELD_DUST" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 27, - "base_exp": 18, - "base_att_spatt": [ - 9, - 11 - ], - "base_def_spdef": [ - 4, - 6 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 13, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 13, - 13 - ], - "base_recruit": 114, - "alphabetParent": [ - 407, - 13 - ] - }, - { - "name": "Kakuna", - "species": "SpeciesNameKakuna", - "category": "SpeciesCategoryMetapod", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_POISON" - ], - "friend_area": "MIST_RISE_FOREST", - "abilities": [ - "ABILITY_SHED_SKIN" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": false, - "unk1D": 8, - "base_hp": 36, - "base_exp": 50, - "base_att_spatt": [ - 11, - 13 - ], - "base_def_spdef": [ - 12, - 12 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 21, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_WEEDLE", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 7 - }, - "dexInternal": [ - 14, - 14 - ], - "base_recruit": -190, - "alphabetParent": [ - 156, - 14 - ] - }, - { - "name": "Beedrill", - "species": "SpeciesNameBeedrill", - "category": "SpeciesCategoryBeedrill", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_POISON" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "MIST_RISE_FOREST", - "abilities": [ - "ABILITY_SWARM" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 40, - "base_att_spatt": [ - 21, - 22 - ], - "base_def_spdef": [ - 14, - 14 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 39, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_KAKUNA", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 10 - }, - "dexInternal": [ - 15, - 15 - ], - "base_recruit": -999, - "alphabetParent": [ - 24, - 15 - ] - }, - { - "name": "Pidgey", - "species": "SpeciesNamePidgey", - "category": "SpeciesCategoryPidgey", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL", - "TYPE_FLYING" - ], - "friend_area": "FLYAWAY_FOREST", - "abilities": [ - "ABILITY_KEEN_EYE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 10, - "base_exp": 12, - "base_att_spatt": [ - 4, - 5 - ], - "base_def_spdef": [ - 4, - 5 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 16, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 16, - 16 - ], - "base_recruit": 101, - "alphabetParent": [ - 249, - 16 - ] - }, - { - "name": "Pidgeotto", - "species": "SpeciesNamePidgeotto", - "category": "SpeciesCategoryPidgeotto", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL", - "TYPE_FLYING" - ], - "friend_area": "FLYAWAY_FOREST", - "abilities": [ - "ABILITY_KEEN_EYE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 45, - "base_att_spatt": [ - 17, - 20 - ], - "base_def_spdef": [ - 9, - 11 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 25, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_PIDGEY", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 18 - }, - "dexInternal": [ - 17, - 17 - ], - "base_recruit": -190, - "alphabetParent": [ - 248, - 17 - ] - }, - { - "name": "Pidgeot", - "species": "SpeciesNamePidgeot", - "category": "SpeciesCategoryPidgeotto", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL", - "TYPE_FLYING" - ], - "friend_area": "FLYAWAY_FOREST", - "abilities": [ - "ABILITY_KEEN_EYE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 52, - "base_exp": 50, - "base_att_spatt": [ - 28, - 30 - ], - "base_def_spdef": [ - 16, - 16 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 29, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_PIDGEOTTO", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 36 - }, - "dexInternal": [ - 18, - 18 - ], - "base_recruit": -999, - "alphabetParent": [ - 247, - 18 - ] - }, - { - "name": "Rattata", - "species": "SpeciesNameRattata", - "category": "SpeciesCategoryRattata", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "WILD_PLAINS", - "abilities": [ - "ABILITY_RUN_AWAY", - "ABILITY_GUTS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 10, - "base_hp": 14, - "base_exp": 20, - "base_att_spatt": [ - 10, - 10 - ], - "base_def_spdef": [ - 5, - 5 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 20, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 19, - 19 - ], - "base_recruit": 95, - "alphabetParent": [ - 274, - 19 - ] - }, - { - "name": "Raticate", - "species": "SpeciesNameRaticate", - "category": "SpeciesCategoryRattata", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "WILD_PLAINS", - "abilities": [ - "ABILITY_RUN_AWAY", - "ABILITY_GUTS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 10, - "base_hp": 20, - "base_exp": 45, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 23, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_RATTATA", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 20 - }, - "dexInternal": [ - 20, - 20 - ], - "base_recruit": -999, - "alphabetParent": [ - 273, - 20 - ] - }, - { - "name": "Spearow", - "species": "SpeciesNameSpearow", - "category": "SpeciesCategoryPidgey", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL", - "TYPE_FLYING" - ], - "friend_area": "RAVAGED_FIELD", - "abilities": [ - "ABILITY_KEEN_EYE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 25, - "base_hp": 23, - "base_exp": 25, - "base_att_spatt": [ - 15, - 17 - ], - "base_def_spdef": [ - 7, - 7 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 18, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 21, - 21 - ], - "base_recruit": 119, - "alphabetParent": [ - 324, - 21 - ] - }, - { - "name": "Fearow", - "species": "SpeciesNameFearow", - "category": "SpeciesCategoryFearow", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL", - "TYPE_FLYING" - ], - "friend_area": "RAVAGED_FIELD", - "abilities": [ - "ABILITY_KEEN_EYE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 25, - "base_hp": 52, - "base_exp": 50, - "base_att_spatt": [ - 28, - 31 - ], - "base_def_spdef": [ - 17, - 18 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 36, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SPEAROW", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 20 - }, - "dexInternal": [ - 22, - 22 - ], - "base_recruit": -999, - "alphabetParent": [ - 101, - 22 - ] - }, - { - "name": "Ekans", - "species": "SpeciesNameEkans", - "category": "SpeciesCategoryEkans", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000111", - "types": [ - "TYPE_POISON" - ], - "friend_area": "WILD_PLAINS", - "abilities": [ - "ABILITY_INTIMIDATE", - "ABILITY_SHED_SKIN" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 50, - "base_att_spatt": [ - 8, - 7 - ], - "base_def_spdef": [ - 7, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 34, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 23, - 23 - ], - "base_recruit": 124, - "alphabetParent": [ - 90, - 23 - ] - }, - { - "name": "Arbok", - "species": "SpeciesNameArbok", - "category": "SpeciesCategoryArbok", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_POISON" - ], - "friend_area": "WILD_PLAINS", - "abilities": [ - "ABILITY_INTIMIDATE", - "ABILITY_SHED_SKIN" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 45, - "base_exp": 70, - "base_att_spatt": [ - 9, - 10 - ], - "base_def_spdef": [ - 6, - 5 - ], - "lowkick_dmg": 281, - "sizeorb_dmg": 65, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_EKANS", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 22 - }, - "dexInternal": [ - 24, - 24 - ], - "base_recruit": -999, - "alphabetParent": [ - 10, - 24 - ] - }, - { - "name": "Pikachu", - "species": "SpeciesNamePikachu", - "category": "SpeciesCategoryRattata", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0001111111111111", - "types": [ - "TYPE_ELECTRIC" - ], - "friend_area": "ENERGETIC_FOREST", - "abilities": [ - "ABILITY_STATIC" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 13, - "base_exp": 18, - "base_att_spatt": [ - 1, - 1 - ], - "base_def_spdef": [ - 1, - 1 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 31, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_PICHU", - "evolve_type": "EVOLVE_TYPE_IQ" - }, - "needs": { - "evolve_need1": 200 - }, - "dexInternal": [ - 25, - 25 - ], - "base_recruit": -190, - "alphabetParent": [ - 250, - 25 - ] - }, - { - "name": "Raichu", - "species": "SpeciesNameRaichu", - "category": "SpeciesCategoryRattata", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ELECTRIC" - ], - "friend_area": "ENERGETIC_FOREST", - "abilities": [ - "ABILITY_STATIC" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 35, - "base_exp": 90, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 45, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_PIKACHU", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_THUNDERSTONE" - }, - "dexInternal": [ - 26, - 26 - ], - "base_recruit": -999, - "alphabetParent": [ - 269, - 26 - ] - }, - { - "name": "Sandshrew", - "species": "SpeciesNameSandshrew", - "category": "SpeciesCategoryRattata", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GROUND" - ], - "friend_area": "FURNACE_DESERT", - "abilities": [ - "ABILITY_SAND_VEIL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 31, - "base_exp": 50, - "base_att_spatt": [ - 22, - 18 - ], - "base_def_spdef": [ - 5, - 4 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 24, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 27, - 27 - ], - "base_recruit": 104, - "alphabetParent": [ - 287, - 27 - ] - }, - { - "name": "Sandslash", - "species": "SpeciesNameSandslash", - "category": "SpeciesCategoryRattata", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GROUND" - ], - "friend_area": "FURNACE_DESERT", - "abilities": [ - "ABILITY_SAND_VEIL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 56, - "base_exp": 60, - "base_att_spatt": [ - 22, - 18 - ], - "base_def_spdef": [ - 5, - 4 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 38, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SANDSHREW", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 22 - }, - "dexInternal": [ - 28, - 28 - ], - "base_recruit": -999, - "alphabetParent": [ - 288, - 28 - ] - }, - { - "name": "Nidoran♀", - "species": "SpeciesNameNidoran_F", - "category": "SpeciesCategoryNidoran_F", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_POISON" - ], - "friend_area": "SAFARI", - "abilities": [ - "ABILITY_POISON_POINT" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 15, - "base_hp": 12, - "base_exp": 20, - "base_att_spatt": [ - 11, - 10 - ], - "base_def_spdef": [ - 5, - 5 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 22, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 29, - 29 - ], - "base_recruit": 133, - "alphabetParent": [ - 226, - 29 - ] - }, - { - "name": "Nidorina", - "species": "SpeciesNameNidorina", - "category": "SpeciesCategoryNidoran_F", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_POISON" - ], - "friend_area": "SAFARI", - "abilities": [ - "ABILITY_POISON_POINT" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 15, - "base_hp": 40, - "base_exp": 35, - "base_att_spatt": [ - 19, - 15 - ], - "base_def_spdef": [ - 5, - 5 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 26, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_NIDORAN_F", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 16 - }, - "dexInternal": [ - 30, - 30 - ], - "base_recruit": -190, - "alphabetParent": [ - 227, - 30 - ] - }, - { - "name": "Nidoqueen", - "species": "SpeciesNameNidoqueen", - "category": "SpeciesCategoryNidoqueen", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_POISON", - "TYPE_GROUND" - ], - "friend_area": "SAFARI", - "abilities": [ - "ABILITY_POISON_POINT" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 15, - "base_hp": 60, - "base_exp": 45, - "base_att_spatt": [ - 19, - 15 - ], - "base_def_spdef": [ - 5, - 5 - ], - "lowkick_dmg": 281, - "sizeorb_dmg": 40, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_NIDORINA", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_MOON_STONE" - }, - "dexInternal": [ - 31, - 31 - ], - "base_recruit": -999, - "alphabetParent": [ - 224, - 31 - ] - }, - { - "name": "Nidoran♂", - "species": "SpeciesNameNidoran_M", - "category": "SpeciesCategoryNidoran_F", - "overworld_palette": 10, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_POISON" - ], - "friend_area": "SAFARI", - "abilities": [ - "ABILITY_POISON_POINT" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 41, - "base_exp": 24, - "base_att_spatt": [ - 15, - 16 - ], - "base_def_spdef": [ - 11, - 11 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 33, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 32, - 32 - ], - "base_recruit": 126, - "alphabetParent": [ - 225, - 32 - ] - }, - { - "name": "Nidorino", - "species": "SpeciesNameNidorino", - "category": "SpeciesCategoryNidoran_F", - "overworld_palette": 1, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_POISON" - ], - "friend_area": "SAFARI", - "abilities": [ - "ABILITY_POISON_POINT" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 46, - "base_exp": 40, - "base_att_spatt": [ - 15, - 16 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 39, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_NIDORAN_M", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 16 - }, - "dexInternal": [ - 33, - 33 - ], - "base_recruit": -190, - "alphabetParent": [ - 228, - 33 - ] - }, - { - "name": "Nidoking", - "species": "SpeciesNameNidoking", - "category": "SpeciesCategoryNidoqueen", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_POISON", - "TYPE_GROUND" - ], - "friend_area": "SAFARI", - "abilities": [ - "ABILITY_POISON_POINT" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 65, - "base_exp": 60, - "base_att_spatt": [ - 22, - 22 - ], - "base_def_spdef": [ - 17, - 17 - ], - "lowkick_dmg": 281, - "sizeorb_dmg": 57, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_NIDORINO", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_MOON_STONE" - }, - "dexInternal": [ - 34, - 34 - ], - "base_recruit": -999, - "alphabetParent": [ - 223, - 34 - ] - }, - { - "name": "Clefairy", - "species": "SpeciesNameClefairy", - "category": "SpeciesCategoryClefairy", - "overworld_palette": 1, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "MT_MOONVIEW", - "abilities": [ - "ABILITY_CUTE_CHARM" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 15, - "base_exp": 21, - "base_att_spatt": [ - 7, - 7 - ], - "base_def_spdef": [ - 5, - 5 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 29, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_CLEFFA", - "evolve_type": "EVOLVE_TYPE_IQ" - }, - "needs": { - "evolve_need1": 200 - }, - "dexInternal": [ - 35, - 35 - ], - "base_recruit": -190, - "alphabetParent": [ - 55, - 35 - ] - }, - { - "name": "Clefable", - "species": "SpeciesNameClefable", - "category": "SpeciesCategoryClefairy", - "overworld_palette": 1, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "MT_MOONVIEW", - "abilities": [ - "ABILITY_CUTE_CHARM" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 24, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 6, - 6 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 37, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_CLEFAIRY", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_MOON_STONE" - }, - "dexInternal": [ - 36, - 36 - ], - "base_recruit": -999, - "alphabetParent": [ - 54, - 36 - ] - }, - { - "name": "Vulpix", - "species": "SpeciesNameVulpix", - "category": "SpeciesCategoryVulpix", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIRE" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "DARKNESS_RIDGE", - "abilities": [ - "ABILITY_FLASH_FIRE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 27, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 21, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 37, - 37 - ], - "base_recruit": 122, - "alphabetParent": [ - 402, - 37 - ] - }, - { - "name": "Ninetales", - "species": "SpeciesNameNinetales", - "category": "SpeciesCategoryVulpix", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_FIRE" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "DARKNESS_RIDGE", - "abilities": [ - "ABILITY_FLASH_FIRE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 42, - "base_exp": 57, - "base_att_spatt": [ - 16, - 17 - ], - "base_def_spdef": [ - 10, - 13 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 36, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_VULPIX", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_FIRE_STONE" - }, - "dexInternal": [ - 38, - 38 - ], - "base_recruit": -999, - "alphabetParent": [ - 230, - 38 - ] - }, - { - "name": "Jigglypuff", - "species": "SpeciesNameJigglypuff", - "category": "SpeciesCategoryJigglypuff", - "overworld_palette": 1, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "SKY_BLUE_PLAINS", - "abilities": [ - "ABILITY_CUTE_CHARM" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 10, - "base_exp": 15, - "base_att_spatt": [ - 3, - 3 - ], - "base_def_spdef": [ - 4, - 3 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 26, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_IGGLYBUFF", - "evolve_type": "EVOLVE_TYPE_IQ" - }, - "needs": { - "evolve_need1": 200 - }, - "dexInternal": [ - 39, - 39 - ], - "base_recruit": -190, - "alphabetParent": [ - 148, - 39 - ] - }, - { - "name": "Wigglytuff", - "species": "SpeciesNameWigglytuff", - "category": "SpeciesCategoryJigglypuff", - "overworld_palette": 1, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "SKY_BLUE_PLAINS", - "abilities": [ - "ABILITY_CUTE_CHARM" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 22, - "base_exp": 36, - "base_att_spatt": [ - 17, - 18 - ], - "base_def_spdef": [ - 6, - 6 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 34, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_JIGGLYPUFF", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_MOON_STONE" - }, - "dexInternal": [ - 40, - 40 - ], - "base_recruit": -999, - "alphabetParent": [ - 412, - 40 - ] - }, - { - "name": "Zubat", - "species": "SpeciesNameZubat", - "category": "SpeciesCategoryZubat", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_POISON", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "ECHO_CAVE", - "abilities": [ - "ABILITY_INNER_FOCUS" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 34, - "base_exp": 35, - "base_att_spatt": [ - 25, - 24 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 25, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 41, - 41 - ], - "base_recruit": 137, - "alphabetParent": [ - 423, - 41 - ] - }, - { - "name": "Golbat", - "species": "SpeciesNameGolbat", - "category": "SpeciesCategoryZubat", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_POISON", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "ECHO_CAVE", - "abilities": [ - "ABILITY_INNER_FOCUS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 45, - "base_exp": 60, - "base_att_spatt": [ - 25, - 25 - ], - "base_def_spdef": [ - 16, - 16 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 36, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_ZUBAT", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 22 - }, - "dexInternal": [ - 42, - 42 - ], - "base_recruit": -190, - "alphabetParent": [ - 117, - 42 - ] - }, - { - "name": "Oddish", - "species": "SpeciesNameOddish", - "category": "SpeciesCategoryOddish", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS", - "TYPE_POISON" - ], - "friend_area": "JUNGLE", - "abilities": [ - "ABILITY_CHLOROPHYLL" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 15, - "base_hp": 29, - "base_exp": 35, - "base_att_spatt": [ - 19, - 19 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 18, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 43, - 43 - ], - "base_recruit": 120, - "alphabetParent": [ - 237, - 43 - ] - }, - { - "name": "Gloom", - "species": "SpeciesNameGloom", - "category": "SpeciesCategoryOddish", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS", - "TYPE_POISON" - ], - "friend_area": "JUNGLE", - "abilities": [ - "ABILITY_CHLOROPHYLL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 15, - "base_hp": 32, - "base_exp": 36, - "base_att_spatt": [ - 20, - 19 - ], - "base_def_spdef": [ - 13, - 12 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 33, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_ODDISH", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 21 - }, - "dexInternal": [ - 44, - 44 - ], - "base_recruit": -190, - "alphabetParent": [ - 116, - 44 - ] - }, - { - "name": "Vileplume", - "species": "SpeciesNameVileplume", - "category": "SpeciesCategoryVileplume", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS", - "TYPE_POISON" - ], - "friend_area": "JUNGLE", - "abilities": [ - "ABILITY_CHLOROPHYLL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 15, - "base_hp": 37, - "base_exp": 40, - "base_att_spatt": [ - 21, - 19 - ], - "base_def_spdef": [ - 13, - 12 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 35, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_GLOOM", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_LEAF_STONE" - }, - "dexInternal": [ - 45, - 45 - ], - "base_recruit": -999, - "alphabetParent": [ - 399, - 45 - ] - }, - { - "name": "Paras", - "species": "SpeciesNameParas", - "category": "SpeciesCategoryParas", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_GRASS" - ], - "friend_area": "MUSHROOM_FOREST", - "abilities": [ - "ABILITY_EFFECT_SPORE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 28, - "base_exp": 30, - "base_att_spatt": [ - 14, - 14 - ], - "base_def_spdef": [ - 11, - 13 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 22, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 46, - 46 - ], - "base_recruit": 114, - "alphabetParent": [ - 241, - 46 - ] - }, - { - "name": "Parasect", - "species": "SpeciesNameParasect", - "category": "SpeciesCategoryParas", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_GRASS" - ], - "friend_area": "MUSHROOM_FOREST", - "abilities": [ - "ABILITY_EFFECT_SPORE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 54, - "base_exp": 40, - "base_att_spatt": [ - 29, - 30 - ], - "base_def_spdef": [ - 18, - 18 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 32, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_PARAS", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 24 - }, - "dexInternal": [ - 47, - 47 - ], - "base_recruit": -999, - "alphabetParent": [ - 242, - 47 - ] - }, - { - "name": "Venonat", - "species": "SpeciesNameVenonat", - "category": "SpeciesCategoryVenonat", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_POISON" - ], - "friend_area": "SECRETIVE_FOREST", - "abilities": [ - "ABILITY_COMPOUNDEYES" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 20, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 12, - 12 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 30, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 48, - 48 - ], - "base_recruit": 114, - "alphabetParent": [ - 394, - 48 - ] - }, - { - "name": "Venomoth", - "species": "SpeciesNameVenomoth", - "category": "SpeciesCategoryVenomoth", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_POISON" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "SECRETIVE_FOREST", - "abilities": [ - "ABILITY_SHIELD_DUST" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 47, - "base_exp": 60, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 16, - 16 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 37, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_VENONAT", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 31 - }, - "dexInternal": [ - 49, - 49 - ], - "base_recruit": -999, - "alphabetParent": [ - 393, - 49 - ] - }, - { - "name": "Diglett", - "species": "SpeciesNameDiglett", - "category": "SpeciesCategoryDiglett", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000011", - "types": [ - "TYPE_GROUND" - ], - "friend_area": "BOULDER_CAVE", - "abilities": [ - "ABILITY_SAND_VEIL", - "ABILITY_ARENA_TRAP" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 10, - "base_exp": 15, - "base_att_spatt": [ - 7, - 7 - ], - "base_def_spdef": [ - 7, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 14, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 50, - 50 - ], - "base_recruit": 109, - "alphabetParent": [ - 75, - 50 - ] - }, - { - "name": "Dugtrio", - "species": "SpeciesNameDugtrio", - "category": "SpeciesCategoryDiglett", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_GROUND" - ], - "friend_area": "BOULDER_CAVE", - "abilities": [ - "ABILITY_SAND_VEIL", - "ABILITY_ARENA_TRAP" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 20, - "base_exp": 45, - "base_att_spatt": [ - 12, - 12 - ], - "base_def_spdef": [ - 12, - 12 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 36, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_DIGLETT", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 26 - }, - "dexInternal": [ - 51, - 51 - ], - "base_recruit": -999, - "alphabetParent": [ - 84, - 51 - ] - }, - { - "name": "Meowth", - "species": "SpeciesNameMeowth", - "category": "SpeciesCategoryMeowth", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0001111111111111", - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "ENERGETIC_FOREST", - "abilities": [ - "ABILITY_PICKUP" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 18, - "base_exp": 50, - "base_att_spatt": [ - 2, - 4 - ], - "base_def_spdef": [ - 4, - 4 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 23, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 52, - 52 - ], - "base_recruit": 120, - "alphabetParent": [ - 205, - 52 - ] - }, - { - "name": "Persian", - "species": "SpeciesNamePersian", - "category": "SpeciesCategoryPersian", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "ENERGETIC_FOREST", - "abilities": [ - "ABILITY_LIMBER" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 70, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 25, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_MEOWTH", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 28 - }, - "dexInternal": [ - 53, - 53 - ], - "base_recruit": -999, - "alphabetParent": [ - 244, - 53 - ] - }, - { - "name": "Psyduck", - "species": "SpeciesNamePsyduck", - "category": "SpeciesCategoryPsyduck", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0001111111111111", - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TURTLESHELL_POND", - "abilities": [ - "ABILITY_DAMP", - "ABILITY_CLOUD_NINE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 12, - "base_exp": 57, - "base_att_spatt": [ - 4, - 4 - ], - "base_def_spdef": [ - 3, - 3 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 29, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 54, - 54 - ], - "base_recruit": 108, - "alphabetParent": [ - 264, - 54 - ] - }, - { - "name": "Golduck", - "species": "SpeciesNameGolduck", - "category": "SpeciesCategoryPsyduck", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TURTLESHELL_POND", - "abilities": [ - "ABILITY_DAMP", - "ABILITY_CLOUD_NINE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 80, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 20, - 20 - ], - "lowkick_dmg": 307, - "sizeorb_dmg": 42, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_PSYDUCK", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 33 - }, - "dexInternal": [ - 55, - 55 - ], - "base_recruit": -999, - "alphabetParent": [ - 119, - 55 - ] - }, - { - "name": "Mankey", - "species": "SpeciesNameMankey", - "category": "SpeciesCategoryMankey", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000011", - "types": [ - "TYPE_FIGHTING" - ], - "friend_area": "ENERGETIC_FOREST", - "abilities": [ - "ABILITY_VITAL_SPIRIT" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 48, - "base_exp": 30, - "base_att_spatt": [ - 11, - 10 - ], - "base_def_spdef": [ - 13, - 13 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 33, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 56, - 56 - ], - "base_recruit": 109, - "alphabetParent": [ - 194, - 56 - ] - }, - { - "name": "Primeape", - "species": "SpeciesNamePrimeape", - "category": "SpeciesCategoryMankey", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIGHTING" - ], - "friend_area": "ENERGETIC_FOREST", - "abilities": [ - "ABILITY_VITAL_SPIRIT" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 50, - "base_exp": 90, - "base_att_spatt": [ - 25, - 25 - ], - "base_def_spdef": [ - 20, - 20 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 35, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_MANKEY", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 28 - }, - "dexInternal": [ - 57, - 57 - ], - "base_recruit": -999, - "alphabetParent": [ - 263, - 57 - ] - }, - { - "name": "Growlithe", - "species": "SpeciesNameGrowlithe", - "category": "SpeciesCategoryGrowlithe", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIRE" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "SCORCHED_PLAINS", - "abilities": [ - "ABILITY_INTIMIDATE", - "ABILITY_FLASH_FIRE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 42, - "base_exp": 45, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 12, - 12 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 28, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 58, - 58 - ], - "base_recruit": 106, - "alphabetParent": [ - 127, - 58 - ] - }, - { - "name": "Arcanine", - "species": "SpeciesNameArcanine", - "category": "SpeciesCategoryArcanine", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIRE" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "SCORCHED_PLAINS", - "abilities": [ - "ABILITY_INTIMIDATE", - "ABILITY_FLASH_FIRE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 45, - "base_exp": 60, - "base_att_spatt": [ - 21, - 21 - ], - "base_def_spdef": [ - 13, - 13 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 31, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_GROWLITHE", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_FIRE_STONE" - }, - "dexInternal": [ - 59, - 59 - ], - "base_recruit": -999, - "alphabetParent": [ - 11, - 59 - ] - }, - { - "name": "Poliwag", - "species": "SpeciesNamePoliwag", - "category": "SpeciesCategoryPoliwag", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TADPOLE_POND", - "abilities": [ - "ABILITY_WATER_ABSORB", - "ABILITY_DAMP" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 31, - "base_exp": 40, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 11, - 11 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 24, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 60, - 60 - ], - "base_recruit": 81, - "alphabetParent": [ - 256, - 60 - ] - }, - { - "name": "Poliwhirl", - "species": "SpeciesNamePoliwhirl", - "category": "SpeciesCategoryPoliwag", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TADPOLE_POND", - "abilities": [ - "ABILITY_WATER_ABSORB", - "ABILITY_DAMP" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 60, - "base_att_spatt": [ - 29, - 29 - ], - "base_def_spdef": [ - 25, - 25 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 35, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_POLIWAG", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 25 - }, - "dexInternal": [ - 61, - 61 - ], - "base_recruit": -190, - "alphabetParent": [ - 257, - 61 - ] - }, - { - "name": "Poliwrath", - "species": "SpeciesNamePoliwrath", - "category": "SpeciesCategoryPoliwag", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_FIGHTING" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TADPOLE_POND", - "abilities": [ - "ABILITY_WATER_ABSORB", - "ABILITY_DAMP" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 60, - "base_exp": 80, - "base_att_spatt": [ - 30, - 30 - ], - "base_def_spdef": [ - 27, - 27 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 46, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_POLIWHIRL", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_WATER_STONE" - }, - "dexInternal": [ - 62, - 62 - ], - "base_recruit": -999, - "alphabetParent": [ - 258, - 62 - ] - }, - { - "name": "Abra", - "species": "SpeciesNameAbra", - "category": "SpeciesCategoryAbra", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "DECREPIT_LAB", - "abilities": [ - "ABILITY_SYNCHRONIZE", - "ABILITY_INNER_FOCUS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 100, - "base_hp": 30, - "base_exp": 57, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 27, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 63, - 63 - ], - "base_recruit": 104, - "alphabetParent": [ - 1, - 63 - ] - }, - { - "name": "Kadabra", - "species": "SpeciesNameKadabra", - "category": "SpeciesCategoryAbra", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "friend_area": "DECREPIT_LAB", - "abilities": [ - "ABILITY_SYNCHRONIZE", - "ABILITY_INNER_FOCUS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 100, - "base_hp": 60, - "base_exp": 100, - "base_att_spatt": [ - 25, - 25 - ], - "base_def_spdef": [ - 25, - 25 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 36, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_ABRA", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 16 - }, - "dexInternal": [ - 64, - 64 - ], - "base_recruit": -190, - "alphabetParent": [ - 155, - 64 - ] - }, - { - "name": "Alakazam", - "species": "SpeciesNameAlakazam", - "category": "SpeciesCategoryAbra", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000111", - "types": [ - "TYPE_PSYCHIC" - ], - "friend_area": "DECREPIT_LAB", - "abilities": [ - "ABILITY_SYNCHRONIZE", - "ABILITY_INNER_FOCUS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 80, - "base_exp": 225, - "base_att_spatt": [ - 35, - 35 - ], - "base_def_spdef": [ - 40, - 40 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 34, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_KADABRA", - "evolve_type": "EVOLVE_TYPE_LINK_CABLE" - }, - "needs": { - "evolve_need1": 0, - "evolve_need2": 4 - }, - "dexInternal": [ - 65, - 65 - ], - "base_recruit": -999, - "alphabetParent": [ - 6, - 65 - ] - }, - { - "name": "Machop", - "species": "SpeciesNameMachop", - "category": "SpeciesCategoryMachop", - "overworld_palette": 12, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0001111111111111", - "types": [ - "TYPE_FIGHTING" - ], - "friend_area": "MT_DISCIPLINE", - "abilities": [ - "ABILITY_GUTS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 18, - "base_exp": 57, - "base_att_spatt": [ - 2, - 2 - ], - "base_def_spdef": [ - 4, - 4 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 26, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 66, - 66 - ], - "base_recruit": 105, - "alphabetParent": [ - 185, - 66 - ] - }, - { - "name": "Machoke", - "species": "SpeciesNameMachoke", - "category": "SpeciesCategoryMachop", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIGHTING" - ], - "friend_area": "MT_DISCIPLINE", - "abilities": [ - "ABILITY_GUTS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 85, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 15, - 20 - ], - "lowkick_dmg": 307, - "sizeorb_dmg": 40, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_MACHOP", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 28 - }, - "dexInternal": [ - 67, - 67 - ], - "base_recruit": -190, - "alphabetParent": [ - 184, - 67 - ] - }, - { - "name": "Machamp", - "species": "SpeciesNameMachamp", - "category": "SpeciesCategoryMachop", - "overworld_palette": 12, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIGHTING" - ], - "friend_area": "MT_DISCIPLINE", - "abilities": [ - "ABILITY_GUTS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 104, - "base_att_spatt": [ - 25, - 20 - ], - "base_def_spdef": [ - 20, - 20 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 58, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_MACHOKE", - "evolve_type": "EVOLVE_TYPE_LINK_CABLE" - }, - "needs": { - "evolve_need1": 0, - "evolve_need2": 4 - }, - "dexInternal": [ - 68, - 68 - ], - "base_recruit": -999, - "alphabetParent": [ - 183, - 68 - ] - }, - { - "name": "Bellsprout", - "species": "SpeciesNameBellsprout", - "category": "SpeciesCategoryVileplume", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000011", - "types": [ - "TYPE_GRASS", - "TYPE_POISON" - ], - "friend_area": "JUNGLE", - "abilities": [ - "ABILITY_CHLOROPHYLL" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 11, - "base_exp": 11, - "base_att_spatt": [ - 5, - 6 - ], - "base_def_spdef": [ - 6, - 7 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 16, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 69, - 69 - ], - "base_recruit": 93, - "alphabetParent": [ - 27, - 69 - ] - }, - { - "name": "Weepinbell", - "species": "SpeciesNameWeepinbell", - "category": "SpeciesCategoryWeepinbell", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS", - "TYPE_POISON" - ], - "friend_area": "JUNGLE", - "abilities": [ - "ABILITY_CHLOROPHYLL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 33, - "base_exp": 24, - "base_att_spatt": [ - 12, - 12 - ], - "base_def_spdef": [ - 9, - 9 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 23, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_BELLSPROUT", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 21 - }, - "dexInternal": [ - 70, - 70 - ], - "base_recruit": -190, - "alphabetParent": [ - 408, - 70 - ] - }, - { - "name": "Victreebel", - "species": "SpeciesNameVictreebel", - "category": "SpeciesCategoryWeepinbell", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS", - "TYPE_POISON" - ], - "friend_area": "JUNGLE", - "abilities": [ - "ABILITY_CHLOROPHYLL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 45, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 39, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_WEEPINBELL", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_LEAF_STONE" - }, - "dexInternal": [ - 71, - 71 - ], - "base_recruit": -999, - "alphabetParent": [ - 397, - 71 - ] - }, - { - "name": "Tentacool", - "species": "SpeciesNameTentacool", - "category": "SpeciesCategoryTentacool", - "overworld_palette": 1, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_POISON" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "BOUNTIFUL_SEA", - "abilities": [ - "ABILITY_CLEAR_BODY", - "ABILITY_LIQUID_OOZE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 33, - "base_exp": 55, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 29, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 72, - 72 - ], - "base_recruit": 83, - "alphabetParent": [ - 349, - 72 - ] - }, - { - "name": "Tentacruel", - "species": "SpeciesNameTentacruel", - "category": "SpeciesCategoryTentacool", - "overworld_palette": 1, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_POISON" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "BOUNTIFUL_SEA", - "abilities": [ - "ABILITY_CLEAR_BODY", - "ABILITY_LIQUID_OOZE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 45, - "base_exp": 75, - "base_att_spatt": [ - 17, - 15 - ], - "base_def_spdef": [ - 14, - 15 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 37, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_TENTACOOL", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 30 - }, - "dexInternal": [ - 73, - 73 - ], - "base_recruit": -300, - "alphabetParent": [ - 350, - 73 - ] - }, - { - "name": "Geodude", - "species": "SpeciesNameGeodude", - "category": "SpeciesCategoryGeodude", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ROCK", - "TYPE_GROUND" - ], - "friend_area": "MT_DEEPGREEN", - "abilities": [ - "ABILITY_ROCK_HEAD", - "ABILITY_STURDY" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 5, - "base_hp": 26, - "base_exp": 25, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 27, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 74, - 74 - ], - "base_recruit": 91, - "alphabetParent": [ - 112, - 74 - ] - }, - { - "name": "Graveler", - "species": "SpeciesNameGraveler", - "category": "SpeciesCategoryGeodude", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ROCK", - "TYPE_GROUND" - ], - "friend_area": "MT_DEEPGREEN", - "abilities": [ - "ABILITY_ROCK_HEAD", - "ABILITY_STURDY" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 5, - "base_hp": 56, - "base_exp": 70, - "base_att_spatt": [ - 19, - 19 - ], - "base_def_spdef": [ - 15, - 16 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 41, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_GEODUDE", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 25 - }, - "dexInternal": [ - 75, - 75 - ], - "base_recruit": -190, - "alphabetParent": [ - 123, - 75 - ] - }, - { - "name": "Golem", - "species": "SpeciesNameGolem", - "category": "SpeciesCategoryGolem", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_ROCK", - "TYPE_GROUND" - ], - "friend_area": "MT_DEEPGREEN", - "abilities": [ - "ABILITY_ROCK_HEAD", - "ABILITY_STURDY" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 5, - "base_hp": 60, - "base_exp": 100, - "base_att_spatt": [ - 22, - 22 - ], - "base_def_spdef": [ - 17, - 18 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 39, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_GRAVELER", - "evolve_type": "EVOLVE_TYPE_LINK_CABLE" - }, - "needs": { - "evolve_need1": 0, - "evolve_need2": 4 - }, - "dexInternal": [ - 76, - 76 - ], - "base_recruit": -300, - "alphabetParent": [ - 120, - 76 - ] - }, - { - "name": "Ponyta", - "species": "SpeciesNamePonyta", - "category": "SpeciesCategoryPonyta", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIRE" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "SCORCHED_PLAINS", - "abilities": [ - "ABILITY_RUN_AWAY", - "ABILITY_FLASH_FIRE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 50, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 19, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 77, - 77 - ], - "base_recruit": 109, - "alphabetParent": [ - 259, - 77 - ] - }, - { - "name": "Rapidash", - "species": "SpeciesNameRapidash", - "category": "SpeciesCategoryPonyta", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIRE" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "SCORCHED_PLAINS", - "abilities": [ - "ABILITY_RUN_AWAY", - "ABILITY_FLASH_FIRE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 60, - "base_exp": 70, - "base_att_spatt": [ - 23, - 23 - ], - "base_def_spdef": [ - 16, - 16 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 29, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_PONYTA", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 40 - }, - "dexInternal": [ - 78, - 78 - ], - "base_recruit": -999, - "alphabetParent": [ - 272, - 78 - ] - }, - { - "name": "Slowpoke", - "species": "SpeciesNameSlowpoke", - "category": "SpeciesCategorySlowpoke", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "BOUNTIFUL_SEA", - "abilities": [ - "ABILITY_OBLIVIOUS", - "ABILITY_OWN_TEMPO" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 50, - "base_att_spatt": [ - 10, - 10 - ], - "base_def_spdef": [ - 11, - 12 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 24, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 79, - 79 - ], - "base_recruit": 120, - "alphabetParent": [ - 315, - 79 - ] - }, - { - "name": "Slowbro", - "species": "SpeciesNameSlowbro", - "category": "SpeciesCategorySlowbro", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "BOUNTIFUL_SEA", - "abilities": [ - "ABILITY_OBLIVIOUS", - "ABILITY_OWN_TEMPO" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 45, - "base_exp": 90, - "base_att_spatt": [ - 18, - 16 - ], - "base_def_spdef": [ - 15, - 17 - ], - "lowkick_dmg": 307, - "sizeorb_dmg": 31, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SLOWPOKE", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 37 - }, - "dexInternal": [ - 80, - 80 - ], - "base_recruit": -999, - "alphabetParent": [ - 313, - 80 - ] - }, - { - "name": "Magnemite", - "species": "SpeciesNameMagnemite", - "category": "SpeciesCategoryMagnemite", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000011", - "types": [ - "TYPE_ELECTRIC", - "TYPE_STEEL" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "POWER_PLANT", - "abilities": [ - "ABILITY_MAGNET_PULL", - "ABILITY_STURDY" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 13, - "base_exp": 20, - "base_att_spatt": [ - 5, - 4 - ], - "base_def_spdef": [ - 5, - 4 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 15, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 81, - 81 - ], - "base_recruit": 128, - "alphabetParent": [ - 190, - 81 - ] - }, - { - "name": "Magneton", - "species": "SpeciesNameMagneton", - "category": "SpeciesCategoryMagnemite", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ELECTRIC", - "TYPE_STEEL" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "POWER_PLANT", - "abilities": [ - "ABILITY_MAGNET_PULL", - "ABILITY_STURDY" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 45, - "base_att_spatt": [ - 16, - 16 - ], - "base_def_spdef": [ - 16, - 16 - ], - "lowkick_dmg": 281, - "sizeorb_dmg": 34, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_MAGNEMITE", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 30 - }, - "dexInternal": [ - 82, - 82 - ], - "base_recruit": -999, - "alphabetParent": [ - 191, - 82 - ] - }, - { - "name": "Farfetch", - "species": "SpeciesNameFarfetch", - "category": "SpeciesCategoryFarfetch", - "overworld_palette": 8, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL", - "TYPE_FLYING" - ], - "friend_area": "WILD_PLAINS", - "abilities": [ - "ABILITY_KEEN_EYE", - "ABILITY_INNER_FOCUS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 31, - "base_exp": 40, - "base_att_spatt": [ - 16, - 19 - ], - "base_def_spdef": [ - 12, - 14 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 24, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 83, - 83 - ], - "base_recruit": 72, - "alphabetParent": [ - 100, - 83 - ] - }, - { - "name": "Doduo", - "species": "SpeciesNameDoduo", - "category": "SpeciesCategoryDoduo", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL", - "TYPE_FLYING" - ], - "friend_area": "SAFARI", - "abilities": [ - "ABILITY_RUN_AWAY", - "ABILITY_EARLY_BIRD" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 37, - "base_exp": 70, - "base_att_spatt": [ - 19, - 19 - ], - "base_def_spdef": [ - 11, - 11 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 26, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 84, - 84 - ], - "base_recruit": 73, - "alphabetParent": [ - 78, - 84 - ] - }, - { - "name": "Dodrio", - "species": "SpeciesNameDodrio", - "category": "SpeciesCategoryDodrio", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL", - "TYPE_FLYING" - ], - "friend_area": "SAFARI", - "abilities": [ - "ABILITY_RUN_AWAY", - "ABILITY_EARLY_BIRD" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 56, - "base_exp": 77, - "base_att_spatt": [ - 25, - 25 - ], - "base_def_spdef": [ - 18, - 16 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 33, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_DODUO", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 31 - }, - "dexInternal": [ - 85, - 85 - ], - "base_recruit": -999, - "alphabetParent": [ - 77, - 85 - ] - }, - { - "name": "Seel", - "species": "SpeciesNameSeel", - "category": "SpeciesCategorySeel", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "ICE_FLOE_BEACH", - "abilities": [ - "ABILITY_THICK_FAT" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 53, - "base_exp": 60, - "base_att_spatt": [ - 14, - 14 - ], - "base_def_spdef": [ - 9, - 7 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 28, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 86, - 86 - ], - "base_recruit": 39, - "alphabetParent": [ - 296, - 86 - ] - }, - { - "name": "Dewgong", - "species": "SpeciesNameDewgong", - "category": "SpeciesCategorySeel", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_ICE" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "ICE_FLOE_BEACH", - "abilities": [ - "ABILITY_THICK_FAT" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 55, - "base_exp": 85, - "base_att_spatt": [ - 16, - 16 - ], - "base_def_spdef": [ - 15, - 13 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 32, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SEEL", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 34 - }, - "dexInternal": [ - 87, - 87 - ], - "base_recruit": -999, - "alphabetParent": [ - 74, - 87 - ] - }, - { - "name": "Grimer", - "species": "SpeciesNameGrimer", - "category": "SpeciesCategoryGrimer", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_POISON" - ], - "friend_area": "POISON_SWAMP", - "abilities": [ - "ABILITY_STENCH", - "ABILITY_STICKY_HOLD" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 58, - "base_exp": 55, - "base_att_spatt": [ - 19, - 19 - ], - "base_def_spdef": [ - 11, - 11 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 32, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 88, - 88 - ], - "base_recruit": 122, - "alphabetParent": [ - 124, - 88 - ] - }, - { - "name": "Muk", - "species": "SpeciesNameMuk", - "category": "SpeciesCategoryGrimer", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_POISON" - ], - "friend_area": "POISON_SWAMP", - "abilities": [ - "ABILITY_STENCH", - "ABILITY_STICKY_HOLD" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 58, - "base_exp": 55, - "base_att_spatt": [ - 21, - 23 - ], - "base_def_spdef": [ - 15, - 17 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 39, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_GRIMER", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 38 - }, - "dexInternal": [ - 89, - 89 - ], - "base_recruit": -999, - "alphabetParent": [ - 219, - 89 - ] - }, - { - "name": "Shellder", - "species": "SpeciesNameShellder", - "category": "SpeciesCategoryShellder", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "BOUNTIFUL_SEA", - "abilities": [ - "ABILITY_SHELL_ARMOR" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 25, - "base_exp": 66, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 25, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 90, - 90 - ], - "base_recruit": 122, - "alphabetParent": [ - 302, - 90 - ] - }, - { - "name": "Cloyster", - "species": "SpeciesNameCloyster", - "category": "SpeciesCategoryShellder", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_ICE" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "BOUNTIFUL_SEA", - "abilities": [ - "ABILITY_SHELL_ARMOR" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 82, - "base_att_spatt": [ - 10, - 10 - ], - "base_def_spdef": [ - 8, - 9 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 43, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SHELLDER", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_WATER_STONE" - }, - "dexInternal": [ - 91, - 91 - ], - "base_recruit": -999, - "alphabetParent": [ - 57, - 91 - ] - }, - { - "name": "Gastly", - "species": "SpeciesNameGastly", - "category": "SpeciesCategoryGastly", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GHOST", - "TYPE_POISON" - ], - "walkable_tiles": "WALKABLE_TILE_WALL", - "friend_area": "DARKNESS_RIDGE", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 25, - "base_exp": 80, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 7, - 7 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 38, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 92, - 92 - ], - "base_recruit": 10, - "alphabetParent": [ - 110, - 92 - ] - }, - { - "name": "Haunter", - "species": "SpeciesNameHaunter", - "category": "SpeciesCategoryGastly", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GHOST", - "TYPE_POISON" - ], - "walkable_tiles": "WALKABLE_TILE_WALL", - "friend_area": "DARKNESS_RIDGE", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 90, - "base_att_spatt": [ - 11, - 11 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 43, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_GASTLY", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 25 - }, - "dexInternal": [ - 93, - 93 - ], - "base_recruit": -190, - "alphabetParent": [ - 132, - 93 - ] - }, - { - "name": "Gengar", - "species": "SpeciesNameGengar", - "category": "SpeciesCategoryGengar", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000001111111", - "types": [ - "TYPE_GHOST", - "TYPE_POISON" - ], - "walkable_tiles": "WALKABLE_TILE_WALL", - "friend_area": "DARKNESS_RIDGE", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 53, - "base_exp": 200, - "base_att_spatt": [ - 13, - 13 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 40, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_HAUNTER", - "evolve_type": "EVOLVE_TYPE_LINK_CABLE" - }, - "needs": { - "evolve_need1": 0, - "evolve_need2": 4 - }, - "dexInternal": [ - 94, - 94 - ], - "base_recruit": -999, - "alphabetParent": [ - 111, - 94 - ] - }, - { - "name": "Onix", - "species": "SpeciesNameOnix", - "category": "SpeciesCategoryOnix", - "overworld_palette": 5, - "size": 4, - "move_speed": 1, - "types": [ - "TYPE_ROCK", - "TYPE_GROUND" - ], - "friend_area": "BOULDER_CAVE", - "abilities": [ - "ABILITY_ROCK_HEAD", - "ABILITY_STURDY" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 52, - "base_exp": 100, - "base_att_spatt": [ - 9, - 10 - ], - "base_def_spdef": [ - 17, - 17 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 76, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 95, - 95 - ], - "base_recruit": 96, - "alphabetParent": [ - 240, - 95 - ] - }, - { - "name": "Drowzee", - "species": "SpeciesNameDrowzee", - "category": "SpeciesCategoryDrowzee", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "friend_area": "WILD_PLAINS", - "abilities": [ - "ABILITY_INSOMNIA" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 30, - "base_exp": 100, - "base_att_spatt": [ - 11, - 12 - ], - "base_def_spdef": [ - 15, - 16 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 32, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 96, - 96 - ], - "base_recruit": 79, - "alphabetParent": [ - 83, - 96 - ] - }, - { - "name": "Hypno", - "species": "SpeciesNameHypno", - "category": "SpeciesCategoryDrowzee", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "friend_area": "WILD_PLAINS", - "abilities": [ - "ABILITY_INSOMNIA" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 40, - "base_exp": 190, - "base_att_spatt": [ - 15, - 17 - ], - "base_def_spdef": [ - 18, - 16 - ], - "lowkick_dmg": 307, - "sizeorb_dmg": 36, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_DROWZEE", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 26 - }, - "dexInternal": [ - 97, - 97 - ], - "base_recruit": -999, - "alphabetParent": [ - 144, - 97 - ] - }, - { - "name": "Krabby", - "species": "SpeciesNameKrabby", - "category": "SpeciesCategoryKrabby", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "SHALLOW_BEACH", - "abilities": [ - "ABILITY_HYPER_CUTTER", - "ABILITY_SHELL_ARMOR" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 25, - "base_exp": 25, - "base_att_spatt": [ - 9, - 9 - ], - "base_def_spdef": [ - 6, - 7 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 19, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 98, - 98 - ], - "base_recruit": 80, - "alphabetParent": [ - 163, - 98 - ] - }, - { - "name": "Kingler", - "species": "SpeciesNameKingler", - "category": "SpeciesCategoryKingler", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "SHALLOW_BEACH", - "abilities": [ - "ABILITY_HYPER_CUTTER", - "ABILITY_SHELL_ARMOR" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 90, - "base_att_spatt": [ - 9, - 10 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 281, - "sizeorb_dmg": 36, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_KRABBY", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 28 - }, - "dexInternal": [ - 99, - 99 - ], - "base_recruit": -999, - "alphabetParent": [ - 160, - 99 - ] - }, - { - "name": "Voltorb", - "species": "SpeciesNameVoltorb", - "category": "SpeciesCategoryVoltorb", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ELECTRIC" - ], - "friend_area": "POWER_PLANT", - "abilities": [ - "ABILITY_SOUNDPROOF", - "ABILITY_STATIC" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 18, - "base_exp": 35, - "base_att_spatt": [ - 11, - 11 - ], - "base_def_spdef": [ - 5, - 5 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 18, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 100, - 100 - ], - "base_recruit": 81, - "alphabetParent": [ - 401, - 100 - ] - }, - { - "name": "Electrode", - "species": "SpeciesNameElectrode", - "category": "SpeciesCategoryVoltorb", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ELECTRIC" - ], - "friend_area": "POWER_PLANT", - "abilities": [ - "ABILITY_SOUNDPROOF", - "ABILITY_STATIC" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 30, - "base_exp": 160, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 10, - 12 - ], - "lowkick_dmg": 281, - "sizeorb_dmg": 26, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_VOLTORB", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 30 - }, - "dexInternal": [ - 101, - 101 - ], - "base_recruit": -999, - "alphabetParent": [ - 93, - 101 - ] - }, - { - "name": "Exeggcute", - "species": "SpeciesNameExeggcute", - "category": "SpeciesCategoryExeggcute", - "overworld_palette": 10, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS", - "TYPE_PSYCHIC" - ], - "friend_area": "JUNGLE", - "abilities": [ - "ABILITY_CHLOROPHYLL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 40, - "base_hp": 12, - "base_exp": 45, - "base_att_spatt": [ - 6, - 6 - ], - "base_def_spdef": [ - 5, - 5 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 40, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 102, - 102 - ], - "base_recruit": 60, - "alphabetParent": [ - 97, - 102 - ] - }, - { - "name": "Exeggutor", - "species": "SpeciesNameExeggutor", - "category": "SpeciesCategoryExeggutor", - "overworld_palette": 8, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS", - "TYPE_PSYCHIC" - ], - "friend_area": "JUNGLE", - "abilities": [ - "ABILITY_CHLOROPHYLL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 25, - "base_hp": 33, - "base_exp": 50, - "base_att_spatt": [ - 13, - 13 - ], - "base_def_spdef": [ - 6, - 6 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 45, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_EXEGGCUTE", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_LEAF_STONE" - }, - "dexInternal": [ - 103, - 103 - ], - "base_recruit": -999, - "alphabetParent": [ - 98, - 103 - ] - }, - { - "name": "Cubone", - "species": "SpeciesNameCubone", - "category": "SpeciesCategoryCubone", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0001111111111111", - "types": [ - "TYPE_GROUND" - ], - "friend_area": "MT_DEEPGREEN", - "abilities": [ - "ABILITY_ROCK_HEAD", - "ABILITY_LIGHTNINGROD" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 13, - "base_exp": 18, - "base_att_spatt": [ - 4, - 2 - ], - "base_def_spdef": [ - 6, - 2 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 29, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 104, - 104 - ], - "base_recruit": 105, - "alphabetParent": [ - 65, - 104 - ] - }, - { - "name": "Marowak", - "species": "SpeciesNameMarowak", - "category": "SpeciesCategoryMarowak", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GROUND" - ], - "friend_area": "MT_DEEPGREEN", - "abilities": [ - "ABILITY_ROCK_HEAD", - "ABILITY_LIGHTNINGROD" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 50, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 39, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_CUBONE", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 28 - }, - "dexInternal": [ - 105, - 105 - ], - "base_recruit": -999, - "alphabetParent": [ - 198, - 105 - ] - }, - { - "name": "Hitmonlee", - "species": "SpeciesNameHitmonlee", - "category": "SpeciesCategoryHitmonlee", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIGHTING" - ], - "friend_area": "MT_DISCIPLINE", - "abilities": [ - "ABILITY_LIMBER" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 48, - "base_exp": 80, - "base_att_spatt": [ - 25, - 22 - ], - "base_def_spdef": [ - 13, - 13 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 45, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_TYROGUE", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 20, - "evolve_need2": 5 - }, - "dexInternal": [ - 106, - 106 - ], - "base_recruit": -999, - "alphabetParent": [ - 135, - 106 - ] - }, - { - "name": "Hitmonchan", - "species": "SpeciesNameHitmonchan", - "category": "SpeciesCategoryHitmonchan", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIGHTING" - ], - "friend_area": "MT_DISCIPLINE", - "abilities": [ - "ABILITY_KEEN_EYE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 52, - "base_exp": 90, - "base_att_spatt": [ - 28, - 25 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 33, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_TYROGUE", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 20, - "evolve_need2": 6 - }, - "dexInternal": [ - 107, - 107 - ], - "base_recruit": -999, - "alphabetParent": [ - 134, - 107 - ] - }, - { - "name": "Lickitung", - "species": "SpeciesNameLickitung", - "category": "SpeciesCategoryLickitung", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "SKY_BLUE_PLAINS", - "abilities": [ - "ABILITY_OWN_TEMPO", - "ABILITY_OBLIVIOUS" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 95, - "base_att_spatt": [ - 20, - 18 - ], - "base_def_spdef": [ - 18, - 16 - ], - "lowkick_dmg": 281, - "sizeorb_dmg": 47, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 108, - 108 - ], - "base_recruit": 86, - "alphabetParent": [ - 173, - 108 - ] - }, - { - "name": "Koffing", - "species": "SpeciesNameKoffing", - "category": "SpeciesCategoryKoffing", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_POISON" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "POISON_SWAMP", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 42, - "base_exp": 70, - "base_att_spatt": [ - 21, - 21 - ], - "base_def_spdef": [ - 5, - 5 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 29, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 109, - 109 - ], - "base_recruit": 79, - "alphabetParent": [ - 162, - 109 - ] - }, - { - "name": "Weezing", - "species": "SpeciesNameWeezing", - "category": "SpeciesCategoryKoffing", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_POISON" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "POISON_SWAMP", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 52, - "base_exp": 80, - "base_att_spatt": [ - 22, - 23 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 55, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_KOFFING", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 35 - }, - "dexInternal": [ - 110, - 110 - ], - "base_recruit": -999, - "alphabetParent": [ - 409, - 110 - ] - }, - { - "name": "Rhyhorn", - "species": "SpeciesNameRhyhorn", - "category": "SpeciesCategoryRhyhorn", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GROUND", - "TYPE_ROCK" - ], - "friend_area": "SAFARI", - "abilities": [ - "ABILITY_LIGHTNINGROD", - "ABILITY_ROCK_HEAD" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 53, - "base_exp": 100, - "base_att_spatt": [ - 25, - 25 - ], - "base_def_spdef": [ - 10, - 14 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 34, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 111, - 111 - ], - "base_recruit": 77, - "alphabetParent": [ - 283, - 111 - ] - }, - { - "name": "Rhydon", - "species": "SpeciesNameRhydon", - "category": "SpeciesCategoryNidoqueen", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GROUND", - "TYPE_ROCK" - ], - "friend_area": "SAFARI", - "abilities": [ - "ABILITY_LIGHTNINGROD", - "ABILITY_ROCK_HEAD" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 58, - "base_exp": 110, - "base_att_spatt": [ - 25, - 27 - ], - "base_def_spdef": [ - 10, - 14 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 51, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_RHYHORN", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 42 - }, - "dexInternal": [ - 112, - 112 - ], - "base_recruit": -999, - "alphabetParent": [ - 282, - 112 - ] - }, - { - "name": "Chansey", - "species": "SpeciesNameChansey", - "category": "SpeciesCategoryExeggcute", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "SKY_BLUE_PLAINS", - "abilities": [ - "ABILITY_NATURAL_CURE", - "ABILITY_SERENE_GRACE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 33, - "base_exp": 7, - "base_att_spatt": [ - 7, - 7 - ], - "base_def_spdef": [ - 7, - 7 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 36, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 113, - 113 - ], - "base_recruit": 69, - "alphabetParent": [ - 45, - 113 - ] - }, - { - "name": "Tangela", - "species": "SpeciesNameTangela", - "category": "SpeciesCategoryTangela", - "overworld_palette": 11, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS" - ], - "friend_area": "JUNGLE", - "abilities": [ - "ABILITY_CHLOROPHYLL" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 60, - "base_att_spatt": [ - 18, - 15 - ], - "base_def_spdef": [ - 20, - 15 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 42, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 114, - 114 - ], - "base_recruit": 74, - "alphabetParent": [ - 346, - 114 - ] - }, - { - "name": "Kangaskhan", - "species": "SpeciesNameKangaskhan", - "category": "SpeciesCategoryKangaskhan", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000011", - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "SAFARI", - "abilities": [ - "ABILITY_EARLY_BIRD" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 40, - "base_exp": 125, - "base_att_spatt": [ - 20, - 15 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 55, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 115, - 115 - ], - "base_recruit": 76, - "alphabetParent": [ - 157, - 115 - ] - }, - { - "name": "Horsea", - "species": "SpeciesNameHorsea", - "category": "SpeciesCategoryHorsea", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TREASURE_SEA", - "abilities": [ - "ABILITY_SWIFT_SWIM" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 65, - "base_att_spatt": [ - 7, - 8 - ], - "base_def_spdef": [ - 7, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 19, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 116, - 116 - ], - "base_recruit": 124, - "alphabetParent": [ - 140, - 116 - ] - }, - { - "name": "Seadra", - "species": "SpeciesNameSeadra", - "category": "SpeciesCategoryHorsea", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TREASURE_SEA", - "abilities": [ - "ABILITY_POISON_POINT" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 95, - "base_att_spatt": [ - 9, - 8 - ], - "base_def_spdef": [ - 10, - 8 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 32, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_HORSEA", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 32 - }, - "dexInternal": [ - 117, - 117 - ], - "base_recruit": -190, - "alphabetParent": [ - 292, - 117 - ] - }, - { - "name": "Goldeen", - "species": "SpeciesNameGoldeen", - "category": "SpeciesCategoryGoldeen", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "RUB_A_DUB_RIVER", - "abilities": [ - "ABILITY_SWIFT_SWIM", - "ABILITY_WATER_VEIL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 25, - "base_exp": 50, - "base_att_spatt": [ - 5, - 5 - ], - "base_def_spdef": [ - 5, - 5 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 25, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 118, - 118 - ], - "base_recruit": 119, - "alphabetParent": [ - 118, - 118 - ] - }, - { - "name": "Seaking", - "species": "SpeciesNameSeaking", - "category": "SpeciesCategoryGoldeen", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "RUB_A_DUB_RIVER", - "abilities": [ - "ABILITY_SWIFT_SWIM", - "ABILITY_WATER_VEIL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 65, - "base_att_spatt": [ - 10, - 10 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 37, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_GOLDEEN", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 33 - }, - "dexInternal": [ - 119, - 119 - ], - "base_recruit": -999, - "alphabetParent": [ - 293, - 119 - ] - }, - { - "name": "Staryu", - "species": "SpeciesNameStaryu", - "category": "SpeciesCategoryStaryu", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "BOUNTIFUL_SEA", - "abilities": [ - "ABILITY_ILLUMINATE", - "ABILITY_NATURAL_CURE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 85, - "base_att_spatt": [ - 10, - 9 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 22, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 120, - 120 - ], - "base_recruit": 89, - "alphabetParent": [ - 332, - 120 - ] - }, - { - "name": "Starmie", - "species": "SpeciesNameStarmie", - "category": "SpeciesCategoryStarmie", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "BOUNTIFUL_SEA", - "abilities": [ - "ABILITY_ILLUMINATE", - "ABILITY_NATURAL_CURE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 55, - "base_exp": 115, - "base_att_spatt": [ - 25, - 25 - ], - "base_def_spdef": [ - 19, - 18 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 27, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_STARYU", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_WATER_STONE" - }, - "dexInternal": [ - 121, - 121 - ], - "base_recruit": -999, - "alphabetParent": [ - 331, - 121 - ] - }, - { - "name": "Mr. Mime", - "species": "SpeciesNameMrMime", - "category": "SpeciesCategoryMrMime", - "overworld_palette": 11, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "friend_area": "DECREPIT_LAB", - "abilities": [ - "ABILITY_SOUNDPROOF" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 160, - "base_att_spatt": [ - 9, - 9 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 36, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 122, - 122 - ], - "base_recruit": 74, - "alphabetParent": [ - 217, - 122 - ] - }, - { - "name": "Scyther", - "species": "SpeciesNameScyther", - "category": "SpeciesCategoryScyther", - "overworld_palette": 8, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_FLYING" - ], - "friend_area": "OVERGROWN_FOREST", - "abilities": [ - "ABILITY_SWARM" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 15, - "base_hp": 30, - "base_exp": 50, - "base_att_spatt": [ - 14, - 14 - ], - "base_def_spdef": [ - 9, - 8 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 42, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 123, - 123 - ], - "base_recruit": 100, - "alphabetParent": [ - 291, - 123 - ] - }, - { - "name": "Jynx", - "species": "SpeciesNameJynx", - "category": "SpeciesCategoryJynx", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ICE", - "TYPE_PSYCHIC" - ], - "friend_area": "FRIGID_CAVERN", - "abilities": [ - "ABILITY_OBLIVIOUS" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 100, - "base_att_spatt": [ - 12, - 12 - ], - "base_def_spdef": [ - 18, - 18 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 40, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SMOOCHUM", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 30 - }, - "dexInternal": [ - 124, - 124 - ], - "base_recruit": -999, - "alphabetParent": [ - 152, - 124 - ] - }, - { - "name": "Electabuzz", - "species": "SpeciesNameElectabuzz", - "category": "SpeciesCategoryElectabuzz", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ELECTRIC" - ], - "friend_area": "POWER_PLANT", - "abilities": [ - "ABILITY_STATIC" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 50, - "base_att_spatt": [ - 19, - 20 - ], - "base_def_spdef": [ - 7, - 8 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 49, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_ELEKID", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 30 - }, - "dexInternal": [ - 125, - 125 - ], - "base_recruit": -999, - "alphabetParent": [ - 91, - 125 - ] - }, - { - "name": "Magmar", - "species": "SpeciesNameMagmar", - "category": "SpeciesCategoryMagmar", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIRE" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "CRATER", - "abilities": [ - "ABILITY_FLAME_BODY" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 53, - "base_exp": 45, - "base_att_spatt": [ - 23, - 19 - ], - "base_def_spdef": [ - 7, - 10 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 37, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_MAGBY", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 30 - }, - "dexInternal": [ - 126, - 126 - ], - "base_recruit": -999, - "alphabetParent": [ - 189, - 126 - ] - }, - { - "name": "Pinsir", - "species": "SpeciesNamePinsir", - "category": "SpeciesCategoryPinsir", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG" - ], - "friend_area": "OVERGROWN_FOREST", - "abilities": [ - "ABILITY_HYPER_CUTTER" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 20, - "base_hp": 25, - "base_exp": 40, - "base_att_spatt": [ - 17, - 15 - ], - "base_def_spdef": [ - 6, - 8 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 42, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 127, - 127 - ], - "base_recruit": 83, - "alphabetParent": [ - 253, - 127 - ] - }, - { - "name": "Tauros", - "species": "SpeciesNameTauros", - "category": "SpeciesCategoryTauros", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "SAFARI", - "abilities": [ - "ABILITY_INTIMIDATE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 27, - "base_exp": 41, - "base_att_spatt": [ - 19, - 19 - ], - "base_def_spdef": [ - 11, - 11 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 33, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 128, - 128 - ], - "base_recruit": 79, - "alphabetParent": [ - 347, - 128 - ] - }, - { - "name": "Magikarp", - "species": "SpeciesNameMagikarp", - "category": "SpeciesCategoryMagikarp", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "WATERFALL_LAKE", - "abilities": [ - "ABILITY_SWIFT_SWIM" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 20, - "base_exp": 10, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 29, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 129, - 129 - ], - "base_recruit": 92, - "alphabetParent": [ - 188, - 129 - ] - }, - { - "name": "Gyarados", - "species": "SpeciesNameGyarados", - "category": "SpeciesCategoryGyarados", - "overworld_palette": 5, - "size": 4, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "WATERFALL_LAKE", - "abilities": [ - "ABILITY_INTIMIDATE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 225, - "base_att_spatt": [ - 30, - 30 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 116, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_MAGIKARP", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 20 - }, - "dexInternal": [ - 130, - 130 - ], - "base_recruit": -999, - "alphabetParent": [ - 130, - 130 - ] - }, - { - "name": "Lapras", - "species": "SpeciesNameLapras", - "category": "SpeciesCategoryLapras", - "overworld_palette": 5, - "size": 4, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_ICE" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "MYSTIC_LAKE", - "abilities": [ - "ABILITY_WATER_ABSORB", - "ABILITY_SHELL_ARMOR" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 25, - "base_exp": 185, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 72, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 131, - 131 - ], - "base_recruit": 67, - "alphabetParent": [ - 167, - 131 - ] - }, - { - "name": "Ditto", - "species": "SpeciesNameDitto", - "category": "SpeciesCategoryDitto", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "DECREPIT_LAB", - "abilities": [ - "ABILITY_LIMBER" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 41, - "base_exp": 5, - "base_att_spatt": [ - 5, - 5 - ], - "base_def_spdef": [ - 5, - 5 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 27, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 132, - 132 - ], - "base_recruit": 68, - "alphabetParent": [ - 76, - 132 - ] - }, - { - "name": "Eevee", - "species": "SpeciesNameEevee", - "category": "SpeciesCategoryEevee", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0001111111111111", - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "TRANSFORM_FOREST", - "abilities": [ - "ABILITY_RUN_AWAY" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 18, - "base_exp": 18, - "base_att_spatt": [ - 1, - 1 - ], - "base_def_spdef": [ - 3, - 3 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 22, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 133, - 133 - ], - "base_recruit": 102, - "alphabetParent": [ - 89, - 133 - ] - }, - { - "name": "Vaporeon", - "species": "SpeciesNameVaporeon", - "category": "SpeciesCategoryVaporeon", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TRANSFORM_FOREST", - "abilities": [ - "ABILITY_WATER_ABSORB" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 60, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 12, - 13 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 40, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_EEVEE", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_WATER_STONE" - }, - "dexInternal": [ - 134, - 134 - ], - "base_recruit": -999, - "alphabetParent": [ - 392, - 134 - ] - }, - { - "name": "Jolteon", - "species": "SpeciesNameJolteon", - "category": "SpeciesCategoryJolteon", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ELECTRIC" - ], - "friend_area": "TRANSFORM_FOREST", - "abilities": [ - "ABILITY_VOLT_ABSORB" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 70, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 13, - 12 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 34, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_EEVEE", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_THUNDERSTONE" - }, - "dexInternal": [ - 135, - 135 - ], - "base_recruit": -999, - "alphabetParent": [ - 150, - 135 - ] - }, - { - "name": "Flareon", - "species": "SpeciesNameFlareon", - "category": "SpeciesCategoryCharmeleon", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIRE" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "TRANSFORM_FOREST", - "abilities": [ - "ABILITY_FLASH_FIRE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 75, - "base_att_spatt": [ - 23, - 23 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 35, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_EEVEE", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_FIRE_STONE" - }, - "dexInternal": [ - 136, - 136 - ], - "base_recruit": -999, - "alphabetParent": [ - 105, - 136 - ] - }, - { - "name": "Porygon", - "species": "SpeciesNamePorygon", - "category": "SpeciesCategoryPorygon", - "overworld_palette": 1, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "DECREPIT_LAB", - "abilities": [ - "ABILITY_TRACE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 88, - "base_att_spatt": [ - 10, - 9 - ], - "base_def_spdef": [ - 7, - 9 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 23, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 137, - 137 - ], - "base_recruit": 76, - "alphabetParent": [ - 261, - 137 - ] - }, - { - "name": "Omanyte", - "species": "SpeciesNameOmanyte", - "category": "SpeciesCategoryOmanyte", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ROCK", - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "DEEP_SEA_FLOOR", - "abilities": [ - "ABILITY_SWIFT_SWIM", - "ABILITY_SHELL_ARMOR" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 50, - "base_att_spatt": [ - 9, - 10 - ], - "base_def_spdef": [ - 8, - 10 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 21, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 138, - 138 - ], - "base_recruit": 80, - "alphabetParent": [ - 238, - 138 - ] - }, - { - "name": "Omastar", - "species": "SpeciesNameOmastar", - "category": "SpeciesCategoryOmanyte", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ROCK", - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "DEEP_SEA_FLOOR", - "abilities": [ - "ABILITY_SWIFT_SWIM", - "ABILITY_SHELL_ARMOR" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 85, - "base_att_spatt": [ - 11, - 15 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 34, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_OMANYTE", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 40 - }, - "dexInternal": [ - 139, - 139 - ], - "base_recruit": -999, - "alphabetParent": [ - 239, - 139 - ] - }, - { - "name": "Kabuto", - "species": "SpeciesNameKabuto", - "category": "SpeciesCategoryBlastoise", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ROCK", - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "DEEP_SEA_FLOOR", - "abilities": [ - "ABILITY_SWIFT_SWIM", - "ABILITY_BATTLE_ARMOR" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 45, - "base_att_spatt": [ - 11, - 10 - ], - "base_def_spdef": [ - 8, - 9 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 17, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 140, - 140 - ], - "base_recruit": 72, - "alphabetParent": [ - 153, - 140 - ] - }, - { - "name": "Kabutops", - "species": "SpeciesNameKabutops", - "category": "SpeciesCategoryBlastoise", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ROCK", - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "DEEP_SEA_FLOOR", - "abilities": [ - "ABILITY_SWIFT_SWIM", - "ABILITY_BATTLE_ARMOR" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 85, - "base_att_spatt": [ - 13, - 12 - ], - "base_def_spdef": [ - 11, - 11 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 39, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_KABUTO", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 40 - }, - "dexInternal": [ - 141, - 141 - ], - "base_recruit": -999, - "alphabetParent": [ - 154, - 141 - ] - }, - { - "name": "Aerodactyl", - "species": "SpeciesNameAerodactyl", - "category": "SpeciesCategoryAerodactyl", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ROCK", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "ANCIENT_RELIC", - "abilities": [ - "ABILITY_ROCK_HEAD", - "ABILITY_PRESSURE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 52, - "base_exp": 70, - "base_att_spatt": [ - 21, - 21 - ], - "base_def_spdef": [ - 12, - 14 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 36, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 142, - 142 - ], - "base_recruit": 84, - "alphabetParent": [ - 3, - 142 - ] - }, - { - "name": "Snorlax", - "species": "SpeciesNameSnorlax", - "category": "SpeciesCategorySnorlax", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "ENERGETIC_FOREST", - "abilities": [ - "ABILITY_IMMUNITY", - "ABILITY_THICK_FAT" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 33, - "base_exp": 89, - "base_att_spatt": [ - 7, - 8 - ], - "base_def_spdef": [ - 8, - 7 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 51, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_MUNCHLAX", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 40 - }, - "dexInternal": [ - 143, - 143 - ], - "base_recruit": 20, - "alphabetParent": [ - 320, - 143 - ] - }, - { - "name": "Articuno", - "species": "SpeciesNameArticuno", - "category": "SpeciesCategoryArticuno", - "overworld_palette": 5, - "size": 4, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "unk12": true, - "types": [ - "TYPE_ICE", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "LEGENDARY_ISLAND", - "abilities": [ - "ABILITY_PRESSURE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 64, - "base_exp": 150, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 11, - 11 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 69, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 144, - 144 - ], - "base_recruit": 300, - "alphabetParent": [ - 15, - 144 - ] - }, - { - "name": "Zapdos", - "species": "SpeciesNameZapdos", - "category": "SpeciesCategoryElectabuzz", - "overworld_palette": 4, - "size": 4, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "unk12": true, - "types": [ - "TYPE_ELECTRIC", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "LEGENDARY_ISLAND", - "abilities": [ - "ABILITY_PRESSURE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 57, - "base_exp": 160, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 11, - 11 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 115, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 145, - 145 - ], - "base_recruit": 300, - "alphabetParent": [ - 421, - 145 - ] - }, - { - "name": "Moltres", - "species": "SpeciesNameMoltres", - "category": "SpeciesCategoryCharmeleon", - "overworld_palette": 0, - "size": 4, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "unk12": true, - "types": [ - "TYPE_FIRE", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "LEGENDARY_ISLAND", - "abilities": [ - "ABILITY_PRESSURE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 58, - "base_exp": 170, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 11, - 11 - ], - "lowkick_dmg": 281, - "sizeorb_dmg": 87, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 146, - 146 - ], - "base_recruit": 300, - "alphabetParent": [ - 216, - 146 - ] - }, - { - "name": "Dratini", - "species": "SpeciesNameDratini", - "category": "SpeciesCategoryHorsea", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_DRAGON" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "MYSTIC_LAKE", - "abilities": [ - "ABILITY_SHED_SKIN" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 50, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 27, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 147, - 147 - ], - "base_recruit": 110, - "alphabetParent": [ - 82, - 147 - ] - }, - { - "name": "Dragonair", - "species": "SpeciesNameDragonair", - "category": "SpeciesCategoryHorsea", - "overworld_palette": 9, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_DRAGON" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "MYSTIC_LAKE", - "abilities": [ - "ABILITY_SHED_SKIN" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 60, - "base_att_spatt": [ - 9, - 9 - ], - "base_def_spdef": [ - 9, - 9 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 53, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_DRATINI", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 30 - }, - "dexInternal": [ - 148, - 148 - ], - "base_recruit": -190, - "alphabetParent": [ - 80, - 148 - ] - }, - { - "name": "Dragonite", - "species": "SpeciesNameDragonite", - "category": "SpeciesCategoryHorsea", - "overworld_palette": 8, - "size": 4, - "move_speed": 1, - "types": [ - "TYPE_DRAGON", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "MYSTIC_LAKE", - "abilities": [ - "ABILITY_INNER_FOCUS" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 45, - "base_exp": 215, - "base_att_spatt": [ - 11, - 11 - ], - "base_def_spdef": [ - 11, - 11 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 56, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_DRAGONAIR", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 55 - }, - "dexInternal": [ - 149, - 149 - ], - "base_recruit": -999, - "alphabetParent": [ - 81, - 149 - ] - }, - { - "name": "Mewtwo", - "species": "SpeciesNameMewtwo", - "category": "SpeciesCategoryMewtwo", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_PSYCHIC" - ], - "friend_area": "CRYPTIC_CAVE", - "abilities": [ - "ABILITY_PRESSURE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 250, - "base_att_spatt": [ - 25, - 25 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 43, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 150, - 150 - ], - "base_recruit": 999, - "alphabetParent": [ - 210, - 150 - ] - }, - { - "name": "Mew", - "species": "SpeciesNameMew", - "category": "SpeciesCategoryMew", - "overworld_palette": 1, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "FINAL_ISLAND", - "abilities": [ - "ABILITY_SYNCHRONIZE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 250, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 26, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 151, - 151 - ], - "base_recruit": 9, - "alphabetParent": [ - 209, - 151 - ] - }, - { - "name": "Chikorita", - "species": "SpeciesNameChikorita", - "category": "SpeciesCategoryChikorita", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0001111111111111", - "types": [ - "TYPE_GRASS" - ], - "friend_area": "BEAU_PLAINS", - "abilities": [ - "ABILITY_OVERGROW" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 23, - "base_exp": 18, - "base_att_spatt": [ - 3, - 4 - ], - "base_def_spdef": [ - 1, - 0 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 22, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 152, - 152 - ], - "base_recruit": 114, - "alphabetParent": [ - 49, - 152 - ] - }, - { - "name": "Bayleef", - "species": "SpeciesNameBayleef", - "category": "SpeciesCategoryChikorita", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS" - ], - "friend_area": "BEAU_PLAINS", - "abilities": [ - "ABILITY_OVERGROW" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 45, - "base_att_spatt": [ - 10, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 32, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_CHIKORITA", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 16 - }, - "dexInternal": [ - 153, - 153 - ], - "base_recruit": -190, - "alphabetParent": [ - 22, - 153 - ] - }, - { - "name": "Meganium", - "species": "SpeciesNameMeganium", - "category": "SpeciesCategoryMeganium", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS" - ], - "friend_area": "BEAU_PLAINS", - "abilities": [ - "ABILITY_OVERGROW" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 135, - "base_att_spatt": [ - 30, - 30 - ], - "base_def_spdef": [ - 25, - 25 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 41, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_BAYLEEF", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 32 - }, - "dexInternal": [ - 154, - 154 - ], - "base_recruit": -999, - "alphabetParent": [ - 204, - 154 - ] - }, - { - "name": "Cyndaquil", - "species": "SpeciesNameCyndaquil", - "category": "SpeciesCategoryCyndaquil", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0001111111111111", - "types": [ - "TYPE_FIRE" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "SCORCHED_PLAINS", - "abilities": [ - "ABILITY_BLAZE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 22, - "base_exp": 21, - "base_att_spatt": [ - 2, - 2 - ], - "base_def_spdef": [ - 1, - 1 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 17, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 155, - 155 - ], - "base_recruit": 112, - "alphabetParent": [ - 66, - 155 - ] - }, - { - "name": "Quilava", - "species": "SpeciesNameQuilava", - "category": "SpeciesCategoryQuilava", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIRE" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "SCORCHED_PLAINS", - "abilities": [ - "ABILITY_BLAZE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 57, - "base_att_spatt": [ - 11, - 10 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 19, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_CYNDAQUIL", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 14 - }, - "dexInternal": [ - 156, - 156 - ], - "base_recruit": -190, - "alphabetParent": [ - 267, - 156 - ] - }, - { - "name": "Typhlosion", - "species": "SpeciesNameTyphlosion", - "category": "SpeciesCategoryQuilava", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIRE" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "SCORCHED_PLAINS", - "abilities": [ - "ABILITY_BLAZE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 45, - "base_exp": 180, - "base_att_spatt": [ - 12, - 11 - ], - "base_def_spdef": [ - 11, - 11 - ], - "lowkick_dmg": 307, - "sizeorb_dmg": 33, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_QUILAVA", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 36 - }, - "dexInternal": [ - 157, - 157 - ], - "base_recruit": -999, - "alphabetParent": [ - 359, - 157 - ] - }, - { - "name": "Totodile", - "species": "SpeciesNameTotodile", - "category": "SpeciesCategoryTotodile", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0001111111111111", - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "RUB_A_DUB_RIVER", - "abilities": [ - "ABILITY_TORRENT" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 18, - "base_exp": 27, - "base_att_spatt": [ - 2, - 2 - ], - "base_def_spdef": [ - 5, - 5 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 28, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 158, - 158 - ], - "base_recruit": 114, - "alphabetParent": [ - 355, - 158 - ] - }, - { - "name": "Croconaw", - "species": "SpeciesNameCroconaw", - "category": "SpeciesCategoryTotodile", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "RUB_A_DUB_RIVER", - "abilities": [ - "ABILITY_TORRENT" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 75, - "base_att_spatt": [ - 12, - 12 - ], - "base_def_spdef": [ - 12, - 12 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 35, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_TOTODILE", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 18 - }, - "dexInternal": [ - 159, - 159 - ], - "base_recruit": -190, - "alphabetParent": [ - 64, - 159 - ] - }, - { - "name": "Feraligatr", - "species": "SpeciesNameFeraligatr", - "category": "SpeciesCategoryTotodile", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "RUB_A_DUB_RIVER", - "abilities": [ - "ABILITY_TORRENT" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 180, - "base_att_spatt": [ - 13, - 13 - ], - "base_def_spdef": [ - 12, - 12 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 49, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_CROCONAW", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 30 - }, - "dexInternal": [ - 160, - 160 - ], - "base_recruit": -339, - "alphabetParent": [ - 103, - 160 - ] - }, - { - "name": "Sentret", - "species": "SpeciesNameSentret", - "category": "SpeciesCategorySentret", - "overworld_palette": 1, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "THUNDER_MEADOW", - "abilities": [ - "ABILITY_RUN_AWAY", - "ABILITY_KEEN_EYE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 30, - "base_exp": 50, - "base_att_spatt": [ - 15, - 17 - ], - "base_def_spdef": [ - 5, - 6 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 26, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 161, - 161 - ], - "base_recruit": 73, - "alphabetParent": [ - 297, - 161 - ] - }, - { - "name": "Furret", - "species": "SpeciesNameFurret", - "category": "SpeciesCategoryFurret", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "THUNDER_MEADOW", - "abilities": [ - "ABILITY_RUN_AWAY", - "ABILITY_KEEN_EYE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 54, - "base_exp": 35, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 7, - 12 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 31, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SENTRET", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 15 - }, - "dexInternal": [ - 162, - 162 - ], - "base_recruit": -999, - "alphabetParent": [ - 108, - 162 - ] - }, - { - "name": "Hoothoot", - "species": "SpeciesNameHoothoot", - "category": "SpeciesCategoryHoothoot", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL", - "TYPE_FLYING" - ], - "friend_area": "FLYAWAY_FOREST", - "abilities": [ - "ABILITY_INSOMNIA", - "ABILITY_KEEN_EYE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 25, - "base_exp": 40, - "base_att_spatt": [ - 13, - 14 - ], - "base_def_spdef": [ - 5, - 5 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 23, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 163, - 163 - ], - "base_recruit": 70, - "alphabetParent": [ - 138, - 163 - ] - }, - { - "name": "Noctowl", - "species": "SpeciesNameNoctowl", - "category": "SpeciesCategoryHoothoot", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL", - "TYPE_FLYING" - ], - "friend_area": "FLYAWAY_FOREST", - "abilities": [ - "ABILITY_INSOMNIA", - "ABILITY_KEEN_EYE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 45, - "base_exp": 50, - "base_att_spatt": [ - 18, - 20 - ], - "base_def_spdef": [ - 5, - 6 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 31, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_HOOTHOOT", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 20 - }, - "dexInternal": [ - 164, - 164 - ], - "base_recruit": -999, - "alphabetParent": [ - 232, - 164 - ] - }, - { - "name": "Ledyba", - "species": "SpeciesNameLedyba", - "category": "SpeciesCategoryLedyba", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "MIST_RISE_FOREST", - "abilities": [ - "ABILITY_SWARM", - "ABILITY_EARLY_BIRD" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 29, - "base_exp": 55, - "base_att_spatt": [ - 16, - 16 - ], - "base_def_spdef": [ - 9, - 9 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 34, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 165, - 165 - ], - "base_recruit": 121, - "alphabetParent": [ - 172, - 165 - ] - }, - { - "name": "Ledian", - "species": "SpeciesNameLedian", - "category": "SpeciesCategoryLedyba", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "MIST_RISE_FOREST", - "abilities": [ - "ABILITY_SWARM", - "ABILITY_EARLY_BIRD" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 57, - "base_exp": 75, - "base_att_spatt": [ - 22, - 21 - ], - "base_def_spdef": [ - 14, - 16 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 43, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_LEDYBA", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 18 - }, - "dexInternal": [ - 166, - 166 - ], - "base_recruit": -999, - "alphabetParent": [ - 171, - 166 - ] - }, - { - "name": "Spinarak", - "species": "SpeciesNameSpinarak", - "category": "SpeciesCategorySpinarak", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_POISON" - ], - "friend_area": "SECRETIVE_FOREST", - "abilities": [ - "ABILITY_SWARM", - "ABILITY_INSOMNIA" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 30, - "base_exp": 50, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 25, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 167, - 167 - ], - "base_recruit": 78, - "alphabetParent": [ - 326, - 167 - ] - }, - { - "name": "Ariados", - "species": "SpeciesNameAriados", - "category": "SpeciesCategoryAriados", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_POISON" - ], - "friend_area": "SECRETIVE_FOREST", - "abilities": [ - "ABILITY_SWARM", - "ABILITY_INSOMNIA" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 43, - "base_exp": 80, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 12, - 12 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 37, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SPINARAK", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 22 - }, - "dexInternal": [ - 168, - 168 - ], - "base_recruit": -999, - "alphabetParent": [ - 12, - 168 - ] - }, - { - "name": "Crobat", - "species": "SpeciesNameCrobat", - "category": "SpeciesCategoryZubat", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_POISON", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "ECHO_CAVE", - "abilities": [ - "ABILITY_INNER_FOCUS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 55, - "base_exp": 80, - "base_att_spatt": [ - 25, - 25 - ], - "base_def_spdef": [ - 19, - 19 - ], - "lowkick_dmg": 307, - "sizeorb_dmg": 29, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_GOLBAT", - "evolve_type": "EVOLVE_TYPE_IQ" - }, - "needs": { - "evolve_need1": 150 - }, - "dexInternal": [ - 169, - 169 - ], - "base_recruit": -999, - "alphabetParent": [ - 63, - 169 - ] - }, - { - "name": "Chinchou", - "species": "SpeciesNameChinchou", - "category": "SpeciesCategoryChinchou", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_ELECTRIC" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "DEEP_SEA_FLOOR", - "abilities": [ - "ABILITY_VOLT_ABSORB", - "ABILITY_ILLUMINATE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 50, - "base_att_spatt": [ - 10, - 10 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 27, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 170, - 170 - ], - "base_recruit": 87, - "alphabetParent": [ - 51, - 170 - ] - }, - { - "name": "Lanturn", - "species": "SpeciesNameLanturn", - "category": "SpeciesCategoryLanturn", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_ELECTRIC" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "DEEP_SEA_FLOOR", - "abilities": [ - "ABILITY_VOLT_ABSORB", - "ABILITY_ILLUMINATE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 80, - "base_att_spatt": [ - 11, - 12 - ], - "base_def_spdef": [ - 9, - 9 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 28, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_CHINCHOU", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 27 - }, - "dexInternal": [ - 171, - 171 - ], - "base_recruit": -999, - "alphabetParent": [ - 166, - 171 - ] - }, - { - "name": "Pichu", - "species": "SpeciesNamePichu", - "category": "SpeciesCategoryPichu", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ELECTRIC" - ], - "friend_area": "ENERGETIC_FOREST", - "abilities": [ - "ABILITY_STATIC" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 25, - "base_exp": 6, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 24, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 172, - 172 - ], - "base_recruit": 51, - "alphabetParent": [ - 246, - 172 - ] - }, - { - "name": "Cleffa", - "species": "SpeciesNameCleffa", - "category": "SpeciesCategoryStaryu", - "overworld_palette": 1, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "MT_MOONVIEW", - "abilities": [ - "ABILITY_CUTE_CHARM" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 11, - "base_exp": 12, - "base_att_spatt": [ - 3, - 2 - ], - "base_def_spdef": [ - 2, - 2 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 23, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 173, - 173 - ], - "base_recruit": 131, - "alphabetParent": [ - 56, - 173 - ] - }, - { - "name": "Igglybuff", - "species": "SpeciesNameIgglybuff", - "category": "SpeciesCategoryJigglypuff", - "overworld_palette": 1, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "SKY_BLUE_PLAINS", - "abilities": [ - "ABILITY_CUTE_CHARM" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 25, - "base_exp": 15, - "base_att_spatt": [ - 10, - 8 - ], - "base_def_spdef": [ - 9, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 18, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 174, - 174 - ], - "base_recruit": 113, - "alphabetParent": [ - 145, - 174 - ] - }, - { - "name": "Togepi", - "species": "SpeciesNameTogepi", - "category": "SpeciesCategoryTogepi", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "FLYAWAY_FOREST", - "abilities": [ - "ABILITY_HUSTLE", - "ABILITY_SERENE_GRACE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 18, - "base_exp": 20, - "base_att_spatt": [ - 10, - 9 - ], - "base_def_spdef": [ - 7, - 7 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 21, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 175, - 175 - ], - "base_recruit": 79, - "alphabetParent": [ - 351, - 175 - ] - }, - { - "name": "Togetic", - "species": "SpeciesNameTogetic", - "category": "SpeciesCategoryTogetic", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL", - "TYPE_FLYING" - ], - "friend_area": "FLYAWAY_FOREST", - "abilities": [ - "ABILITY_HUSTLE", - "ABILITY_SERENE_GRACE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 18, - "base_att_spatt": [ - 11, - 12 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 20, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_TOGEPI", - "evolve_type": "EVOLVE_TYPE_IQ" - }, - "needs": { - "evolve_need1": 150 - }, - "dexInternal": [ - 176, - 176 - ], - "base_recruit": -999, - "alphabetParent": [ - 352, - 176 - ] - }, - { - "name": "Natu", - "species": "SpeciesNameNatu", - "category": "SpeciesCategoryPidgey", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC", - "TYPE_FLYING" - ], - "friend_area": "FLYAWAY_FOREST", - "abilities": [ - "ABILITY_SYNCHRONIZE", - "ABILITY_EARLY_BIRD" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 30, - "base_exp": 6, - "base_att_spatt": [ - 9, - 9 - ], - "base_def_spdef": [ - 9, - 9 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 17, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 177, - 177 - ], - "base_recruit": 94, - "alphabetParent": [ - 222, - 177 - ] - }, - { - "name": "Xatu", - "species": "SpeciesNameXatu", - "category": "SpeciesCategoryXatu", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_PSYCHIC", - "TYPE_FLYING" - ], - "friend_area": "FLYAWAY_FOREST", - "abilities": [ - "ABILITY_SYNCHRONIZE", - "ABILITY_EARLY_BIRD" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 35, - "base_exp": 45, - "base_att_spatt": [ - 11, - 11 - ], - "base_def_spdef": [ - 11, - 11 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 29, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_NATU", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 25 - }, - "dexInternal": [ - 178, - 178 - ], - "base_recruit": -999, - "alphabetParent": [ - 418, - 178 - ] - }, - { - "name": "Mareep", - "species": "SpeciesNameMareep", - "category": "SpeciesCategoryMareep", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ELECTRIC" - ], - "friend_area": "THUNDER_MEADOW", - "abilities": [ - "ABILITY_STATIC" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 33, - "base_exp": 50, - "base_att_spatt": [ - 15, - 20 - ], - "base_def_spdef": [ - 13, - 15 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 23, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 179, - 179 - ], - "base_recruit": 119, - "alphabetParent": [ - 196, - 179 - ] - }, - { - "name": "Flaaffy", - "species": "SpeciesNameFlaaffy", - "category": "SpeciesCategoryMareep", - "overworld_palette": 11, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ELECTRIC" - ], - "friend_area": "THUNDER_MEADOW", - "abilities": [ - "ABILITY_STATIC" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 55, - "base_att_spatt": [ - 15, - 22 - ], - "base_def_spdef": [ - 15, - 18 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 27, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_MAREEP", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 15 - }, - "dexInternal": [ - 180, - 180 - ], - "base_recruit": -190, - "alphabetParent": [ - 104, - 180 - ] - }, - { - "name": "Ampharos", - "species": "SpeciesNameAmpharos", - "category": "SpeciesCategoryLanturn", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ELECTRIC" - ], - "friend_area": "THUNDER_MEADOW", - "abilities": [ - "ABILITY_STATIC" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 45, - "base_exp": 40, - "base_att_spatt": [ - 17, - 15 - ], - "base_def_spdef": [ - 11, - 11 - ], - "lowkick_dmg": 281, - "sizeorb_dmg": 29, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_FLAAFFY", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 30 - }, - "dexInternal": [ - 181, - 181 - ], - "base_recruit": -999, - "alphabetParent": [ - 8, - 181 - ] - }, - { - "name": "Bellossom", - "species": "SpeciesNameBellossom", - "category": "SpeciesCategoryVileplume", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS" - ], - "friend_area": "JUNGLE", - "abilities": [ - "ABILITY_CHLOROPHYLL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 15, - "base_att_spatt": [ - 8, - 7 - ], - "base_def_spdef": [ - 6, - 9 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 32, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_GLOOM", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_SUN_STONE" - }, - "dexInternal": [ - 182, - 182 - ], - "base_recruit": -999, - "alphabetParent": [ - 26, - 182 - ] - }, - { - "name": "Marill", - "species": "SpeciesNameMarill", - "category": "SpeciesCategoryMarill", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TURTLESHELL_POND", - "abilities": [ - "ABILITY_THICK_FAT", - "ABILITY_HUGE_POWER" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 25, - "base_exp": 30, - "base_att_spatt": [ - 7, - 7 - ], - "base_def_spdef": [ - 7, - 7 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 28, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_AZURILL", - "evolve_type": "EVOLVE_TYPE_IQ" - }, - "needs": { - "evolve_need1": 200 - }, - "dexInternal": [ - 183, - 183 - ], - "base_recruit": -190, - "alphabetParent": [ - 197, - 183 - ] - }, - { - "name": "Azumarill", - "species": "SpeciesNameAzumarill", - "category": "SpeciesCategoryAzumarill", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TURTLESHELL_POND", - "abilities": [ - "ABILITY_THICK_FAT", - "ABILITY_HUGE_POWER" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 60, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 36, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_MARILL", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 18 - }, - "dexInternal": [ - 184, - 184 - ], - "base_recruit": -999, - "alphabetParent": [ - 16, - 184 - ] - }, - { - "name": "Sudowoodo", - "species": "SpeciesNameSudowoodo", - "category": "SpeciesCategorySudowoodo", - "overworld_palette": 8, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ROCK" - ], - "friend_area": "OVERGROWN_FOREST", - "abilities": [ - "ABILITY_STURDY", - "ABILITY_ROCK_HEAD" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 100, - "base_hp": 23, - "base_exp": 48, - "base_att_spatt": [ - 14, - 14 - ], - "base_def_spdef": [ - 7, - 7 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 28, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 185, - 185 - ], - "base_recruit": 104, - "alphabetParent": [ - 335, - 185 - ] - }, - { - "name": "Politoed", - "species": "SpeciesNamePolitoed", - "category": "SpeciesCategoryPolitoed", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TADPOLE_POND", - "abilities": [ - "ABILITY_WATER_ABSORB", - "ABILITY_DAMP" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 45, - "base_exp": 99, - "base_att_spatt": [ - 9, - 10 - ], - "base_def_spdef": [ - 8, - 11 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 33, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_POLIWHIRL", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_KINGS_ROCK", - "evolve_need2": 4 - }, - "dexInternal": [ - 186, - 186 - ], - "base_recruit": -999, - "alphabetParent": [ - 255, - 186 - ] - }, - { - "name": "Hoppip", - "species": "SpeciesNameHoppip", - "category": "SpeciesCategoryHoppip", - "overworld_palette": 10, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS", - "TYPE_FLYING" - ], - "friend_area": "BEAU_PLAINS", - "abilities": [ - "ABILITY_CHLOROPHYLL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 24, - "base_exp": 15, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 3, - 3 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 32, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 187, - 187 - ], - "base_recruit": 85, - "alphabetParent": [ - 139, - 187 - ] - }, - { - "name": "Skiploom", - "species": "SpeciesNameSkiploom", - "category": "SpeciesCategoryHoppip", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS", - "TYPE_FLYING" - ], - "friend_area": "BEAU_PLAINS", - "abilities": [ - "ABILITY_CHLOROPHYLL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 26, - "base_exp": 25, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 3, - 3 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 28, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_HOPPIP", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 18 - }, - "dexInternal": [ - 188, - 188 - ], - "base_recruit": -190, - "alphabetParent": [ - 309, - 188 - ] - }, - { - "name": "Jumpluff", - "species": "SpeciesNameJumpluff", - "category": "SpeciesCategoryHoppip", - "overworld_palette": 12, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000011", - "types": [ - "TYPE_GRASS", - "TYPE_FLYING" - ], - "friend_area": "BEAU_PLAINS", - "abilities": [ - "ABILITY_CHLOROPHYLL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 28, - "base_exp": 33, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 3, - 3 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 27, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SKIPLOOM", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 27 - }, - "dexInternal": [ - 189, - 189 - ], - "base_recruit": -999, - "alphabetParent": [ - 151, - 189 - ] - }, - { - "name": "Aipom", - "species": "SpeciesNameAipom", - "category": "SpeciesCategoryAipom", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "ENERGETIC_FOREST", - "abilities": [ - "ABILITY_RUN_AWAY", - "ABILITY_PICKUP" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 41, - "base_exp": 40, - "base_att_spatt": [ - 16, - 16 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 40, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 190, - 190 - ], - "base_recruit": 72, - "alphabetParent": [ - 5, - 190 - ] - }, - { - "name": "Sunkern", - "species": "SpeciesNameSunkern", - "category": "SpeciesCategoryBulbasaur", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS" - ], - "friend_area": "JUNGLE", - "abilities": [ - "ABILITY_CHLOROPHYLL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 5, - "base_hp": 12, - "base_exp": 16, - "base_att_spatt": [ - 5, - 5 - ], - "base_def_spdef": [ - 4, - 4 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 22, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 191, - 191 - ], - "base_recruit": 52, - "alphabetParent": [ - 338, - 191 - ] - }, - { - "name": "Sunflora", - "species": "SpeciesNameSunflora", - "category": "SpeciesCategorySunflora", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS" - ], - "friend_area": "JUNGLE", - "abilities": [ - "ABILITY_CHLOROPHYLL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 5, - "base_hp": 28, - "base_exp": 70, - "base_att_spatt": [ - 16, - 16 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 38, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SUNKERN", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_SUN_STONE" - }, - "dexInternal": [ - 192, - 192 - ], - "base_recruit": -999, - "alphabetParent": [ - 337, - 192 - ] - }, - { - "name": "Yanma", - "species": "SpeciesNameYanma", - "category": "SpeciesCategoryYanma", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "MIST_RISE_FOREST", - "abilities": [ - "ABILITY_SPEED_BOOST", - "ABILITY_COMPOUNDEYES" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 22, - "base_exp": 55, - "base_att_spatt": [ - 19, - 17 - ], - "base_def_spdef": [ - 5, - 7 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 26, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 193, - 193 - ], - "base_recruit": 74, - "alphabetParent": [ - 419, - 193 - ] - }, - { - "name": "Wooper", - "species": "SpeciesNameWooper", - "category": "SpeciesCategoryWooper", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_GROUND" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "PEANUT_SWAMP", - "abilities": [ - "ABILITY_DAMP", - "ABILITY_WATER_ABSORB" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 34, - "base_exp": 24, - "base_att_spatt": [ - 9, - 9 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 24, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 194, - 194 - ], - "base_recruit": 119, - "alphabetParent": [ - 415, - 194 - ] - }, - { - "name": "Quagsire", - "species": "SpeciesNameQuagsire", - "category": "SpeciesCategoryWooper", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_GROUND" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "PEANUT_SWAMP", - "abilities": [ - "ABILITY_DAMP", - "ABILITY_WATER_ABSORB" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 44, - "base_exp": 105, - "base_att_spatt": [ - 12, - 12 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 307, - "sizeorb_dmg": 36, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_WOOPER", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 20 - }, - "dexInternal": [ - 195, - 195 - ], - "base_recruit": -999, - "alphabetParent": [ - 266, - 195 - ] - }, - { - "name": "Espeon", - "species": "SpeciesNameEspeon", - "category": "SpeciesCategorySunflora", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "friend_area": "TRANSFORM_FOREST", - "abilities": [ - "ABILITY_SYNCHRONIZE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 78, - "base_att_spatt": [ - 10, - 10 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 35, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_EEVEE", - "evolve_type": "EVOLVE_TYPE_IQ" - }, - "needs": { - "evolve_need1": 100, - "evolve_need2": 8 - }, - "dexInternal": [ - 196, - 196 - ], - "base_recruit": -999, - "alphabetParent": [ - 96, - 196 - ] - }, - { - "name": "Umbreon", - "species": "SpeciesNameUmbreon", - "category": "SpeciesCategoryUmbreon", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_DARK" - ], - "friend_area": "TRANSFORM_FOREST", - "abilities": [ - "ABILITY_SYNCHRONIZE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 81, - "base_att_spatt": [ - 10, - 10 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 27, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_EEVEE", - "evolve_type": "EVOLVE_TYPE_IQ" - }, - "needs": { - "evolve_need1": 100, - "evolve_need2": 9 - }, - "dexInternal": [ - 197, - 197 - ], - "base_recruit": -999, - "alphabetParent": [ - 362, - 197 - ] - }, - { - "name": "Murkrow", - "species": "SpeciesNameMurkrow", - "category": "SpeciesCategoryMurkrow", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_DARK", - "TYPE_FLYING" - ], - "friend_area": "FLYAWAY_FOREST", - "abilities": [ - "ABILITY_INSOMNIA" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 35, - "base_exp": 40, - "base_att_spatt": [ - 23, - 23 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 20, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 198, - 198 - ], - "base_recruit": 72, - "alphabetParent": [ - 221, - 198 - ] - }, - { - "name": "Slowking", - "species": "SpeciesNameSlowking", - "category": "SpeciesCategorySlowking", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "BOUNTIFUL_SEA", - "abilities": [ - "ABILITY_OBLIVIOUS", - "ABILITY_OWN_TEMPO" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 50, - "base_att_spatt": [ - 10, - 10 - ], - "base_def_spdef": [ - 7, - 7 - ], - "lowkick_dmg": 307, - "sizeorb_dmg": 37, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SLOWPOKE", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_KINGS_ROCK", - "evolve_need2": 4 - }, - "dexInternal": [ - 199, - 199 - ], - "base_recruit": -999, - "alphabetParent": [ - 314, - 199 - ] - }, - { - "name": "Misdreavus", - "species": "SpeciesNameMisdreavus", - "category": "SpeciesCategoryMisdreavus", - "overworld_palette": 11, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GHOST" - ], - "walkable_tiles": "WALKABLE_TILE_WALL", - "friend_area": "DARKNESS_RIDGE", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 60, - "base_att_spatt": [ - 7, - 7 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 27, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 200, - 200 - ], - "base_recruit": 88, - "alphabetParent": [ - 215, - 200 - ] - }, - { - "name": "Unown-A", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_AN", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 12, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 201 - ], - "base_recruit": 18, - "alphabetParent": [ - 363, - 201 - ] - }, - { - "name": "Unown-B", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_AN", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 13, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 202 - ], - "base_recruit": 18, - "alphabetParent": [ - 364, - 202 - ] - }, - { - "name": "Unown-C", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_AN", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 17, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 203 - ], - "base_recruit": 18, - "alphabetParent": [ - 365, - 203 - ] - }, - { - "name": "Unown-D", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_AN", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 13, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 204 - ], - "base_recruit": 18, - "alphabetParent": [ - 366, - 204 - ] - }, - { - "name": "Unown-E", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_AN", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 12, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 205 - ], - "base_recruit": 18, - "alphabetParent": [ - 367, - 205 - ] - }, - { - "name": "Unown-F", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_AN", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 13, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 206 - ], - "base_recruit": 18, - "alphabetParent": [ - 368, - 206 - ] - }, - { - "name": "Unown-G", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_AN", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 12, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 207 - ], - "base_recruit": 18, - "alphabetParent": [ - 369, - 207 - ] - }, - { - "name": "Unown-H", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_AN", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 18, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 208 - ], - "base_recruit": 18, - "alphabetParent": [ - 370, - 208 - ] - }, - { - "name": "Unown-I", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_AN", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 8, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 209 - ], - "base_recruit": 18, - "alphabetParent": [ - 371, - 209 - ] - }, - { - "name": "Unown-J", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_AN", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 10, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 210 - ], - "base_recruit": 18, - "alphabetParent": [ - 372, - 210 - ] - }, - { - "name": "Unown-K", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_AN", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 10, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 211 - ], - "base_recruit": 18, - "alphabetParent": [ - 373, - 211 - ] - }, - { - "name": "Unown-L", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_AN", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 10, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 212 - ], - "base_recruit": 18, - "alphabetParent": [ - 374, - 212 - ] - }, - { - "name": "Unown-M", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_AN", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 17, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 213 - ], - "base_recruit": 18, - "alphabetParent": [ - 375, - 213 - ] - }, - { - "name": "Unown-N", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_AN", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 15, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 214 - ], - "base_recruit": 18, - "alphabetParent": [ - 376, - 214 - ] - }, - { - "name": "Unown-O", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_O_EXCLAIM", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 19, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 215 - ], - "base_recruit": 18, - "alphabetParent": [ - 377, - 215 - ] - }, - { - "name": "Unown-P", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_O_EXCLAIM", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 9, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 216 - ], - "base_recruit": 18, - "alphabetParent": [ - 378, - 216 - ] - }, - { - "name": "Unown-Q", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_O_EXCLAIM", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 8, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 217 - ], - "base_recruit": 18, - "alphabetParent": [ - 379, - 217 - ] - }, - { - "name": "Unown-R", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_O_EXCLAIM", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 9, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 218 - ], - "base_recruit": 18, - "alphabetParent": [ - 380, - 218 - ] - }, - { - "name": "Unown-S", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_O_EXCLAIM", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 12, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 219 - ], - "base_recruit": 18, - "alphabetParent": [ - 381, - 219 - ] - }, - { - "name": "Unown-T", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_O_EXCLAIM", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 10, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 220 - ], - "base_recruit": 18, - "alphabetParent": [ - 382, - 220 - ] - }, - { - "name": "Unown-U", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_O_EXCLAIM", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 15, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 221 - ], - "base_recruit": 18, - "alphabetParent": [ - 383, - 221 - ] - }, - { - "name": "Unown-V", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_O_EXCLAIM", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 12, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 222 - ], - "base_recruit": 18, - "alphabetParent": [ - 384, - 222 - ] - }, - { - "name": "Unown-W", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_O_EXCLAIM", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 11, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 223 - ], - "base_recruit": 18, - "alphabetParent": [ - 385, - 223 - ] - }, - { - "name": "Unown-X", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_O_EXCLAIM", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 9, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 224 - ], - "base_recruit": 18, - "alphabetParent": [ - 386, - 224 - ] - }, - { - "name": "Unown-Y", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_O_EXCLAIM", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 11, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 225 - ], - "base_recruit": 18, - "alphabetParent": [ - 387, - 225 - ] - }, - { - "name": "Unown-Z", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_O_EXCLAIM", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 9, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 226 - ], - "base_recruit": 18, - "alphabetParent": [ - 388, - 226 - ] - }, - { - "name": "Wobbuffet", - "species": "SpeciesNameWobbuffet", - "category": "SpeciesCategoryWobbuffet", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000011", - "types": [ - "TYPE_PSYCHIC" - ], - "friend_area": "ECHO_CAVE", - "abilities": [ - "ABILITY_SHADOW_TAG" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 50, - "base_att_spatt": [ - 6, - 6 - ], - "base_def_spdef": [ - 6, - 6 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 30, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_WYNAUT", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 15 - }, - "dexInternal": [ - 202, - 229 - ], - "base_recruit": -999, - "alphabetParent": [ - 414, - 229 - ] - }, - { - "name": "Girafarig", - "species": "SpeciesNameGirafarig", - "category": "SpeciesCategoryGirafarig", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL", - "TYPE_PSYCHIC" - ], - "friend_area": "SKY_BLUE_PLAINS", - "abilities": [ - "ABILITY_INNER_FOCUS", - "ABILITY_EARLY_BIRD" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 46, - "base_exp": 70, - "base_att_spatt": [ - 15, - 20 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 26, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 203, - 230 - ], - "base_recruit": 76, - "alphabetParent": [ - 113, - 230 - ] - }, - { - "name": "Pineco", - "species": "SpeciesNamePineco", - "category": "SpeciesCategoryPineco", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG" - ], - "friend_area": "SECRETIVE_FOREST", - "abilities": [ - "ABILITY_STURDY" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 51, - "base_exp": 42, - "base_att_spatt": [ - 22, - 22 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 22, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 204, - 231 - ], - "base_recruit": 94, - "alphabetParent": [ - 252, - 231 - ] - }, - { - "name": "Forretress", - "species": "SpeciesNameForretress", - "category": "SpeciesCategoryPineco", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_STEEL" - ], - "friend_area": "SECRETIVE_FOREST", - "abilities": [ - "ABILITY_STURDY" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 60, - "base_exp": 75, - "base_att_spatt": [ - 22, - 22 - ], - "base_def_spdef": [ - 17, - 17 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 32, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_PINECO", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 31 - }, - "dexInternal": [ - 205, - 232 - ], - "base_recruit": -999, - "alphabetParent": [ - 107, - 232 - ] - }, - { - "name": "Dunsparce", - "species": "SpeciesNameDunsparce", - "category": "SpeciesCategoryDunsparce", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "ECHO_CAVE", - "abilities": [ - "ABILITY_SERENE_GRACE", - "ABILITY_RUN_AWAY" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 43, - "base_exp": 22, - "base_att_spatt": [ - 19, - 19 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 21, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 206, - 233 - ], - "base_recruit": 76, - "alphabetParent": [ - 85, - 233 - ] - }, - { - "name": "Gligar", - "species": "SpeciesNameGligar", - "category": "SpeciesCategoryGligar", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GROUND", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "MT_DEEPGREEN", - "abilities": [ - "ABILITY_HYPER_CUTTER", - "ABILITY_SAND_VEIL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 38, - "base_exp": 41, - "base_att_spatt": [ - 21, - 17 - ], - "base_def_spdef": [ - 11, - 13 - ], - "lowkick_dmg": 281, - "sizeorb_dmg": 47, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 207, - 234 - ], - "base_recruit": 85, - "alphabetParent": [ - 115, - 234 - ] - }, - { - "name": "Steelix", - "species": "SpeciesNameSteelix", - "category": "SpeciesCategorySteelix", - "overworld_palette": 5, - "size": 4, - "move_speed": 1, - "types": [ - "TYPE_STEEL", - "TYPE_GROUND" - ], - "friend_area": "BOULDER_CAVE", - "abilities": [ - "ABILITY_ROCK_HEAD", - "ABILITY_STURDY" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 125, - "base_att_spatt": [ - 23, - 23 - ], - "base_def_spdef": [ - 12, - 12 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 94, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_ONIX", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_METAL_COAT", - "evolve_need2": 4 - }, - "dexInternal": [ - 208, - 235 - ], - "base_recruit": -999, - "alphabetParent": [ - 334, - 235 - ] - }, - { - "name": "Snubbull", - "species": "SpeciesNameSnubbull", - "category": "SpeciesCategoryClefairy", - "overworld_palette": 11, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000111", - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "SKY_BLUE_PLAINS", - "abilities": [ - "ABILITY_INTIMIDATE", - "ABILITY_RUN_AWAY" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 21, - "base_att_spatt": [ - 10, - 10 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 30, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 209, - 236 - ], - "base_recruit": 81, - "alphabetParent": [ - 322, - 236 - ] - }, - { - "name": "Granbull", - "species": "SpeciesNameGranbull", - "category": "SpeciesCategoryClefairy", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "SKY_BLUE_PLAINS", - "abilities": [ - "ABILITY_INTIMIDATE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 45, - "base_exp": 80, - "base_att_spatt": [ - 12, - 12 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 37, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SNUBBULL", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 23 - }, - "dexInternal": [ - 210, - 237 - ], - "base_recruit": -999, - "alphabetParent": [ - 122, - 237 - ] - }, - { - "name": "Qwilfish", - "species": "SpeciesNameQwilfish", - "category": "SpeciesCategoryJigglypuff", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_POISON" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "SERENE_SEA", - "abilities": [ - "ABILITY_POISON_POINT", - "ABILITY_SWIFT_SWIM" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 9, - "base_att_spatt": [ - 9, - 9 - ], - "base_def_spdef": [ - 9, - 9 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 14, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 211, - 238 - ], - "base_recruit": 69, - "alphabetParent": [ - 268, - 238 - ] - }, - { - "name": "Scizor", - "species": "SpeciesNameScizor", - "category": "SpeciesCategoryKingler", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_STEEL" - ], - "friend_area": "OVERGROWN_FOREST", - "abilities": [ - "ABILITY_SWARM" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 56, - "base_exp": 108, - "base_att_spatt": [ - 23, - 19 - ], - "base_def_spdef": [ - 13, - 14 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 48, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SCYTHER", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_METAL_COAT", - "evolve_need2": 4 - }, - "dexInternal": [ - 212, - 239 - ], - "base_recruit": -999, - "alphabetParent": [ - 290, - 239 - ] - }, - { - "name": "Shuckle", - "species": "SpeciesNameShuckle", - "category": "SpeciesCategoryShuckle", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_ROCK" - ], - "friend_area": "MT_DEEPGREEN", - "abilities": [ - "ABILITY_STURDY" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 37, - "base_exp": 50, - "base_att_spatt": [ - 21, - 21 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 29, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 213, - 240 - ], - "base_recruit": 69, - "alphabetParent": [ - 305, - 240 - ] - }, - { - "name": "Heracross", - "species": "SpeciesNameHeracross", - "category": "SpeciesCategoryHeracross", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_FIGHTING" - ], - "friend_area": "OVERGROWN_FOREST", - "abilities": [ - "ABILITY_SWARM", - "ABILITY_GUTS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 52, - "base_exp": 55, - "base_att_spatt": [ - 22, - 22 - ], - "base_def_spdef": [ - 9, - 9 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 37, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 214, - 241 - ], - "base_recruit": 26, - "alphabetParent": [ - 133, - 241 - ] - }, - { - "name": "Sneasel", - "species": "SpeciesNameSneasel", - "category": "SpeciesCategorySneasel", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_DARK", - "TYPE_ICE" - ], - "friend_area": "DARKNESS_RIDGE", - "abilities": [ - "ABILITY_INNER_FOCUS", - "ABILITY_KEEN_EYE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 84, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 7, - 10 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 36, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 215, - 242 - ], - "base_recruit": 77, - "alphabetParent": [ - 319, - 242 - ] - }, - { - "name": "Teddiursa", - "species": "SpeciesNameTeddiursa", - "category": "SpeciesCategoryTeddiursa", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "MT_DEEPGREEN", - "abilities": [ - "ABILITY_PICKUP" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 27, - "base_exp": 40, - "base_att_spatt": [ - 16, - 16 - ], - "base_def_spdef": [ - 11, - 11 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 26, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 216, - 243 - ], - "base_recruit": 114, - "alphabetParent": [ - 348, - 243 - ] - }, - { - "name": "Ursaring", - "species": "SpeciesNameUrsaring", - "category": "SpeciesCategoryUrsaring", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "MT_DEEPGREEN", - "abilities": [ - "ABILITY_GUTS" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 37, - "base_exp": 100, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 12, - 12 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 54, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_TEDDIURSA", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 30 - }, - "dexInternal": [ - 217, - 244 - ], - "base_recruit": -999, - "alphabetParent": [ - 391, - 244 - ] - }, - { - "name": "Slugma", - "species": "SpeciesNameSlugma", - "category": "SpeciesCategorySlugma", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIRE" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "CRATER", - "abilities": [ - "ABILITY_MAGMA_ARMOR", - "ABILITY_FLAME_BODY" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 51, - "base_exp": 55, - "base_att_spatt": [ - 21, - 21 - ], - "base_def_spdef": [ - 13, - 13 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 23, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 218, - 245 - ], - "base_recruit": 114, - "alphabetParent": [ - 316, - 245 - ] - }, - { - "name": "Magcargo", - "species": "SpeciesNameMagcargo", - "category": "SpeciesCategorySlugma", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIRE", - "TYPE_ROCK" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "CRATER", - "abilities": [ - "ABILITY_MAGMA_ARMOR", - "ABILITY_FLAME_BODY" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 55, - "base_exp": 56, - "base_att_spatt": [ - 21, - 21 - ], - "base_def_spdef": [ - 16, - 16 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 30, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SLUGMA", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 38 - }, - "dexInternal": [ - 219, - 246 - ], - "base_recruit": -999, - "alphabetParent": [ - 187, - 246 - ] - }, - { - "name": "Swinub", - "species": "SpeciesNameSwinub", - "category": "SpeciesCategorySwinub", - "overworld_palette": 1, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ICE", - "TYPE_GROUND" - ], - "friend_area": "FRIGID_CAVERN", - "abilities": [ - "ABILITY_OBLIVIOUS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 15, - "base_hp": 28, - "base_exp": 37, - "base_att_spatt": [ - 17, - 17 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 20, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 220, - 247 - ], - "base_recruit": 109, - "alphabetParent": [ - 344, - 247 - ] - }, - { - "name": "Piloswine", - "species": "SpeciesNamePiloswine", - "category": "SpeciesCategoryPiloswine", - "overworld_palette": 1, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ICE", - "TYPE_GROUND" - ], - "friend_area": "FRIGID_CAVERN", - "abilities": [ - "ABILITY_OBLIVIOUS" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 15, - "base_hp": 56, - "base_exp": 70, - "base_att_spatt": [ - 23, - 23 - ], - "base_def_spdef": [ - 13, - 13 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 37, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SWINUB", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 33 - }, - "dexInternal": [ - 221, - 248 - ], - "base_recruit": -999, - "alphabetParent": [ - 251, - 248 - ] - }, - { - "name": "Corsola", - "species": "SpeciesNameCorsola", - "category": "SpeciesCategoryCorsola", - "overworld_palette": 1, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_ROCK" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "SHALLOW_BEACH", - "abilities": [ - "ABILITY_HUSTLE", - "ABILITY_NATURAL_CURE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 45, - "base_exp": 18, - "base_att_spatt": [ - 10, - 12 - ], - "base_def_spdef": [ - 11, - 10 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 23, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 222, - 249 - ], - "base_recruit": 83, - "alphabetParent": [ - 60, - 249 - ] - }, - { - "name": "Remoraid", - "species": "SpeciesNameRemoraid", - "category": "SpeciesCategoryRemoraid", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TREASURE_SEA", - "abilities": [ - "ABILITY_HUSTLE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 36, - "base_att_spatt": [ - 15, - 12 - ], - "base_def_spdef": [ - 5, - 5 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 13, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 223, - 250 - ], - "base_recruit": 88, - "alphabetParent": [ - 281, - 250 - ] - }, - { - "name": "Octillery", - "species": "SpeciesNameOctillery", - "category": "SpeciesCategoryRemoraid", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TREASURE_SEA", - "abilities": [ - "ABILITY_SUCTION_CUPS" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 235, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 40, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_REMORAID", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 25 - }, - "dexInternal": [ - 224, - 251 - ], - "base_recruit": -300, - "alphabetParent": [ - 236, - 251 - ] - }, - { - "name": "Delibird", - "species": "SpeciesNameDelibird", - "category": "SpeciesCategoryDelibird", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ICE", - "TYPE_FLYING" - ], - "friend_area": "FRIGID_CAVERN", - "abilities": [ - "ABILITY_VITAL_SPIRIT", - "ABILITY_HUSTLE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 40, - "base_exp": 48, - "base_att_spatt": [ - 12, - 12 - ], - "base_def_spdef": [ - 12, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 39, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 225, - 252 - ], - "base_recruit": 88, - "alphabetParent": [ - 69, - 252 - ] - }, - { - "name": "Mantine", - "species": "SpeciesNameMantine", - "category": "SpeciesCategoryMantine", - "overworld_palette": 7, - "size": 2, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "SERENE_SEA", - "abilities": [ - "ABILITY_SWIFT_SWIM", - "ABILITY_WATER_ABSORB" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 55, - "base_exp": 250, - "base_att_spatt": [ - 13, - 12 - ], - "base_def_spdef": [ - 11, - 12 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 86, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 226, - 253 - ], - "base_recruit": 95, - "alphabetParent": [ - 195, - 253 - ] - }, - { - "name": "Skarmory", - "species": "SpeciesNameSkarmory", - "category": "SpeciesCategorySkarmory", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000011", - "types": [ - "TYPE_STEEL", - "TYPE_FLYING" - ], - "friend_area": "RAVAGED_FIELD", - "abilities": [ - "ABILITY_KEEN_EYE", - "ABILITY_STURDY" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 47, - "base_exp": 175, - "base_att_spatt": [ - 15, - 13 - ], - "base_def_spdef": [ - 5, - 7 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 50, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 227, - 254 - ], - "base_recruit": 68, - "alphabetParent": [ - 308, - 254 - ] - }, - { - "name": "Houndour", - "species": "SpeciesNameHoundour", - "category": "SpeciesCategoryHoundour", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_DARK", - "TYPE_FIRE" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "RAVAGED_FIELD", - "abilities": [ - "ABILITY_EARLY_BIRD", - "ABILITY_FLASH_FIRE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 31, - "base_exp": 45, - "base_att_spatt": [ - 19, - 18 - ], - "base_def_spdef": [ - 12, - 12 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 21, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 228, - 255 - ], - "base_recruit": 114, - "alphabetParent": [ - 142, - 255 - ] - }, - { - "name": "Houndoom", - "species": "SpeciesNameHoundoom", - "category": "SpeciesCategoryHoundour", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_DARK", - "TYPE_FIRE" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "RAVAGED_FIELD", - "abilities": [ - "ABILITY_EARLY_BIRD", - "ABILITY_FLASH_FIRE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 45, - "base_exp": 55, - "base_att_spatt": [ - 19, - 19 - ], - "base_def_spdef": [ - 12, - 12 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 31, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_HOUNDOUR", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 24 - }, - "dexInternal": [ - 229, - 256 - ], - "base_recruit": -999, - "alphabetParent": [ - 141, - 256 - ] - }, - { - "name": "Kingdra", - "species": "SpeciesNameKingdra", - "category": "SpeciesCategoryHorsea", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_DRAGON" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TREASURE_SEA", - "abilities": [ - "ABILITY_SWIFT_SWIM" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 20, - "base_exp": 124, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 28, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SEADRA", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_DRAGON_SCALE", - "evolve_need2": 4 - }, - "dexInternal": [ - 230, - 257 - ], - "base_recruit": -999, - "alphabetParent": [ - 159, - 257 - ] - }, - { - "name": "Phanpy", - "species": "SpeciesNamePhanpy", - "category": "SpeciesCategoryPhanpy", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GROUND" - ], - "friend_area": "SAFARI", - "abilities": [ - "ABILITY_PICKUP" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 42, - "base_exp": 33, - "base_att_spatt": [ - 21, - 21 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 21, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 231, - 258 - ], - "base_recruit": 82, - "alphabetParent": [ - 245, - 258 - ] - }, - { - "name": "Donphan", - "species": "SpeciesNameDonphan", - "category": "SpeciesCategoryDonphan", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GROUND" - ], - "friend_area": "SAFARI", - "abilities": [ - "ABILITY_STURDY" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 43, - "base_exp": 107, - "base_att_spatt": [ - 22, - 22 - ], - "base_def_spdef": [ - 20, - 20 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 37, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_PHANPY", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 25 - }, - "dexInternal": [ - 232, - 259 - ], - "base_recruit": -999, - "alphabetParent": [ - 79, - 259 - ] - }, - { - "name": "Porygon2", - "species": "SpeciesNamePorygon2", - "category": "SpeciesCategoryPorygon", - "overworld_palette": 1, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "DECREPIT_LAB", - "abilities": [ - "ABILITY_TRACE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 110, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 21, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_PORYGON", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_UPGRADE", - "evolve_need2": 4 - }, - "dexInternal": [ - 233, - 260 - ], - "base_recruit": 100, - "alphabetParent": [ - 262, - 260 - ] - }, - { - "name": "Stantler", - "species": "SpeciesNameStantler", - "category": "SpeciesCategoryStantler", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "ENERGETIC_FOREST", - "abilities": [ - "ABILITY_INTIMIDATE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 43, - "base_exp": 60, - "base_att_spatt": [ - 18, - 19 - ], - "base_def_spdef": [ - 13, - 13 - ], - "lowkick_dmg": 307, - "sizeorb_dmg": 31, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 234, - 261 - ], - "base_recruit": 72, - "alphabetParent": [ - 330, - 261 - ] - }, - { - "name": "Smeargle", - "species": "SpeciesNameSmeargle", - "category": "SpeciesCategorySmeargle", - "overworld_palette": 8, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "SKY_BLUE_PLAINS", - "abilities": [ - "ABILITY_OWN_TEMPO" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 50, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 35, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 235, - 262 - ], - "base_recruit": 68, - "alphabetParent": [ - 317, - 262 - ] - }, - { - "name": "Tyrogue", - "species": "SpeciesNameTyrogue", - "category": "SpeciesCategoryTyrogue", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIGHTING" - ], - "friend_area": "MT_DISCIPLINE", - "abilities": [ - "ABILITY_GUTS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 25, - "base_exp": 30, - "base_att_spatt": [ - 17, - 17 - ], - "base_def_spdef": [ - 7, - 6 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 26, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 236, - 263 - ], - "base_recruit": 80, - "alphabetParent": [ - 361, - 263 - ] - }, - { - "name": "Hitmontop", - "species": "SpeciesNameHitmontop", - "category": "SpeciesCategoryHitmontop", - "overworld_palette": 9, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIGHTING" - ], - "friend_area": "MT_DISCIPLINE", - "abilities": [ - "ABILITY_INTIMIDATE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 33, - "base_exp": 102, - "base_att_spatt": [ - 9, - 8 - ], - "base_def_spdef": [ - 7, - 8 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 35, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_TYROGUE", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 20, - "evolve_need2": 7 - }, - "dexInternal": [ - 237, - 264 - ], - "base_recruit": -999, - "alphabetParent": [ - 136, - 264 - ] - }, - { - "name": "Smoochum", - "species": "SpeciesNameSmoochum", - "category": "SpeciesCategorySmoochum", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ICE", - "TYPE_PSYCHIC" - ], - "friend_area": "FRIGID_CAVERN", - "abilities": [ - "ABILITY_OBLIVIOUS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 18, - "base_att_spatt": [ - 12, - 10 - ], - "base_def_spdef": [ - 12, - 10 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 24, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 238, - 265 - ], - "base_recruit": 80, - "alphabetParent": [ - 318, - 265 - ] - }, - { - "name": "Elekid", - "species": "SpeciesNameElekid", - "category": "SpeciesCategoryElectabuzz", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ELECTRIC" - ], - "friend_area": "POWER_PLANT", - "abilities": [ - "ABILITY_STATIC" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 21, - "base_exp": 43, - "base_att_spatt": [ - 12, - 10 - ], - "base_def_spdef": [ - 6, - 6 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 41, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 239, - 266 - ], - "base_recruit": 103, - "alphabetParent": [ - 94, - 266 - ] - }, - { - "name": "Magby", - "species": "SpeciesNameMagby", - "category": "SpeciesCategoryMagby", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIRE" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "CRATER", - "abilities": [ - "ABILITY_FLAME_BODY" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 48, - "base_exp": 55, - "base_att_spatt": [ - 21, - 21 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 28, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 240, - 267 - ], - "base_recruit": 95, - "alphabetParent": [ - 186, - 267 - ] - }, - { - "name": "Miltank", - "species": "SpeciesNameMiltank", - "category": "SpeciesCategoryMiltank", - "overworld_palette": 11, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "SAFARI", - "abilities": [ - "ABILITY_THICK_FAT" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 106, - "base_att_spatt": [ - 11, - 12 - ], - "base_def_spdef": [ - 13, - 12 - ], - "lowkick_dmg": 307, - "sizeorb_dmg": 37, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 241, - 268 - ], - "base_recruit": 87, - "alphabetParent": [ - 213, - 268 - ] - }, - { - "name": "Blissey", - "species": "SpeciesNameBlissey", - "category": "SpeciesCategoryTogetic", - "overworld_palette": 10, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "SKY_BLUE_PLAINS", - "abilities": [ - "ABILITY_NATURAL_CURE", - "ABILITY_SERENE_GRACE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 33, - "base_exp": 333, - "base_att_spatt": [ - 7, - 7 - ], - "base_def_spdef": [ - 7, - 7 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 48, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_CHANSEY", - "evolve_type": "EVOLVE_TYPE_IQ" - }, - "needs": { - "evolve_need1": 150 - }, - "dexInternal": [ - 242, - 269 - ], - "base_recruit": -999, - "alphabetParent": [ - 30, - 269 - ] - }, - { - "name": "Raikou", - "species": "SpeciesNameRaikou", - "category": "SpeciesCategoryRaikou", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_ELECTRIC" - ], - "friend_area": "SACRED_FIELD", - "abilities": [ - "ABILITY_PRESSURE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 77, - "base_exp": 170, - "base_att_spatt": [ - 21, - 21 - ], - "base_def_spdef": [ - 20, - 20 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 52, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 243, - 270 - ], - "base_recruit": 1, - "alphabetParent": [ - 270, - 270 - ] - }, - { - "name": "Entei", - "species": "SpeciesNameEntei", - "category": "SpeciesCategoryQuilava", - "overworld_palette": 12, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_FIRE" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "SACRED_FIELD", - "abilities": [ - "ABILITY_PRESSURE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 78, - "base_exp": 180, - "base_att_spatt": [ - 21, - 20 - ], - "base_def_spdef": [ - 20, - 22 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 61, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 244, - 271 - ], - "base_recruit": 1, - "alphabetParent": [ - 95, - 271 - ] - }, - { - "name": "Suicune", - "species": "SpeciesNameSuicune", - "category": "SpeciesCategorySuicune", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "SACRED_FIELD", - "abilities": [ - "ABILITY_PRESSURE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 76, - "base_exp": 190, - "base_att_spatt": [ - 22, - 22 - ], - "base_def_spdef": [ - 19, - 19 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 65, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 245, - 272 - ], - "base_recruit": 1, - "alphabetParent": [ - 336, - 272 - ] - }, - { - "name": "Larvitar", - "species": "SpeciesNameLarvitar", - "category": "SpeciesCategoryLarvitar", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ROCK", - "TYPE_GROUND" - ], - "friend_area": "MT_CLEFT", - "abilities": [ - "ABILITY_GUTS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 40, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 307, - "sizeorb_dmg": 21, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 246, - 273 - ], - "base_recruit": 122, - "alphabetParent": [ - 168, - 273 - ] - }, - { - "name": "Pupitar", - "species": "SpeciesNamePupitar", - "category": "SpeciesCategoryPupitar", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ROCK", - "TYPE_GROUND" - ], - "friend_area": "MT_CLEFT", - "abilities": [ - "ABILITY_SHED_SKIN" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 42, - "base_exp": 50, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 16, - 16 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 29, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_LARVITAR", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 30 - }, - "dexInternal": [ - 247, - 274 - ], - "base_recruit": -190, - "alphabetParent": [ - 265, - 274 - ] - }, - { - "name": "Tyranitar", - "species": "SpeciesNameTyranitar", - "category": "SpeciesCategoryDonphan", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000011", - "types": [ - "TYPE_ROCK", - "TYPE_DARK" - ], - "friend_area": "MT_CLEFT", - "abilities": [ - "ABILITY_SAND_STREAM" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 80, - "base_exp": 205, - "base_att_spatt": [ - 40, - 40 - ], - "base_def_spdef": [ - 26, - 26 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 43, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_PUPITAR", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 55 - }, - "dexInternal": [ - 248, - 275 - ], - "base_recruit": -999, - "alphabetParent": [ - 360, - 275 - ] - }, - { - "name": "Lugia", - "species": "SpeciesNameLugia", - "category": "SpeciesCategoryLugia", - "overworld_palette": 9, - "size": 4, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "unk12": true, - "types": [ - "TYPE_PSYCHIC", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "DEEP_SEA_CURRENT", - "abilities": [ - "ABILITY_PRESSURE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 70, - "base_exp": 400, - "base_att_spatt": [ - 23, - 24 - ], - "base_def_spdef": [ - 18, - 18 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 122, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 249, - 276 - ], - "base_recruit": 999, - "alphabetParent": [ - 180, - 276 - ] - }, - { - "name": "Ho-Oh", - "species": "SpeciesNameHoOh", - "category": "SpeciesCategoryHoOh", - "overworld_palette": 3, - "size": 4, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_FIRE", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "RAINBOW_PEAK", - "abilities": [ - "ABILITY_PRESSURE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 75, - "base_exp": 300, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 16, - 16 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 225, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 250, - 277 - ], - "base_recruit": 999, - "alphabetParent": [ - 137, - 277 - ] - }, - { - "name": "Celebi", - "species": "SpeciesNameCelebi", - "category": "SpeciesCategoryCelebi", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "unk12": true, - "types": [ - "TYPE_PSYCHIC", - "TYPE_GRASS" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "HEALING_FOREST", - "abilities": [ - "ABILITY_NATURAL_CURE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 55, - "base_exp": 200, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 23, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 251, - 278 - ], - "base_recruit": 999, - "alphabetParent": [ - 44, - 278 - ] - }, - { - "name": "Treecko", - "species": "SpeciesNameTreecko", - "category": "SpeciesCategoryTreecko", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0001111111111111", - "types": [ - "TYPE_GRASS" - ], - "friend_area": "OVERGROWN_FOREST", - "abilities": [ - "ABILITY_OVERGROW" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 18, - "base_exp": 15, - "base_att_spatt": [ - 1, - 1 - ], - "base_def_spdef": [ - 3, - 3 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 24, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 252, - 279 - ], - "base_recruit": 112, - "alphabetParent": [ - 357, - 279 - ] - }, - { - "name": "Grovyle", - "species": "SpeciesNameGrovyle", - "category": "SpeciesCategoryTreecko", - "overworld_palette": 12, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS" - ], - "friend_area": "OVERGROWN_FOREST", - "abilities": [ - "ABILITY_OVERGROW" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 63, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 20, - 20 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 29, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_TREECKO", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 16 - }, - "dexInternal": [ - 253, - 280 - ], - "base_recruit": -190, - "alphabetParent": [ - 126, - 280 - ] - }, - { - "name": "Sceptile", - "species": "SpeciesNameSceptile", - "category": "SpeciesCategorySceptile", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS" - ], - "friend_area": "OVERGROWN_FOREST", - "abilities": [ - "ABILITY_OVERGROW" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 55, - "base_exp": 156, - "base_att_spatt": [ - 22, - 22 - ], - "base_def_spdef": [ - 22, - 22 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 34, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_GROVYLE", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 36 - }, - "dexInternal": [ - 254, - 281 - ], - "base_recruit": -999, - "alphabetParent": [ - 289, - 281 - ] - }, - { - "name": "Torchic", - "species": "SpeciesNameTorchic", - "category": "SpeciesCategoryTorchic", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0001111111111111", - "types": [ - "TYPE_FIRE" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "SCORCHED_PLAINS", - "abilities": [ - "ABILITY_BLAZE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 18, - "base_exp": 6, - "base_att_spatt": [ - 1, - 1 - ], - "base_def_spdef": [ - 3, - 3 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 21, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 255, - 282 - ], - "base_recruit": 119, - "alphabetParent": [ - 353, - 282 - ] - }, - { - "name": "Combusken", - "species": "SpeciesNameCombusken", - "category": "SpeciesCategoryCombusken", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIRE", - "TYPE_FIGHTING" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "SCORCHED_PLAINS", - "abilities": [ - "ABILITY_BLAZE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 57, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 20, - 20 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 27, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_TORCHIC", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 16 - }, - "dexInternal": [ - 256, - 283 - ], - "base_recruit": -190, - "alphabetParent": [ - 58, - 283 - ] - }, - { - "name": "Blaziken", - "species": "SpeciesNameBlaziken", - "category": "SpeciesCategoryBlaziken", - "overworld_palette": 12, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIRE", - "TYPE_FIGHTING" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "SCORCHED_PLAINS", - "abilities": [ - "ABILITY_BLAZE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 55, - "base_exp": 156, - "base_att_spatt": [ - 23, - 20 - ], - "base_def_spdef": [ - 23, - 20 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 36, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_COMBUSKEN", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 36 - }, - "dexInternal": [ - 257, - 284 - ], - "base_recruit": -999, - "alphabetParent": [ - 29, - 284 - ] - }, - { - "name": "Mudkip", - "species": "SpeciesNameMudkip", - "category": "SpeciesCategoryMudkip", - "overworld_palette": 9, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0001111111111111", - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "PEANUT_SWAMP", - "abilities": [ - "ABILITY_TORRENT" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 18, - "base_exp": 21, - "base_att_spatt": [ - 4, - 4 - ], - "base_def_spdef": [ - 4, - 4 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 17, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 258, - 285 - ], - "base_recruit": 123, - "alphabetParent": [ - 218, - 285 - ] - }, - { - "name": "Marshtomp", - "species": "SpeciesNameMarshtomp", - "category": "SpeciesCategoryMudkip", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_GROUND" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "PEANUT_SWAMP", - "abilities": [ - "ABILITY_TORRENT" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 84, - "base_att_spatt": [ - 20, - 25 - ], - "base_def_spdef": [ - 20, - 25 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 25, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_MUDKIP", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 16 - }, - "dexInternal": [ - 259, - 286 - ], - "base_recruit": -190, - "alphabetParent": [ - 199, - 286 - ] - }, - { - "name": "Swampert", - "species": "SpeciesNameSwampert", - "category": "SpeciesCategoryMudkip", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_GROUND" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "PEANUT_SWAMP", - "abilities": [ - "ABILITY_TORRENT" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 55, - "base_exp": 200, - "base_att_spatt": [ - 22, - 30 - ], - "base_def_spdef": [ - 20, - 30 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 40, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_MARSHTOMP", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 36 - }, - "dexInternal": [ - 260, - 287 - ], - "base_recruit": -339, - "alphabetParent": [ - 342, - 287 - ] - }, - { - "name": "Poochyena", - "species": "SpeciesNamePoochyena", - "category": "SpeciesCategoryPoochyena", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_DARK" - ], - "friend_area": "WILD_PLAINS", - "abilities": [ - "ABILITY_RUN_AWAY" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 26, - "base_exp": 25, - "base_att_spatt": [ - 9, - 9 - ], - "base_def_spdef": [ - 5, - 5 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 21, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 261, - 288 - ], - "base_recruit": 82, - "alphabetParent": [ - 260, - 288 - ] - }, - { - "name": "Mightyena", - "species": "SpeciesNameMightyena", - "category": "SpeciesCategoryPoochyena", - "overworld_palette": 11, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_DARK" - ], - "friend_area": "WILD_PLAINS", - "abilities": [ - "ABILITY_INTIMIDATE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 51, - "base_exp": 40, - "base_att_spatt": [ - 23, - 23 - ], - "base_def_spdef": [ - 17, - 17 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 28, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_POOCHYENA", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 18 - }, - "dexInternal": [ - 262, - 289 - ], - "base_recruit": -999, - "alphabetParent": [ - 211, - 289 - ] - }, - { - "name": "Zigzagoon", - "species": "SpeciesNameZigzagoon", - "category": "SpeciesCategoryZigzagoon", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "WILD_PLAINS", - "abilities": [ - "ABILITY_PICKUP" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 20, - "base_hp": 21, - "base_exp": 25, - "base_att_spatt": [ - 15, - 16 - ], - "base_def_spdef": [ - 7, - 7 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 24, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 263, - 290 - ], - "base_recruit": 85, - "alphabetParent": [ - 422, - 290 - ] - }, - { - "name": "Linoone", - "species": "SpeciesNameLinoone", - "category": "SpeciesCategoryLinoone", - "overworld_palette": 9, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "WILD_PLAINS", - "abilities": [ - "ABILITY_PICKUP" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 20, - "base_hp": 31, - "base_exp": 50, - "base_att_spatt": [ - 18, - 18 - ], - "base_def_spdef": [ - 9, - 8 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 30, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_ZIGZAGOON", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 20 - }, - "dexInternal": [ - 264, - 291 - ], - "base_recruit": -999, - "alphabetParent": [ - 175, - 291 - ] - }, - { - "name": "Wurmple", - "species": "SpeciesNameWurmple", - "category": "SpeciesCategoryCaterpie", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG" - ], - "friend_area": "MIST_RISE_FOREST", - "abilities": [ - "ABILITY_SHIELD_DUST" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 5, - "base_hp": 10, - "base_exp": 15, - "base_att_spatt": [ - 4, - 6 - ], - "base_def_spdef": [ - 5, - 5 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 18, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 265, - 292 - ], - "base_recruit": 74, - "alphabetParent": [ - 416, - 292 - ] - }, - { - "name": "Silcoon", - "species": "SpeciesNameSilcoon", - "category": "SpeciesCategoryMetapod", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG" - ], - "friend_area": "MIST_RISE_FOREST", - "abilities": [ - "ABILITY_SHED_SKIN" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": false, - "unk1D": 100, - "base_hp": 28, - "base_exp": 35, - "base_att_spatt": [ - 16, - 17 - ], - "base_def_spdef": [ - 6, - 6 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 23, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_WURMPLE", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 7, - "evolve_need2": 11 - }, - "dexInternal": [ - 266, - 293 - ], - "base_recruit": -190, - "alphabetParent": [ - 307, - 293 - ] - }, - { - "name": "Beautifly", - "species": "SpeciesNameBeautifly", - "category": "SpeciesCategoryButterfree", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "MIST_RISE_FOREST", - "abilities": [ - "ABILITY_SWARM" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 84, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 10, - 11 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 48, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SILCOON", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 10 - }, - "dexInternal": [ - 267, - 294 - ], - "base_recruit": -999, - "alphabetParent": [ - 23, - 294 - ] - }, - { - "name": "Cascoon", - "species": "SpeciesNameCascoon", - "category": "SpeciesCategoryMetapod", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG" - ], - "friend_area": "MIST_RISE_FOREST", - "abilities": [ - "ABILITY_SHED_SKIN" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": false, - "unk1D": 100, - "base_hp": 28, - "base_exp": 36, - "base_att_spatt": [ - 17, - 16 - ], - "base_def_spdef": [ - 6, - 6 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 24, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_WURMPLE", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 7, - "evolve_need2": 12 - }, - "dexInternal": [ - 268, - 295 - ], - "base_recruit": -190, - "alphabetParent": [ - 38, - 295 - ] - }, - { - "name": "Dustox", - "species": "SpeciesNameDustox", - "category": "SpeciesCategoryVenomoth", - "overworld_palette": 10, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_POISON" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "MIST_RISE_FOREST", - "abilities": [ - "ABILITY_SHIELD_DUST" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 34, - "base_exp": 37, - "base_att_spatt": [ - 17, - 20 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 43, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_CASCOON", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 10 - }, - "dexInternal": [ - 269, - 296 - ], - "base_recruit": -999, - "alphabetParent": [ - 88, - 296 - ] - }, - { - "name": "Lotad", - "species": "SpeciesNameLotad", - "category": "SpeciesCategoryLotad", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_GRASS" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TADPOLE_POND", - "abilities": [ - "ABILITY_SWIFT_SWIM", - "ABILITY_RAIN_DISH" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 33, - "base_exp": 6, - "base_att_spatt": [ - 13, - 13 - ], - "base_def_spdef": [ - 11, - 11 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 23, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 270, - 297 - ], - "base_recruit": 80, - "alphabetParent": [ - 177, - 297 - ] - }, - { - "name": "Lombre", - "species": "SpeciesNameLombre", - "category": "SpeciesCategoryLombre", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000011111111", - "types": [ - "TYPE_WATER", - "TYPE_GRASS" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TADPOLE_POND", - "abilities": [ - "ABILITY_SWIFT_SWIM", - "ABILITY_RAIN_DISH" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 43, - "base_exp": 96, - "base_att_spatt": [ - 14, - 14 - ], - "base_def_spdef": [ - 12, - 12 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 41, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_LOTAD", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 14 - }, - "dexInternal": [ - 271, - 298 - ], - "base_recruit": -190, - "alphabetParent": [ - 176, - 298 - ] - }, - { - "name": "Ludicolo", - "species": "SpeciesNameLudicolo", - "category": "SpeciesCategoryLudicolo", - "overworld_palette": 8, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_GRASS" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TADPOLE_POND", - "abilities": [ - "ABILITY_SWIFT_SWIM", - "ABILITY_RAIN_DISH" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 53, - "base_exp": 140, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 13, - 13 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 49, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_LOMBRE", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_WATER_STONE" - }, - "dexInternal": [ - 272, - 299 - ], - "base_recruit": -999, - "alphabetParent": [ - 179, - 299 - ] - }, - { - "name": "Seedot", - "species": "SpeciesNameSeedot", - "category": "SpeciesCategorySeedot", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS" - ], - "friend_area": "MUSHROOM_FOREST", - "abilities": [ - "ABILITY_CHLOROPHYLL", - "ABILITY_EARLY_BIRD" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 43, - "base_exp": 39, - "base_att_spatt": [ - 17, - 17 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 23, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 273, - 300 - ], - "base_recruit": 112, - "alphabetParent": [ - 295, - 300 - ] - }, - { - "name": "Nuzleaf", - "species": "SpeciesNameNuzleaf", - "category": "SpeciesCategoryNuzleaf", - "overworld_palette": 8, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS", - "TYPE_DARK" - ], - "friend_area": "MUSHROOM_FOREST", - "abilities": [ - "ABILITY_CHLOROPHYLL", - "ABILITY_EARLY_BIRD" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 55, - "base_exp": 50, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 32, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SEEDOT", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 14 - }, - "dexInternal": [ - 274, - 301 - ], - "base_recruit": -190, - "alphabetParent": [ - 235, - 301 - ] - }, - { - "name": "Shiftry", - "species": "SpeciesNameShiftry", - "category": "SpeciesCategoryShiftry", - "overworld_palette": 8, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000001111", - "types": [ - "TYPE_GRASS", - "TYPE_DARK" - ], - "friend_area": "MUSHROOM_FOREST", - "abilities": [ - "ABILITY_CHLOROPHYLL", - "ABILITY_EARLY_BIRD" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 40, - "base_exp": 190, - "base_att_spatt": [ - 18, - 17 - ], - "base_def_spdef": [ - 16, - 16 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 44, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_NUZLEAF", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_LEAF_STONE" - }, - "dexInternal": [ - 275, - 302 - ], - "base_recruit": -300, - "alphabetParent": [ - 303, - 302 - ] - }, - { - "name": "Taillow", - "species": "SpeciesNameTaillow", - "category": "SpeciesCategoryTaillow", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL", - "TYPE_FLYING" - ], - "friend_area": "BEAU_PLAINS", - "abilities": [ - "ABILITY_GUTS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 6, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 15, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 276, - 303 - ], - "base_recruit": 75, - "alphabetParent": [ - 345, - 303 - ] - }, - { - "name": "Swellow", - "species": "SpeciesNameSwellow", - "category": "SpeciesCategorySwellow", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL", - "TYPE_FLYING" - ], - "friend_area": "BEAU_PLAINS", - "abilities": [ - "ABILITY_GUTS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 45, - "base_exp": 57, - "base_att_spatt": [ - 11, - 10 - ], - "base_def_spdef": [ - 11, - 10 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 22, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_TAILLOW", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 22 - }, - "dexInternal": [ - 277, - 304 - ], - "base_recruit": -999, - "alphabetParent": [ - 343, - 304 - ] - }, - { - "name": "Wingull", - "species": "SpeciesNameWingull", - "category": "SpeciesCategoryWingull", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "SHALLOW_BEACH", - "abilities": [ - "ABILITY_KEEN_EYE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 33, - "base_exp": 27, - "base_att_spatt": [ - 9, - 9 - ], - "base_def_spdef": [ - 9, - 9 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 25, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 278, - 305 - ], - "base_recruit": 125, - "alphabetParent": [ - 413, - 305 - ] - }, - { - "name": "Pelipper", - "species": "SpeciesNamePelipper", - "category": "SpeciesCategoryPelipper", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_WATER", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "SHALLOW_BEACH", - "abilities": [ - "ABILITY_KEEN_EYE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 43, - "base_exp": 84, - "base_att_spatt": [ - 12, - 10 - ], - "base_def_spdef": [ - 12, - 10 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 29, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_WINGULL", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 25 - }, - "dexInternal": [ - 279, - 306 - ], - "base_recruit": -999, - "alphabetParent": [ - 243, - 306 - ] - }, - { - "name": "Ralts", - "species": "SpeciesNameRalts", - "category": "SpeciesCategoryRalts", - "overworld_palette": 10, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "friend_area": "SKY_BLUE_PLAINS", - "abilities": [ - "ABILITY_SYNCHRONIZE", - "ABILITY_TRACE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 32, - "base_exp": 18, - "base_att_spatt": [ - 11, - 8 - ], - "base_def_spdef": [ - 6, - 6 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 17, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 280, - 307 - ], - "base_recruit": 10, - "alphabetParent": [ - 271, - 307 - ] - }, - { - "name": "Kirlia", - "species": "SpeciesNameKirlia", - "category": "SpeciesCategoryKirlia", - "overworld_palette": 10, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "friend_area": "SKY_BLUE_PLAINS", - "abilities": [ - "ABILITY_SYNCHRONIZE", - "ABILITY_TRACE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 42, - "base_exp": 60, - "base_att_spatt": [ - 13, - 11 - ], - "base_def_spdef": [ - 6, - 6 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 24, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_RALTS", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 20 - }, - "dexInternal": [ - 281, - 308 - ], - "base_recruit": -190, - "alphabetParent": [ - 161, - 308 - ] - }, - { - "name": "Gardevoir", - "species": "SpeciesNameGardevoir", - "category": "SpeciesCategoryGardevoir", - "overworld_palette": 10, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000111", - "types": [ - "TYPE_PSYCHIC" - ], - "friend_area": "SKY_BLUE_PLAINS", - "abilities": [ - "ABILITY_SYNCHRONIZE", - "ABILITY_TRACE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 52, - "base_exp": 120, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 7, - 6 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 29, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_KIRLIA", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 30 - }, - "dexInternal": [ - 282, - 309 - ], - "base_recruit": -999, - "alphabetParent": [ - 109, - 309 - ] - }, - { - "name": "Surskit", - "species": "SpeciesNameSurskit", - "category": "SpeciesCategorySurskit", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TADPOLE_POND", - "abilities": [ - "ABILITY_SWIFT_SWIM" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 20, - "base_exp": 10, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 7, - 7 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 16, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 283, - 310 - ], - "base_recruit": 38, - "alphabetParent": [ - 339, - 310 - ] - }, - { - "name": "Masquerain", - "species": "SpeciesNameMasquerain", - "category": "SpeciesCategoryMasquerain", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "TADPOLE_POND", - "abilities": [ - "ABILITY_INTIMIDATE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 51, - "base_exp": 40, - "base_att_spatt": [ - 9, - 9 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 32, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SURSKIT", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 22 - }, - "dexInternal": [ - 284, - 311 - ], - "base_recruit": -999, - "alphabetParent": [ - 200, - 311 - ] - }, - { - "name": "Shroomish", - "species": "SpeciesNameShroomish", - "category": "SpeciesCategoryParas", - "overworld_palette": 8, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS" - ], - "friend_area": "MUSHROOM_FOREST", - "abilities": [ - "ABILITY_EFFECT_SPORE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 27, - "base_exp": 50, - "base_att_spatt": [ - 16, - 16 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 22, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 285, - 312 - ], - "base_recruit": 77, - "alphabetParent": [ - 304, - 312 - ] - }, - { - "name": "Breloom", - "species": "SpeciesNameBreloom", - "category": "SpeciesCategoryParas", - "overworld_palette": 8, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS", - "TYPE_FIGHTING" - ], - "friend_area": "MUSHROOM_FOREST", - "abilities": [ - "ABILITY_EFFECT_SPORE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 44, - "base_exp": 55, - "base_att_spatt": [ - 22, - 21 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 33, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SHROOMISH", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 23 - }, - "dexInternal": [ - 286, - 313 - ], - "base_recruit": -999, - "alphabetParent": [ - 31, - 313 - ] - }, - { - "name": "Slakoth", - "species": "SpeciesNameSlakoth", - "category": "SpeciesCategorySlakoth", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "ENERGETIC_FOREST", - "abilities": [ - "ABILITY_TRUANT" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 100, - "base_hp": 40, - "base_exp": 50, - "base_att_spatt": [ - 24, - 24 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 31, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 287, - 314 - ], - "base_recruit": 113, - "alphabetParent": [ - 312, - 314 - ] - }, - { - "name": "Vigoroth", - "species": "SpeciesNameVigoroth", - "category": "SpeciesCategoryVigoroth", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "ENERGETIC_FOREST", - "abilities": [ - "ABILITY_VITAL_SPIRIT" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 43, - "base_exp": 51, - "base_att_spatt": [ - 25, - 25 - ], - "base_def_spdef": [ - 15, - 17 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 38, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SLAKOTH", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 18 - }, - "dexInternal": [ - 288, - 315 - ], - "base_recruit": -190, - "alphabetParent": [ - 398, - 315 - ] - }, - { - "name": "Slaking", - "species": "SpeciesNameSlaking", - "category": "SpeciesCategorySlaking", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "ENERGETIC_FOREST", - "abilities": [ - "ABILITY_TRUANT" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 46, - "base_exp": 72, - "base_att_spatt": [ - 26, - 26 - ], - "base_def_spdef": [ - 15, - 17 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 45, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_VIGOROTH", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 36 - }, - "dexInternal": [ - 289, - 316 - ], - "base_recruit": -999, - "alphabetParent": [ - 311, - 316 - ] - }, - { - "name": "Nincada", - "species": "SpeciesNameNincada", - "category": "SpeciesCategoryNincada", - "overworld_palette": 10, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_GROUND" - ], - "friend_area": "SECRETIVE_FOREST", - "abilities": [ - "ABILITY_COMPOUNDEYES" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 38, - "base_exp": 30, - "base_att_spatt": [ - 14, - 14 - ], - "base_def_spdef": [ - 9, - 9 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 18, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 290, - 317 - ], - "base_recruit": 74, - "alphabetParent": [ - 229, - 317 - ] - }, - { - "name": "Ninjask", - "species": "SpeciesNameNinjask", - "category": "SpeciesCategoryNinjask", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "SECRETIVE_FOREST", - "abilities": [ - "ABILITY_SPEED_BOOST" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 70, - "base_att_spatt": [ - 12, - 13 - ], - "base_def_spdef": [ - 16, - 16 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 40, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_NINCADA", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 20 - }, - "dexInternal": [ - 291, - 318 - ], - "base_recruit": -999, - "alphabetParent": [ - 231, - 318 - ] - }, - { - "name": "Shedinja", - "species": "SpeciesNameShedinja", - "category": "SpeciesCategoryShedinja", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG", - "TYPE_GHOST" - ], - "walkable_tiles": "WALKABLE_TILE_WALL", - "friend_area": "SECRETIVE_FOREST", - "abilities": [ - "ABILITY_WONDER_GUARD" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 3, - "base_exp": 3, - "base_att_spatt": [ - 28, - 28 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 28, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_NINCADA", - "evolve_type": "EVOLVE_TYPE_NONE" - }, - "needs": { - "evolve_need1": 0 - }, - "dexInternal": [ - 292, - 319 - ], - "base_recruit": -999, - "alphabetParent": [ - 300, - 319 - ] - }, - { - "name": "Whismur", - "species": "SpeciesNameWhismur", - "category": "SpeciesCategoryWhismur", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "ECHO_CAVE", - "abilities": [ - "ABILITY_SOUNDPROOF" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 15, - "base_exp": 48, - "base_att_spatt": [ - 3, - 3 - ], - "base_def_spdef": [ - 2, - 2 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 26, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 293, - 320 - ], - "base_recruit": 88, - "alphabetParent": [ - 411, - 320 - ] - }, - { - "name": "Loudred", - "species": "SpeciesNameLoudred", - "category": "SpeciesCategoryLoudred", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "ECHO_CAVE", - "abilities": [ - "ABILITY_SOUNDPROOF" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 45, - "base_exp": 70, - "base_att_spatt": [ - 16, - 16 - ], - "base_def_spdef": [ - 13, - 13 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 42, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_WHISMUR", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 20 - }, - "dexInternal": [ - 294, - 321 - ], - "base_recruit": -190, - "alphabetParent": [ - 178, - 321 - ] - }, - { - "name": "Exploud", - "species": "SpeciesNameExploud", - "category": "SpeciesCategoryExploud", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "ECHO_CAVE", - "abilities": [ - "ABILITY_SOUNDPROOF" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 55, - "base_exp": 89, - "base_att_spatt": [ - 17, - 17 - ], - "base_def_spdef": [ - 14, - 14 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 50, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_LOUDRED", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 40 - }, - "dexInternal": [ - 295, - 322 - ], - "base_recruit": -999, - "alphabetParent": [ - 99, - 322 - ] - }, - { - "name": "Makuhita", - "species": "SpeciesNameMakuhita", - "category": "SpeciesCategoryMakuhita", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_FIGHTING" - ], - "friend_area": "MT_DISCIPLINE", - "abilities": [ - "ABILITY_THICK_FAT", - "ABILITY_GUTS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 45, - "base_exp": 60, - "base_att_spatt": [ - 15, - 16 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 37, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 296, - 323 - ], - "base_recruit": 102, - "alphabetParent": [ - 192, - 323 - ] - }, - { - "name": "Hariyama", - "species": "SpeciesNameHariyama", - "category": "SpeciesCategoryHariyama", - "overworld_palette": 9, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIGHTING" - ], - "friend_area": "MT_DISCIPLINE", - "abilities": [ - "ABILITY_THICK_FAT", - "ABILITY_GUTS" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 155, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 55, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_MAKUHITA", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 24 - }, - "dexInternal": [ - 297, - 324 - ], - "base_recruit": -999, - "alphabetParent": [ - 131, - 324 - ] - }, - { - "name": "Azurill", - "species": "SpeciesNameAzurill", - "category": "SpeciesCategoryAzurill", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TURTLESHELL_POND", - "abilities": [ - "ABILITY_THICK_FAT", - "ABILITY_HUGE_POWER" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 26, - "base_exp": 30, - "base_att_spatt": [ - 6, - 6 - ], - "base_def_spdef": [ - 7, - 7 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 23, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 298, - 325 - ], - "base_recruit": 102, - "alphabetParent": [ - 17, - 325 - ] - }, - { - "name": "Nosepass", - "species": "SpeciesNameNosepass", - "category": "SpeciesCategoryNosepass", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ROCK" - ], - "friend_area": "ECHO_CAVE", - "abilities": [ - "ABILITY_STURDY", - "ABILITY_MAGNET_PULL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 49, - "base_exp": 45, - "base_att_spatt": [ - 21, - 20 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 34, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 299, - 326 - ], - "base_recruit": 74, - "alphabetParent": [ - 233, - 326 - ] - }, - { - "name": "Skitty", - "species": "SpeciesNameSkitty", - "category": "SpeciesCategorySkitty", - "overworld_palette": 11, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0001111111111111", - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "ENERGETIC_FOREST", - "abilities": [ - "ABILITY_CUTE_CHARM" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 19, - "base_exp": 33, - "base_att_spatt": [ - 2, - 2 - ], - "base_def_spdef": [ - 2, - 2 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 26, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 300, - 327 - ], - "base_recruit": 72, - "alphabetParent": [ - 310, - 327 - ] - }, - { - "name": "Delcatty", - "species": "SpeciesNameDelcatty", - "category": "SpeciesCategoryDelcatty", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "ENERGETIC_FOREST", - "abilities": [ - "ABILITY_CUTE_CHARM" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 96, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 30, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SKITTY", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_MOON_STONE" - }, - "dexInternal": [ - 301, - 328 - ], - "base_recruit": -999, - "alphabetParent": [ - 68, - 328 - ] - }, - { - "name": "Sableye", - "species": "SpeciesNameSableye", - "category": "SpeciesCategoryMurkrow", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_DARK", - "TYPE_GHOST" - ], - "friend_area": "DARKNESS_RIDGE", - "abilities": [ - "ABILITY_KEEN_EYE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 20, - "base_exp": 33, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 31, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 302, - 329 - ], - "base_recruit": 82, - "alphabetParent": [ - 285, - 329 - ] - }, - { - "name": "Mawile", - "species": "SpeciesNameMawile", - "category": "SpeciesCategoryMawile", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_STEEL" - ], - "friend_area": "ECHO_CAVE", - "abilities": [ - "ABILITY_HYPER_CUTTER", - "ABILITY_INTIMIDATE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 47, - "base_exp": 33, - "base_att_spatt": [ - 22, - 20 - ], - "base_def_spdef": [ - 5, - 7 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 31, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 303, - 330 - ], - "base_recruit": 71, - "alphabetParent": [ - 201, - 330 - ] - }, - { - "name": "Aron", - "species": "SpeciesNameAron", - "category": "SpeciesCategoryAron", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_STEEL", - "TYPE_ROCK" - ], - "friend_area": "MT_CLEFT", - "abilities": [ - "ABILITY_STURDY", - "ABILITY_ROCK_HEAD" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 21, - "base_exp": 35, - "base_att_spatt": [ - 15, - 16 - ], - "base_def_spdef": [ - 7, - 6 - ], - "lowkick_dmg": 281, - "sizeorb_dmg": 20, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 304, - 331 - ], - "base_recruit": 78, - "alphabetParent": [ - 14, - 331 - ] - }, - { - "name": "Lairon", - "species": "SpeciesNameLairon", - "category": "SpeciesCategoryAron", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_STEEL", - "TYPE_ROCK" - ], - "friend_area": "MT_CLEFT", - "abilities": [ - "ABILITY_STURDY", - "ABILITY_ROCK_HEAD" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 49, - "base_exp": 80, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 13, - 13 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 35, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_ARON", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 32 - }, - "dexInternal": [ - 305, - 332 - ], - "base_recruit": -190, - "alphabetParent": [ - 165, - 332 - ] - }, - { - "name": "Aggron", - "species": "SpeciesNameAggron", - "category": "SpeciesCategoryAron", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_STEEL", - "TYPE_ROCK" - ], - "friend_area": "MT_CLEFT", - "abilities": [ - "ABILITY_STURDY", - "ABILITY_ROCK_HEAD" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 165, - "base_att_spatt": [ - 25, - 25 - ], - "base_def_spdef": [ - 20, - 20 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 64, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_LAIRON", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 42 - }, - "dexInternal": [ - 306, - 333 - ], - "base_recruit": -999, - "alphabetParent": [ - 4, - 333 - ] - }, - { - "name": "Meditite", - "species": "SpeciesNameMeditite", - "category": "SpeciesCategoryMeditite", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIGHTING", - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "MT_DISCIPLINE", - "abilities": [ - "ABILITY_PURE_POWER" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 15, - "base_hp": 25, - "base_exp": 32, - "base_att_spatt": [ - 13, - 13 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 29, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 307, - 334 - ], - "base_recruit": 55, - "alphabetParent": [ - 203, - 334 - ] - }, - { - "name": "Medicham", - "species": "SpeciesNameMedicham", - "category": "SpeciesCategoryMeditite", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000001111111", - "types": [ - "TYPE_FIGHTING", - "TYPE_PSYCHIC" - ], - "friend_area": "MT_DISCIPLINE", - "abilities": [ - "ABILITY_PURE_POWER" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 38, - "base_exp": 60, - "base_att_spatt": [ - 13, - 13 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 31, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_MEDITITE", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 37 - }, - "dexInternal": [ - 308, - 335 - ], - "base_recruit": -999, - "alphabetParent": [ - 202, - 335 - ] - }, - { - "name": "Electrike", - "species": "SpeciesNameElectrike", - "category": "SpeciesCategoryJolteon", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ELECTRIC" - ], - "friend_area": "THUNDER_MEADOW", - "abilities": [ - "ABILITY_STATIC", - "ABILITY_LIGHTNINGROD" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 42, - "base_exp": 25, - "base_att_spatt": [ - 17, - 18 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 25, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 309, - 336 - ], - "base_recruit": 78, - "alphabetParent": [ - 92, - 336 - ] - }, - { - "name": "Manectric", - "species": "SpeciesNameManectric", - "category": "SpeciesCategoryManectric", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ELECTRIC" - ], - "friend_area": "THUNDER_MEADOW", - "abilities": [ - "ABILITY_STATIC", - "ABILITY_LIGHTNINGROD" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 56, - "base_exp": 65, - "base_att_spatt": [ - 25, - 25 - ], - "base_def_spdef": [ - 13, - 13 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 27, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_ELECTRIKE", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 26 - }, - "dexInternal": [ - 310, - 337 - ], - "base_recruit": -999, - "alphabetParent": [ - 193, - 337 - ] - }, - { - "name": "Plusle", - "species": "SpeciesNamePlusle", - "category": "SpeciesCategoryPlusle", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ELECTRIC" - ], - "friend_area": "THUNDER_MEADOW", - "abilities": [ - "ABILITY_PLUS" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 20, - "base_exp": 40, - "base_att_spatt": [ - 10, - 10 - ], - "base_def_spdef": [ - 7, - 7 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 20, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 311, - 338 - ], - "base_recruit": 350, - "alphabetParent": [ - 254, - 338 - ] - }, - { - "name": "Minun", - "species": "SpeciesNameMinun", - "category": "SpeciesCategoryPlusle", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ELECTRIC" - ], - "friend_area": "THUNDER_MEADOW", - "abilities": [ - "ABILITY_MINUS" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 20, - "base_exp": 40, - "base_att_spatt": [ - 10, - 10 - ], - "base_def_spdef": [ - 7, - 7 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 20, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 312, - 339 - ], - "base_recruit": 350, - "alphabetParent": [ - 214, - 339 - ] - }, - { - "name": "Volbeat", - "species": "SpeciesNameVolbeat", - "category": "SpeciesCategoryVolbeat", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG" - ], - "friend_area": "RUB_A_DUB_RIVER", - "abilities": [ - "ABILITY_ILLUMINATE", - "ABILITY_SWARM" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 51, - "base_att_spatt": [ - 19, - 19 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 38, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 313, - 340 - ], - "base_recruit": 86, - "alphabetParent": [ - 400, - 340 - ] - }, - { - "name": "Illumise", - "species": "SpeciesNameIllumise", - "category": "SpeciesCategoryVolbeat", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_BUG" - ], - "friend_area": "RUB_A_DUB_RIVER", - "abilities": [ - "ABILITY_OBLIVIOUS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 35, - "base_att_spatt": [ - 19, - 19 - ], - "base_def_spdef": [ - 12, - 12 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 31, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 314, - 341 - ], - "base_recruit": 73, - "alphabetParent": [ - 146, - 341 - ] - }, - { - "name": "Roselia", - "species": "SpeciesNameRoselia", - "category": "SpeciesCategoryRoselia", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS", - "TYPE_POISON" - ], - "friend_area": "BEAU_PLAINS", - "abilities": [ - "ABILITY_NATURAL_CURE", - "ABILITY_POISON_POINT" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 45, - "base_exp": 36, - "base_att_spatt": [ - 12, - 12 - ], - "base_def_spdef": [ - 16, - 16 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 31, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 315, - 342 - ], - "base_recruit": 70, - "alphabetParent": [ - 284, - 342 - ] - }, - { - "name": "Gulpin", - "species": "SpeciesNameGulpin", - "category": "SpeciesCategoryGulpin", - "overworld_palette": 10, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_POISON" - ], - "friend_area": "POISON_SWAMP", - "abilities": [ - "ABILITY_LIQUID_OOZE", - "ABILITY_STICKY_HOLD" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 30, - "base_att_spatt": [ - 9, - 9 - ], - "base_def_spdef": [ - 9, - 9 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 22, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 316, - 343 - ], - "base_recruit": 69, - "alphabetParent": [ - 129, - 343 - ] - }, - { - "name": "Swalot", - "species": "SpeciesNameSwalot", - "category": "SpeciesCategorySwalot", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_POISON" - ], - "friend_area": "POISON_SWAMP", - "abilities": [ - "ABILITY_LIQUID_OOZE", - "ABILITY_STICKY_HOLD" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 45, - "base_exp": 90, - "base_att_spatt": [ - 11, - 11 - ], - "base_def_spdef": [ - 11, - 11 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 44, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_GULPIN", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 26 - }, - "dexInternal": [ - 317, - 344 - ], - "base_recruit": -999, - "alphabetParent": [ - 341, - 344 - ] - }, - { - "name": "Carvanha", - "species": "SpeciesNameCarvanha", - "category": "SpeciesCategoryCarvanha", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_DARK" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TREASURE_SEA", - "abilities": [ - "ABILITY_ROUGH_SKIN" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 80, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 13, - 13 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 27, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 318, - 345 - ], - "base_recruit": 89, - "alphabetParent": [ - 37, - 345 - ] - }, - { - "name": "Sharpedo", - "species": "SpeciesNameSharpedo", - "category": "SpeciesCategorySharpedo", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_DARK" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TREASURE_SEA", - "abilities": [ - "ABILITY_ROUGH_SKIN" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 190, - "base_att_spatt": [ - 18, - 18 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 28, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_CARVANHA", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 30 - }, - "dexInternal": [ - 319, - 346 - ], - "base_recruit": -999, - "alphabetParent": [ - 299, - 346 - ] - }, - { - "name": "Wailmer", - "species": "SpeciesNameWailmer", - "category": "SpeciesCategoryWailmer", - "overworld_palette": 9, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "SERENE_SEA", - "abilities": [ - "ABILITY_WATER_VEIL", - "ABILITY_OBLIVIOUS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 100, - "base_att_spatt": [ - 10, - 10 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 40, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 320, - 347 - ], - "base_recruit": 82, - "alphabetParent": [ - 403, - 347 - ] - }, - { - "name": "Wailord", - "species": "SpeciesNameWailord", - "category": "SpeciesCategoryWailord", - "overworld_palette": 5, - "size": 4, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "SERENE_SEA", - "abilities": [ - "ABILITY_WATER_VEIL", - "ABILITY_OBLIVIOUS" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 60, - "base_exp": 250, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 13, - 13 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 167, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_WAILMER", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 40 - }, - "dexInternal": [ - 321, - 348 - ], - "base_recruit": -999, - "alphabetParent": [ - 404, - 348 - ] - }, - { - "name": "Numel", - "species": "SpeciesNameNumel", - "category": "SpeciesCategoryNumel", - "overworld_palette": 8, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIRE", - "TYPE_GROUND" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "CRATER", - "abilities": [ - "ABILITY_OBLIVIOUS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 39, - "base_exp": 50, - "base_att_spatt": [ - 13, - 14 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 22, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 322, - 349 - ], - "base_recruit": 81, - "alphabetParent": [ - 234, - 349 - ] - }, - { - "name": "Camerupt", - "species": "SpeciesNameCamerupt", - "category": "SpeciesCategoryNone", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIRE", - "TYPE_GROUND" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "CRATER", - "abilities": [ - "ABILITY_MAGMA_ARMOR" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 55, - "base_exp": 115, - "base_att_spatt": [ - 16, - 16 - ], - "base_def_spdef": [ - 13, - 13 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 37, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_NUMEL", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 33 - }, - "dexInternal": [ - 323, - 350 - ], - "base_recruit": -999, - "alphabetParent": [ - 36, - 350 - ] - }, - { - "name": "Torkoal", - "species": "SpeciesNameTorkoal", - "category": "SpeciesCategoryTorkoal", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_FIRE" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "CRATER", - "abilities": [ - "ABILITY_WHITE_SMOKE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 37, - "base_exp": 50, - "base_att_spatt": [ - 10, - 10 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 28, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 324, - 351 - ], - "base_recruit": 81, - "alphabetParent": [ - 354, - 351 - ] - }, - { - "name": "Spoink", - "species": "SpeciesNameSpoink", - "category": "SpeciesCategorySpoink", - "overworld_palette": 10, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "friend_area": "MT_DEEPGREEN", - "abilities": [ - "ABILITY_THICK_FAT", - "ABILITY_OWN_TEMPO" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 28, - "base_exp": 90, - "base_att_spatt": [ - 6, - 6 - ], - "base_def_spdef": [ - 6, - 6 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 24, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 325, - 352 - ], - "base_recruit": 75, - "alphabetParent": [ - 328, - 352 - ] - }, - { - "name": "Grumpig", - "species": "SpeciesNameGrumpig", - "category": "SpeciesCategoryGrumpig", - "overworld_palette": 10, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "friend_area": "MT_DEEPGREEN", - "abilities": [ - "ABILITY_THICK_FAT", - "ABILITY_OWN_TEMPO" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 124, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 12, - 12 - ], - "lowkick_dmg": 307, - "sizeorb_dmg": 37, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SPOINK", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 32 - }, - "dexInternal": [ - 326, - 353 - ], - "base_recruit": -999, - "alphabetParent": [ - 128, - 353 - ] - }, - { - "name": "Spinda", - "species": "SpeciesNameSpinda", - "category": "SpeciesCategorySpinda", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000001111", - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "MT_DEEPGREEN", - "abilities": [ - "ABILITY_OWN_TEMPO" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 15, - "base_att_spatt": [ - 9, - 9 - ], - "base_def_spdef": [ - 9, - 10 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 34, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 327, - 354 - ], - "base_recruit": 72, - "alphabetParent": [ - 327, - 354 - ] - }, - { - "name": "Trapinch", - "species": "SpeciesNameTrapinch", - "category": "SpeciesCategoryTrapinch", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GROUND" - ], - "friend_area": "FURNACE_DESERT", - "abilities": [ - "ABILITY_HYPER_CUTTER", - "ABILITY_ARENA_TRAP" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 60, - "base_att_spatt": [ - 22, - 21 - ], - "base_def_spdef": [ - 12, - 12 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 19, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 328, - 355 - ], - "base_recruit": 83, - "alphabetParent": [ - 356, - 355 - ] - }, - { - "name": "Vibrava", - "species": "SpeciesNameVibrava", - "category": "SpeciesCategoryVibrava", - "overworld_palette": 10, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GROUND", - "TYPE_DRAGON" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "FURNACE_DESERT", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 45, - "base_exp": 70, - "base_att_spatt": [ - 22, - 21 - ], - "base_def_spdef": [ - 15, - 13 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 36, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_TRAPINCH", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 35 - }, - "dexInternal": [ - 329, - 356 - ], - "base_recruit": -190, - "alphabetParent": [ - 396, - 356 - ] - }, - { - "name": "Flygon", - "species": "SpeciesNameFlygon", - "category": "SpeciesCategoryXatu", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GROUND", - "TYPE_DRAGON" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "FURNACE_DESERT", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 51, - "base_exp": 90, - "base_att_spatt": [ - 22, - 21 - ], - "base_def_spdef": [ - 17, - 16 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 47, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_VIBRAVA", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 45 - }, - "dexInternal": [ - 330, - 357 - ], - "base_recruit": -999, - "alphabetParent": [ - 106, - 357 - ] - }, - { - "name": "Cacnea", - "species": "SpeciesNameCacnea", - "category": "SpeciesCategoryCacnea", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS" - ], - "friend_area": "FURNACE_DESERT", - "abilities": [ - "ABILITY_SAND_VEIL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 35, - "base_att_spatt": [ - 19, - 21 - ], - "base_def_spdef": [ - 13, - 13 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 32, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 331, - 358 - ], - "base_recruit": 72, - "alphabetParent": [ - 34, - 358 - ] - }, - { - "name": "Cacturne", - "species": "SpeciesNameCacturne", - "category": "SpeciesCategoryCacturne", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS", - "TYPE_DARK" - ], - "friend_area": "FURNACE_DESERT", - "abilities": [ - "ABILITY_SAND_VEIL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 55, - "base_exp": 80, - "base_att_spatt": [ - 22, - 22 - ], - "base_def_spdef": [ - 14, - 14 - ], - "lowkick_dmg": 307, - "sizeorb_dmg": 49, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_CACNEA", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 32 - }, - "dexInternal": [ - 332, - 359 - ], - "base_recruit": -999, - "alphabetParent": [ - 35, - 359 - ] - }, - { - "name": "Swablu", - "species": "SpeciesNameSwablu", - "category": "SpeciesCategorySwablu", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "FLYAWAY_FOREST", - "abilities": [ - "ABILITY_NATURAL_CURE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 44, - "base_exp": 59, - "base_att_spatt": [ - 13, - 15 - ], - "base_def_spdef": [ - 11, - 12 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 26, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 333, - 360 - ], - "base_recruit": 75, - "alphabetParent": [ - 340, - 360 - ] - }, - { - "name": "Altaria", - "species": "SpeciesNameAltaria", - "category": "SpeciesCategoryAltaria", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_DRAGON", - "TYPE_FLYING" - ], - "friend_area": "FLYAWAY_FOREST", - "abilities": [ - "ABILITY_NATURAL_CURE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 46, - "base_exp": 80, - "base_att_spatt": [ - 13, - 15 - ], - "base_def_spdef": [ - 11, - 12 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 35, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SWABLU", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 35 - }, - "dexInternal": [ - 334, - 361 - ], - "base_recruit": -999, - "alphabetParent": [ - 7, - 361 - ] - }, - { - "name": "Zangoose", - "species": "SpeciesNameZangoose", - "category": "SpeciesCategoryZangoose", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "WILD_PLAINS", - "abilities": [ - "ABILITY_IMMUNITY" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 46, - "base_exp": 40, - "base_att_spatt": [ - 12, - 12 - ], - "base_def_spdef": [ - 8, - 10 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 41, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 335, - 362 - ], - "base_recruit": 72, - "alphabetParent": [ - 420, - 362 - ] - }, - { - "name": "Seviper", - "species": "SpeciesNameSeviper", - "category": "SpeciesCategorySeviper", - "overworld_palette": 2, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_POISON" - ], - "friend_area": "WILD_PLAINS", - "abilities": [ - "ABILITY_SHED_SKIN" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 46, - "base_exp": 54, - "base_att_spatt": [ - 13, - 14 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 30, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 336, - 363 - ], - "base_recruit": 72, - "alphabetParent": [ - 298, - 363 - ] - }, - { - "name": "Lunatone", - "species": "SpeciesNameLunatone", - "category": "SpeciesCategoryLunatone", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ROCK", - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "MT_MOONVIEW", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 44, - "base_exp": 115, - "base_att_spatt": [ - 22, - 22 - ], - "base_def_spdef": [ - 18, - 18 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 20, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 337, - 364 - ], - "base_recruit": 50, - "alphabetParent": [ - 181, - 364 - ] - }, - { - "name": "Solrock", - "species": "SpeciesNameSolrock", - "category": "SpeciesCategoryLunatone", - "overworld_palette": 4, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ROCK", - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "MT_MOONVIEW", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 46, - "base_exp": 120, - "base_att_spatt": [ - 24, - 24 - ], - "base_def_spdef": [ - 18, - 18 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 28, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 338, - 365 - ], - "base_recruit": 50, - "alphabetParent": [ - 323, - 365 - ] - }, - { - "name": "Barboach", - "species": "SpeciesNameBarboach", - "category": "SpeciesCategoryBarboach", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_GROUND" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "PEANUT_SWAMP", - "abilities": [ - "ABILITY_OBLIVIOUS" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 3, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 17, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 339, - 366 - ], - "base_recruit": 83, - "alphabetParent": [ - 21, - 366 - ] - }, - { - "name": "Whiscash", - "species": "SpeciesNameWhiscash", - "category": "SpeciesCategoryBarboach", - "overworld_palette": 9, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000011", - "types": [ - "TYPE_WATER", - "TYPE_GROUND" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "PEANUT_SWAMP", - "abilities": [ - "ABILITY_OBLIVIOUS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 45, - "base_exp": 69, - "base_att_spatt": [ - 12, - 12 - ], - "base_def_spdef": [ - 13, - 13 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 38, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_BARBOACH", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 30 - }, - "dexInternal": [ - 340, - 367 - ], - "base_recruit": -999, - "alphabetParent": [ - 410, - 367 - ] - }, - { - "name": "Corphish", - "species": "SpeciesNameCorphish", - "category": "SpeciesCategoryCorphish", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TURTLESHELL_POND", - "abilities": [ - "ABILITY_HYPER_CUTTER", - "ABILITY_SHELL_ARMOR" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 33, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 29, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 341, - 368 - ], - "base_recruit": 88, - "alphabetParent": [ - 59, - 368 - ] - }, - { - "name": "Crawdaunt", - "species": "SpeciesNameCrawdaunt", - "category": "SpeciesCategoryCrawdaunt", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_DARK" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TURTLESHELL_POND", - "abilities": [ - "ABILITY_HYPER_CUTTER", - "ABILITY_SHELL_ARMOR" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 96, - "base_att_spatt": [ - 22, - 22 - ], - "base_def_spdef": [ - 18, - 18 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 37, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_CORPHISH", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 30 - }, - "dexInternal": [ - 342, - 369 - ], - "base_recruit": -999, - "alphabetParent": [ - 62, - 369 - ] - }, - { - "name": "Baltoy", - "species": "SpeciesNameBaltoy", - "category": "SpeciesCategoryBaltoy", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GROUND", - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "ANCIENT_RELIC", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 10, - "base_hp": 26, - "base_exp": 21, - "base_att_spatt": [ - 13, - 13 - ], - "base_def_spdef": [ - 7, - 7 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 22, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 343, - 370 - ], - "base_recruit": 56, - "alphabetParent": [ - 19, - 370 - ] - }, - { - "name": "Claydol", - "species": "SpeciesNameClaydol", - "category": "SpeciesCategoryBaltoy", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GROUND", - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "ANCIENT_RELIC", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 10, - "base_hp": 59, - "base_exp": 90, - "base_att_spatt": [ - 21, - 21 - ], - "base_def_spdef": [ - 15, - 16 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 33, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_BALTOY", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 36 - }, - "dexInternal": [ - 344, - 371 - ], - "base_recruit": -999, - "alphabetParent": [ - 53, - 371 - ] - }, - { - "name": "Lileep", - "species": "SpeciesNameLileep", - "category": "SpeciesCategoryLileep", - "overworld_palette": 10, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ROCK", - "TYPE_GRASS" - ], - "friend_area": "DEEP_SEA_FLOOR", - "abilities": [ - "ABILITY_SUCTION_CUPS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 55, - "base_exp": 70, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 16, - 16 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 32, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 345, - 372 - ], - "base_recruit": 73, - "alphabetParent": [ - 174, - 372 - ] - }, - { - "name": "Cradily", - "species": "SpeciesNameCradily", - "category": "SpeciesCategoryCradily", - "overworld_palette": 10, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ROCK", - "TYPE_GRASS" - ], - "friend_area": "DEEP_SEA_FLOOR", - "abilities": [ - "ABILITY_SUCTION_CUPS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 55, - "base_exp": 110, - "base_att_spatt": [ - 21, - 21 - ], - "base_def_spdef": [ - 18, - 18 - ], - "lowkick_dmg": 281, - "sizeorb_dmg": 36, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_LILEEP", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 40 - }, - "dexInternal": [ - 346, - 373 - ], - "base_recruit": -300, - "alphabetParent": [ - 61, - 373 - ] - }, - { - "name": "Anorith", - "species": "SpeciesNameAnorith", - "category": "SpeciesCategoryAnorith", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ROCK", - "TYPE_BUG" - ], - "friend_area": "TREASURE_SEA", - "abilities": [ - "ABILITY_BATTLE_ARMOR" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 80, - "base_att_spatt": [ - 12, - 12 - ], - "base_def_spdef": [ - 12, - 12 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 33, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 347, - 374 - ], - "base_recruit": 87, - "alphabetParent": [ - 9, - 374 - ] - }, - { - "name": "Armaldo", - "species": "SpeciesNameArmaldo", - "category": "SpeciesCategoryArmaldo", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ROCK", - "TYPE_BUG" - ], - "friend_area": "TREASURE_SEA", - "abilities": [ - "ABILITY_BATTLE_ARMOR" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 120, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 281, - "sizeorb_dmg": 39, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_ANORITH", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 40 - }, - "dexInternal": [ - 348, - 375 - ], - "base_recruit": -999, - "alphabetParent": [ - 13, - 375 - ] - }, - { - "name": "Feebas", - "species": "SpeciesNameFeebas", - "category": "SpeciesCategoryMagikarp", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "WATERFALL_LAKE", - "abilities": [ - "ABILITY_SWIFT_SWIM" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 20, - "base_exp": 21, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 19, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 349, - 376 - ], - "base_recruit": 92, - "alphabetParent": [ - 102, - 376 - ] - }, - { - "name": "Milotic", - "species": "SpeciesNameMilotic", - "category": "SpeciesCategoryMilotic", - "overworld_palette": 0, - "size": 4, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "WATERFALL_LAKE", - "abilities": [ - "ABILITY_MARVEL_SCALE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 60, - "base_exp": 222, - "base_att_spatt": [ - 25, - 25 - ], - "base_def_spdef": [ - 20, - 20 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 119, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_FEEBAS", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 1, - "evolve_need2": 10 - }, - "dexInternal": [ - 350, - 377 - ], - "base_recruit": -999, - "alphabetParent": [ - 212, - 377 - ] - }, - { - "name": "Castform", - "species": "SpeciesNameCastform", - "category": "SpeciesCategoryCastform", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "THUNDER_MEADOW", - "abilities": [ - "ABILITY_FORECAST" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 200, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 12, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 351, - 378 - ], - "base_recruit": 74, - "alphabetParent": [ - 39, - 378 - ] - }, - { - "name": "Castform-Sunny", - "species": "SpeciesNameCastform", - "category": "SpeciesCategoryCastform", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "THUNDER_MEADOW", - "abilities": [ - "ABILITY_FORECAST" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 200, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 30, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 351, - 379 - ], - "base_recruit": 74, - "alphabetParent": [ - 40, - 378 - ] - }, - { - "name": "Castform-Rainy", - "species": "SpeciesNameCastform", - "category": "SpeciesCategoryCastform", - "overworld_palette": 0, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "THUNDER_MEADOW", - "abilities": [ - "ABILITY_FORECAST" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 200, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 29, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 351, - 380 - ], - "base_recruit": 74, - "alphabetParent": [ - 41, - 378 - ] - }, - { - "name": "Castform-Snowy", - "species": "SpeciesNameCastform", - "category": "SpeciesCategoryCastform", - "overworld_palette": 7, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "THUNDER_MEADOW", - "abilities": [ - "ABILITY_FORECAST" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 200, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 24, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 351, - 381 - ], - "base_recruit": 74, - "alphabetParent": [ - 42, - 378 - ] - }, - { - "name": "Kecleon", - "species": "SpeciesNameKecleon", - "category": "SpeciesCategoryKecleon", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000011000011", - "types": [ - "TYPE_NORMAL" - ], - "friend_area": "OVERGROWN_FOREST", - "abilities": [ - "ABILITY_COLOR_CHANGE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 50, - "base_exp": 1, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 31, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 352, - 382 - ], - "base_recruit": -339, - "alphabetParent": [ - 158, - 379 - ] - }, - { - "name": "Shuppet", - "species": "SpeciesNameShuppet", - "category": "SpeciesCategoryShuppet", - "overworld_palette": 9, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GHOST" - ], - "walkable_tiles": "WALKABLE_TILE_WALL", - "friend_area": "DARKNESS_RIDGE", - "abilities": [ - "ABILITY_INSOMNIA" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 46, - "base_exp": 60, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 20, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 353, - 383 - ], - "base_recruit": 80, - "alphabetParent": [ - 306, - 380 - ] - }, - { - "name": "Banette", - "species": "SpeciesNameBanette", - "category": "SpeciesCategoryBanette", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GHOST" - ], - "walkable_tiles": "WALKABLE_TILE_WALL", - "friend_area": "DARKNESS_RIDGE", - "abilities": [ - "ABILITY_INSOMNIA" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 50, - "base_exp": 105, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 28, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SHUPPET", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 37 - }, - "dexInternal": [ - 354, - 384 - ], - "base_recruit": -999, - "alphabetParent": [ - 20, - 381 - ] - }, - { - "name": "Duskull", - "species": "SpeciesNameDuskull", - "category": "SpeciesCategoryDuskull", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GHOST" - ], - "walkable_tiles": "WALKABLE_TILE_WALL", - "friend_area": "DARKNESS_RIDGE", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 31, - "base_exp": 55, - "base_att_spatt": [ - 19, - 21 - ], - "base_def_spdef": [ - 17, - 17 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 32, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 355, - 385 - ], - "base_recruit": 75, - "alphabetParent": [ - 87, - 382 - ] - }, - { - "name": "Dusclops", - "species": "SpeciesNameDusclops", - "category": "SpeciesCategoryDusclops", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GHOST" - ], - "friend_area": "DARKNESS_RIDGE", - "abilities": [ - "ABILITY_PRESSURE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 75, - "base_att_spatt": [ - 20, - 22 - ], - "base_def_spdef": [ - 18, - 18 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 45, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_DUSKULL", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 37 - }, - "dexInternal": [ - 356, - 386 - ], - "base_recruit": -999, - "alphabetParent": [ - 86, - 383 - ] - }, - { - "name": "Tropius", - "species": "SpeciesNameTropius", - "category": "SpeciesCategoryTropius", - "overworld_palette": 8, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_GRASS", - "TYPE_FLYING" - ], - "friend_area": "JUNGLE", - "abilities": [ - "ABILITY_CHLOROPHYLL" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 42, - "base_exp": 100, - "base_att_spatt": [ - 22, - 23 - ], - "base_def_spdef": [ - 20, - 20 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 41, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 357, - 387 - ], - "base_recruit": 76, - "alphabetParent": [ - 358, - 384 - ] - }, - { - "name": "Chimecho", - "species": "SpeciesNameChimecho", - "category": "SpeciesCategoryChimecho", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "THUNDER_MEADOW", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 58, - "base_exp": 20, - "base_att_spatt": [ - 16, - 16 - ], - "base_def_spdef": [ - 4, - 4 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 16, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 358, - 388 - ], - "base_recruit": 69, - "alphabetParent": [ - 50, - 385 - ] - }, - { - "name": "Absol", - "species": "SpeciesNameAbsol", - "category": "SpeciesCategoryAbsol", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000011", - "unk12": true, - "types": [ - "TYPE_DARK" - ], - "friend_area": "DARKNESS_RIDGE", - "abilities": [ - "ABILITY_PRESSURE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 61, - "base_exp": 200, - "base_att_spatt": [ - 16, - 15 - ], - "base_def_spdef": [ - 21, - 22 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 33, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 359, - 389 - ], - "base_recruit": 68, - "alphabetParent": [ - 2, - 386 - ] - }, - { - "name": "Wynaut", - "species": "SpeciesNameWynaut", - "category": "SpeciesCategoryWynaut", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_PSYCHIC" - ], - "friend_area": "ECHO_CAVE", - "abilities": [ - "ABILITY_SHADOW_TAG" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 11, - "base_exp": 25, - "base_att_spatt": [ - 4, - 4 - ], - "base_def_spdef": [ - 4, - 4 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 24, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 360, - 390 - ], - "base_recruit": 96, - "alphabetParent": [ - 417, - 387 - ] - }, - { - "name": "Snorunt", - "species": "SpeciesNameSnorunt", - "category": "SpeciesCategorySnorunt", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ICE" - ], - "friend_area": "FRIGID_CAVERN", - "abilities": [ - "ABILITY_INNER_FOCUS" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 32, - "base_exp": 50, - "base_att_spatt": [ - 4, - 4 - ], - "base_def_spdef": [ - 13, - 13 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 26, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 361, - 391 - ], - "base_recruit": 75, - "alphabetParent": [ - 321, - 388 - ] - }, - { - "name": "Glalie", - "species": "SpeciesNameGlalie", - "category": "SpeciesCategoryGlalie", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ICE" - ], - "friend_area": "FRIGID_CAVERN", - "abilities": [ - "ABILITY_INNER_FOCUS" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 37, - "base_exp": 80, - "base_att_spatt": [ - 14, - 14 - ], - "base_def_spdef": [ - 16, - 16 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 47, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SNORUNT", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 42 - }, - "dexInternal": [ - 362, - 392 - ], - "base_recruit": -999, - "alphabetParent": [ - 114, - 389 - ] - }, - { - "name": "Spheal", - "species": "SpeciesNameSpheal", - "category": "SpeciesCategorySpheal", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ICE", - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "ICE_FLOE_BEACH", - "abilities": [ - "ABILITY_THICK_FAT" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 78, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 13, - 13 - ], - "lowkick_dmg": 204, - "sizeorb_dmg": 22, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 363, - 393 - ], - "base_recruit": 88, - "alphabetParent": [ - 325, - 390 - ] - }, - { - "name": "Sealeo", - "species": "SpeciesNameSealeo", - "category": "SpeciesCategorySealeo", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ICE", - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "ICE_FLOE_BEACH", - "abilities": [ - "ABILITY_THICK_FAT" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 45, - "base_exp": 103, - "base_att_spatt": [ - 16, - 16 - ], - "base_def_spdef": [ - 14, - 14 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 29, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SPHEAL", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 32 - }, - "dexInternal": [ - 364, - 394 - ], - "base_recruit": -190, - "alphabetParent": [ - 294, - 391 - ] - }, - { - "name": "Walrein", - "species": "SpeciesNameWalrein", - "category": "SpeciesCategoryWalrein", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ICE", - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "ICE_FLOE_BEACH", - "abilities": [ - "ABILITY_THICK_FAT" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 130, - "base_att_spatt": [ - 17, - 17 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 38, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SEALEO", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 44 - }, - "dexInternal": [ - 365, - 395 - ], - "base_recruit": -999, - "alphabetParent": [ - 405, - 392 - ] - }, - { - "name": "Clamperl", - "species": "SpeciesNameClamperl", - "category": "SpeciesCategoryShellder", - "overworld_palette": 1, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "DEEP_SEA_FLOOR", - "abilities": [ - "ABILITY_SHELL_ARMOR" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 70, - "base_att_spatt": [ - 10, - 12 - ], - "base_def_spdef": [ - 13, - 13 - ], - "lowkick_dmg": 256, - "sizeorb_dmg": 35, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 366, - 396 - ], - "base_recruit": 85, - "alphabetParent": [ - 52, - 393 - ] - }, - { - "name": "Huntail", - "species": "SpeciesNameHuntail", - "category": "SpeciesCategoryHuntail", - "overworld_palette": 1, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "DEEP_SEA_FLOOR", - "abilities": [ - "ABILITY_SWIFT_SWIM" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 105, - "base_att_spatt": [ - 12, - 13 - ], - "base_def_spdef": [ - 14, - 14 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 33, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_CLAMPERL", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_DEEPSEATOOTH", - "evolve_need2": 4 - }, - "dexInternal": [ - 367, - 397 - ], - "base_recruit": -999, - "alphabetParent": [ - 143, - 394 - ] - }, - { - "name": "Gorebyss", - "species": "SpeciesNameGorebyss", - "category": "SpeciesCategoryGorebyss", - "overworld_palette": 10, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "DEEP_SEA_FLOOR", - "abilities": [ - "ABILITY_SWIFT_SWIM" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 120, - "base_att_spatt": [ - 13, - 15 - ], - "base_def_spdef": [ - 14, - 14 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 19, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_CLAMPERL", - "evolve_type": "EVOLVE_TYPE_ITEM" - }, - "needs": { - "evolve_need1": "ITEM_ID_DEEPSEASCALE", - "evolve_need2": 4 - }, - "dexInternal": [ - 368, - 398 - ], - "base_recruit": -999, - "alphabetParent": [ - 121, - 395 - ] - }, - { - "name": "Relicanth", - "species": "SpeciesNameRelicanth", - "category": "SpeciesCategoryRelicanth", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER", - "TYPE_ROCK" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "DEEP_SEA_FLOOR", - "abilities": [ - "ABILITY_SWIFT_SWIM", - "ABILITY_ROCK_HEAD" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 69, - "base_att_spatt": [ - 9, - 9 - ], - "base_def_spdef": [ - 9, - 9 - ], - "lowkick_dmg": 179, - "sizeorb_dmg": 30, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 369, - 399 - ], - "base_recruit": 79, - "alphabetParent": [ - 280, - 396 - ] - }, - { - "name": "Luvdisc", - "species": "SpeciesNameLuvdisc", - "category": "SpeciesCategoryLuvdisc", - "overworld_palette": 10, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "TREASURE_SEA", - "abilities": [ - "ABILITY_SWIFT_SWIM" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 80, - "base_att_spatt": [ - 8, - 9 - ], - "base_def_spdef": [ - 8, - 9 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 14, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 370, - 400 - ], - "base_recruit": 86, - "alphabetParent": [ - 182, - 397 - ] - }, - { - "name": "Bagon", - "species": "SpeciesNameBagon", - "category": "SpeciesCategoryBagon", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_DRAGON" - ], - "friend_area": "DRAGON_CAVE", - "abilities": [ - "ABILITY_ROCK_HEAD" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 36, - "base_exp": 60, - "base_att_spatt": [ - 22, - 22 - ], - "base_def_spdef": [ - 11, - 11 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 28, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 371, - 401 - ], - "base_recruit": 76, - "alphabetParent": [ - 18, - 398 - ] - }, - { - "name": "Shelgon", - "species": "SpeciesNameShelgon", - "category": "SpeciesCategoryShelgon", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_DRAGON" - ], - "friend_area": "DRAGON_CAVE", - "abilities": [ - "ABILITY_ROCK_HEAD" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 39, - "base_exp": 65, - "base_att_spatt": [ - 22, - 22 - ], - "base_def_spdef": [ - 16, - 16 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 41, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_BAGON", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 30 - }, - "dexInternal": [ - 372, - 402 - ], - "base_recruit": -190, - "alphabetParent": [ - 301, - 399 - ] - }, - { - "name": "Salamence", - "species": "SpeciesNameSalamence", - "category": "SpeciesCategoryHorsea", - "overworld_palette": 5, - "size": 2, - "move_speed": 1, - "types": [ - "TYPE_DRAGON", - "TYPE_FLYING" - ], - "friend_area": "DRAGON_CAVE", - "abilities": [ - "ABILITY_INTIMIDATE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 40, - "base_exp": 85, - "base_att_spatt": [ - 25, - 25 - ], - "base_def_spdef": [ - 18, - 18 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 92, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_SHELGON", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 50 - }, - "dexInternal": [ - 373, - 403 - ], - "base_recruit": -999, - "alphabetParent": [ - 286, - 400 - ] - }, - { - "name": "Beldum", - "species": "SpeciesNameBeldum", - "category": "SpeciesCategoryBeldum", - "overworld_palette": 11, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_STEEL", - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "MAGNETIC_QUARRY", - "abilities": [ - "ABILITY_CLEAR_BODY" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 12, - "base_hp": 20, - "base_exp": 32, - "base_att_spatt": [ - 15, - 17 - ], - "base_def_spdef": [ - 7, - 8 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 23, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 374, - 404 - ], - "base_recruit": 78, - "alphabetParent": [ - 25, - 401 - ] - }, - { - "name": "Metang", - "species": "SpeciesNameMetang", - "category": "SpeciesCategoryMetang", - "overworld_palette": 11, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_STEEL", - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "MAGNETIC_QUARRY", - "abilities": [ - "ABILITY_CLEAR_BODY" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 5, - "base_hp": 41, - "base_exp": 65, - "base_att_spatt": [ - 16, - 19 - ], - "base_def_spdef": [ - 10, - 10 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 47, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_BELDUM", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 20 - }, - "dexInternal": [ - 375, - 405 - ], - "base_recruit": -190, - "alphabetParent": [ - 207, - 402 - ] - }, - { - "name": "Metagross", - "species": "SpeciesNameMetagross", - "category": "SpeciesCategoryMetagross", - "overworld_palette": 11, - "size": 2, - "move_speed": 1, - "types": [ - "TYPE_STEEL", - "TYPE_PSYCHIC" - ], - "friend_area": "MAGNETIC_QUARRY", - "abilities": [ - "ABILITY_CLEAR_BODY" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 5, - "base_hp": 44, - "base_exp": 95, - "base_att_spatt": [ - 17, - 20 - ], - "base_def_spdef": [ - 12, - 12 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 59, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "pre": { - "evolve_from": "SPECIES_METANG", - "evolve_type": "EVOLVE_TYPE_LEVEL" - }, - "needs": { - "evolve_need1": 45 - }, - "dexInternal": [ - 376, - 406 - ], - "base_recruit": -999, - "alphabetParent": [ - 206, - 403 - ] - }, - { - "name": "Regirock", - "species": "SpeciesNameRegirock", - "category": "SpeciesCategoryRegirock", - "overworld_palette": 6, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ROCK" - ], - "friend_area": "ANCIENT_RELIC", - "abilities": [ - "ABILITY_CLEAR_BODY" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 200, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 60, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 377, - 407 - ], - "base_recruit": 1, - "alphabetParent": [ - 278, - 404 - ] - }, - { - "name": "Regice", - "species": "SpeciesNameRegice", - "category": "SpeciesCategoryRegice", - "overworld_palette": 9, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_ICE" - ], - "friend_area": "ANCIENT_RELIC", - "abilities": [ - "ABILITY_CLEAR_BODY" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 200, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 49, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 378, - 408 - ], - "base_recruit": 1, - "alphabetParent": [ - 277, - 405 - ] - }, - { - "name": "Registeel", - "species": "SpeciesNameRegisteel", - "category": "SpeciesCategoryRegisteel", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_STEEL" - ], - "friend_area": "ANCIENT_RELIC", - "abilities": [ - "ABILITY_CLEAR_BODY" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 35, - "base_exp": 200, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 53, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 379, - 409 - ], - "base_recruit": 1, - "alphabetParent": [ - 279, - 406 - ] - }, - { - "name": "Latias", - "species": "SpeciesNameLatias", - "category": "SpeciesCategoryLatias", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000011", - "unk12": true, - "types": [ - "TYPE_DRAGON", - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "SOUTHERN_ISLAND", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 200, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 230, - "sizeorb_dmg": 37, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 380, - 410 - ], - "base_recruit": 1, - "alphabetParent": [ - 169, - 407 - ] - }, - { - "name": "Latios", - "species": "SpeciesNameLatios", - "category": "SpeciesCategoryLatias", - "overworld_palette": 5, - "size": 2, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000011", - "unk12": true, - "types": [ - "TYPE_DRAGON", - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "SOUTHERN_ISLAND", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 50, - "base_exp": 200, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 281, - "sizeorb_dmg": 57, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 381, - 411 - ], - "base_recruit": 1, - "alphabetParent": [ - 170, - 408 - ] - }, - { - "name": "Kyogre", - "species": "SpeciesNameKyogre", - "category": "SpeciesCategoryKyogre", - "overworld_palette": 5, - "size": 4, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "unk12": true, - "types": [ - "TYPE_WATER" - ], - "walkable_tiles": "WALKABLE_TILE_WATER", - "friend_area": "SEAFLOOR_CAVE", - "abilities": [ - "ABILITY_DRIZZLE" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 75, - "base_exp": 210, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 124, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 382, - 412 - ], - "base_recruit": 500, - "alphabetParent": [ - 164, - 409 - ] - }, - { - "name": "Groudon", - "species": "SpeciesNameGroudon", - "category": "SpeciesCategoryGroudon", - "overworld_palette": 5, - "size": 4, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "unk12": true, - "types": [ - "TYPE_GROUND" - ], - "walkable_tiles": "WALKABLE_TILE_LAVA", - "friend_area": "VOLCANIC_PIT", - "abilities": [ - "ABILITY_DROUGHT" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 78, - "base_exp": 220, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 107, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 383, - 413 - ], - "base_recruit": -100, - "alphabetParent": [ - 125, - 410 - ] - }, - { - "name": "Rayquaza", - "species": "SpeciesNameRayquaza", - "category": "SpeciesCategoryRayquaza", - "overworld_palette": 3, - "size": 4, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "unk12": true, - "types": [ - "TYPE_DRAGON", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "STRATOS_LOOKOUT", - "abilities": [ - "ABILITY_AIR_LOCK" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 80, - "base_exp": 230, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 17, - 17 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 156, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 384, - 414 - ], - "base_recruit": -100, - "alphabetParent": [ - 275, - 411 - ] - }, - { - "name": "Jirachi", - "species": "SpeciesNameJirachi", - "category": "SpeciesCategoryJirachi", - "overworld_palette": 10, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000011", - "types": [ - "TYPE_STEEL", - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "MT_MOONVIEW", - "abilities": [ - "ABILITY_SERENE_GRACE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 65, - "base_exp": 300, - "base_att_spatt": [ - 15, - 15 - ], - "base_def_spdef": [ - 15, - 15 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 31, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 385, - 415 - ], - "base_recruit": 999, - "alphabetParent": [ - 149, - 412 - ] - }, - { - "name": "Deoxys", - "species": "SpeciesNameDeoxys", - "category": "SpeciesCategoryDeoxys", - "overworld_palette": 9, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "unk12": true, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "ENCLOSED_ISLAND", - "abilities": [ - "ABILITY_PRESSURE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 85, - "base_exp": 300, - "base_att_spatt": [ - 21, - 22 - ], - "base_def_spdef": [ - 22, - 21 - ], - "lowkick_dmg": 281, - "sizeorb_dmg": 54, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 386, - 416 - ], - "base_recruit": -100, - "alphabetParent": [ - 70, - 413 - ] - }, - { - "name": "Unown-!", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_O_EXCLAIM", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 50, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 11, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 227 - ], - "base_recruit": 1, - "alphabetParent": [ - 389, - 227 - ] - }, - { - "name": "Unown-?", - "species": "SpeciesNameUnown", - "category": "SpeciesCategoryUnown", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "AGED_CHAMBER_O_EXCLAIM", - "abilities": [ - "ABILITY_LEVITATE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 30, - "base_exp": 50, - "base_att_spatt": [ - 8, - 8 - ], - "base_def_spdef": [ - 8, - 8 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 12, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 201, - 228 - ], - "base_recruit": 1, - "alphabetParent": [ - 390, - 228 - ] - }, - { - "name": "Deoxys-Attack", - "species": "SpeciesNameDeoxys", - "category": "SpeciesCategoryDeoxys", - "overworld_palette": 9, - "size": 1, - "move_speed": 1, - "unk12": true, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "ENCLOSED_ISLAND", - "abilities": [ - "ABILITY_PRESSURE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 85, - "base_exp": 300, - "base_att_spatt": [ - 21, - 22 - ], - "base_def_spdef": [ - 22, - 21 - ], - "lowkick_dmg": 281, - "sizeorb_dmg": 51, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 386, - 416 - ], - "base_recruit": -999, - "alphabetParent": [ - 71, - 413 - ] - }, - { - "name": "Deoxys-Defense", - "species": "SpeciesNameDeoxys", - "category": "SpeciesCategoryDeoxys", - "overworld_palette": 9, - "size": 1, - "move_speed": 1, - "unk12": true, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "ENCLOSED_ISLAND", - "abilities": [ - "ABILITY_PRESSURE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 85, - "base_exp": 300, - "base_att_spatt": [ - 21, - 22 - ], - "base_def_spdef": [ - 22, - 21 - ], - "lowkick_dmg": 281, - "sizeorb_dmg": 63, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 386, - 417 - ], - "base_recruit": -999, - "alphabetParent": [ - 72, - 413 - ] - }, - { - "name": "Deoxys-Speed", - "species": "SpeciesNameDeoxys", - "category": "SpeciesCategoryDeoxys", - "overworld_palette": 9, - "size": 1, - "move_speed": 1, - "unk12": true, - "types": [ - "TYPE_PSYCHIC" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "ENCLOSED_ISLAND", - "abilities": [ - "ABILITY_PRESSURE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 0, - "base_hp": 85, - "base_exp": 300, - "base_att_spatt": [ - 21, - 22 - ], - "base_def_spdef": [ - 22, - 21 - ], - "lowkick_dmg": 281, - "sizeorb_dmg": 39, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 386, - 418 - ], - "base_recruit": -999, - "alphabetParent": [ - 73, - 413 - ] - }, - { - "name": "Munchlax", - "species": "SpeciesNameMunchlax", - "category": "SpeciesCategoryLoudred", - "overworld_palette": 12, - "size": 1, - "move_speed": 1, - "dialogue_sprites": "0b0000000000111111", - "types": [ - "TYPE_PSYCHIC" - ], - "friend_area": "NONE", - "abilities": [ - "ABILITY_PRESSURE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 10, - "base_hp": 7, - "base_exp": 100, - "base_att_spatt": [ - 1, - 1 - ], - "base_def_spdef": [ - 1, - 1 - ], - "lowkick_dmg": 332, - "sizeorb_dmg": 31, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 387, - 419 - ], - "base_recruit": 0, - "alphabetParent": [ - 220, - 414 - ] - }, - { - "name": "Decoy", - "species": "SpeciesNameDecoy", - "category": "SpeciesCategorySlakoth", - "overworld_palette": 3, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_STEEL" - ], - "friend_area": "NONE", - "abilities": [ - "ABILITY_PRESSURE" - ], - "shadow_size": 1, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 10, - "base_exp": 1, - "base_att_spatt": [ - 1, - 1 - ], - "base_def_spdef": [ - 1, - 1 - ], - "lowkick_dmg": 281, - "sizeorb_dmg": 22, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 388, - 420 - ], - "base_recruit": 0, - "alphabetParent": [ - 67, - 415 - ] - }, - { - "name": "Statue", - "species": "SpeciesNameStatue", - "category": "SpeciesCategoryTorkoal", - "overworld_palette": 5, - "size": 1, - "move_speed": 1, - "types": [ - "TYPE_WATER" - ], - "friend_area": "NONE", - "abilities": [ - "ABILITY_DRIZZLE" - ], - "shadow_size": 0, - "unk1B": 100, - "isMoving": false, - "unk1D": 0, - "base_hp": 180, - "base_exp": 14, - "base_att_spatt": [ - 180, - 180 - ], - "base_def_spdef": [ - 3, - 6 - ], - "lowkick_dmg": 153, - "sizeorb_dmg": 12, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": false, - "dexInternal": [ - 389, - 421 - ], - "base_recruit": 7, - "alphabetParent": [ - 333, - 416 - ] - }, - { - "name": "Rayquaza-Cutscene", - "species": "SpeciesNameRayquaza", - "category": "SpeciesCategoryRayquaza", - "overworld_palette": 3, - "size": 4, - "move_speed": 1, - "dialogue_sprites": "0b0000000000000001", - "types": [ - "TYPE_DRAGON", - "TYPE_FLYING" - ], - "walkable_tiles": "WALKABLE_TILE_CHASM", - "friend_area": "STRATOS_LOOKOUT", - "abilities": [ - "ABILITY_AIR_LOCK" - ], - "shadow_size": 2, - "unk1B": 100, - "isMoving": true, - "unk1D": 8, - "base_hp": 80, - "base_exp": 230, - "base_att_spatt": [ - 20, - 20 - ], - "base_def_spdef": [ - 17, - 17 - ], - "lowkick_dmg": 358, - "sizeorb_dmg": 156, - "unk30": 10, - "unk31": 10, - "unk32": 24, - "toolboxEnabled": true, - "dexInternal": [ - 384, - 422 - ], - "base_recruit": 0, - "alphabetParent": [ - 276, - 411 - ] - } -] diff --git a/data/pokemon/species_names.s b/data/pokemon/species_names.s deleted file mode 100644 index 75b748ea4..000000000 --- a/data/pokemon/species_names.s +++ /dev/null @@ -1,3309 +0,0 @@ -.global SpeciesNameStatue -SpeciesNameStatue: -.string "Statue\0" -.align 2,0 - -.global SpeciesNameDecoy -SpeciesNameDecoy: -.string "Decoy\0" -.align 2,0 - -.global SpeciesNameMunchlax -SpeciesNameMunchlax: -.string "Munchlax\0" -.align 2,0 - -.global SpeciesCategoryDeoxys -SpeciesCategoryDeoxys: -.string "DNA\0" -.align 2,0 - -.global SpeciesNameDeoxys -SpeciesNameDeoxys: -.string "Deoxys\0" -.align 2,0 - -.global SpeciesCategoryJirachi -SpeciesCategoryJirachi: -.string "Wish\0" -.align 2,0 - -.global SpeciesNameJirachi -SpeciesNameJirachi: -.string "Jirachi\0" -.align 2,0 - -.global SpeciesCategoryRayquaza -SpeciesCategoryRayquaza: -.string "Sky High\0" -.align 2,0 - -.global SpeciesNameRayquaza -SpeciesNameRayquaza: -.string "Rayquaza\0" -.align 2,0 - -.global SpeciesCategoryGroudon -SpeciesCategoryGroudon: -.string "Continent\0" -.align 2,0 - -.global SpeciesNameGroudon -SpeciesNameGroudon: -.string "Groudon\0" -.align 2,0 - -.global SpeciesCategoryKyogre -SpeciesCategoryKyogre: -.string "Sea Basin\0" -.align 2,0 - -.global SpeciesNameKyogre -SpeciesNameKyogre: -.string "Kyogre\0" -.align 2,0 - -.global SpeciesNameLatios -SpeciesNameLatios: -.string "Latios\0" -.align 2,0 - -.global SpeciesCategoryLatias -SpeciesCategoryLatias: -.string "Eon\0" -.align 2,0 - -.global SpeciesNameLatias -SpeciesNameLatias: -.string "Latias\0" -.align 2,0 - -.global SpeciesCategoryRegisteel -SpeciesCategoryRegisteel: -.string "Iron\0" -.align 2,0 - -.global SpeciesNameRegisteel -SpeciesNameRegisteel: -.string "Registeel\0" -.align 2,0 - -.global SpeciesCategoryRegice -SpeciesCategoryRegice: -.string "Iceberg\0" -.align 2,0 - -.global SpeciesNameRegice -SpeciesNameRegice: -.string "Regice\0" -.align 2,0 - -.global SpeciesCategoryRegirock -SpeciesCategoryRegirock: -.string "Rock Peak\0" -.align 2,0 - -.global SpeciesNameRegirock -SpeciesNameRegirock: -.string "Regirock\0" -.align 2,0 - -.global SpeciesCategoryMetagross -SpeciesCategoryMetagross: -.string "Iron Leg\0" -.align 2,0 - -.global SpeciesNameMetagross -SpeciesNameMetagross: -.string "Metagross\0" -.align 2,0 - -.global SpeciesCategoryMetang -SpeciesCategoryMetang: -.string "Iron Claw\0" -.align 2,0 - -.global SpeciesNameMetang -SpeciesNameMetang: -.string "Metang\0" -.align 2,0 - -.global SpeciesCategoryBeldum -SpeciesCategoryBeldum: -.string "Iron Ball\0" -.align 2,0 - -.global SpeciesNameBeldum -SpeciesNameBeldum: -.string "Beldum\0" -.align 2,0 - -.global SpeciesNameSalamence -SpeciesNameSalamence: -.string "Salamence\0" -.align 2,0 - -.global SpeciesCategoryShelgon -SpeciesCategoryShelgon: -.string "Endurance\0" -.align 2,0 - -.global SpeciesNameShelgon -SpeciesNameShelgon: -.string "Shelgon\0" -.align 2,0 - -.global SpeciesCategoryBagon -SpeciesCategoryBagon: -.string "Rock Head\0" -.align 2,0 - -.global SpeciesNameBagon -SpeciesNameBagon: -.string "Bagon\0" -.align 2,0 - -.global SpeciesCategoryLuvdisc -SpeciesCategoryLuvdisc: -.string "Rendezvous\0" -.align 2,0 - -.global SpeciesNameLuvdisc -SpeciesNameLuvdisc: -.string "Luvdisc\0" -.align 2,0 - -.global SpeciesCategoryRelicanth -SpeciesCategoryRelicanth: -.string "Longevity\0" -.align 2,0 - -.global SpeciesNameRelicanth -SpeciesNameRelicanth: -.string "Relicanth\0" -.align 2,0 - -.global SpeciesCategoryGorebyss -SpeciesCategoryGorebyss: -.string "South Sea\0" -.align 2,0 - -.global SpeciesNameGorebyss -SpeciesNameGorebyss: -.string "Gorebyss\0" -.align 2,0 - -.global SpeciesCategoryHuntail -SpeciesCategoryHuntail: -.string "Deep Sea\0" -.align 2,0 - -.global SpeciesNameHuntail -SpeciesNameHuntail: -.string "Huntail\0" -.align 2,0 - -.global SpeciesNameClamperl -SpeciesNameClamperl: -.string "Clamperl\0" -.align 2,0 - -.global SpeciesCategoryWalrein -SpeciesCategoryWalrein: -.string "Ice Break\0" -.align 2,0 - -.global SpeciesNameWalrein -SpeciesNameWalrein: -.string "Walrein\0" -.align 2,0 - -.global SpeciesCategorySealeo -SpeciesCategorySealeo: -.string "Ball Roll\0" -.align 2,0 - -.global SpeciesNameSealeo -SpeciesNameSealeo: -.string "Sealeo\0" -.align 2,0 - -.global SpeciesCategorySpheal -SpeciesCategorySpheal: -.string "Clap\0" -.align 2,0 - -.global SpeciesNameSpheal -SpeciesNameSpheal: -.string "Spheal\0" -.align 2,0 - -.global SpeciesCategoryGlalie -SpeciesCategoryGlalie: -.string "Face\0" -.align 2,0 - -.global SpeciesNameGlalie -SpeciesNameGlalie: -.string "Glalie\0" -.align 2,0 - -.global SpeciesCategorySnorunt -SpeciesCategorySnorunt: -.string "Snow Hat\0" -.align 2,0 - -.global SpeciesNameSnorunt -SpeciesNameSnorunt: -.string "Snorunt\0" -.align 2,0 - -.global SpeciesCategoryWynaut -SpeciesCategoryWynaut: -.string "Bright\0" -.align 2,0 - -.global SpeciesNameWynaut -SpeciesNameWynaut: -.string "Wynaut\0" -.align 2,0 - -.global SpeciesCategoryAbsol -SpeciesCategoryAbsol: -.string "Disaster\0" -.align 2,0 - -.global SpeciesNameAbsol -SpeciesNameAbsol: -.string "Absol\0" -.align 2,0 - -.global SpeciesCategoryChimecho -SpeciesCategoryChimecho: -.string "Wind Chime\0" -.align 2,0 - -.global SpeciesNameChimecho -SpeciesNameChimecho: -.string "Chimecho\0" -.align 2,0 - -.global SpeciesCategoryTropius -SpeciesCategoryTropius: -.string "Fruit\0" -.align 2,0 - -.global SpeciesNameTropius -SpeciesNameTropius: -.string "Tropius\0" -.align 2,0 - -.global SpeciesCategoryDusclops -SpeciesCategoryDusclops: -.string "Beckon\0" -.align 2,0 - -.global SpeciesNameDusclops -SpeciesNameDusclops: -.string "Dusclops\0" -.align 2,0 - -.global SpeciesCategoryDuskull -SpeciesCategoryDuskull: -.string "Requiem\0" -.align 2,0 - -.global SpeciesNameDuskull -SpeciesNameDuskull: -.string "Duskull\0" -.align 2,0 - -.global SpeciesCategoryBanette -SpeciesCategoryBanette: -.string "Marionette\0" -.align 2,0 - -.global SpeciesNameBanette -SpeciesNameBanette: -.string "Banette\0" -.align 2,0 - -.global SpeciesCategoryShuppet -SpeciesCategoryShuppet: -.string "Puppet\0" -.align 2,0 - -.global SpeciesNameShuppet -SpeciesNameShuppet: -.string "Shuppet\0" -.align 2,0 - -.global SpeciesCategoryKecleon -SpeciesCategoryKecleon: -.string "Color Swap\0" -.align 2,0 - -.global SpeciesNameKecleon -SpeciesNameKecleon: -.string "Kecleon\0" -.align 2,0 - -.global SpeciesCategoryCastform -SpeciesCategoryCastform: -.string "Weather\0" -.align 2,0 - -.global SpeciesNameCastform -SpeciesNameCastform: -.string "Castform\0" -.align 2,0 - -.global SpeciesCategoryMilotic -SpeciesCategoryMilotic: -.string "Tender\0" -.align 2,0 - -.global SpeciesNameMilotic -SpeciesNameMilotic: -.string "Milotic\0" -.align 2,0 - -.global SpeciesNameFeebas -SpeciesNameFeebas: -.string "Feebas\0" -.align 2,0 - -.global SpeciesCategoryArmaldo -SpeciesCategoryArmaldo: -.string "Plate\0" -.align 2,0 - -.global SpeciesNameArmaldo -SpeciesNameArmaldo: -.string "Armaldo\0" -.align 2,0 - -.global SpeciesCategoryAnorith -SpeciesCategoryAnorith: -.string "Old Shrimp\0" -.align 2,0 - -.global SpeciesNameAnorith -SpeciesNameAnorith: -.string "Anorith\0" -.align 2,0 - -.global SpeciesCategoryCradily -SpeciesCategoryCradily: -.string "Barnacle\0" -.align 2,0 - -.global SpeciesNameCradily -SpeciesNameCradily: -.string "Cradily\0" -.align 2,0 - -.global SpeciesCategoryLileep -SpeciesCategoryLileep: -.string "Sea Lily\0" -.align 2,0 - -.global SpeciesNameLileep -SpeciesNameLileep: -.string "Lileep\0" -.align 2,0 - -.global SpeciesNameClaydol -SpeciesNameClaydol: -.string "Claydol\0" -.align 2,0 - -.global SpeciesCategoryBaltoy -SpeciesCategoryBaltoy: -.string "Clay Doll\0" -.align 2,0 - -.global SpeciesNameBaltoy -SpeciesNameBaltoy: -.string "Baltoy\0" -.align 2,0 - -.global SpeciesCategoryCrawdaunt -SpeciesCategoryCrawdaunt: -.string "Rogue\0" -.align 2,0 - -.global SpeciesNameCrawdaunt -SpeciesNameCrawdaunt: -.string "Crawdaunt\0" -.align 2,0 - -.global SpeciesCategoryCorphish -SpeciesCategoryCorphish: -.string "Ruffian\0" -.align 2,0 - -.global SpeciesNameCorphish -SpeciesNameCorphish: -.string "Corphish\0" -.align 2,0 - -.global SpeciesNameWhiscash -SpeciesNameWhiscash: -.string "Whiscash\0" -.align 2,0 - -.global SpeciesCategoryBarboach -SpeciesCategoryBarboach: -.string "Whiskers\0" -.align 2,0 - -.global SpeciesNameBarboach -SpeciesNameBarboach: -.string "Barboach\0" -.align 2,0 - -.global SpeciesNameSolrock -SpeciesNameSolrock: -.string "Solrock\0" -.align 2,0 - -.global SpeciesCategoryLunatone -SpeciesCategoryLunatone: -.string "Meteorite\0" -.align 2,0 - -.global SpeciesNameLunatone -SpeciesNameLunatone: -.string "Lunatone\0" -.align 2,0 - -.global SpeciesCategorySeviper -SpeciesCategorySeviper: -.string "Fang Snake\0" -.align 2,0 - -.global SpeciesNameSeviper -SpeciesNameSeviper: -.string "Seviper\0" -.align 2,0 - -.global SpeciesCategoryZangoose -SpeciesCategoryZangoose: -.string "Cat Ferret\0" -.align 2,0 - -.global SpeciesNameZangoose -SpeciesNameZangoose: -.string "Zangoose\0" -.align 2,0 - -.global SpeciesCategoryAltaria -SpeciesCategoryAltaria: -.string "Humming\0" -.align 2,0 - -.global SpeciesNameAltaria -SpeciesNameAltaria: -.string "Altaria\0" -.align 2,0 - -.global SpeciesCategorySwablu -SpeciesCategorySwablu: -.string "Cotton Bird\0" -.align 2,0 - -.global SpeciesNameSwablu -SpeciesNameSwablu: -.string "Swablu\0" -.align 2,0 - -.global SpeciesCategoryCacturne -SpeciesCategoryCacturne: -.string "Scarecrow\0" -.align 2,0 - -.global SpeciesNameCacturne -SpeciesNameCacturne: -.string "Cacturne\0" -.align 2,0 - -.global SpeciesCategoryCacnea -SpeciesCategoryCacnea: -.string "Cactus\0" -.align 2,0 - -.global SpeciesNameCacnea -SpeciesNameCacnea: -.string "Cacnea\0" -.align 2,0 - -.global SpeciesNameFlygon -SpeciesNameFlygon: -.string "Flygon\0" -.align 2,0 - -.global SpeciesCategoryVibrava -SpeciesCategoryVibrava: -.string "Vibration\0" -.align 2,0 - -.global SpeciesNameVibrava -SpeciesNameVibrava: -.string "Vibrava\0" -.align 2,0 - -.global SpeciesCategoryTrapinch -SpeciesCategoryTrapinch: -.string "Ant Pit\0" -.align 2,0 - -.global SpeciesNameTrapinch -SpeciesNameTrapinch: -.string "Trapinch\0" -.align 2,0 - -.global SpeciesCategorySpinda -SpeciesCategorySpinda: -.string "Spot Panda\0" -.align 2,0 - -.global SpeciesNameSpinda -SpeciesNameSpinda: -.string "Spinda\0" -.align 2,0 - -.global SpeciesCategoryGrumpig -SpeciesCategoryGrumpig: -.string "Manipulate\0" -.align 2,0 - -.global SpeciesNameGrumpig -SpeciesNameGrumpig: -.string "Grumpig\0" -.align 2,0 - -.global SpeciesCategorySpoink -SpeciesCategorySpoink: -.string "Bounce\0" -.align 2,0 - -.global SpeciesNameSpoink -SpeciesNameSpoink: -.string "Spoink\0" -.align 2,0 - -.global SpeciesCategoryTorkoal -SpeciesCategoryTorkoal: -.string "Coal\0" -.align 2,0 - -.global SpeciesNameTorkoal -SpeciesNameTorkoal: -.string "Torkoal\0" -.align 2,0 - -.global SpeciesNameCamerupt -SpeciesNameCamerupt: -.string "Camerupt\0" -.align 2,0 - -.global SpeciesCategoryNumel -SpeciesCategoryNumel: -.string "Numb\0" -.align 2,0 - -.global SpeciesNameNumel -SpeciesNameNumel: -.string "Numel\0" -.align 2,0 - -.global SpeciesCategoryWailord -SpeciesCategoryWailord: -.string "Float Whale\0" -.align 2,0 - -.global SpeciesNameWailord -SpeciesNameWailord: -.string "Wailord\0" -.align 2,0 - -.global SpeciesCategoryWailmer -SpeciesCategoryWailmer: -.string "Ball Whale\0" -.align 2,0 - -.global SpeciesNameWailmer -SpeciesNameWailmer: -.string "Wailmer\0" -.align 2,0 - -.global SpeciesCategorySharpedo -SpeciesCategorySharpedo: -.string "Brutal\0" -.align 2,0 - -.global SpeciesNameSharpedo -SpeciesNameSharpedo: -.string "Sharpedo\0" -.align 2,0 - -.global SpeciesCategoryCarvanha -SpeciesCategoryCarvanha: -.string "Savage\0" -.align 2,0 - -.global SpeciesNameCarvanha -SpeciesNameCarvanha: -.string "Carvanha\0" -.align 2,0 - -.global SpeciesCategorySwalot -SpeciesCategorySwalot: -.string "Poison Bag\0" -.align 2,0 - -.global SpeciesNameSwalot -SpeciesNameSwalot: -.string "Swalot\0" -.align 2,0 - -.global SpeciesCategoryGulpin -SpeciesCategoryGulpin: -.string "Stomach\0" -.align 2,0 - -.global SpeciesNameGulpin -SpeciesNameGulpin: -.string "Gulpin\0" -.align 2,0 - -.global SpeciesCategoryRoselia -SpeciesCategoryRoselia: -.string "Thorn\0" -.align 2,0 - -.global SpeciesNameRoselia -SpeciesNameRoselia: -.string "Roselia\0" -.align 2,0 - -.global SpeciesNameIllumise -SpeciesNameIllumise: -.string "Illumise\0" -.align 2,0 - -.global SpeciesCategoryVolbeat -SpeciesCategoryVolbeat: -.string "Firefly\0" -.align 2,0 - -.global SpeciesNameVolbeat -SpeciesNameVolbeat: -.string "Volbeat\0" -.align 2,0 - -.global SpeciesNameMinun -SpeciesNameMinun: -.string "Minun\0" -.align 2,0 - -.global SpeciesCategoryPlusle -SpeciesCategoryPlusle: -.string "Cheering\0" -.align 2,0 - -.global SpeciesNamePlusle -SpeciesNamePlusle: -.string "Plusle\0" -.align 2,0 - -.global SpeciesCategoryManectric -SpeciesCategoryManectric: -.string "Discharge\0" -.align 2,0 - -.global SpeciesNameManectric -SpeciesNameManectric: -.string "Manectric\0" -.align 2,0 - -.global SpeciesNameElectrike -SpeciesNameElectrike: -.string "Electrike\0" -.align 2,0 - -.global SpeciesNameMedicham -SpeciesNameMedicham: -.string "Medicham\0" -.align 2,0 - -.global SpeciesCategoryMeditite -SpeciesCategoryMeditite: -.string "Meditate\0" -.align 2,0 - -.global SpeciesNameMeditite -SpeciesNameMeditite: -.string "Meditite\0" -.align 2,0 - -.global SpeciesNameAggron -SpeciesNameAggron: -.string "Aggron\0" -.align 2,0 - -.global SpeciesNameLairon -SpeciesNameLairon: -.string "Lairon\0" -.align 2,0 - -.global SpeciesCategoryAron -SpeciesCategoryAron: -.string "Iron Armor\0" -.align 2,0 - -.global SpeciesNameAron -SpeciesNameAron: -.string "Aron\0" -.align 2,0 - -.global SpeciesCategoryMawile -SpeciesCategoryMawile: -.string "Deceiver\0" -.align 2,0 - -.global SpeciesNameMawile -SpeciesNameMawile: -.string "Mawile\0" -.align 2,0 - -.global SpeciesNameSableye -SpeciesNameSableye: -.string "Sableye\0" -.align 2,0 - -.global SpeciesCategoryDelcatty -SpeciesCategoryDelcatty: -.string "Prim\0" -.align 2,0 - -.global SpeciesNameDelcatty -SpeciesNameDelcatty: -.string "Delcatty\0" -.align 2,0 - -.global SpeciesCategorySkitty -SpeciesCategorySkitty: -.string "Kitten\0" -.align 2,0 - -.global SpeciesNameSkitty -SpeciesNameSkitty: -.string "Skitty\0" -.align 2,0 - -.global SpeciesCategoryNosepass -SpeciesCategoryNosepass: -.string "Compass\0" -.align 2,0 - -.global SpeciesNameNosepass -SpeciesNameNosepass: -.string "Nosepass\0" -.align 2,0 - -.global SpeciesCategoryAzurill -SpeciesCategoryAzurill: -.string "Polka Dot\0" -.align 2,0 - -.global SpeciesNameAzurill -SpeciesNameAzurill: -.string "Azurill\0" -.align 2,0 - -.global SpeciesCategoryHariyama -SpeciesCategoryHariyama: -.string "Arm Thrust\0" -.align 2,0 - -.global SpeciesNameHariyama -SpeciesNameHariyama: -.string "Hariyama\0" -.align 2,0 - -.global SpeciesCategoryMakuhita -SpeciesCategoryMakuhita: -.string "Guts\0" -.align 2,0 - -.global SpeciesNameMakuhita -SpeciesNameMakuhita: -.string "Makuhita\0" -.align 2,0 - -.global SpeciesCategoryExploud -SpeciesCategoryExploud: -.string "Loud Noise\0" -.align 2,0 - -.global SpeciesNameExploud -SpeciesNameExploud: -.string "Exploud\0" -.align 2,0 - -.global SpeciesCategoryLoudred -SpeciesCategoryLoudred: -.string "Big Voice\0" -.align 2,0 - -.global SpeciesNameLoudred -SpeciesNameLoudred: -.string "Loudred\0" -.align 2,0 - -.global SpeciesCategoryWhismur -SpeciesCategoryWhismur: -.string "Whisper\0" -.align 2,0 - -.global SpeciesNameWhismur -SpeciesNameWhismur: -.string "Whismur\0" -.align 2,0 - -.global SpeciesCategoryShedinja -SpeciesCategoryShedinja: -.string "Shed\0" -.align 2,0 - -.global SpeciesNameShedinja -SpeciesNameShedinja: -.string "Shedinja\0" -.align 2,0 - -.global SpeciesCategoryNinjask -SpeciesCategoryNinjask: -.string "Ninja\0" -.align 2,0 - -.global SpeciesNameNinjask -SpeciesNameNinjask: -.string "Ninjask\0" -.align 2,0 - -.global SpeciesCategoryNincada -SpeciesCategoryNincada: -.string "Trainee\0" -.align 2,0 - -.global SpeciesNameNincada -SpeciesNameNincada: -.string "Nincada\0" -.align 2,0 - -.global SpeciesCategorySlaking -SpeciesCategorySlaking: -.string "Lazy\0" -.align 2,0 - -.global SpeciesNameSlaking -SpeciesNameSlaking: -.string "Slaking\0" -.align 2,0 - -.global SpeciesCategoryVigoroth -SpeciesCategoryVigoroth: -.string "Wild Monkey\0" -.align 2,0 - -.global SpeciesNameVigoroth -SpeciesNameVigoroth: -.string "Vigoroth\0" -.align 2,0 - -.global SpeciesCategorySlakoth -SpeciesCategorySlakoth: -.string "Slacker\0" -.align 2,0 - -.global SpeciesNameSlakoth -SpeciesNameSlakoth: -.string "Slakoth\0" -.align 2,0 - -.global SpeciesNameBreloom -SpeciesNameBreloom: -.string "Breloom\0" -.align 2,0 - -.global SpeciesNameShroomish -SpeciesNameShroomish: -.string "Shroomish\0" -.align 2,0 - -.global SpeciesCategoryMasquerain -SpeciesCategoryMasquerain: -.string "Eyeball\0" -.align 2,0 - -.global SpeciesNameMasquerain -SpeciesNameMasquerain: -.string "Masquerain\0" -.align 2,0 - -.global SpeciesCategorySurskit -SpeciesCategorySurskit: -.string "Pond Skater\0" -.align 2,0 - -.global SpeciesNameSurskit -SpeciesNameSurskit: -.string "Surskit\0" -.align 2,0 - -.global SpeciesCategoryGardevoir -SpeciesCategoryGardevoir: -.string "Embrace\0" -.align 2,0 - -.global SpeciesNameGardevoir -SpeciesNameGardevoir: -.string "Gardevoir\0" -.align 2,0 - -.global SpeciesCategoryKirlia -SpeciesCategoryKirlia: -.string "Emotion\0" -.align 2,0 - -.global SpeciesNameKirlia -SpeciesNameKirlia: -.string "Kirlia\0" -.align 2,0 - -.global SpeciesCategoryRalts -SpeciesCategoryRalts: -.string "Feeling\0" -.align 2,0 - -.global SpeciesNameRalts -SpeciesNameRalts: -.string "Ralts\0" -.align 2,0 - -.global SpeciesCategoryPelipper -SpeciesCategoryPelipper: -.string "Water Bird\0" -.align 2,0 - -.global SpeciesNamePelipper -SpeciesNamePelipper: -.string "Pelipper\0" -.align 2,0 - -.global SpeciesCategoryWingull -SpeciesCategoryWingull: -.string "Seagull\0" -.align 2,0 - -.global SpeciesNameWingull -SpeciesNameWingull: -.string "Wingull\0" -.align 2,0 - -.global SpeciesCategorySwellow -SpeciesCategorySwellow: -.string "Swallow\0" -.align 2,0 - -.global SpeciesNameSwellow -SpeciesNameSwellow: -.string "Swellow\0" -.align 2,0 - -.global SpeciesCategoryTaillow -SpeciesCategoryTaillow: -.string "Tinyswallow\0" -.align 2,0 - -.global SpeciesNameTaillow -SpeciesNameTaillow: -.string "Taillow\0" -.align 2,0 - -.global SpeciesCategoryShiftry -SpeciesCategoryShiftry: -.string "Wicked\0" -.align 2,0 - -.global SpeciesNameShiftry -SpeciesNameShiftry: -.string "Shiftry\0" -.align 2,0 - -.global SpeciesCategoryNuzleaf -SpeciesCategoryNuzleaf: -.string "Wily\0" -.align 2,0 - -.global SpeciesNameNuzleaf -SpeciesNameNuzleaf: -.string "Nuzleaf\0" -.align 2,0 - -.global SpeciesCategorySeedot -SpeciesCategorySeedot: -.string "Acorn\0" -.align 2,0 - -.global SpeciesNameSeedot -SpeciesNameSeedot: -.string "Seedot\0" -.align 2,0 - -.global SpeciesCategoryLudicolo -SpeciesCategoryLudicolo: -.string "Carefree\0" -.align 2,0 - -.global SpeciesNameLudicolo -SpeciesNameLudicolo: -.string "Ludicolo\0" -.align 2,0 - -.global SpeciesCategoryLombre -SpeciesCategoryLombre: -.string "Jolly\0" -.align 2,0 - -.global SpeciesNameLombre -SpeciesNameLombre: -.string "Lombre\0" -.align 2,0 - -.global SpeciesCategoryLotad -SpeciesCategoryLotad: -.string "Water Weed\0" -.align 2,0 - -.global SpeciesNameLotad -SpeciesNameLotad: -.string "Lotad\0" -.align 2,0 - -.global SpeciesNameDustox -SpeciesNameDustox: -.string "Dustox\0" -.align 2,0 - -.global SpeciesNameCascoon -SpeciesNameCascoon: -.string "Cascoon\0" -.align 2,0 - -.global SpeciesNameBeautifly -SpeciesNameBeautifly: -.string "Beautifly\0" -.align 2,0 - -.global SpeciesNameSilcoon -SpeciesNameSilcoon: -.string "Silcoon\0" -.align 2,0 - -.global SpeciesNameWurmple -SpeciesNameWurmple: -.string "Wurmple\0" -.align 2,0 - -.global SpeciesCategoryLinoone -SpeciesCategoryLinoone: -.string "Rushing\0" -.align 2,0 - -.global SpeciesNameLinoone -SpeciesNameLinoone: -.string "Linoone\0" -.align 2,0 - -.global SpeciesCategoryZigzagoon -SpeciesCategoryZigzagoon: -.string "Tinyraccoon\0" -.align 2,0 - -.global SpeciesNameZigzagoon -SpeciesNameZigzagoon: -.string "Zigzagoon\0" -.align 2,0 - -.global SpeciesNameMightyena -SpeciesNameMightyena: -.string "Mightyena\0" -.align 2,0 - -.global SpeciesCategoryPoochyena -SpeciesCategoryPoochyena: -.string "Bite\0" -.align 2,0 - -.global SpeciesNamePoochyena -SpeciesNamePoochyena: -.string "Poochyena\0" -.align 2,0 - -.global SpeciesNameSwampert -SpeciesNameSwampert: -.string "Swampert\0" -.align 2,0 - -.global SpeciesNameMarshtomp -SpeciesNameMarshtomp: -.string "Marshtomp\0" -.align 2,0 - -.global SpeciesCategoryMudkip -SpeciesCategoryMudkip: -.string "Mud Fish\0" -.align 2,0 - -.global SpeciesNameMudkip -SpeciesNameMudkip: -.string "Mudkip\0" -.align 2,0 - -.global SpeciesCategoryBlaziken -SpeciesCategoryBlaziken: -.string "Blaze\0" -.align 2,0 - -.global SpeciesNameBlaziken -SpeciesNameBlaziken: -.string "Blaziken\0" -.align 2,0 - -.global SpeciesCategoryCombusken -SpeciesCategoryCombusken: -.string "Young Fowl\0" -.align 2,0 - -.global SpeciesNameCombusken -SpeciesNameCombusken: -.string "Combusken\0" -.align 2,0 - -.global SpeciesCategoryTorchic -SpeciesCategoryTorchic: -.string "Chick\0" -.align 2,0 - -.global SpeciesNameTorchic -SpeciesNameTorchic: -.string "Torchic\0" -.align 2,0 - -.global SpeciesCategorySceptile -SpeciesCategorySceptile: -.string "Forest\0" -.align 2,0 - -.global SpeciesNameSceptile -SpeciesNameSceptile: -.string "Sceptile\0" -.align 2,0 - -.global SpeciesNameGrovyle -SpeciesNameGrovyle: -.string "Grovyle\0" -.align 2,0 - -.global SpeciesCategoryTreecko -SpeciesCategoryTreecko: -.string "Wood Gecko\0" -.align 2,0 - -.global SpeciesNameTreecko -SpeciesNameTreecko: -.string "Treecko\0" -.align 2,0 - -.global SpeciesCategoryCelebi -SpeciesCategoryCelebi: -.string "Time Travel\0" -.align 2,0 - -.global SpeciesNameCelebi -SpeciesNameCelebi: -.string "Celebi\0" -.align 2,0 - -.global SpeciesCategoryHoOh -SpeciesCategoryHoOh: -.string "Rainbow\0" -.align 2,0 - -.global SpeciesNameHoOh -SpeciesNameHoOh: -.string "Ho-Oh\0" -.align 2,0 - -.global SpeciesCategoryLugia -SpeciesCategoryLugia: -.string "Diving\0" -.align 2,0 - -.global SpeciesNameLugia -SpeciesNameLugia: -.string "Lugia\0" -.align 2,0 - -.global SpeciesNameTyranitar -SpeciesNameTyranitar: -.string "Tyranitar\0" -.align 2,0 - -.global SpeciesCategoryPupitar -SpeciesCategoryPupitar: -.string "Hard Shell\0" -.align 2,0 - -.global SpeciesNamePupitar -SpeciesNamePupitar: -.string "Pupitar\0" -.align 2,0 - -.global SpeciesCategoryLarvitar -SpeciesCategoryLarvitar: -.string "Rock Skin\0" -.align 2,0 - -.global SpeciesNameLarvitar -SpeciesNameLarvitar: -.string "Larvitar\0" -.align 2,0 - -.global SpeciesCategorySuicune -SpeciesCategorySuicune: -.string "Aurora\0" -.align 2,0 - -.global SpeciesNameSuicune -SpeciesNameSuicune: -.string "Suicune\0" -.align 2,0 - -.global SpeciesNameEntei -SpeciesNameEntei: -.string "Entei\0" -.align 2,0 - -.global SpeciesCategoryRaikou -SpeciesCategoryRaikou: -.string "Thunder\0" -.align 2,0 - -.global SpeciesNameRaikou -SpeciesNameRaikou: -.string "Raikou\0" -.align 2,0 - -.global SpeciesNameBlissey -SpeciesNameBlissey: -.string "Blissey\0" -.align 2,0 - -.global SpeciesCategoryMiltank -SpeciesCategoryMiltank: -.string "Milk Cow\0" -.align 2,0 - -.global SpeciesNameMiltank -SpeciesNameMiltank: -.string "Miltank\0" -.align 2,0 - -.global SpeciesCategoryMagby -SpeciesCategoryMagby: -.string "Live Coal\0" -.align 2,0 - -.global SpeciesNameMagby -SpeciesNameMagby: -.string "Magby\0" -.align 2,0 - -.global SpeciesNameElekid -SpeciesNameElekid: -.string "Elekid\0" -.align 2,0 - -.global SpeciesCategorySmoochum -SpeciesCategorySmoochum: -.string "Kiss\0" -.align 2,0 - -.global SpeciesNameSmoochum -SpeciesNameSmoochum: -.string "Smoochum\0" -.align 2,0 - -.global SpeciesCategoryHitmontop -SpeciesCategoryHitmontop: -.string "Handstand\0" -.align 2,0 - -.global SpeciesNameHitmontop -SpeciesNameHitmontop: -.string "Hitmontop\0" -.align 2,0 - -.global SpeciesCategoryTyrogue -SpeciesCategoryTyrogue: -.string "Scuffle\0" -.align 2,0 - -.global SpeciesNameTyrogue -SpeciesNameTyrogue: -.string "Tyrogue\0" -.align 2,0 - -.global SpeciesCategorySmeargle -SpeciesCategorySmeargle: -.string "Painter\0" -.align 2,0 - -.global SpeciesNameSmeargle -SpeciesNameSmeargle: -.string "Smeargle\0" -.align 2,0 - -.global SpeciesCategoryStantler -SpeciesCategoryStantler: -.string "Big Horn\0" -.align 2,0 - -.global SpeciesNameStantler -SpeciesNameStantler: -.string "Stantler\0" -.align 2,0 - -.global SpeciesNamePorygon2 -SpeciesNamePorygon2: -.string "Porygon2\0" -.align 2,0 - -.global SpeciesCategoryDonphan -SpeciesCategoryDonphan: -.string "Armor\0" -.align 2,0 - -.global SpeciesNameDonphan -SpeciesNameDonphan: -.string "Donphan\0" -.align 2,0 - -.global SpeciesCategoryPhanpy -SpeciesCategoryPhanpy: -.string "Long Nose\0" -.align 2,0 - -.global SpeciesNamePhanpy -SpeciesNamePhanpy: -.string "Phanpy\0" -.align 2,0 - -.global SpeciesNameKingdra -SpeciesNameKingdra: -.string "Kingdra\0" -.align 2,0 - -.global SpeciesNameHoundoom -SpeciesNameHoundoom: -.string "Houndoom\0" -.align 2,0 - -.global SpeciesCategoryHoundour -SpeciesCategoryHoundour: -.string "Dark\0" -.align 2,0 - -.global SpeciesNameHoundour -SpeciesNameHoundour: -.string "Houndour\0" -.align 2,0 - -.global SpeciesCategorySkarmory -SpeciesCategorySkarmory: -.string "Armor Bird\0" -.align 2,0 - -.global SpeciesNameSkarmory -SpeciesNameSkarmory: -.string "Skarmory\0" -.align 2,0 - -.global SpeciesCategoryMantine -SpeciesCategoryMantine: -.string "Kite\0" -.align 2,0 - -.global SpeciesNameMantine -SpeciesNameMantine: -.string "Mantine\0" -.align 2,0 - -.global SpeciesCategoryDelibird -SpeciesCategoryDelibird: -.string "Delivery\0" -.align 2,0 - -.global SpeciesNameDelibird -SpeciesNameDelibird: -.string "Delibird\0" -.align 2,0 - -.global SpeciesNameOctillery -SpeciesNameOctillery: -.string "Octillery\0" -.align 2,0 - -.global SpeciesCategoryRemoraid -SpeciesCategoryRemoraid: -.string "Jet\0" -.align 2,0 - -.global SpeciesNameRemoraid -SpeciesNameRemoraid: -.string "Remoraid\0" -.align 2,0 - -.global SpeciesCategoryCorsola -SpeciesCategoryCorsola: -.string "Coral\0" -.align 2,0 - -.global SpeciesNameCorsola -SpeciesNameCorsola: -.string "Corsola\0" -.align 2,0 - -.global SpeciesCategoryPiloswine -SpeciesCategoryPiloswine: -.string "Swine\0" -.align 2,0 - -.global SpeciesNamePiloswine -SpeciesNamePiloswine: -.string "Piloswine\0" -.align 2,0 - -.global SpeciesCategorySwinub -SpeciesCategorySwinub: -.string "Pig\0" -.align 2,0 - -.global SpeciesNameSwinub -SpeciesNameSwinub: -.string "Swinub\0" -.align 2,0 - -.global SpeciesNameMagcargo -SpeciesNameMagcargo: -.string "Magcargo\0" -.align 2,0 - -.global SpeciesCategorySlugma -SpeciesCategorySlugma: -.string "Lava\0" -.align 2,0 - -.global SpeciesNameSlugma -SpeciesNameSlugma: -.string "Slugma\0" -.align 2,0 - -.global SpeciesCategoryUrsaring -SpeciesCategoryUrsaring: -.string "Hibernator\0" -.align 2,0 - -.global SpeciesNameUrsaring -SpeciesNameUrsaring: -.string "Ursaring\0" -.align 2,0 - -.global SpeciesCategoryTeddiursa -SpeciesCategoryTeddiursa: -.string "Little Bear\0" -.align 2,0 - -.global SpeciesNameTeddiursa -SpeciesNameTeddiursa: -.string "Teddiursa\0" -.align 2,0 - -.global SpeciesCategorySneasel -SpeciesCategorySneasel: -.string "Sharp Claw\0" -.align 2,0 - -.global SpeciesNameSneasel -SpeciesNameSneasel: -.string "Sneasel\0" -.align 2,0 - -.global SpeciesCategoryHeracross -SpeciesCategoryHeracross: -.string "Single Horn\0" -.align 2,0 - -.global SpeciesNameHeracross -SpeciesNameHeracross: -.string "Heracross\0" -.align 2,0 - -.global SpeciesCategoryShuckle -SpeciesCategoryShuckle: -.string "Mold\0" -.align 2,0 - -.global SpeciesNameShuckle -SpeciesNameShuckle: -.string "Shuckle\0" -.align 2,0 - -.global SpeciesNameScizor -SpeciesNameScizor: -.string "Scizor\0" -.align 2,0 - -.global SpeciesNameQwilfish -SpeciesNameQwilfish: -.string "Qwilfish\0" -.align 2,0 - -.global SpeciesNameGranbull -SpeciesNameGranbull: -.string "Granbull\0" -.align 2,0 - -.global SpeciesNameSnubbull -SpeciesNameSnubbull: -.string "Snubbull\0" -.align 2,0 - -.global SpeciesCategorySteelix -SpeciesCategorySteelix: -.string "Iron Snake\0" -.align 2,0 - -.global SpeciesNameSteelix -SpeciesNameSteelix: -.string "Steelix\0" -.align 2,0 - -.global SpeciesCategoryGligar -SpeciesCategoryGligar: -.string "Flyscorpion\0" -.align 2,0 - -.global SpeciesNameGligar -SpeciesNameGligar: -.string "Gligar\0" -.align 2,0 - -.global SpeciesCategoryDunsparce -SpeciesCategoryDunsparce: -.string "Land Snake\0" -.align 2,0 - -.global SpeciesNameDunsparce -SpeciesNameDunsparce: -.string "Dunsparce\0" -.align 2,0 - -.global SpeciesNameForretress -SpeciesNameForretress: -.string "Forretress\0" -.align 2,0 - -.global SpeciesCategoryPineco -SpeciesCategoryPineco: -.string "Bagworm\0" -.align 2,0 - -.global SpeciesNamePineco -SpeciesNamePineco: -.string "Pineco\0" -.align 2,0 - -.global SpeciesCategoryGirafarig -SpeciesCategoryGirafarig: -.string "Long Neck\0" -.align 2,0 - -.global SpeciesNameGirafarig -SpeciesNameGirafarig: -.string "Girafarig\0" -.align 2,0 - -.global SpeciesCategoryWobbuffet -SpeciesCategoryWobbuffet: -.string "Patient\0" -.align 2,0 - -.global SpeciesNameWobbuffet -SpeciesNameWobbuffet: -.string "Wobbuffet\0" -.align 2,0 - -.global SpeciesCategoryUnown -SpeciesCategoryUnown: -.string "Symbol\0" -.align 2,0 - -.global SpeciesNameUnown -SpeciesNameUnown: -.string "Unown\0" -.align 2,0 - -.global SpeciesCategoryMisdreavus -SpeciesCategoryMisdreavus: -.string "Screech\0" -.align 2,0 - -.global SpeciesNameMisdreavus -SpeciesNameMisdreavus: -.string "Misdreavus\0" -.align 2,0 - -.global SpeciesCategorySlowking -SpeciesCategorySlowking: -.string "Royal\0" -.align 2,0 - -.global SpeciesNameSlowking -SpeciesNameSlowking: -.string "Slowking\0" -.align 2,0 - -.global SpeciesCategoryMurkrow -SpeciesCategoryMurkrow: -.string "Darkness\0" -.align 2,0 - -.global SpeciesNameMurkrow -SpeciesNameMurkrow: -.string "Murkrow\0" -.align 2,0 - -.global SpeciesCategoryUmbreon -SpeciesCategoryUmbreon: -.string "Moonlight\0" -.align 2,0 - -.global SpeciesNameUmbreon -SpeciesNameUmbreon: -.string "Umbreon\0" -.align 2,0 - -.global SpeciesNameEspeon -SpeciesNameEspeon: -.string "Espeon\0" -.align 2,0 - -.global SpeciesNameQuagsire -SpeciesNameQuagsire: -.string "Quagsire\0" -.align 2,0 - -.global SpeciesCategoryWooper -SpeciesCategoryWooper: -.string "Water Fish\0" -.align 2,0 - -.global SpeciesNameWooper -SpeciesNameWooper: -.string "Wooper\0" -.align 2,0 - -.global SpeciesCategoryYanma -SpeciesCategoryYanma: -.string "Clear Wing\0" -.align 2,0 - -.global SpeciesNameYanma -SpeciesNameYanma: -.string "Yanma\0" -.align 2,0 - -.global SpeciesCategorySunflora -SpeciesCategorySunflora: -.string "Sun\0" -.align 2,0 - -.global SpeciesNameSunflora -SpeciesNameSunflora: -.string "Sunflora\0" -.align 2,0 - -.global SpeciesNameSunkern -SpeciesNameSunkern: -.string "Sunkern\0" -.align 2,0 - -.global SpeciesCategoryAipom -SpeciesCategoryAipom: -.string "Long Tail\0" -.align 2,0 - -.global SpeciesNameAipom -SpeciesNameAipom: -.string "Aipom\0" -.align 2,0 - -.global SpeciesNameJumpluff -SpeciesNameJumpluff: -.string "Jumpluff\0" -.align 2,0 - -.global SpeciesNameSkiploom -SpeciesNameSkiploom: -.string "Skiploom\0" -.align 2,0 - -.global SpeciesCategoryHoppip -SpeciesCategoryHoppip: -.string "Cottonweed\0" -.align 2,0 - -.global SpeciesNameHoppip -SpeciesNameHoppip: -.string "Hoppip\0" -.align 2,0 - -.global SpeciesCategoryPolitoed -SpeciesCategoryPolitoed: -.string "Frog\0" -.align 2,0 - -.global SpeciesNamePolitoed -SpeciesNamePolitoed: -.string "Politoed\0" -.align 2,0 - -.global SpeciesCategorySudowoodo -SpeciesCategorySudowoodo: -.string "Imitation\0" -.align 2,0 - -.global SpeciesNameSudowoodo -SpeciesNameSudowoodo: -.string "Sudowoodo\0" -.align 2,0 - -.global SpeciesCategoryAzumarill -SpeciesCategoryAzumarill: -.string "Aqua Rabbit\0" -.align 2,0 - -.global SpeciesNameAzumarill -SpeciesNameAzumarill: -.string "Azumarill\0" -.align 2,0 - -.global SpeciesCategoryMarill -SpeciesCategoryMarill: -.string "Aqua Mouse\0" -.align 2,0 - -.global SpeciesNameMarill -SpeciesNameMarill: -.string "Marill\0" -.align 2,0 - -.global SpeciesNameBellossom -SpeciesNameBellossom: -.string "Bellossom\0" -.align 2,0 - -.global SpeciesNameAmpharos -SpeciesNameAmpharos: -.string "Ampharos\0" -.align 2,0 - -.global SpeciesNameFlaaffy -SpeciesNameFlaaffy: -.string "Flaaffy\0" -.align 2,0 - -.global SpeciesCategoryMareep -SpeciesCategoryMareep: -.string "Wool\0" -.align 2,0 - -.global SpeciesNameMareep -SpeciesNameMareep: -.string "Mareep\0" -.align 2,0 - -.global SpeciesCategoryXatu -SpeciesCategoryXatu: -.string "Mystic\0" -.align 2,0 - -.global SpeciesNameXatu -SpeciesNameXatu: -.string "Xatu\0" -.align 2,0 - -.global SpeciesNameNatu -SpeciesNameNatu: -.string "Natu\0" -.align 2,0 - -.global SpeciesCategoryTogetic -SpeciesCategoryTogetic: -.string "Happiness\0" -.align 2,0 - -.global SpeciesNameTogetic -SpeciesNameTogetic: -.string "Togetic\0" -.align 2,0 - -.global SpeciesCategoryTogepi -SpeciesCategoryTogepi: -.string "Spike Ball\0" -.align 2,0 - -.global SpeciesNameTogepi -SpeciesNameTogepi: -.string "Togepi\0" -.align 2,0 - -.global SpeciesNameIgglybuff -SpeciesNameIgglybuff: -.string "Igglybuff\0" -.align 2,0 - -.global SpeciesNameCleffa -SpeciesNameCleffa: -.string "Cleffa\0" -.align 2,0 - -.global SpeciesCategoryPichu -SpeciesCategoryPichu: -.string "Tiny Mouse\0" -.align 2,0 - -.global SpeciesNamePichu -SpeciesNamePichu: -.string "Pichu\0" -.align 2,0 - -.global SpeciesCategoryLanturn -SpeciesCategoryLanturn: -.string "Light\0" -.align 2,0 - -.global SpeciesNameLanturn -SpeciesNameLanturn: -.string "Lanturn\0" -.align 2,0 - -.global SpeciesCategoryChinchou -SpeciesCategoryChinchou: -.string "Angler\0" -.align 2,0 - -.global SpeciesNameChinchou -SpeciesNameChinchou: -.string "Chinchou\0" -.align 2,0 - -.global SpeciesNameCrobat -SpeciesNameCrobat: -.string "Crobat\0" -.align 2,0 - -.global SpeciesCategoryAriados -SpeciesCategoryAriados: -.string "Long Leg\0" -.align 2,0 - -.global SpeciesNameAriados -SpeciesNameAriados: -.string "Ariados\0" -.align 2,0 - -.global SpeciesCategorySpinarak -SpeciesCategorySpinarak: -.string "String Spit\0" -.align 2,0 - -.global SpeciesNameSpinarak -SpeciesNameSpinarak: -.string "Spinarak\0" -.align 2,0 - -.global SpeciesNameLedian -SpeciesNameLedian: -.string "Ledian\0" -.align 2,0 - -.global SpeciesCategoryLedyba -SpeciesCategoryLedyba: -.string "Five Star\0" -.align 2,0 - -.global SpeciesNameLedyba -SpeciesNameLedyba: -.string "Ledyba\0" -.align 2,0 - -.global SpeciesNameNoctowl -SpeciesNameNoctowl: -.string "Noctowl\0" -.align 2,0 - -.global SpeciesCategoryHoothoot -SpeciesCategoryHoothoot: -.string "Owl\0" -.align 2,0 - -.global SpeciesNameHoothoot -SpeciesNameHoothoot: -.string "Hoothoot\0" -.align 2,0 - -.global SpeciesCategoryFurret -SpeciesCategoryFurret: -.string "Long Body\0" -.align 2,0 - -.global SpeciesNameFurret -SpeciesNameFurret: -.string "Furret\0" -.align 2,0 - -.global SpeciesCategorySentret -SpeciesCategorySentret: -.string "Scout\0" -.align 2,0 - -.global SpeciesNameSentret -SpeciesNameSentret: -.string "Sentret\0" -.align 2,0 - -.global SpeciesNameFeraligatr -SpeciesNameFeraligatr: -.string "Feraligatr\0" -.align 2,0 - -.global SpeciesNameCroconaw -SpeciesNameCroconaw: -.string "Croconaw\0" -.align 2,0 - -.global SpeciesCategoryTotodile -SpeciesCategoryTotodile: -.string "Big Jaw\0" -.align 2,0 - -.global SpeciesNameTotodile -SpeciesNameTotodile: -.string "Totodile\0" -.align 2,0 - -.global SpeciesNameTyphlosion -SpeciesNameTyphlosion: -.string "Typhlosion\0" -.align 2,0 - -.global SpeciesCategoryQuilava -SpeciesCategoryQuilava: -.string "Volcano\0" -.align 2,0 - -.global SpeciesNameQuilava -SpeciesNameQuilava: -.string "Quilava\0" -.align 2,0 - -.global SpeciesCategoryCyndaquil -SpeciesCategoryCyndaquil: -.string "Fire Mouse\0" -.align 2,0 - -.global SpeciesNameCyndaquil -SpeciesNameCyndaquil: -.string "Cyndaquil\0" -.align 2,0 - -.global SpeciesCategoryMeganium -SpeciesCategoryMeganium: -.string "Herb\0" -.align 2,0 - -.global SpeciesNameMeganium -SpeciesNameMeganium: -.string "Meganium\0" -.align 2,0 - -.global SpeciesNameBayleef -SpeciesNameBayleef: -.string "Bayleef\0" -.align 2,0 - -.global SpeciesCategoryChikorita -SpeciesCategoryChikorita: -.string "Leaf\0" -.align 2,0 - -.global SpeciesNameChikorita -SpeciesNameChikorita: -.string "Chikorita\0" -.align 2,0 - -.global SpeciesCategoryMew -SpeciesCategoryMew: -.string "New Species\0" -.align 2,0 - -.global SpeciesNameMew -SpeciesNameMew: -.string "Mew\0" -.align 2,0 - -.global SpeciesCategoryMewtwo -SpeciesCategoryMewtwo: -.string "Genetic\0" -.align 2,0 - -.global SpeciesNameMewtwo -SpeciesNameMewtwo: -.string "Mewtwo\0" -.align 2,0 - -.global SpeciesNameDragonite -SpeciesNameDragonite: -.string "Dragonite\0" -.align 2,0 - -.global SpeciesNameDragonair -SpeciesNameDragonair: -.string "Dragonair\0" -.align 2,0 - -.global SpeciesNameDratini -SpeciesNameDratini: -.string "Dratini\0" -.align 2,0 - -.global SpeciesNameMoltres -SpeciesNameMoltres: -.string "Moltres\0" -.align 2,0 - -.global SpeciesNameZapdos -SpeciesNameZapdos: -.string "Zapdos\0" -.align 2,0 - -.global SpeciesCategoryArticuno -SpeciesCategoryArticuno: -.string "Freeze\0" -.align 2,0 - -.global SpeciesNameArticuno -SpeciesNameArticuno: -.string "Articuno\0" -.align 2,0 - -.global SpeciesCategorySnorlax -SpeciesCategorySnorlax: -.string "Sleeping\0" -.align 2,0 - -.global SpeciesNameSnorlax -SpeciesNameSnorlax: -.string "Snorlax\0" -.align 2,0 - -.global SpeciesCategoryAerodactyl -SpeciesCategoryAerodactyl: -.string "Fossil\0" -.align 2,0 - -.global SpeciesNameAerodactyl -SpeciesNameAerodactyl: -.string "Aerodactyl\0" -.align 2,0 - -.global SpeciesNameKabutops -SpeciesNameKabutops: -.string "Kabutops\0" -.align 2,0 - -.global SpeciesNameKabuto -SpeciesNameKabuto: -.string "Kabuto\0" -.align 2,0 - -.global SpeciesNameOmastar -SpeciesNameOmastar: -.string "Omastar\0" -.align 2,0 - -.global SpeciesCategoryOmanyte -SpeciesCategoryOmanyte: -.string "Spiral\0" -.align 2,0 - -.global SpeciesNameOmanyte -SpeciesNameOmanyte: -.string "Omanyte\0" -.align 2,0 - -.global SpeciesCategoryPorygon -SpeciesCategoryPorygon: -.string "Virtual\0" -.align 2,0 - -.global SpeciesNamePorygon -SpeciesNamePorygon: -.string "Porygon\0" -.align 2,0 - -.global SpeciesNameFlareon -SpeciesNameFlareon: -.string "Flareon\0" -.align 2,0 - -.global SpeciesCategoryJolteon -SpeciesCategoryJolteon: -.string "Lightning\0" -.align 2,0 - -.global SpeciesNameJolteon -SpeciesNameJolteon: -.string "Jolteon\0" -.align 2,0 - -.global SpeciesCategoryVaporeon -SpeciesCategoryVaporeon: -.string "Bubble Jet\0" -.align 2,0 - -.global SpeciesNameVaporeon -SpeciesNameVaporeon: -.string "Vaporeon\0" -.align 2,0 - -.global SpeciesCategoryEevee -SpeciesCategoryEevee: -.string "Evolution\0" -.align 2,0 - -.global SpeciesNameEevee -SpeciesNameEevee: -.string "Eevee\0" -.align 2,0 - -.global SpeciesCategoryDitto -SpeciesCategoryDitto: -.string "Transform\0" -.align 2,0 - -.global SpeciesNameDitto -SpeciesNameDitto: -.string "Ditto\0" -.align 2,0 - -.global SpeciesCategoryLapras -SpeciesCategoryLapras: -.string "Transport\0" -.align 2,0 - -.global SpeciesNameLapras -SpeciesNameLapras: -.string "Lapras\0" -.align 2,0 - -.global SpeciesCategoryGyarados -SpeciesCategoryGyarados: -.string "Atrocious\0" -.align 2,0 - -.global SpeciesNameGyarados -SpeciesNameGyarados: -.string "Gyarados\0" -.align 2,0 - -.global SpeciesCategoryMagikarp -SpeciesCategoryMagikarp: -.string "Fish\0" -.align 2,0 - -.global SpeciesNameMagikarp -SpeciesNameMagikarp: -.string "Magikarp\0" -.align 2,0 - -.global SpeciesCategoryTauros -SpeciesCategoryTauros: -.string "Wild Bull\0" -.align 2,0 - -.global SpeciesNameTauros -SpeciesNameTauros: -.string "Tauros\0" -.align 2,0 - -.global SpeciesCategoryPinsir -SpeciesCategoryPinsir: -.string "Stag Beetle\0" -.align 2,0 - -.global SpeciesNamePinsir -SpeciesNamePinsir: -.string "Pinsir\0" -.align 2,0 - -.global SpeciesCategoryMagmar -SpeciesCategoryMagmar: -.string "Spitfire\0" -.align 2,0 - -.global SpeciesNameMagmar -SpeciesNameMagmar: -.string "Magmar\0" -.align 2,0 - -.global SpeciesCategoryElectabuzz -SpeciesCategoryElectabuzz: -.string "Electric\0" -.align 2,0 - -.global SpeciesNameElectabuzz -SpeciesNameElectabuzz: -.string "Electabuzz\0" -.align 2,0 - -.global SpeciesCategoryJynx -SpeciesCategoryJynx: -.string "Human Shape\0" -.align 2,0 - -.global SpeciesNameJynx -SpeciesNameJynx: -.string "Jynx\0" -.align 2,0 - -.global SpeciesCategoryScyther -SpeciesCategoryScyther: -.string "Mantis\0" -.align 2,0 - -.global SpeciesNameScyther -SpeciesNameScyther: -.string "Scyther\0" -.align 2,0 - -.global SpeciesCategoryMrMime -SpeciesCategoryMrMime: -.string "Barrier\0" -.align 2,0 - -.global SpeciesNameMrMime -SpeciesNameMrMime: -.string "Mr. Mime\0" -.align 2,0 - -.global SpeciesCategoryStarmie -SpeciesCategoryStarmie: -.string "Mysterious\0" -.align 2,0 - -.global SpeciesNameStarmie -SpeciesNameStarmie: -.string "Starmie\0" -.align 2,0 - -.global SpeciesCategoryStaryu -SpeciesCategoryStaryu: -.string "Star Shape\0" -.align 2,0 - -.global SpeciesNameStaryu -SpeciesNameStaryu: -.string "Staryu\0" -.align 2,0 - -.global SpeciesNameSeaking -SpeciesNameSeaking: -.string "Seaking\0" -.align 2,0 - -.global SpeciesCategoryGoldeen -SpeciesCategoryGoldeen: -.string "Goldfish\0" -.align 2,0 - -.global SpeciesNameGoldeen -SpeciesNameGoldeen: -.string "Goldeen\0" -.align 2,0 - -.global SpeciesNameSeadra -SpeciesNameSeadra: -.string "Seadra\0" -.align 2,0 - -.global SpeciesCategoryHorsea -SpeciesCategoryHorsea: -.string "Dragon\0" -.align 2,0 - -.global SpeciesNameHorsea -SpeciesNameHorsea: -.string "Horsea\0" -.align 2,0 - -.global SpeciesCategoryKangaskhan -SpeciesCategoryKangaskhan: -.string "Parent\0" -.align 2,0 - -.global SpeciesNameKangaskhan -SpeciesNameKangaskhan: -.string "Kangaskhan\0" -.align 2,0 - -.global SpeciesCategoryTangela -SpeciesCategoryTangela: -.string "Vine\0" -.align 2,0 - -.global SpeciesNameTangela -SpeciesNameTangela: -.string "Tangela\0" -.align 2,0 - -.global SpeciesNameChansey -SpeciesNameChansey: -.string "Chansey\0" -.align 2,0 - -.global SpeciesNameRhydon -SpeciesNameRhydon: -.string "Rhydon\0" -.align 2,0 - -.global SpeciesCategoryRhyhorn -SpeciesCategoryRhyhorn: -.string "Spikes\0" -.align 2,0 - -.global SpeciesNameRhyhorn -SpeciesNameRhyhorn: -.string "Rhyhorn\0" -.align 2,0 - -.global SpeciesNameWeezing -SpeciesNameWeezing: -.string "Weezing\0" -.align 2,0 - -.global SpeciesCategoryKoffing -SpeciesCategoryKoffing: -.string "Poison Gas\0" -.align 2,0 - -.global SpeciesNameKoffing -SpeciesNameKoffing: -.string "Koffing\0" -.align 2,0 - -.global SpeciesCategoryLickitung -SpeciesCategoryLickitung: -.string "Licking\0" -.align 2,0 - -.global SpeciesNameLickitung -SpeciesNameLickitung: -.string "Lickitung\0" -.align 2,0 - -.global SpeciesCategoryHitmonchan -SpeciesCategoryHitmonchan: -.string "Punching\0" -.align 2,0 - -.global SpeciesNameHitmonchan -SpeciesNameHitmonchan: -.string "Hitmonchan\0" -.align 2,0 - -.global SpeciesCategoryHitmonlee -SpeciesCategoryHitmonlee: -.string "Kicking\0" -.align 2,0 - -.global SpeciesNameHitmonlee -SpeciesNameHitmonlee: -.string "Hitmonlee\0" -.align 2,0 - -.global SpeciesCategoryMarowak -SpeciesCategoryMarowak: -.string "Bone Keeper\0" -.align 2,0 - -.global SpeciesNameMarowak -SpeciesNameMarowak: -.string "Marowak\0" -.align 2,0 - -.global SpeciesCategoryCubone -SpeciesCategoryCubone: -.string "Lonely\0" -.align 2,0 - -.global SpeciesNameCubone -SpeciesNameCubone: -.string "Cubone\0" -.align 2,0 - -.global SpeciesCategoryExeggutor -SpeciesCategoryExeggutor: -.string "Coconut\0" -.align 2,0 - -.global SpeciesNameExeggutor -SpeciesNameExeggutor: -.string "Exeggutor\0" -.align 2,0 - -.global SpeciesCategoryExeggcute -SpeciesCategoryExeggcute: -.string "Egg\0" -.align 2,0 - -.global SpeciesNameExeggcute -SpeciesNameExeggcute: -.string "Exeggcute\0" -.align 2,0 - -.global SpeciesNameElectrode -SpeciesNameElectrode: -.string "Electrode\0" -.align 2,0 - -.global SpeciesCategoryVoltorb -SpeciesCategoryVoltorb: -.string "Ball\0" -.align 2,0 - -.global SpeciesNameVoltorb -SpeciesNameVoltorb: -.string "Voltorb\0" -.align 2,0 - -.global SpeciesCategoryKingler -SpeciesCategoryKingler: -.string "Pincer\0" -.align 2,0 - -.global SpeciesNameKingler -SpeciesNameKingler: -.string "Kingler\0" -.align 2,0 - -.global SpeciesCategoryKrabby -SpeciesCategoryKrabby: -.string "River Crab\0" -.align 2,0 - -.global SpeciesNameKrabby -SpeciesNameKrabby: -.string "Krabby\0" -.align 2,0 - -.global SpeciesNameHypno -SpeciesNameHypno: -.string "Hypno\0" -.align 2,0 - -.global SpeciesCategoryDrowzee -SpeciesCategoryDrowzee: -.string "Hypnosis\0" -.align 2,0 - -.global SpeciesNameDrowzee -SpeciesNameDrowzee: -.string "Drowzee\0" -.align 2,0 - -.global SpeciesCategoryOnix -SpeciesCategoryOnix: -.string "Rock Snake\0" -.align 2,0 - -.global SpeciesNameOnix -SpeciesNameOnix: -.string "Onix\0" -.align 2,0 - -.global SpeciesCategoryGengar -SpeciesCategoryGengar: -.string "Shadow\0" -.align 2,0 - -.global SpeciesNameGengar -SpeciesNameGengar: -.string "Gengar\0" -.align 2,0 - -.global SpeciesNameHaunter -SpeciesNameHaunter: -.string "Haunter\0" -.align 2,0 - -.global SpeciesCategoryGastly -SpeciesCategoryGastly: -.string "Gas\0" -.align 2,0 - -.global SpeciesNameGastly -SpeciesNameGastly: -.string "Gastly\0" -.align 2,0 - -.global SpeciesNameCloyster -SpeciesNameCloyster: -.string "Cloyster\0" -.align 2,0 - -.global SpeciesCategoryShellder -SpeciesCategoryShellder: -.string "Bivalve\0" -.align 2,0 - -.global SpeciesNameShellder -SpeciesNameShellder: -.string "Shellder\0" -.align 2,0 - -.global SpeciesNameMuk -SpeciesNameMuk: -.string "Muk\0" -.align 2,0 - -.global SpeciesCategoryGrimer -SpeciesCategoryGrimer: -.string "Sludge\0" -.align 2,0 - -.global SpeciesNameGrimer -SpeciesNameGrimer: -.string "Grimer\0" -.align 2,0 - -.global SpeciesNameDewgong -SpeciesNameDewgong: -.string "Dewgong\0" -.align 2,0 - -.global SpeciesCategorySeel -SpeciesCategorySeel: -.string "Sea Lion\0" -.align 2,0 - -.global SpeciesNameSeel -SpeciesNameSeel: -.string "Seel\0" -.align 2,0 - -.global SpeciesCategoryDodrio -SpeciesCategoryDodrio: -.string "Triple Bird\0" -.align 2,0 - -.global SpeciesNameDodrio -SpeciesNameDodrio: -.string "Dodrio\0" -.align 2,0 - -.global SpeciesCategoryDoduo -SpeciesCategoryDoduo: -.string "Twin Bird\0" -.align 2,0 - -.global SpeciesNameDoduo -SpeciesNameDoduo: -.string "Doduo\0" -.align 2,0 - -.global SpeciesCategoryFarfetch -SpeciesCategoryFarfetch: -.string "Wild Duck\0" -.align 2,0 - -.global SpeciesNameFarfetch -SpeciesNameFarfetch: -.string "Farfetch'd\0" -.align 2,0 - -.global SpeciesNameMagneton -SpeciesNameMagneton: -.string "Magneton\0" -.align 2,0 - -.global SpeciesCategoryMagnemite -SpeciesCategoryMagnemite: -.string "Magnet\0" -.align 2,0 - -.global SpeciesNameMagnemite -SpeciesNameMagnemite: -.string "Magnemite\0" -.align 2,0 - -.global SpeciesCategorySlowbro -SpeciesCategorySlowbro: -.string "Hermit Crab\0" -.align 2,0 - -.global SpeciesNameSlowbro -SpeciesNameSlowbro: -.string "Slowbro\0" -.align 2,0 - -.global SpeciesCategorySlowpoke -SpeciesCategorySlowpoke: -.string "Dopey\0" -.align 2,0 - -.global SpeciesNameSlowpoke -SpeciesNameSlowpoke: -.string "Slowpoke\0" -.align 2,0 - -.global SpeciesNameRapidash -SpeciesNameRapidash: -.string "Rapidash\0" -.align 2,0 - -.global SpeciesCategoryPonyta -SpeciesCategoryPonyta: -.string "Fire Horse\0" -.align 2,0 - -.global SpeciesNamePonyta -SpeciesNamePonyta: -.string "Ponyta\0" -.align 2,0 - -.global SpeciesCategoryGolem -SpeciesCategoryGolem: -.string "Megaton\0" -.align 2,0 - -.global SpeciesNameGolem -SpeciesNameGolem: -.string "Golem\0" -.align 2,0 - -.global SpeciesNameGraveler -SpeciesNameGraveler: -.string "Graveler\0" -.align 2,0 - -.global SpeciesCategoryGeodude -SpeciesCategoryGeodude: -.string "Rock\0" -.align 2,0 - -.global SpeciesNameGeodude -SpeciesNameGeodude: -.string "Geodude\0" -.align 2,0 - -.global SpeciesNameTentacruel -SpeciesNameTentacruel: -.string "Tentacruel\0" -.align 2,0 - -.global SpeciesCategoryTentacool -SpeciesCategoryTentacool: -.string "Jellyfish\0" -.align 2,0 - -.global SpeciesNameTentacool -SpeciesNameTentacool: -.string "Tentacool\0" -.align 2,0 - -.global SpeciesNameVictreebel -SpeciesNameVictreebel: -.string "Victreebel\0" -.align 2,0 - -.global SpeciesCategoryWeepinbell -SpeciesCategoryWeepinbell: -.string "Flycatcher\0" -.align 2,0 - -.global SpeciesNameWeepinbell -SpeciesNameWeepinbell: -.string "Weepinbell\0" -.align 2,0 - -.global SpeciesNameBellsprout -SpeciesNameBellsprout: -.string "Bellsprout\0" -.align 2,0 - -.global SpeciesNameMachamp -SpeciesNameMachamp: -.string "Machamp\0" -.align 2,0 - -.global SpeciesNameMachoke -SpeciesNameMachoke: -.string "Machoke\0" -.align 2,0 - -.global SpeciesCategoryMachop -SpeciesCategoryMachop: -.string "Superpower\0" -.align 2,0 - -.global SpeciesNameMachop -SpeciesNameMachop: -.string "Machop\0" -.align 2,0 - -.global SpeciesNameAlakazam -SpeciesNameAlakazam: -.string "Alakazam\0" -.align 2,0 - -.global SpeciesNameKadabra -SpeciesNameKadabra: -.string "Kadabra\0" -.align 2,0 - -.global SpeciesCategoryAbra -SpeciesCategoryAbra: -.string "Psi\0" -.align 2,0 - -.global SpeciesNameAbra -SpeciesNameAbra: -.string "Abra\0" -.align 2,0 - -.global SpeciesNamePoliwrath -SpeciesNamePoliwrath: -.string "Poliwrath\0" -.align 2,0 - -.global SpeciesNamePoliwhirl -SpeciesNamePoliwhirl: -.string "Poliwhirl\0" -.align 2,0 - -.global SpeciesCategoryPoliwag -SpeciesCategoryPoliwag: -.string "Tadpole\0" -.align 2,0 - -.global SpeciesNamePoliwag -SpeciesNamePoliwag: -.string "Poliwag\0" -.align 2,0 - -.global SpeciesCategoryArcanine -SpeciesCategoryArcanine: -.string "Legendary\0" -.align 2,0 - -.global SpeciesNameArcanine -SpeciesNameArcanine: -.string "Arcanine\0" -.align 2,0 - -.global SpeciesCategoryGrowlithe -SpeciesCategoryGrowlithe: -.string "Puppy\0" -.align 2,0 - -.global SpeciesNameGrowlithe -SpeciesNameGrowlithe: -.string "Growlithe\0" -.align 2,0 - -.global SpeciesNamePrimeape -SpeciesNamePrimeape: -.string "Primeape\0" -.align 2,0 - -.global SpeciesCategoryMankey -SpeciesCategoryMankey: -.string "Pig Monkey\0" -.align 2,0 - -.global SpeciesNameMankey -SpeciesNameMankey: -.string "Mankey\0" -.align 2,0 - -.global SpeciesNameGolduck -SpeciesNameGolduck: -.string "Golduck\0" -.align 2,0 - -.global SpeciesCategoryPsyduck -SpeciesCategoryPsyduck: -.string "Duck\0" -.align 2,0 - -.global SpeciesNamePsyduck -SpeciesNamePsyduck: -.string "Psyduck\0" -.align 2,0 - -.global SpeciesCategoryPersian -SpeciesCategoryPersian: -.string "Classy Cat\0" -.align 2,0 - -.global SpeciesNamePersian -SpeciesNamePersian: -.string "Persian\0" -.align 2,0 - -.global SpeciesCategoryMeowth -SpeciesCategoryMeowth: -.string "Scratch Cat\0" -.align 2,0 - -.global SpeciesNameMeowth -SpeciesNameMeowth: -.string "Meowth\0" -.align 2,0 - -.global SpeciesNameDugtrio -SpeciesNameDugtrio: -.string "Dugtrio\0" -.align 2,0 - -.global SpeciesCategoryDiglett -SpeciesCategoryDiglett: -.string "Mole\0" -.align 2,0 - -.global SpeciesNameDiglett -SpeciesNameDiglett: -.string "Diglett\0" -.align 2,0 - -.global SpeciesCategoryVenomoth -SpeciesCategoryVenomoth: -.string "Poison Moth\0" -.align 2,0 - -.global SpeciesNameVenomoth -SpeciesNameVenomoth: -.string "Venomoth\0" -.align 2,0 - -.global SpeciesCategoryVenonat -SpeciesCategoryVenonat: -.string "Insect\0" -.align 2,0 - -.global SpeciesNameVenonat -SpeciesNameVenonat: -.string "Venonat\0" -.align 2,0 - -.global SpeciesNameParasect -SpeciesNameParasect: -.string "Parasect\0" -.align 2,0 - -.global SpeciesCategoryParas -SpeciesCategoryParas: -.string "Mushroom\0" -.align 2,0 - -.global SpeciesNameParas -SpeciesNameParas: -.string "Paras\0" -.align 2,0 - -.global SpeciesCategoryVileplume -SpeciesCategoryVileplume: -.string "Flower\0" -.align 2,0 - -.global SpeciesNameVileplume -SpeciesNameVileplume: -.string "Vileplume\0" -.align 2,0 - -.global SpeciesNameGloom -SpeciesNameGloom: -.string "Gloom\0" -.align 2,0 - -.global SpeciesCategoryOddish -SpeciesCategoryOddish: -.string "Weed\0" -.align 2,0 - -.global SpeciesNameOddish -SpeciesNameOddish: -.string "Oddish\0" -.align 2,0 - -.global SpeciesNameGolbat -SpeciesNameGolbat: -.string "Golbat\0" -.align 2,0 - -.global SpeciesCategoryZubat -SpeciesCategoryZubat: -.string "Bat\0" -.align 2,0 - -.global SpeciesNameZubat -SpeciesNameZubat: -.string "Zubat\0" -.align 2,0 - -.global SpeciesNameWigglytuff -SpeciesNameWigglytuff: -.string "Wigglytuff\0" -.align 2,0 - -.global SpeciesCategoryJigglypuff -SpeciesCategoryJigglypuff: -.string "Balloon\0" -.align 2,0 - -.global SpeciesNameJigglypuff -SpeciesNameJigglypuff: -.string "Jigglypuff\0" -.align 2,0 - -.global SpeciesNameNinetales -SpeciesNameNinetales: -.string "Ninetales\0" -.align 2,0 - -.global SpeciesCategoryVulpix -SpeciesCategoryVulpix: -.string "Fox\0" -.align 2,0 - -.global SpeciesNameVulpix -SpeciesNameVulpix: -.string "Vulpix\0" -.align 2,0 - -.global SpeciesNameClefable -SpeciesNameClefable: -.string "Clefable\0" -.align 2,0 - -.global SpeciesCategoryClefairy -SpeciesCategoryClefairy: -.string "Fairy\0" -.align 2,0 - -.global SpeciesNameClefairy -SpeciesNameClefairy: -.string "Clefairy\0" -.align 2,0 - -.global SpeciesNameNidoking -SpeciesNameNidoking: -.string "Nidoking\0" -.align 2,0 - -.global SpeciesNameNidorino -SpeciesNameNidorino: -.string "Nidorino\0" -.align 2,0 - -.global SpeciesNameNidoran_M -SpeciesNameNidoran_M: -.string "Nidoran♂\0" -.align 2,0 - -.global SpeciesCategoryNidoqueen -SpeciesCategoryNidoqueen: -.string "Drill\0" -.align 2,0 - -.global SpeciesNameNidoqueen -SpeciesNameNidoqueen: -.string "Nidoqueen\0" -.align 2,0 - -.global SpeciesNameNidorina -SpeciesNameNidorina: -.string "Nidorina\0" -.align 2,0 - -.global SpeciesCategoryNidoran_F -SpeciesCategoryNidoran_F: -.string "Poison Pin\0" -.align 2,0 - -.global SpeciesNameNidoran_F -SpeciesNameNidoran_F: -.string "Nidoran♀\0" -.align 2,0 - -.global SpeciesNameSandslash -SpeciesNameSandslash: -.string "Sandslash\0" -.align 2,0 - -.global SpeciesNameSandshrew -SpeciesNameSandshrew: -.string "Sandshrew\0" -.align 2,0 - -.global SpeciesNameRaichu -SpeciesNameRaichu: -.string "Raichu\0" -.align 2,0 - -.global SpeciesNamePikachu -SpeciesNamePikachu: -.string "Pikachu\0" -.align 2,0 - -.global SpeciesCategoryArbok -SpeciesCategoryArbok: -.string "Cobra\0" -.align 2,0 - -.global SpeciesNameArbok -SpeciesNameArbok: -.string "Arbok\0" -.align 2,0 - -.global SpeciesCategoryEkans -SpeciesCategoryEkans: -.string "Snake\0" -.align 2,0 - -.global SpeciesNameEkans -SpeciesNameEkans: -.string "Ekans\0" -.align 2,0 - -.global SpeciesCategoryFearow -SpeciesCategoryFearow: -.string "Beak\0" -.align 2,0 - -.global SpeciesNameFearow -SpeciesNameFearow: -.string "Fearow\0" -.align 2,0 - -.global SpeciesNameSpearow -SpeciesNameSpearow: -.string "Spearow\0" -.align 2,0 - -.global SpeciesNameRaticate -SpeciesNameRaticate: -.string "Raticate\0" -.align 2,0 - -.global SpeciesCategoryRattata -SpeciesCategoryRattata: -.string "Mouse\0" -.align 2,0 - -.global SpeciesNameRattata -SpeciesNameRattata: -.string "Rattata\0" -.align 2,0 - -.global SpeciesNamePidgeot -SpeciesNamePidgeot: -.string "Pidgeot\0" -.align 2,0 - -.global SpeciesCategoryPidgeotto -SpeciesCategoryPidgeotto: -.string "Bird\0" -.align 2,0 - -.global SpeciesNamePidgeotto -SpeciesNamePidgeotto: -.string "Pidgeotto\0" -.align 2,0 - -.global SpeciesCategoryPidgey -SpeciesCategoryPidgey: -.string "Tiny Bird\0" -.align 2,0 - -.global SpeciesNamePidgey -SpeciesNamePidgey: -.string "Pidgey\0" -.align 2,0 - -.global SpeciesCategoryBeedrill -SpeciesCategoryBeedrill: -.string "Poison Bee\0" -.align 2,0 - -.global SpeciesNameBeedrill -SpeciesNameBeedrill: -.string "Beedrill\0" -.align 2,0 - -.global SpeciesNameKakuna -SpeciesNameKakuna: -.string "Kakuna\0" -.align 2,0 - -.global SpeciesCategoryWeedle -SpeciesCategoryWeedle: -.string "Hairy Bug\0" -.align 2,0 - -.global SpeciesNameWeedle -SpeciesNameWeedle: -.string "Weedle\0" -.align 2,0 - -.global SpeciesCategoryButterfree -SpeciesCategoryButterfree: -.string "Butterfly\0" -.align 2,0 - -.global SpeciesNameButterfree -SpeciesNameButterfree: -.string "Butterfree\0" -.align 2,0 - -.global SpeciesCategoryMetapod -SpeciesCategoryMetapod: -.string "Cocoon\0" -.align 2,0 - -.global SpeciesNameMetapod -SpeciesNameMetapod: -.string "Metapod\0" -.align 2,0 - -.global SpeciesCategoryCaterpie -SpeciesCategoryCaterpie: -.string "Worm\0" -.align 2,0 - -.global SpeciesNameCaterpie -SpeciesNameCaterpie: -.string "Caterpie\0" -.align 2,0 - -.global SpeciesCategoryBlastoise -SpeciesCategoryBlastoise: -.string "Shellfish\0" -.align 2,0 - -.global SpeciesNameBlastoise -SpeciesNameBlastoise: -.string "Blastoise\0" -.align 2,0 - -.global SpeciesCategoryWartortle -SpeciesCategoryWartortle: -.string "Turtle\0" -.align 2,0 - -.global SpeciesNameWartortle -SpeciesNameWartortle: -.string "Wartortle\0" -.align 2,0 - -.global SpeciesCategorySquirtle -SpeciesCategorySquirtle: -.string "Tiny Turtle\0" -.align 2,0 - -.global SpeciesNameSquirtle -SpeciesNameSquirtle: -.string "Squirtle\0" -.align 2,0 - -.global SpeciesNameCharizard -SpeciesNameCharizard: -.string "Charizard\0" -.align 2,0 - -.global SpeciesCategoryCharmeleon -SpeciesCategoryCharmeleon: -.string "Flame\0" -.align 2,0 - -.global SpeciesNameCharmeleon -SpeciesNameCharmeleon: -.string "Charmeleon\0" -.align 2,0 - -.global SpeciesCategoryCharmander -SpeciesCategoryCharmander: -.string "Lizard\0" -.align 2,0 - -.global SpeciesNameCharmander -SpeciesNameCharmander: -.string "Charmander\0" -.align 2,0 - -.global SpeciesNameVenusaur -SpeciesNameVenusaur: -.string "Venusaur\0" -.align 2,0 - -.global SpeciesNameIvysaur -SpeciesNameIvysaur: -.string "Ivysaur\0" -.align 2,0 - -.global SpeciesCategoryBulbasaur -SpeciesCategoryBulbasaur: -.string "Seed\0" -.align 2,0 - -.global SpeciesNameBulbasaur -SpeciesNameBulbasaur: -.string "Bulbasaur\0" -.align 2,0 - -.global SpeciesCategoryNone -SpeciesCategoryNone: -.string "Eruption\0" -.align 2,0 - -.global SpeciesNameNone -SpeciesNameNone: -.string "??????????\0" -.align 2,0 diff --git a/data/system_sbin.s b/data/system_sbin.s index 7ea8cd5a4..8de76de5c 100644 --- a/data/system_sbin.s +++ b/data/system_sbin.s @@ -10923,10 +10923,10 @@ DataRootTable: .byte 0x00, 0x00, 0x00, 0x00 @ Address 0x357b98 -#include "pokemon/species_data.inc" +#include "monster/monster_data.inc" @ Address 0x35f2d8 -#include "pokemon/species_names.s" +#include "monster/monster_names.s" .string "SIRO" .byte 0x38, 0x33, 0x37, 0x08, 0x00, 0x00, 0x00, 0x00 diff --git a/data_monster.mk b/data_monster.mk new file mode 100644 index 000000000..a825a0229 --- /dev/null +++ b/data_monster.mk @@ -0,0 +1,19 @@ +# Pokémon (monster) data + +MONSTER_DIR = $(DATA_ASM_SUBDIR)/monster +MONSTER_DATA = $(MONSTER_DIR)/monster_data.inc + +# Headers included by tools/dungeonjson/dungeonjson.cpp:generate_monster_data_text +MONSTER_DATA_INC = \ + include/constants/ability.h \ + include/constants/evolve_type.h \ + include/constants/friend_area.h \ + include/constants/item.h \ + include/constants/monster.h \ + include/constants/type.h \ + include/constants/walkable_tile.h + +data_monster: $(MONSTER_DATA); + +$(MONSTER_DATA): $(MONSTER_DIR)/monster_data.json $(MONSTER_DATA_INC) + $(DUNGEONJSON) monster pmd-red $< diff --git a/data_pokemon.mk b/data_pokemon.mk deleted file mode 100644 index c690a9c9e..000000000 --- a/data_pokemon.mk +++ /dev/null @@ -1,19 +0,0 @@ -# Pokémon species data - -POKEMON_DIR = $(DATA_ASM_SUBDIR)/pokemon -POKEMON_SPECIES = $(POKEMON_DIR)/species_data.inc - -# Headers included by tools/dungeonjson/dungeonjson.cpp:generate_species_data_text -POKEMON_SPECIES_INC = \ - include/constants/ability.h \ - include/constants/evolve_type.h \ - include/constants/friend_area.h \ - include/constants/item.h \ - include/constants/species.h \ - include/constants/type.h \ - include/constants/walkable_tile.h - -data_pokemon: $(POKEMON_SPECIES); - -$(POKEMON_SPECIES): $(POKEMON_DIR)/species_data.json $(POKEMON_SPECIES_INC) - $(DUNGEONJSON) species pmd-red $< diff --git a/include/charge_move.h b/include/charge_move.h index e1ef306ef..317e67876 100644 --- a/include/charge_move.h +++ b/include/charge_move.h @@ -3,8 +3,8 @@ #include "dungeon_entity.h" -bool8 MoveMatchesChargingStatus(struct DungeonEntity *pokemon, struct PokemonMove *move); +bool8 MoveMatchesChargingStatus(struct Entity *pokemon, struct Move *move); // checkCharge = Check for the move named Charge. -bool8 IsCharging(struct DungeonEntity *pokemon, bool8 checkCharge); +bool8 IsCharging(struct Entity *pokemon, bool8 checkCharge); #endif diff --git a/include/code_800D090.h b/include/code_800D090.h index 6f85dd406..7196e804e 100644 --- a/include/code_800D090.h +++ b/include/code_800D090.h @@ -1,6 +1,6 @@ #ifndef GUARD_CODE_800D090_H #define GUARD_CODE_800D090_H -void sprintf_2(char *buffer, const char *text, ...); +void sprintfStatic(char *buffer, const char *text, ...); #endif \ No newline at end of file diff --git a/include/code_80521D0.h b/include/code_80521D0.h index 588ad9bcf..bfeb281ce 100644 --- a/include/code_80521D0.h +++ b/include/code_80521D0.h @@ -3,6 +3,6 @@ #include "dungeon_entity.h" -void SendMessage(struct DungeonEntity *pokemon, const char message[]); +void SendMessage(struct Entity *pokemon, const char message[]); #endif diff --git a/include/code_8077274_1.h b/include/code_8077274_1.h index 0d8a4fb9b..ca88625f9 100644 --- a/include/code_8077274_1.h +++ b/include/code_8077274_1.h @@ -1,53 +1,53 @@ #ifndef GUARD_CODE_8077274_1_H #define GUARD_CODE_8077274_1_H -void MuzzleTarget(struct DungeonEntity *pokemon, struct DungeonEntity *target); -void sub_8078E18(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void sub_8078F50(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void ExposeStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s16 param_3); -void IdentityItemHolders(struct DungeonEntity *pokemon, struct DungeonEntity *target); -void BlindTarget(struct DungeonEntity *pokemon, struct DungeonEntity *target); -void CrossEyeVisionTarget(struct DungeonEntity *pokemon, struct DungeonEntity *target); -void RestoreVisionTarget(struct DungeonEntity *pokemon, struct DungeonEntity *target); -void RestorePPTarget(struct DungeonEntity * pokemon,struct DungeonEntity * target, s32 param_3); -void sub_80793B0(struct DungeonEntity * pokemon,struct DungeonEntity * target, s32 param_3); -void sub_8079420(struct DungeonEntity * pokemon,struct DungeonEntity * target, s32 param_3); -void sub_8079490(struct DungeonEntity * pokemon,struct DungeonEntity * target, s32 param_3); -void sub_8079500(struct DungeonEntity * pokemon,struct DungeonEntity * target, s32 param_3); -void LongTossStatusTarget(struct DungeonEntity * pokemon,struct DungeonEntity * target); -void PierceStatusTarget(struct DungeonEntity * pokemon,struct DungeonEntity * target); -void sub_8079618(struct DungeonEntity *pokemon, struct DungeonEntity *target, u8 newStatus, struct PokemonMove *move, u8 *message); -void sub_8079764(struct DungeonEntity * pokemon); -void sub_80797A0(struct DungeonEntity * pokemon, struct DungeonEntity * target, u8 newStatus); -void SafeguardStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void MistStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void WishStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void MagicCoatStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void LightScreenStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void ReflectStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void ProtectStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void MirrorCoatStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void EndureStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void MirrorMoveStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void Conversion2StatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void VitalThrowStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void sub_8079618(struct DungeonEntity * pokemon, struct DungeonEntity *target, u8 newStatus, struct PokemonMove *move, u8 *message); -void sub_8079F20(struct DungeonEntity * pokemon, struct DungeonEntity * target, u8 param_3, u8 param_4); -void sub_807A0CC(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void SendSleepEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 param_3, bool8 param_4); -void SendNonVolatileEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void SendImmobilizeEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity *target); -void SendVolatileEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity *target); -void SendProtectionEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity *target); -void SendWaitingEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity * target, u8 waitingStatus); -void SendLinkedEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void SendMoveEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void SendTransformEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity *target); -void SendEyesightEndMessage(struct DungeonEntity * pokemon,struct DungeonEntity * target); -void SendMuzzledEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void sub_807A96C(struct DungeonEntity *pokemon, struct DungeonEntity *target); -void sub_807A9B0(struct DungeonEntity * pokemon); -void SendThawedMessage(struct DungeonEntity *pokemon, struct DungeonEntity *target); +void MuzzleTarget(struct Entity *pokemon, struct Entity *target); +void sub_8078E18(struct Entity * pokemon, struct Entity * target); +void sub_8078F50(struct Entity * pokemon, struct Entity * target); +void ExposeStatusTarget(struct Entity * pokemon, struct Entity * target, s16 param_3); +void IdentityItemHolders(struct Entity *pokemon, struct Entity *target); +void BlindTarget(struct Entity *pokemon, struct Entity *target); +void CrossEyeVisionTarget(struct Entity *pokemon, struct Entity *target); +void RestoreVisionTarget(struct Entity *pokemon, struct Entity *target); +void RestorePPTarget(struct Entity * pokemon,struct Entity * target, s32 param_3); +void sub_80793B0(struct Entity * pokemon,struct Entity * target, s32 param_3); +void sub_8079420(struct Entity * pokemon,struct Entity * target, s32 param_3); +void sub_8079490(struct Entity * pokemon,struct Entity * target, s32 param_3); +void sub_8079500(struct Entity * pokemon,struct Entity * target, s32 param_3); +void LongTossStatusTarget(struct Entity * pokemon,struct Entity * target); +void PierceStatusTarget(struct Entity * pokemon,struct Entity * target); +void sub_8079618(struct Entity *pokemon, struct Entity *target, u8 newStatus, struct Move *move, u8 *message); +void sub_8079764(struct Entity * pokemon); +void sub_80797A0(struct Entity * pokemon, struct Entity * target, u8 newStatus); +void SafeguardStatusTarget(struct Entity * pokemon, struct Entity * target); +void MistStatusTarget(struct Entity * pokemon, struct Entity * target); +void WishStatusTarget(struct Entity * pokemon, struct Entity * target); +void MagicCoatStatusTarget(struct Entity * pokemon, struct Entity * target); +void LightScreenStatusTarget(struct Entity * pokemon, struct Entity * target); +void ReflectStatusTarget(struct Entity * pokemon, struct Entity * target); +void ProtectStatusTarget(struct Entity * pokemon, struct Entity * target); +void MirrorCoatStatusTarget(struct Entity * pokemon, struct Entity * target); +void EndureStatusTarget(struct Entity * pokemon, struct Entity * target); +void MirrorMoveStatusTarget(struct Entity * pokemon, struct Entity * target); +void Conversion2StatusTarget(struct Entity * pokemon, struct Entity * target); +void VitalThrowStatusTarget(struct Entity * pokemon, struct Entity * target); +void sub_8079618(struct Entity * pokemon, struct Entity *target, u8 newStatus, struct Move *move, u8 *message); +void sub_8079F20(struct Entity * pokemon, struct Entity * target, u8 param_3, u8 param_4); +void sub_807A0CC(struct Entity * pokemon, struct Entity * target); +void SendSleepEndMessage(struct Entity * pokemon, struct Entity * target, bool8 param_3, bool8 param_4); +void SendNonVolatileEndMessage(struct Entity * pokemon, struct Entity * target); +void SendImmobilizeEndMessage(struct Entity * pokemon, struct Entity *target); +void SendVolatileEndMessage(struct Entity * pokemon, struct Entity *target); +void SendProtectionEndMessage(struct Entity * pokemon, struct Entity *target); +void SendWaitingEndMessage(struct Entity * pokemon, struct Entity * target, u8 waitingStatus); +void SendLinkedEndMessage(struct Entity * pokemon, struct Entity * target); +void SendMoveEndMessage(struct Entity * pokemon, struct Entity * target); +void SendTransformEndMessage(struct Entity * pokemon, struct Entity *target); +void SendEyesightEndMessage(struct Entity * pokemon,struct Entity * target); +void SendMuzzledEndMessage(struct Entity * pokemon, struct Entity * target); +void sub_807A96C(struct Entity *pokemon, struct Entity *target); +void sub_807A9B0(struct Entity * pokemon); +void SendThawedMessage(struct Entity *pokemon, struct Entity *target); void sub_807AA30(void); #endif // !GUARD_CODE_8077274_1_H diff --git a/include/code_808417C.h b/include/code_808417C.h index 336a4a119..5f0c2ea79 100644 --- a/include/code_808417C.h +++ b/include/code_808417C.h @@ -1,6 +1,6 @@ #ifndef GUARD_808417C_H #define GUARD_808417C_H -s32 CalculateStatusTurns(struct DungeonEntity *target, s16 *turnRange, bool8 factorCurerSkills); +s32 CalculateStatusTurns(struct Entity *target, s16 *turnRange, bool8 factorCurerSkills); #endif // GUARD_808417C_H diff --git a/include/constants/ability.h b/include/constants/ability.h index 34515a410..f06a072d6 100644 --- a/include/constants/ability.h +++ b/include/constants/ability.h @@ -1,7 +1,7 @@ #ifndef GUARD_CONSTANTS_ABILITY_H #define GUARD_CONSTANTS_ABILITY_H -#define ABILITY_NONE 0x0 +#define ABILITY_UNKNOWN 0x0 #define ABILITY_STENCH 0x1 #define ABILITY_THICK_FAT 0x2 #define ABILITY_RAIN_DISH 0x3 diff --git a/include/constants/dungeon.h b/include/constants/dungeon.h index a1a9a0ae4..7a4c7bd44 100644 --- a/include/constants/dungeon.h +++ b/include/constants/dungeon.h @@ -3,7 +3,7 @@ #define NUM_DUNGEON_MAZE (NUM_DUNGEONS - DUNGEON_NORMAL_MAZE_2) -enum DungeonIndex +enum DungeonID { DUNGEON_TINY_WOODS = 0, DUNGEON_THUNDERWAVE_CAVE = 1, diff --git a/include/constants/dungeon_action.h b/include/constants/dungeon_action.h index 287a1ed30..0d5a867cf 100644 --- a/include/constants/dungeon_action.h +++ b/include/constants/dungeon_action.h @@ -1,45 +1,45 @@ #ifndef GUARD_CONSTANTS_DUNGEON_ACTION_H #define GUARD_CONSTANTS_DUNGEON_ACTION_H -enum DungeonAction +enum Action { - DUNGEON_ACTION_NONE = 0x0, - DUNGEON_ACTION_WAIT = 0x1, - DUNGEON_ACTION_WALK = 0x2, + ACTION_NOTHING = 0x0, + ACTION_PASS_TURN = 0x1, + ACTION_WALK = 0x2, // Switching between Pokémon in the moves menu. - DUNGEON_ACTION_NEXT_POKEMON_MOVES = 0x6, - DUNGEON_ACTION_PREVIOUS_POKEMON_MOVES = 0x7, - DUNGEON_ACTION_PLACE_ITEM = 0x8, + ACTION_NEXT = 0x6, + ACTION_PREVIOUS = 0x7, + ACTION_PLACE_ITEM = 0x8, // Some actions are different between the leader and AI-controlled Pokémon. - DUNGEON_ACTION_TAKE_ITEM_LEADER = 0x9, // Picking up an item underfoot. - DUNGEON_ACTION_THROW_ITEM_LEADER = 0xB, - DUNGEON_ACTION_CONSUME_ITEM_LEADER = 0xD, - DUNGEON_ACTION_USE_ITEM_LEADER = 0x12, - DUNGEON_ACTION_TALK_FIELD = 0x13, // Talking to another Pokémon by facing them and interacting. - DUNGEON_ACTION_USE_MOVE_LEADER = 0x14, - DUNGEON_ACTION_USE_MOVE_AI = 0x15, - DUNGEON_ACTION_STRUGGLE = 0x17, // Using the Struggle move. - DUNGEON_ACTION_CHECK_MOVES = 0x19, - DUNGEON_ACTION_CHANGE_TACTICS = 0x1A, - DUNGEON_ACTION_CHECK_POKEMON_SUMMARY = 0x1B, - DUNGEON_ACTION_TALK_MENU = 0x1C, // Talking to another Pokémon via the menu. - DUNGEON_ACTION_SET_MOVE = 0x1E, // Registering a move. - DUNGEON_ACTION_CONSUME_ITEM_AI = 0x23, - DUNGEON_ACTION_THROW_ITEM_AI = 0x24, - DUNGEON_ACTION_THROW_STRAIGHT_THROWN_ITEM_LEADER = 0x27, - DUNGEON_ACTION_USE_LINK_BOX = 0x2C, - DUNGEON_ACTION_GIVE_UP = 0x2E, - DUNGEON_ACTION_CHANGE_IQ_SKILLS = 0x30, - DUNGEON_ACTION_USE_ORB = 0x31, - DUNGEON_ACTION_REGULAR_ATTACK = 0x32, - DUNGEON_ACTION_UNSET_MOVE = 0x33, - DUNGEON_ACTION_GIVE_HELD_ITEM = 0x36, - DUNGEON_ACTION_TAKE_HELD_ITEM = 0x37, - DUNGEON_ACTION_HAVE_SECOND_THOUGHTS = 0x39, // Happens with invalid actions, like attempting to eat a non-consumable item. - DUNGEON_ACTION_SET_ITEM = 0x3C, - DUNGEON_ACTION_UNSET_ITEM = 0x3D, - DUNGEON_ACTION_TAKE_ITEM_AI = 0x3F, - DUNGEON_ACTION_THROW_ARC_THROWN_ITEM_LEADER = 0x41, // Throwing Gravelerocks and Geo Pebbles. + ACTION_PICK_UP_PLAYER = 0x9, // Picking up an item underfoot. + ACTION_THROW_ITEM_PLAYER = 0xB, + ACTION_EAT_BERRY_SEED_DRINK = 0xD, + ACTION_USE_TM = 0x12, + ACTION_TALK_FIELD = 0x13, // Talking to another Pokémon by facing them and interacting. + ACTION_USE_MOVE_PLAYER = 0x14, + ACTION_USE_MOVE_AI = 0x15, + ACTION_STRUGGLE = 0x17, // Using the Struggle move. + ACTION_CHECK_MOVES = 0x19, + ACTION_CHANGE_TACTICS = 0x1A, + ACTION_CHECK_SUMMARY = 0x1B, + ACTION_TALK_MENU = 0x1C, // Talking to another Pokémon via the menu. + ACTION_SET_MOVE = 0x1E, // Registering a move. + ACTION_EAT_AI = 0x23, + ACTION_THROW_ITEM_AI = 0x24, + ACTION_THROW_STRAIGHT_PLAYER = 0x27, + ACTION_USE_LINK_BOX = 0x2C, + ACTION_GIVE_UP = 0x2E, + ACTION_VIEW_IQ = 0x30, + ACTION_USE_ORB = 0x31, + ACTION_REGULAR_ATTACK = 0x32, + ACTION_UNSET_MOVE = 0x33, + ACTION_GIVE_ITEM = 0x36, + ACTION_TAKE_ITEM = 0x37, + ACTION_SECOND_THOUGHTS = 0x39, // Happens with invalid actions, like attempting to eat a non-consumable item. + ACTION_SET_ITEM = 0x3C, + ACTION_UNSET_ITEM = 0x3D, + ACTION_PICK_UP_AI = 0x3F, + ACTION_THROW_ARC_PLAYER = 0x41, // Throwing Gravelerocks and Geo Pebbles. }; #endif diff --git a/include/constants/iq_skill.h b/include/constants/iq_skill.h index 8e5809ce4..89156aa5e 100644 --- a/include/constants/iq_skill.h +++ b/include/constants/iq_skill.h @@ -1,32 +1,32 @@ #ifndef GUARD_CONSTANTS_IQ_SKILL_H #define GUARD_CONSTANTS_IQ_SKILL_H -enum IQSkill +enum IQSkillID { - IQ_SKILL_NONE = 0x0, - IQ_SKILL_TYPE_ADVANTAGE_MASTER = 0x1, - IQ_SKILL_ITEM_CATCHER = 0x2, - IQ_SKILL_COURSE_CHECKER = 0x3, - IQ_SKILL_SURE_HIT_ATTACKER = 0x4, - IQ_SKILL_QUICK_DODGER = 0x5, - IQ_SKILL_PP_CHECKER = 0x6, - IQ_SKILL_NONTRAITOR = 0x7, - IQ_SKILL_STATUS_CHECKER = 0x8, - IQ_SKILL_EXP_GO_GETTER = 0x9, - IQ_SKILL_EFFICIENCY_EXPERT = 0xA, - IQ_SKILL_WEAK_TYPE_PICKER = 0xB, - IQ_SKILL_ALL_TERRAIN_HIKER = 0xC, - IQ_SKILL_SUPER_MOBILE = 0xD, - IQ_SKILL_TRAP_AVOIDER = 0xE, - IQ_SKILL_HOUSE_AVOIDER = 0xF, - IQ_SKILL_ENERGY_SAVER = 0x10, - IQ_SKILL_NONSLEEPER = 0x11, - IQ_SKILL_SELF_CURER = 0x12, - IQ_SKILL_TRAP_SEER = 0x13, - IQ_SKILL_LAVA_EVADER = 0x14, - IQ_SKILL_DEDICATED_TRAVELER = 0x15, - IQ_SKILL_ITEM_MASTER = 0x16, - IQ_SKILL_EXCLUSIVE_MOVE_USER = 0x17, + IQ_NONE = 0x0, + IQ_TYPE_ADVANTAGE_MASTER = 0x1, + IQ_ITEM_CATCHER = 0x2, + IQ_COURSE_CHECKER = 0x3, + IQ_SURE_HIT_ATTACKER = 0x4, + IQ_QUICK_DODGER = 0x5, + IQ_PP_CHECKER = 0x6, + IQ_NONTRAITOR = 0x7, + IQ_STATUS_CHECKER = 0x8, + IQ_EXP_GO_GETTER = 0x9, + IQ_EFFICIENCY_EXPERT = 0xA, + IQ_WEAK_TYPE_PICKER = 0xB, + IQ_ALL_TERRAIN_HIKER = 0xC, + IQ_SUPER_MOBILE = 0xD, + IQ_TRAP_AVOIDER = 0xE, + IQ_HOUSE_AVOIDER = 0xF, + IQ_ENERGY_SAVER = 0x10, + IQ_NONSLEEPER = 0x11, + IQ_SELF_CURER = 0x12, + IQ_TRAP_SEER = 0x13, + IQ_LAVA_EVADER = 0x14, + IQ_DEDICATED_TRAVELER = 0x15, + IQ_ITEM_MASTER = 0x16, + IQ_EXCLUSIVE_MOVE_USER = 0x17, NUM_IQ_SKILLS = 0x18 }; diff --git a/include/constants/item.h b/include/constants/item.h index 2f79b4d2e..3893bfa20 100644 --- a/include/constants/item.h +++ b/include/constants/item.h @@ -3,273 +3,273 @@ #define NUMBER_OF_ITEM_IDS 0xF0 -#define ITEM_TYPE_THROWABLE 0 -#define ITEM_TYPE_ROCK 1 -#define ITEM_TYPE_BERRY_SEED 2 -#define ITEM_TYPE_APPLE_GUMMI 3 -#define ITEM_TYPE_HOLD_ITEM 4 -#define ITEM_TYPE_TM 5 -#define ITEM_TYPE_MONEY 6 -#define ITEM_TYPE_MISC 8 -#define ITEM_TYPE_ORB 9 -#define ITEM_TYPE_LINK_BOX 10 -#define ITEM_TYPE_USED_TM 11 +#define CATEGORY_THROWN_LINE 0 +#define CATEGORY_THROWN_ARC 1 +#define CATEGORY_BERRIES_SEEDS_VITAMINS 2 +#define CATEGORY_FOOD_GUMMIES 3 +#define CATEGORY_HELD_ITEMS 4 +#define CATEGORY_TMS_HMS 5 +#define CATEGORY_POKE 6 +#define CATEGORY_OTHER 8 +#define CATEGORY_ORBS 9 +#define CATEGORY_LINK_BOX 10 +#define CATEGORY_USED_TM 11 -#define ITEM_CATEGORY_NOTHING 0 -#define ITEM_CATEGORY_THROWABLE 1 -#define ITEM_CATEGORY_ROCKS 2 -#define ITEM_CATEGORY_RIBBONS 3 -#define ITEM_CATEGORY_FOOD 4 -#define ITEM_CATEGORY_HEALING 5 -#define ITEM_CATEGORY_CHESTNUT 6 -#define ITEM_CATEGORY_MONEY_WISH_STONE 7 -#define ITEM_CATEGORY_MISC 8 -#define ITEM_CATEGORY_TM 9 -#define ITEM_CATEGORY_LINK_BOX 10 -#define ITEM_CATEGORY_SPECS 11 -#define ITEM_CATEGORY_SCARFS 12 -#define ITEM_CATEGORY_ORBS 13 +#define ITEM_ACTION_TYPE_NOTHING 0 +#define ITEM_ACTION_TYPE_THROWABLE 1 +#define ITEM_ACTION_TYPE_ROCKS 2 +#define ITEM_ACTION_TYPE_RIBBONS 3 +#define ITEM_ACTION_TYPE_FOOD 4 +#define ITEM_ACTION_TYPE_HEALING 5 +#define ITEM_ACTION_TYPE_CHESTNUT 6 +#define ITEM_ACTION_TYPE_MONEY_WISH_STONE 7 +#define ITEM_ACTION_TYPE_MISC 8 +#define ITEM_ACTION_TYPE_TM 9 +#define ITEM_ACTION_TYPE_LINK_BOX 10 +#define ITEM_ACTION_TYPE_SPECS 11 +#define ITEM_ACTION_TYPE_SCARFS 12 +#define ITEM_ACTION_TYPE_ORBS 13 // see https://bulbapedia.bulbagarden.net/wiki/List_of_items_by_index_number_(Rescue_Team) -#define ITEM_ID_NOTHING 0x0 -#define ITEM_ID_STICK 0x1 -#define ITEM_ID_IRON_THORN 0x2 -#define ITEM_ID_SILVER_SPIKE 0x3 -#define ITEM_ID_GOLD_FANG 0x4 -#define ITEM_ID_CACNEA_SPIKE 0x5 -#define ITEM_ID_CORSOLA_TWIG 0x6 -#define ITEM_ID_GRAVELEROCK 0x7 -#define ITEM_ID_GEO_PEBBLE 0x8 -#define ITEM_ID_MOBILE_SCARF 0x9 -#define ITEM_ID_HEAL_RIBBON 0xA -#define ITEM_ID_TWIST_BAND 0xB -#define ITEM_ID_SCOPE_LENS 0xC -#define ITEM_ID_PATSY_BAND 0xD -#define ITEM_ID_NOSTICK_CAP 0xE -#define ITEM_ID_PIERCE_BAND 0xF -#define ITEM_ID_JOY_RIBBON 0x10 -#define ITEM_ID_X_RAY_SPECS 0x11 -#define ITEM_ID_PERSIM_BAND 0x12 -#define ITEM_ID_POWER_BAND 0x13 -#define ITEM_ID_PECHA_SCARF 0x14 -#define ITEM_ID_INSOMNISCOPE 0x15 -#define ITEM_ID_WARP_SCARF 0x16 -#define ITEM_ID_TIGHT_BELT 0x17 -#define ITEM_ID_SNEAK_SCARF 0x18 -#define ITEM_ID_GOLD_RIBBON 0x19 -#define ITEM_ID_GOGGLE_SPECS 0x1A -#define ITEM_ID_DIET_RIBBON 0x1B -#define ITEM_ID_TRAP_SCARF 0x1C -#define ITEM_ID_RACKET_BAND 0x1D -#define ITEM_ID_DEF_SCARF 0x1E -#define ITEM_ID_STAMINA_BAND 0x1F -#define ITEM_ID_PLAIN_RIBBON 0x20 -#define ITEM_ID_SPECIAL_BAND 0x21 -#define ITEM_ID_ZINC_BAND 0x22 -#define ITEM_ID_DETECT_BAND 0x23 -#define ITEM_ID_ALERT_SPECS 0x24 -#define ITEM_ID_DODGE_SCARF 0x25 -#define ITEM_ID_BOUNCE_BAND 0x26 -#define ITEM_ID_CURVE_BAND 0x27 -#define ITEM_ID_WHIFF_SPECS 0x28 -#define ITEM_ID_NO_AIM_SCOPE 0x29 -#define ITEM_ID_LOCKON_SPECS 0x2A -#define ITEM_ID_MUNCH_BELT 0x2B -#define ITEM_ID_PASS_SCARF 0x2C -#define ITEM_ID_WEATHER_BAND 0x2D -#define ITEM_ID_FRIEND_BOW 0x2E -#define ITEM_ID_BEAUTY_SCARF 0x2F -#define ITEM_ID_SUN_RIBBON 0x30 -#define ITEM_ID_LUNAR_RIBBON 0x31 -#define ITEM_ID_RING_D 0x32 -#define ITEM_ID_RING_E 0x33 -#define ITEM_ID_RING_F 0x34 -#define ITEM_ID_HEAL_SEED 0x35 -#define ITEM_ID_WISH_STONE 0x36 -#define ITEM_ID_ORAN_BERRY 0x37 -#define ITEM_ID_SITRUS_BERRY 0x38 -#define ITEM_ID_EYEDROP_SEED 0x39 -#define ITEM_ID_REVIVER_SEED 0x3A -#define ITEM_ID_BLINKER_SEED 0x3B -#define ITEM_ID_DOOM_SEED 0x3C -#define ITEM_ID_ALLURE_SEED 0x3D -#define ITEM_ID_LIFE_SEED 0x3E -#define ITEM_ID_RAWST_BERRY 0x3F -#define ITEM_ID_HUNGER_SEED 0x40 -#define ITEM_ID_QUICK_SEED 0x41 -#define ITEM_ID_PECHA_BERRY 0x42 -#define ITEM_ID_CHERI_BERRY 0x43 -#define ITEM_ID_TOTTER_SEED 0x44 -#define ITEM_ID_SLEEP_SEED 0x45 -#define ITEM_ID_PLAIN_SEED 0x46 -#define ITEM_ID_WARP_SEED 0x47 -#define ITEM_ID_BLAST_SEED 0x48 -#define ITEM_ID_GINSENG 0x49 -#define ITEM_ID_JOY_SEED 0x4A -#define ITEM_ID_CHESTO_BERRY 0x4B -#define ITEM_ID_STUN_SEED 0x4C -#define ITEM_ID_MAX_ELIXIR 0x4D -#define ITEM_ID_PROTEIN 0x4E -#define ITEM_ID_CALCIUM 0x4F -#define ITEM_ID_IRON 0x50 -#define ITEM_ID_ZINC 0x51 -#define ITEM_ID_APPLE 0x52 -#define ITEM_ID_BIG_APPLE 0x53 -#define ITEM_ID_GRIMY_FOOD 0x54 -#define ITEM_ID_HUGE_APPLE 0x55 -#define ITEM_ID_WHITE_GUMMI 0x56 -#define ITEM_ID_RED_GUMMI 0x57 -#define ITEM_ID_BLUE_GUMMI 0x58 -#define ITEM_ID_GRASS_GUMMI 0x59 -#define ITEM_ID_YELLOW_GUMMI 0x5A -#define ITEM_ID_CLEAR_GUMMI 0x5B -#define ITEM_ID_ORANGE_GUMMI 0x5C -#define ITEM_ID_PINK_GUMMI 0x5D -#define ITEM_ID_BROWN_GUMMI 0x5E -#define ITEM_ID_SKY_GUMMI 0x5F -#define ITEM_ID_GOLD_GUMMI 0x60 -#define ITEM_ID_GREEN_GUMMI 0x61 -#define ITEM_ID_GRAY_GUMMI 0x62 -#define ITEM_ID_PURPLE_GUMMI 0x63 -#define ITEM_ID_ROYAL_GUMMI 0x64 -#define ITEM_ID_BLACK_GUMMI 0x65 -#define ITEM_ID_SILVER_GUMMI 0x66 -#define ITEM_ID_BANANA 0x67 -#define ITEM_ID_CHESTNUT 0x68 -#define ITEM_ID_POKE 0x69 // 105 (0x69) -#define ITEM_ID_UPGRADE 0x6A -#define ITEM_ID_KINGS_ROCK 0x6B -#define ITEM_ID_THUNDERSTONE 0x6C -#define ITEM_ID_DEEPSEASCALE 0x6D -#define ITEM_ID_DEEPSEATOOTH 0x6E -#define ITEM_ID_SUN_STONE 0x6F -#define ITEM_ID_MOON_STONE 0x70 -#define ITEM_ID_FIRE_STONE 0x71 -#define ITEM_ID_WATER_STONE 0x72 -#define ITEM_ID_METAL_COAT 0x73 -#define ITEM_ID_LEAF_STONE 0x74 -#define ITEM_ID_DRAGON_SCALE 0x75 -#define ITEM_ID_LINK_CABLE 0x76 -#define ITEM_ID_ICE_PART 0x77 -#define ITEM_ID_STEEL_PART 0x78 -#define ITEM_ID_ROCK_PART 0x79 -#define ITEM_ID_MUSIC_BOX 0x7A -#define ITEM_ID_KEY 0x7B -#define ITEM_ID_USED_TM 0x7C -#define ITEM_ID_FOCUS_PUNCH 0x7D -#define ITEM_ID_DRAGON_CLAW 0x7E -#define ITEM_ID_WATER_PULSE 0x7F -#define ITEM_ID_CALM_MIND 0x80 -#define ITEM_ID_ROAR 0x81 -#define ITEM_ID_TOXIC 0x82 -#define ITEM_ID_HAIL 0x83 -#define ITEM_ID_BULK_UP 0x84 -#define ITEM_ID_BULLET_SEED 0x85 -#define ITEM_ID_HIDDEN_POWER 0x86 -#define ITEM_ID_SUNNY_DAY 0x87 -#define ITEM_ID_TAUNT 0x88 -#define ITEM_ID_ICE_BEAM 0x89 -#define ITEM_ID_BLIZZARD 0x8A -#define ITEM_ID_HYPER_BEAM 0x8B -#define ITEM_ID_LIGHT_SCREEN 0x8C -#define ITEM_ID_PROTECT 0x8D -#define ITEM_ID_RAIN_DANCE 0x8E -#define ITEM_ID_GIGA_DRAIN 0x8F -#define ITEM_ID_SAFEGUARD 0x90 -#define ITEM_ID_FRUSTRATION 0x91 -#define ITEM_ID_SOLARBEAM 0x92 -#define ITEM_ID_IRON_TAIL 0x93 -#define ITEM_ID_THUNDERBOLT 0x94 -#define ITEM_ID_THUNDER 0x95 -#define ITEM_ID_EARTHQUAKE 0x96 -#define ITEM_ID_RETURN 0x97 -#define ITEM_ID_DIG 0x98 -#define ITEM_ID_PSYCHIC 0x99 -#define ITEM_ID_SHADOW_BALL 0x9A -#define ITEM_ID_BRICK_BREAK 0x9B -#define ITEM_ID_DOUBLE_TEAM 0x9C -#define ITEM_ID_REFLECT 0x9D -#define ITEM_ID_SHOCK_WAVE 0x9E -#define ITEM_ID_FLAMETHROWER 0x9F -#define ITEM_ID_SLUDGE_BOMB 0xA0 -#define ITEM_ID_SANDSTORM 0xA1 -#define ITEM_ID_FIRE_BLAST 0xA2 -#define ITEM_ID_ROCK_TOMB 0xA3 -#define ITEM_ID_AERIAL_ACE 0xA4 -#define ITEM_ID_TORMENT 0xA5 -#define ITEM_ID_FACADE 0xA6 -#define ITEM_ID_SECRET_POWER 0xA7 -#define ITEM_ID_REST 0xA8 -#define ITEM_ID_ATTRACT 0xA9 -#define ITEM_ID_THIEF 0xAA -#define ITEM_ID_STEEL_WING 0xAB -#define ITEM_ID_SKILL_SWAP 0xAC -#define ITEM_ID_SNATCH 0xAD -#define ITEM_ID_OVERHEAT 0xAE -#define ITEM_ID_WIDE_SLASH 0xAF -#define ITEM_ID_EXCAVATE 0xB0 -#define ITEM_ID_SPIN_SLASH 0xB1 -#define ITEM_ID_SEE_TRAP_ORB 0xB2 -#define ITEM_ID_MUG_ORB 0xB3 -#define ITEM_ID_REBOUND_ORB 0xB4 -#define ITEM_ID_LOB_ORB 0xB5 -#define ITEM_ID_SWITCHER_ORB 0xB6 -#define ITEM_ID_BLOWBACK_ORB 0xB7 -#define ITEM_ID_WARP_ORB 0xB8 -#define ITEM_ID_TRANSFER_ORB 0xB9 -#define ITEM_ID_SLOW_ORB 0xBA -#define ITEM_ID_QUICK_ORB 0xBB -#define ITEM_ID_LUMINOUS_ORB 0xBC -#define ITEM_ID_PETRIFY_ORB 0xBD -#define ITEM_ID_STAYAWAY_ORB 0xBE -#define ITEM_ID_POUNCE_ORB 0xBF -#define ITEM_ID_TRAWL_ORB 0xC0 -#define ITEM_ID_CLEANSE_ORB 0xC1 -#define ITEM_ID_OBSERVER_ORB 0xC2 -#define ITEM_ID_DECOY_ORB 0xC3 -#define ITEM_ID_SLUMBER_ORB 0xC4 -#define ITEM_ID_TOTTER_ORB 0xC5 -#define ITEM_ID_TWO_EDGE_ORB 0xC6 -#define ITEM_ID_SILENCE_ORB 0xC7 -#define ITEM_ID_ESCAPE_ORB 0xC8 -#define ITEM_ID_SCANNER_ORB 0xC9 -#define ITEM_ID_RADAR_ORB 0xCA -#define ITEM_ID_DROUGHT_ORB 0xCB -#define ITEM_ID_TRAPBUST_ORB 0xCC -#define ITEM_ID_ROLLCALL_ORB 0xCD -#define ITEM_ID_INVISIFY_ORB 0xCE -#define ITEM_ID_ONE_SHOT_ORB 0xCF -#define ITEM_ID_IDENTIFY_ORB 0xD0 -#define ITEM_ID_VACUUM_CUT 0xD1 -#define ITEM_ID_REVIVER_ORB 0xD2 -#define ITEM_ID_SHOCKER_ORB 0xD3 -#define ITEM_ID_SIZEBUST_ORB 0xD4 -#define ITEM_ID_ONE_ROOM_ORB 0xD5 -#define ITEM_ID_FILL_IN_ORB 0xD6 -#define ITEM_ID_TRAPPER_ORB 0xD7 -#define ITEM_ID_POSSESS_ORB 0xD8 -#define ITEM_ID_ITEMIZER_ORB 0xD9 -#define ITEM_ID_HURL_ORB 0xDA -#define ITEM_ID_MOBILE_ORB 0xDB -#define ITEM_ID_TOSS_ORB 0xDC -#define ITEM_ID_STAIRS_ORB 0xDD -#define ITEM_ID_LONGTOSS_ORB 0xDE -#define ITEM_ID_PIERCE_ORB 0xDF -#define ITEM_ID_CUT 0xE0 -#define ITEM_ID_FLY 0xE1 -#define ITEM_ID_SURF 0xE2 -#define ITEM_ID_STRENGTH 0xE3 -#define ITEM_ID_FLASH 0xE4 -#define ITEM_ID_ROCK_SMASH 0xE5 -#define ITEM_ID_WATERFALL 0xE6 -#define ITEM_ID_DIVE 0xE7 -#define ITEM_ID_LINK_BOX 0xE8 -#define ITEM_ID_SWITCH_BOX 0xE9 -#define ITEM_ID_WEAVILE_FIG 0xEA -#define ITEM_ID_MIME_JR_FIG 0xEB -#define ITEM_ID_BEATUP_ORB 0xEC -#define ITEM_ID_G_MACHINE_6 0xED -#define ITEM_ID_G_MACHINE_7 0xEE -#define ITEM_ID_G_MACHINE_8 0xEF +#define ITEM_NOTHING 0x0 +#define ITEM_STICK 0x1 +#define ITEM_IRON_THORN 0x2 +#define ITEM_SILVER_SPIKE 0x3 +#define ITEM_GOLD_FANG 0x4 +#define ITEM_CACNEA_SPIKE 0x5 +#define ITEM_CORSOLA_TWIG 0x6 +#define ITEM_GRAVELEROCK 0x7 +#define ITEM_GEO_PEBBLE 0x8 +#define ITEM_MOBILE_SCARF 0x9 +#define ITEM_HEAL_RIBBON 0xA +#define ITEM_TWIST_BAND 0xB +#define ITEM_SCOPE_LENS 0xC +#define ITEM_PATSY_BAND 0xD +#define ITEM_NOSTICK_CAP 0xE +#define ITEM_PIERCE_BAND 0xF +#define ITEM_JOY_RIBBON 0x10 +#define ITEM_X_RAY_SPECS 0x11 +#define ITEM_PERSIM_BAND 0x12 +#define ITEM_POWER_BAND 0x13 +#define ITEM_PECHA_SCARF 0x14 +#define ITEM_INSOMNISCOPE 0x15 +#define ITEM_WARP_SCARF 0x16 +#define ITEM_TIGHT_BELT 0x17 +#define ITEM_SNEAK_SCARF 0x18 +#define ITEM_GOLD_RIBBON 0x19 +#define ITEM_GOGGLE_SPECS 0x1A +#define ITEM_DIET_RIBBON 0x1B +#define ITEM_TRAP_SCARF 0x1C +#define ITEM_RACKET_BAND 0x1D +#define ITEM_DEF_SCARF 0x1E +#define ITEM_STAMINA_BAND 0x1F +#define ITEM_PLAIN_RIBBON 0x20 +#define ITEM_SPECIAL_BAND 0x21 +#define ITEM_ZINC_BAND 0x22 +#define ITEM_DETECT_BAND 0x23 +#define ITEM_ALERT_SPECS 0x24 +#define ITEM_DODGE_SCARF 0x25 +#define ITEM_BOUNCE_BAND 0x26 +#define ITEM_CURVE_BAND 0x27 +#define ITEM_WHIFF_SPECS 0x28 +#define ITEM_NO_AIM_SCOPE 0x29 +#define ITEM_LOCKON_SPECS 0x2A +#define ITEM_MUNCH_BELT 0x2B +#define ITEM_PASS_SCARF 0x2C +#define ITEM_WEATHER_BAND 0x2D +#define ITEM_FRIEND_BOW 0x2E +#define ITEM_BEAUTY_SCARF 0x2F +#define ITEM_SUN_RIBBON 0x30 +#define ITEM_LUNAR_RIBBON 0x31 +#define ITEM_RING_D 0x32 +#define ITEM_RING_E 0x33 +#define ITEM_RING_F 0x34 +#define ITEM_HEAL_SEED 0x35 +#define ITEM_WISH_STONE 0x36 +#define ITEM_ORAN_BERRY 0x37 +#define ITEM_SITRUS_BERRY 0x38 +#define ITEM_EYEDROP_SEED 0x39 +#define ITEM_REVIVER_SEED 0x3A +#define ITEM_BLINKER_SEED 0x3B +#define ITEM_DOOM_SEED 0x3C +#define ITEM_ALLURE_SEED 0x3D +#define ITEM_LIFE_SEED 0x3E +#define ITEM_RAWST_BERRY 0x3F +#define ITEM_HUNGER_SEED 0x40 +#define ITEM_QUICK_SEED 0x41 +#define ITEM_PECHA_BERRY 0x42 +#define ITEM_CHERI_BERRY 0x43 +#define ITEM_TOTTER_SEED 0x44 +#define ITEM_SLEEP_SEED 0x45 +#define ITEM_PLAIN_SEED 0x46 +#define ITEM_WARP_SEED 0x47 +#define ITEM_BLAST_SEED 0x48 +#define ITEM_GINSENG 0x49 +#define ITEM_JOY_SEED 0x4A +#define ITEM_CHESTO_BERRY 0x4B +#define ITEM_STUN_SEED 0x4C +#define ITEM_MAX_ELIXIR 0x4D +#define ITEM_PROTEIN 0x4E +#define ITEM_CALCIUM 0x4F +#define ITEM_IRON 0x50 +#define ITEM_ZINC 0x51 +#define ITEM_APPLE 0x52 +#define ITEM_BIG_APPLE 0x53 +#define ITEM_GRIMY_FOOD 0x54 +#define ITEM_HUGE_APPLE 0x55 +#define ITEM_WHITE_GUMMI 0x56 +#define ITEM_RED_GUMMI 0x57 +#define ITEM_BLUE_GUMMI 0x58 +#define ITEM_GRASS_GUMMI 0x59 +#define ITEM_YELLOW_GUMMI 0x5A +#define ITEM_CLEAR_GUMMI 0x5B +#define ITEM_ORANGE_GUMMI 0x5C +#define ITEM_PINK_GUMMI 0x5D +#define ITEM_BROWN_GUMMI 0x5E +#define ITEM_SKY_GUMMI 0x5F +#define ITEM_GOLD_GUMMI 0x60 +#define ITEM_GREEN_GUMMI 0x61 +#define ITEM_GRAY_GUMMI 0x62 +#define ITEM_PURPLE_GUMMI 0x63 +#define ITEM_ROYAL_GUMMI 0x64 +#define ITEM_BLACK_GUMMI 0x65 +#define ITEM_SILVER_GUMMI 0x66 +#define ITEM_BANANA 0x67 +#define ITEM_CHESTNUT 0x68 +#define ITEM_POKE 0x69 // 105 (0x69) +#define ITEM_UPGRADE 0x6A +#define ITEM_KINGS_ROCK 0x6B +#define ITEM_THUNDERSTONE 0x6C +#define ITEM_DEEPSEASCALE 0x6D +#define ITEM_DEEPSEATOOTH 0x6E +#define ITEM_SUN_STONE 0x6F +#define ITEM_MOON_STONE 0x70 +#define ITEM_FIRE_STONE 0x71 +#define ITEM_WATER_STONE 0x72 +#define ITEM_METAL_COAT 0x73 +#define ITEM_LEAF_STONE 0x74 +#define ITEM_DRAGON_SCALE 0x75 +#define ITEM_LINK_CABLE 0x76 +#define ITEM_ICE_PART 0x77 +#define ITEM_STEEL_PART 0x78 +#define ITEM_ROCK_PART 0x79 +#define ITEM_MUSIC_BOX 0x7A +#define ITEM_KEY 0x7B +#define ITEM_TM_USED_TM 0x7C +#define ITEM_TM_FOCUS_PUNCH 0x7D +#define ITEM_TM_DRAGON_CLAW 0x7E +#define ITEM_TM_WATER_PULSE 0x7F +#define ITEM_TM_CALM_MIND 0x80 +#define ITEM_TM_ROAR 0x81 +#define ITEM_TM_TOXIC 0x82 +#define ITEM_TM_HAIL 0x83 +#define ITEM_TM_BULK_UP 0x84 +#define ITEM_TM_BULLET_SEED 0x85 +#define ITEM_TM_HIDDEN_POWER 0x86 +#define ITEM_TM_SUNNY_DAY 0x87 +#define ITEM_TM_TAUNT 0x88 +#define ITEM_TM_ICE_BEAM 0x89 +#define ITEM_TM_BLIZZARD 0x8A +#define ITEM_TM_HYPER_BEAM 0x8B +#define ITEM_TM_LIGHT_SCREEN 0x8C +#define ITEM_TM_PROTECT 0x8D +#define ITEM_TM_RAIN_DANCE 0x8E +#define ITEM_TM_GIGA_DRAIN 0x8F +#define ITEM_TM_SAFEGUARD 0x90 +#define ITEM_TM_FRUSTRATION 0x91 +#define ITEM_TM_SOLARBEAM 0x92 +#define ITEM_TM_IRON_TAIL 0x93 +#define ITEM_TM_THUNDERBOLT 0x94 +#define ITEM_TM_THUNDER 0x95 +#define ITEM_TM_EARTHQUAKE 0x96 +#define ITEM_TM_RETURN 0x97 +#define ITEM_TM_DIG 0x98 +#define ITEM_TM_PSYCHIC 0x99 +#define ITEM_TM_SHADOW_BALL 0x9A +#define ITEM_TM_BRICK_BREAK 0x9B +#define ITEM_TM_DOUBLE_TEAM 0x9C +#define ITEM_TM_REFLECT 0x9D +#define ITEM_TM_SHOCK_WAVE 0x9E +#define ITEM_TM_FLAMETHROWER 0x9F +#define ITEM_TM_SLUDGE_BOMB 0xA0 +#define ITEM_TM_SANDSTORM 0xA1 +#define ITEM_TM_FIRE_BLAST 0xA2 +#define ITEM_TM_ROCK_TOMB 0xA3 +#define ITEM_TM_AERIAL_ACE 0xA4 +#define ITEM_TM_TORMENT 0xA5 +#define ITEM_TM_FACADE 0xA6 +#define ITEM_TM_SECRET_POWER 0xA7 +#define ITEM_TM_REST 0xA8 +#define ITEM_TM_ATTRACT 0xA9 +#define ITEM_TM_THIEF 0xAA +#define ITEM_TM_STEEL_WING 0xAB +#define ITEM_TM_SKILL_SWAP 0xAC +#define ITEM_TM_SNATCH 0xAD +#define ITEM_TM_OVERHEAT 0xAE +#define ITEM_TM_WIDE_SLASH 0xAF +#define ITEM_TM_EXCAVATE 0xB0 +#define ITEM_TM_SPIN_SLASH 0xB1 +#define ITEM_SEE_TRAP_ORB 0xB2 +#define ITEM_MUG_ORB 0xB3 +#define ITEM_REBOUND_ORB 0xB4 +#define ITEM_LOB_ORB 0xB5 +#define ITEM_SWITCHER_ORB 0xB6 +#define ITEM_BLOWBACK_ORB 0xB7 +#define ITEM_WARP_ORB 0xB8 +#define ITEM_TRANSFER_ORB 0xB9 +#define ITEM_SLOW_ORB 0xBA +#define ITEM_QUICK_ORB 0xBB +#define ITEM_LUMINOUS_ORB 0xBC +#define ITEM_PETRIFY_ORB 0xBD +#define ITEM_STAYAWAY_ORB 0xBE +#define ITEM_POUNCE_ORB 0xBF +#define ITEM_TRAWL_ORB 0xC0 +#define ITEM_CLEANSE_ORB 0xC1 +#define ITEM_OBSERVER_ORB 0xC2 +#define ITEM_DECOY_ORB 0xC3 +#define ITEM_SLUMBER_ORB 0xC4 +#define ITEM_TOTTER_ORB 0xC5 +#define ITEM_TWO_EDGE_ORB 0xC6 +#define ITEM_SILENCE_ORB 0xC7 +#define ITEM_ESCAPE_ORB 0xC8 +#define ITEM_SCANNER_ORB 0xC9 +#define ITEM_RADAR_ORB 0xCA +#define ITEM_DROUGHT_ORB 0xCB +#define ITEM_TRAPBUST_ORB 0xCC +#define ITEM_ROLLCALL_ORB 0xCD +#define ITEM_INVISIFY_ORB 0xCE +#define ITEM_ONE_SHOT_ORB 0xCF +#define ITEM_IDENTIFY_ORB 0xD0 +#define ITEM_VACUUM_CUT 0xD1 +#define ITEM_REVIVER_ORB 0xD2 +#define ITEM_SHOCKER_ORB 0xD3 +#define ITEM_SIZEBUST_ORB 0xD4 +#define ITEM_ONE_ROOM_ORB 0xD5 +#define ITEM_FILL_IN_ORB 0xD6 +#define ITEM_TRAPPER_ORB 0xD7 +#define ITEM_POSSESS_ORB 0xD8 +#define ITEM_ITEMIZER_ORB 0xD9 +#define ITEM_HURL_ORB 0xDA +#define ITEM_MOBILE_ORB 0xDB +#define ITEM_TOSS_ORB 0xDC +#define ITEM_STAIRS_ORB 0xDD +#define ITEM_LONGTOSS_ORB 0xDE +#define ITEM_PIERCE_ORB 0xDF +#define ITEM_HM_CUT 0xE0 +#define ITEM_HM_FLY 0xE1 +#define ITEM_HM_SURF 0xE2 +#define ITEM_HM_STRENGTH 0xE3 +#define ITEM_HM_FLASH 0xE4 +#define ITEM_HM_ROCK_SMASH 0xE5 +#define ITEM_HM_WATERFALL 0xE6 +#define ITEM_HM_DIVE 0xE7 +#define ITEM_LINK_BOX 0xE8 +#define ITEM_SWITCH_BOX 0xE9 +#define ITEM_WEAVILE_FIG 0xEA +#define ITEM_MIME_JR_FIG 0xEB +#define ITEM_BEATUP_ORB 0xEC +#define ITEM_G_MACHINE_6 0xED +#define ITEM_G_MACHINE_7 0xEE +#define ITEM_G_MACHINE_8 0xEF #endif diff --git a/include/constants/monster.h b/include/constants/monster.h new file mode 100644 index 000000000..8d6a466a8 --- /dev/null +++ b/include/constants/monster.h @@ -0,0 +1,432 @@ +#ifndef GUARD_CONSTANTS_MONSTER_H +#define GUARD_CONSTANTS_MONSTER_H + +#define NUM_MONSTERS 413 + +#define MONSTER_NONE 0 +#define MONSTER_BULBASAUR 1 +#define MONSTER_IVYSAUR 2 +#define MONSTER_VENUSAUR 3 +#define MONSTER_CHARMANDER 4 +#define MONSTER_CHARMELEON 5 +#define MONSTER_CHARIZARD 6 +#define MONSTER_SQUIRTLE 7 +#define MONSTER_WARTORTLE 8 +#define MONSTER_BLASTOISE 9 +#define MONSTER_CATERPIE 10 +#define MONSTER_METAPOD 11 +#define MONSTER_BUTTERFREE 12 +#define MONSTER_WEEDLE 13 +#define MONSTER_KAKUNA 14 +#define MONSTER_BEEDRILL 15 +#define MONSTER_PIDGEY 16 +#define MONSTER_PIDGEOTTO 17 +#define MONSTER_PIDGEOT 18 +#define MONSTER_RATTATA 19 +#define MONSTER_RATICATE 20 +#define MONSTER_SPEAROW 21 +#define MONSTER_FEAROW 22 +#define MONSTER_EKANS 23 +#define MONSTER_ARBOK 24 +#define MONSTER_PIKACHU 25 +#define MONSTER_RAICHU 26 +#define MONSTER_SANDSHREW 27 +#define MONSTER_SANDSLASH 28 +#define MONSTER_NIDORAN_F 29 +#define MONSTER_NIDORINA 30 +#define MONSTER_NIDOQUEEN 31 +#define MONSTER_NIDORAN_M 32 +#define MONSTER_NIDORINO 33 +#define MONSTER_NIDOKING 34 +#define MONSTER_CLEFAIRY 35 +#define MONSTER_CLEFABLE 36 +#define MONSTER_VULPIX 37 +#define MONSTER_NINETALES 38 +#define MONSTER_JIGGLYPUFF 39 +#define MONSTER_WIGGLYTUFF 40 +#define MONSTER_ZUBAT 41 +#define MONSTER_GOLBAT 42 +#define MONSTER_ODDISH 43 +#define MONSTER_GLOOM 44 +#define MONSTER_VILEPLUME 45 +#define MONSTER_PARAS 46 +#define MONSTER_PARASECT 47 +#define MONSTER_VENONAT 48 +#define MONSTER_VENOMOTH 49 +#define MONSTER_DIGLETT 50 +#define MONSTER_DUGTRIO 51 +#define MONSTER_MEOWTH 52 +#define MONSTER_PERSIAN 53 +#define MONSTER_PSYDUCK 54 +#define MONSTER_GOLDUCK 55 +#define MONSTER_MANKEY 56 +#define MONSTER_PRIMEAPE 57 +#define MONSTER_GROWLITHE 58 +#define MONSTER_ARCANINE 59 +#define MONSTER_POLIWAG 60 +#define MONSTER_POLIWHIRL 61 +#define MONSTER_POLIWRATH 62 +#define MONSTER_ABRA 63 +#define MONSTER_KADABRA 64 +#define MONSTER_ALAKAZAM 65 +#define MONSTER_MACHOP 66 +#define MONSTER_MACHOKE 67 +#define MONSTER_MACHAMP 68 +#define MONSTER_BELLSPROUT 69 +#define MONSTER_WEEPINBELL 70 +#define MONSTER_VICTREEBEL 71 +#define MONSTER_TENTACOOL 72 +#define MONSTER_TENTACRUEL 73 +#define MONSTER_GEODUDE 74 +#define MONSTER_GRAVELER 75 +#define MONSTER_GOLEM 76 +#define MONSTER_PONYTA 77 +#define MONSTER_RAPIDASH 78 +#define MONSTER_SLOWPOKE 79 +#define MONSTER_SLOWBRO 80 +#define MONSTER_MAGNEMITE 81 +#define MONSTER_MAGNETON 82 +#define MONSTER_FARFETCHD 83 +#define MONSTER_DODUO 84 +#define MONSTER_DODRIO 85 +#define MONSTER_SEEL 86 +#define MONSTER_DEWGONG 87 +#define MONSTER_GRIMER 88 +#define MONSTER_MUK 89 +#define MONSTER_SHELLDER 90 +#define MONSTER_CLOYSTER 91 +#define MONSTER_GASTLY 92 +#define MONSTER_HAUNTER 93 +#define MONSTER_GENGAR 94 +#define MONSTER_ONIX 95 +#define MONSTER_DROWZEE 96 +#define MONSTER_HYPNO 97 +#define MONSTER_KRABBY 98 +#define MONSTER_KINGLER 99 +#define MONSTER_VOLTORB 100 +#define MONSTER_ELECTRODE 101 +#define MONSTER_EXEGGCUTE 102 +#define MONSTER_EXEGGUTOR 103 +#define MONSTER_CUBONE 104 +#define MONSTER_MAROWAK 105 +#define MONSTER_HITMONLEE 106 +#define MONSTER_HITMONCHAN 107 +#define MONSTER_LICKITUNG 108 +#define MONSTER_KOFFING 109 +#define MONSTER_WEEZING 110 +#define MONSTER_RHYHORN 111 +#define MONSTER_RHYDON 112 +#define MONSTER_CHANSEY 113 +#define MONSTER_TANGELA 114 +#define MONSTER_KANGASKHAN 115 +#define MONSTER_HORSEA 116 +#define MONSTER_SEADRA 117 +#define MONSTER_GOLDEEN 118 +#define MONSTER_SEAKING 119 +#define MONSTER_STARYU 120 +#define MONSTER_STARMIE 121 +#define MONSTER_MR_MIME 122 +#define MONSTER_SCYTHER 123 +#define MONSTER_JYNX 124 +#define MONSTER_ELECTABUZZ 125 +#define MONSTER_MAGMAR 126 +#define MONSTER_PINSIR 127 +#define MONSTER_TAUROS 128 +#define MONSTER_MAGIKARP 129 +#define MONSTER_GYARADOS 130 +#define MONSTER_LAPRAS 131 +#define MONSTER_DITTO 132 +#define MONSTER_EEVEE 133 +#define MONSTER_VAPOREON 134 +#define MONSTER_JOLTEON 135 +#define MONSTER_FLAREON 136 +#define MONSTER_PORYGON 137 +#define MONSTER_OMANYTE 138 +#define MONSTER_OMASTAR 139 +#define MONSTER_KABUTO 140 +#define MONSTER_KABUTOPS 141 +#define MONSTER_AERODACTYL 142 +#define MONSTER_SNORLAX 143 +#define MONSTER_ARTICUNO 144 +#define MONSTER_ZAPDOS 145 +#define MONSTER_MOLTRES 146 +#define MONSTER_DRATINI 147 +#define MONSTER_DRAGONAIR 148 +#define MONSTER_DRAGONITE 149 +#define MONSTER_MEWTWO 150 +#define MONSTER_MEW 151 +#define MONSTER_CHIKORITA 152 +#define MONSTER_BAYLEEF 153 +#define MONSTER_MEGANIUM 154 +#define MONSTER_CYNDAQUIL 155 +#define MONSTER_QUILAVA 156 +#define MONSTER_TYPHLOSION 157 +#define MONSTER_TOTODILE 158 +#define MONSTER_CROCONAW 159 +#define MONSTER_FERALIGATR 160 +#define MONSTER_SENTRET 161 +#define MONSTER_FURRET 162 +#define MONSTER_HOOTHOOT 163 +#define MONSTER_NOCTOWL 164 +#define MONSTER_LEDYBA 165 +#define MONSTER_LEDIAN 166 +#define MONSTER_SPINARAK 167 +#define MONSTER_ARIADOS 168 +#define MONSTER_CROBAT 169 +#define MONSTER_CHINCHOU 170 +#define MONSTER_LANTURN 171 +#define MONSTER_PICHU 172 +#define MONSTER_CLEFFA 173 +#define MONSTER_IGGLYBUFF 174 +#define MONSTER_TOGEPI 175 +#define MONSTER_TOGETIC 176 +#define MONSTER_NATU 177 +#define MONSTER_XATU 178 +#define MONSTER_MAREEP 179 +#define MONSTER_FLAAFFY 180 +#define MONSTER_AMPHAROS 181 +#define MONSTER_BELLOSSOM 182 +#define MONSTER_MARILL 183 +#define MONSTER_AZUMARILL 184 +#define MONSTER_SUDOWOODO 185 +#define MONSTER_POLITOED 186 +#define MONSTER_HOPPIP 187 +#define MONSTER_SKIPLOOM 188 +#define MONSTER_JUMPLUFF 189 +#define MONSTER_AIPOM 190 +#define MONSTER_SUNKERN 191 +#define MONSTER_SUNFLORA 192 +#define MONSTER_YANMA 193 +#define MONSTER_WOOPER 194 +#define MONSTER_QUAGSIRE 195 +#define MONSTER_ESPEON 196 +#define MONSTER_UMBREON 197 +#define MONSTER_MURKROW 198 +#define MONSTER_SLOWKING 199 +#define MONSTER_MISDREAVUS 200 +#define MONSTER_UNOWN 201 +#define MONSTER_UNOWN_A 201 +#define MONSTER_UNOWN_B 202 +#define MONSTER_UNOWN_C 203 +#define MONSTER_UNOWN_D 204 +#define MONSTER_UNOWN_E 205 +#define MONSTER_UNOWN_F 206 +#define MONSTER_UNOWN_G 207 +#define MONSTER_UNOWN_H 208 +#define MONSTER_UNOWN_I 209 +#define MONSTER_UNOWN_J 210 +#define MONSTER_UNOWN_K 211 +#define MONSTER_UNOWN_L 212 +#define MONSTER_UNOWN_M 213 +#define MONSTER_UNOWN_N 214 +#define MONSTER_UNOWN_O 215 +#define MONSTER_UNOWN_P 216 +#define MONSTER_UNOWN_Q 217 +#define MONSTER_UNOWN_R 218 +#define MONSTER_UNOWN_S 219 +#define MONSTER_UNOWN_T 220 +#define MONSTER_UNOWN_U 221 +#define MONSTER_UNOWN_V 222 +#define MONSTER_UNOWN_W 223 +#define MONSTER_UNOWN_X 224 +#define MONSTER_UNOWN_Y 225 +#define MONSTER_UNOWN_Z 226 +#define MONSTER_WOBBUFFET 227 +#define MONSTER_GIRAFARIG 228 +#define MONSTER_PINECO 229 +#define MONSTER_FORRETRESS 230 +#define MONSTER_DUNSPARCE 231 +#define MONSTER_GLIGAR 232 +#define MONSTER_STEELIX 233 +#define MONSTER_SNUBBULL 234 +#define MONSTER_GRANBULL 235 +#define MONSTER_QWILFISH 236 +#define MONSTER_SCIZOR 237 +#define MONSTER_SHUCKLE 238 +#define MONSTER_HERACROSS 239 +#define MONSTER_SNEASEL 240 +#define MONSTER_TEDDIURSA 241 +#define MONSTER_URSARING 242 +#define MONSTER_SLUGMA 243 +#define MONSTER_MAGCARGO 244 +#define MONSTER_SWINUB 245 +#define MONSTER_PILOSWINE 246 +#define MONSTER_CORSOLA 247 +#define MONSTER_REMORAID 248 +#define MONSTER_OCTILLERY 249 +#define MONSTER_DELIBIRD 250 +#define MONSTER_MANTINE 251 +#define MONSTER_SKARMORY 252 +#define MONSTER_HOUNDOUR 253 +#define MONSTER_HOUNDOOM 254 +#define MONSTER_KINGDRA 255 +#define MONSTER_PHANPY 256 +#define MONSTER_DONPHAN 257 +#define MONSTER_PORYGON2 258 +#define MONSTER_STANTLER 259 +#define MONSTER_SMEARGLE 260 +#define MONSTER_TYROGUE 261 +#define MONSTER_HITMONTOP 262 +#define MONSTER_SMOOCHUM 263 +#define MONSTER_ELEKID 264 +#define MONSTER_MAGBY 265 +#define MONSTER_MILTANK 266 +#define MONSTER_BLISSEY 267 +#define MONSTER_RAIKOU 268 +#define MONSTER_ENTEI 269 +#define MONSTER_SUICUNE 270 +#define MONSTER_LARVITAR 271 +#define MONSTER_PUPITAR 272 +#define MONSTER_TYRANITAR 273 +#define MONSTER_LUGIA 274 +#define MONSTER_HO_OH 275 +#define MONSTER_CELEBI 276 +#define MONSTER_TREECKO 277 +#define MONSTER_GROVYLE 278 +#define MONSTER_SCEPTILE 279 +#define MONSTER_TORCHIC 280 +#define MONSTER_COMBUSKEN 281 +#define MONSTER_BLAZIKEN 282 +#define MONSTER_MUDKIP 283 +#define MONSTER_MARSHTOMP 284 +#define MONSTER_SWAMPERT 285 +#define MONSTER_POOCHYENA 286 +#define MONSTER_MIGHTYENA 287 +#define MONSTER_ZIGZAGOON 288 +#define MONSTER_LINOONE 289 +#define MONSTER_WURMPLE 290 +#define MONSTER_SILCOON 291 +#define MONSTER_BEAUTIFLY 292 +#define MONSTER_CASCOON 293 +#define MONSTER_DUSTOX 294 +#define MONSTER_LOTAD 295 +#define MONSTER_LOMBRE 296 +#define MONSTER_LUDICOLO 297 +#define MONSTER_SEEDOT 298 +#define MONSTER_NUZLEAF 299 +#define MONSTER_SHIFTRY 300 +#define MONSTER_TAILLOW 301 +#define MONSTER_SWELLOW 302 +#define MONSTER_WINGULL 303 +#define MONSTER_PELIPPER 304 +#define MONSTER_RALTS 305 +#define MONSTER_KIRLIA 306 +#define MONSTER_GARDEVOIR 307 +#define MONSTER_SURSKIT 308 +#define MONSTER_MASQUERAIN 309 +#define MONSTER_SHROOMISH 310 +#define MONSTER_BRELOOM 311 +#define MONSTER_SLAKOTH 312 +#define MONSTER_VIGOROTH 313 +#define MONSTER_SLAKING 314 +#define MONSTER_NINCADA 315 +#define MONSTER_NINJASK 316 +#define MONSTER_SHEDINJA 317 +#define MONSTER_WHISMUR 318 +#define MONSTER_LOUDRED 319 +#define MONSTER_EXPLOUD 320 +#define MONSTER_MAKUHITA 321 +#define MONSTER_HARIYAMA 322 +#define MONSTER_AZURILL 323 +#define MONSTER_NOSEPASS 324 +#define MONSTER_SKITTY 325 +#define MONSTER_DELCATTY 326 +#define MONSTER_SABLEYE 327 +#define MONSTER_MAWILE 328 +#define MONSTER_ARON 329 +#define MONSTER_LAIRON 330 +#define MONSTER_AGGRON 331 +#define MONSTER_MEDITITE 332 +#define MONSTER_MEDICHAM 333 +#define MONSTER_ELECTRIKE 334 +#define MONSTER_MANECTRIC 335 +#define MONSTER_PLUSLE 336 +#define MONSTER_MINUN 337 +#define MONSTER_VOLBEAT 338 +#define MONSTER_ILLIMISE 339 +#define MONSTER_ROSELIA 340 +#define MONSTER_GULPIN 341 +#define MONSTER_SWALOT 342 +#define MONSTER_CARVANHA 343 +#define MONSTER_SHARPEDO 344 +#define MONSTER_WAILMER 345 +#define MONSTER_WAILORD 346 +#define MONSTER_NUMEL 347 +#define MONSTER_CAMERUPT 348 +#define MONSTER_TORKOAL 349 +#define MONSTER_SPOINK 350 +#define MONSTER_GRUMPIG 351 +#define MONSTER_SPINDA 352 +#define MONSTER_TRAPINCH 353 +#define MONSTER_VIBRAVA 354 +#define MONSTER_FLYGON 355 +#define MONSTER_CACNEA 356 +#define MONSTER_CACTURNE 357 +#define MONSTER_SWABLU 358 +#define MONSTER_ALTARIA 359 +#define MONSTER_ZANGOOSE 360 +#define MONSTER_SEVIPER 361 +#define MONSTER_LUNATONE 362 +#define MONSTER_SOLROCK 363 +#define MONSTER_BARBOACH 364 +#define MONSTER_WHISCASH 365 +#define MONSTER_CORPHISH 366 +#define MONSTER_CRAWDAUNT 367 +#define MONSTER_BALTOY 368 +#define MONSTER_CLAYDOL 369 +#define MONSTER_LILEEP 370 +#define MONSTER_CRADILY 371 +#define MONSTER_ANORITH 372 +#define MONSTER_ARMALDO 373 +#define MONSTER_FEEBAS 374 +#define MONSTER_MILOTIC 375 +#define MONSTER_CASTFORM 376 +#define MONSTER_CASTFORM_SNOWY 377 +#define MONSTER_CASTFORM_SUNNY 378 +#define MONSTER_CASTFORM_RAINY 379 +#define MONSTER_KECLEON 380 +#define MONSTER_SHUPPET 381 +#define MONSTER_BANETTE 382 +#define MONSTER_DUSKULL 383 +#define MONSTER_DUSCLOPS 384 +#define MONSTER_TROPIUS 385 +#define MONSTER_CHIMECHO 386 +#define MONSTER_ABSOL 387 +#define MONSTER_WYNAUT 388 +#define MONSTER_SNORUNT 389 +#define MONSTER_GLALIE 390 +#define MONSTER_SPHEAL 391 +#define MONSTER_SEALEO 392 +#define MONSTER_WALREIN 393 +#define MONSTER_CLAMPERL 394 +#define MONSTER_HUNTAIL 395 +#define MONSTER_GOREBYSS 396 +#define MONSTER_RELICANTH 397 +#define MONSTER_LUVDISC 398 +#define MONSTER_BAGON 399 +#define MONSTER_SHELGON 400 +#define MONSTER_SALAMENCE 401 +#define MONSTER_BELDUM 402 +#define MONSTER_METANG 403 +#define MONSTER_METAGROSS 404 +#define MONSTER_REGIROCK 405 +#define MONSTER_REGICE 406 +#define MONSTER_REGISTEEL 407 +#define MONSTER_LATIAS 408 +#define MONSTER_LATIOS 409 +#define MONSTER_KYOGRE 410 +#define MONSTER_GROUDON 411 +#define MONSTER_RAYQUAZA 412 +#define MONSTER_JIRACHI 413 +#define MONSTER_DEOXYS_NORMAL 414 +#define MONSTER_UNOWN_EMARK 415 +#define MONSTER_UNOWN_QMARK 416 +#define MONSTER_DEOXYS_ATTACK 417 +#define MONSTER_DEOXYS_DEFENSE 418 +#define MONSTER_DEOXYS_SPEED 419 +#define MONSTER_MUNCHLAX 420 +#define MONSTER_DECOY 421 +#define MONSTER_STATUE 422 +#define MONSTER_RAYQUAZA_CUTSCENE 423 + +#endif // GUARD_CONSTANTS_MONSTER_H diff --git a/include/constants/move.h b/include/constants/move.h index e5de48563..27a57789b 100644 --- a/include/constants/move.h +++ b/include/constants/move.h @@ -6,8 +6,8 @@ enum MoveFlag { MOVE_FLAG_EXISTS = 1 << 0, - MOVE_FLAG_LINKED = 1 << 1, // This move is linked with the previous move in the Pokémon's moveset. - MOVE_FLAG_ENABLED = 1 << 2, // Enabled for the AI to use. + MOVE_FLAG_SUBSEQUENT_IN_LINK_CHAIN = 1 << 1, // This move is linked with the previous move in the Pokémon's moveset. + MOVE_FLAG_ENABLED_FOR_AI = 1 << 2, // Enabled for the AI to use. MOVE_FLAG_SET = 1 << 3, // This move can be triggered by pressing L+A instead of having to go to the move menu. MOVE_FLAG_LAST_USED = 1 << 4, // The most recent move used by the Pokémon. MOVE_FLAG_DISABLED = 1 << 5 // Disabled by an effect like Taunt. @@ -23,47 +23,47 @@ enum MoveFlag2 enum AccuracyType { // Accuracy used for all moves. - ACCURACY_TYPE_GLOBAL, + ACCURACY_1, // Multiplied with the global accuracy for offensive moves (i.e., not status moves). - ACCURACY_TYPE_OFFENSIVE, + ACCURACY_2, // Used by the AI to determine how often to use Spikes. // Values exist for all other moves, though they seem to be unused. - ACCURACY_TYPE_USE_CHANCE, + ACCURACY_AI_CONDITION_RANDOM_CHANCE, NUM_ACCURACY_TYPES }; -struct MoveData +struct MoveDataEntry { - u8 *namePointer; - /* 0x4 */ s16 power; + u8 *name; + /* 0x4 */ s16 basePower; u8 type; // Determines the range of moves. /* 0x8 */ u16 targetingFlags[2]; // 0 for player and 1 for AI // The AI consider certain moves to have different range than they actually do. - /* 0xC */ u8 maxPP; - /* 0xD */ u8 weight; + /* 0xC */ u8 basePP; + /* 0xD */ u8 aiWeight; // There are multiple accuracy values. These are define with the AccuracyType enum. /* 0xE */ u8 accuracy[NUM_ACCURACY_TYPES]; - /* 0x11 */ u8 hitCount; // Maximum number of times the move will hit. Used for multi-hit moves like Fury Attack. - u8 unk12; - /* 0x13 */ u8 criticalHitChance; + /* 0x11 */ u8 numberOfChainedHits; // Maximum number of times the move will hit. Used for multi-hit moves like Fury Attack. + u8 maxUpgradeLevel; + /* 0x13 */ u8 critChance; /* 0x14 */ bool8 affectedByMagicCoat; // If true, this move is reflected by Magic Coat. - /* 0x15 */ bool8 targetsUser; - /* 0x16 */ bool8 affectedByMuzzled; // If true, this move can't be used with the Muzzled status. + /* 0x15 */ bool8 isSnatchable; + /* 0x16 */ bool8 usesMouth; // If true, this move can't be used with the Muzzled status. /* 0x17 */ bool8 cannotHitFrozen; // Used by Status Checker to determine if a move can be used on a frozen target. - /* 0x18 */ bool8 dealsDirectDamage; - u8 rangeType; - u8 *descriptionPointer; + /* 0x18 */ bool8 ignoresTaunted; + u8 rangeID; + u8 *description; u8 *useText; // The text displayed when this move is used. }; -struct PokemonMove +struct Move { u8 moveFlags; u8 moveFlags2; - u16 moveID; + u16 id; u8 PP; - u8 powerBoost; // How much the move is boosted by Ginsengs. + u8 ginseng; // How much the move is boosted by Ginsengs. }; enum TargetingFlag diff --git a/include/constants/move_id.h b/include/constants/move_id.h index 15954fe86..371e82f61 100644 --- a/include/constants/move_id.h +++ b/include/constants/move_id.h @@ -1,7 +1,7 @@ #ifndef GUARD_CONSTANTS_MOVE_ID_H #define GUARD_CONSTANTS_MOVE_ID_H -#define MOVE_NONE 0x0 +#define MOVE_NOTHING 0x0 #define MOVE_IRON_TAIL 0x1 #define MOVE_ICE_BALL 0x2 #define MOVE_YAWN 0x3 diff --git a/include/constants/species.h b/include/constants/species.h deleted file mode 100644 index e01bdb233..000000000 --- a/include/constants/species.h +++ /dev/null @@ -1,432 +0,0 @@ -#ifndef GUARD_CONSTANTS_SPECIES_H -#define GUARD_CONSTANTS_SPECIES_H - -#define NUM_SPECIES 413 - -#define SPECIES_NONE 0 -#define SPECIES_BULBASAUR 1 -#define SPECIES_IVYSAUR 2 -#define SPECIES_VENUSAUR 3 -#define SPECIES_CHARMANDER 4 -#define SPECIES_CHARMELEON 5 -#define SPECIES_CHARIZARD 6 -#define SPECIES_SQUIRTLE 7 -#define SPECIES_WARTORTLE 8 -#define SPECIES_BLASTOISE 9 -#define SPECIES_CATERPIE 10 -#define SPECIES_METAPOD 11 -#define SPECIES_BUTTERFREE 12 -#define SPECIES_WEEDLE 13 -#define SPECIES_KAKUNA 14 -#define SPECIES_BEEDRILL 15 -#define SPECIES_PIDGEY 16 -#define SPECIES_PIDGEOTTO 17 -#define SPECIES_PIDGEOT 18 -#define SPECIES_RATTATA 19 -#define SPECIES_RATICATE 20 -#define SPECIES_SPEAROW 21 -#define SPECIES_FEAROW 22 -#define SPECIES_EKANS 23 -#define SPECIES_ARBOK 24 -#define SPECIES_PIKACHU 25 -#define SPECIES_RAICHU 26 -#define SPECIES_SANDSHREW 27 -#define SPECIES_SANDSLASH 28 -#define SPECIES_NIDORAN_F 29 -#define SPECIES_NIDORINA 30 -#define SPECIES_NIDOQUEEN 31 -#define SPECIES_NIDORAN_M 32 -#define SPECIES_NIDORINO 33 -#define SPECIES_NIDOKING 34 -#define SPECIES_CLEFAIRY 35 -#define SPECIES_CLEFABLE 36 -#define SPECIES_VULPIX 37 -#define SPECIES_NINETALES 38 -#define SPECIES_JIGGLYPUFF 39 -#define SPECIES_WIGGLYTUFF 40 -#define SPECIES_ZUBAT 41 -#define SPECIES_GOLBAT 42 -#define SPECIES_ODDISH 43 -#define SPECIES_GLOOM 44 -#define SPECIES_VILEPLUME 45 -#define SPECIES_PARAS 46 -#define SPECIES_PARASECT 47 -#define SPECIES_VENONAT 48 -#define SPECIES_VENOMOTH 49 -#define SPECIES_DIGLETT 50 -#define SPECIES_DUGTRIO 51 -#define SPECIES_MEOWTH 52 -#define SPECIES_PERSIAN 53 -#define SPECIES_PSYDUCK 54 -#define SPECIES_GOLDUCK 55 -#define SPECIES_MANKEY 56 -#define SPECIES_PRIMEAPE 57 -#define SPECIES_GROWLITHE 58 -#define SPECIES_ARCANINE 59 -#define SPECIES_POLIWAG 60 -#define SPECIES_POLIWHIRL 61 -#define SPECIES_POLIWRATH 62 -#define SPECIES_ABRA 63 -#define SPECIES_KADABRA 64 -#define SPECIES_ALAKAZAM 65 -#define SPECIES_MACHOP 66 -#define SPECIES_MACHOKE 67 -#define SPECIES_MACHAMP 68 -#define SPECIES_BELLSPROUT 69 -#define SPECIES_WEEPINBELL 70 -#define SPECIES_VICTREEBEL 71 -#define SPECIES_TENTACOOL 72 -#define SPECIES_TENTACRUEL 73 -#define SPECIES_GEODUDE 74 -#define SPECIES_GRAVELER 75 -#define SPECIES_GOLEM 76 -#define SPECIES_PONYTA 77 -#define SPECIES_RAPIDASH 78 -#define SPECIES_SLOWPOKE 79 -#define SPECIES_SLOWBRO 80 -#define SPECIES_MAGNEMITE 81 -#define SPECIES_MAGNETON 82 -#define SPECIES_FARFETCHD 83 -#define SPECIES_DODUO 84 -#define SPECIES_DODRIO 85 -#define SPECIES_SEEL 86 -#define SPECIES_DEWGONG 87 -#define SPECIES_GRIMER 88 -#define SPECIES_MUK 89 -#define SPECIES_SHELLDER 90 -#define SPECIES_CLOYSTER 91 -#define SPECIES_GASTLY 92 -#define SPECIES_HAUNTER 93 -#define SPECIES_GENGAR 94 -#define SPECIES_ONIX 95 -#define SPECIES_DROWZEE 96 -#define SPECIES_HYPNO 97 -#define SPECIES_KRABBY 98 -#define SPECIES_KINGLER 99 -#define SPECIES_VOLTORB 100 -#define SPECIES_ELECTRODE 101 -#define SPECIES_EXEGGCUTE 102 -#define SPECIES_EXEGGUTOR 103 -#define SPECIES_CUBONE 104 -#define SPECIES_MAROWAK 105 -#define SPECIES_HITMONLEE 106 -#define SPECIES_HITMONCHAN 107 -#define SPECIES_LICKITUNG 108 -#define SPECIES_KOFFING 109 -#define SPECIES_WEEZING 110 -#define SPECIES_RHYHORN 111 -#define SPECIES_RHYDON 112 -#define SPECIES_CHANSEY 113 -#define SPECIES_TANGELA 114 -#define SPECIES_KANGASKHAN 115 -#define SPECIES_HORSEA 116 -#define SPECIES_SEADRA 117 -#define SPECIES_GOLDEEN 118 -#define SPECIES_SEAKING 119 -#define SPECIES_STARYU 120 -#define SPECIES_STARMIE 121 -#define SPECIES_MR_MIME 122 -#define SPECIES_SCYTHER 123 -#define SPECIES_JYNX 124 -#define SPECIES_ELECTABUZZ 125 -#define SPECIES_MAGMAR 126 -#define SPECIES_PINSIR 127 -#define SPECIES_TAUROS 128 -#define SPECIES_MAGIKARP 129 -#define SPECIES_GYARADOS 130 -#define SPECIES_LAPRAS 131 -#define SPECIES_DITTO 132 -#define SPECIES_EEVEE 133 -#define SPECIES_VAPOREON 134 -#define SPECIES_JOLTEON 135 -#define SPECIES_FLAREON 136 -#define SPECIES_PORYGON 137 -#define SPECIES_OMANYTE 138 -#define SPECIES_OMASTAR 139 -#define SPECIES_KABUTO 140 -#define SPECIES_KABUTOPS 141 -#define SPECIES_AERODACTYL 142 -#define SPECIES_SNORLAX 143 -#define SPECIES_ARTICUNO 144 -#define SPECIES_ZAPDOS 145 -#define SPECIES_MOLTRES 146 -#define SPECIES_DRATINI 147 -#define SPECIES_DRAGONAIR 148 -#define SPECIES_DRAGONITE 149 -#define SPECIES_MEWTWO 150 -#define SPECIES_MEW 151 -#define SPECIES_CHIKORITA 152 -#define SPECIES_BAYLEEF 153 -#define SPECIES_MEGANIUM 154 -#define SPECIES_CYNDAQUIL 155 -#define SPECIES_QUILAVA 156 -#define SPECIES_TYPHLOSION 157 -#define SPECIES_TOTODILE 158 -#define SPECIES_CROCONAW 159 -#define SPECIES_FERALIGATR 160 -#define SPECIES_SENTRET 161 -#define SPECIES_FURRET 162 -#define SPECIES_HOOTHOOT 163 -#define SPECIES_NOCTOWL 164 -#define SPECIES_LEDYBA 165 -#define SPECIES_LEDIAN 166 -#define SPECIES_SPINARAK 167 -#define SPECIES_ARIADOS 168 -#define SPECIES_CROBAT 169 -#define SPECIES_CHINCHOU 170 -#define SPECIES_LANTURN 171 -#define SPECIES_PICHU 172 -#define SPECIES_CLEFFA 173 -#define SPECIES_IGGLYBUFF 174 -#define SPECIES_TOGEPI 175 -#define SPECIES_TOGETIC 176 -#define SPECIES_NATU 177 -#define SPECIES_XATU 178 -#define SPECIES_MAREEP 179 -#define SPECIES_FLAAFFY 180 -#define SPECIES_AMPHAROS 181 -#define SPECIES_BELLOSSOM 182 -#define SPECIES_MARILL 183 -#define SPECIES_AZUMARILL 184 -#define SPECIES_SUDOWOODO 185 -#define SPECIES_POLITOED 186 -#define SPECIES_HOPPIP 187 -#define SPECIES_SKIPLOOM 188 -#define SPECIES_JUMPLUFF 189 -#define SPECIES_AIPOM 190 -#define SPECIES_SUNKERN 191 -#define SPECIES_SUNFLORA 192 -#define SPECIES_YANMA 193 -#define SPECIES_WOOPER 194 -#define SPECIES_QUAGSIRE 195 -#define SPECIES_ESPEON 196 -#define SPECIES_UMBREON 197 -#define SPECIES_MURKROW 198 -#define SPECIES_SLOWKING 199 -#define SPECIES_MISDREAVUS 200 -#define SPECIES_UNOWN 201 -#define SPECIES_UNOWN_A 201 -#define SPECIES_UNOWN_B 202 -#define SPECIES_UNOWN_C 203 -#define SPECIES_UNOWN_D 204 -#define SPECIES_UNOWN_E 205 -#define SPECIES_UNOWN_F 206 -#define SPECIES_UNOWN_G 207 -#define SPECIES_UNOWN_H 208 -#define SPECIES_UNOWN_I 209 -#define SPECIES_UNOWN_J 210 -#define SPECIES_UNOWN_K 211 -#define SPECIES_UNOWN_L 212 -#define SPECIES_UNOWN_M 213 -#define SPECIES_UNOWN_N 214 -#define SPECIES_UNOWN_O 215 -#define SPECIES_UNOWN_P 216 -#define SPECIES_UNOWN_Q 217 -#define SPECIES_UNOWN_R 218 -#define SPECIES_UNOWN_S 219 -#define SPECIES_UNOWN_T 220 -#define SPECIES_UNOWN_U 221 -#define SPECIES_UNOWN_V 222 -#define SPECIES_UNOWN_W 223 -#define SPECIES_UNOWN_X 224 -#define SPECIES_UNOWN_Y 225 -#define SPECIES_UNOWN_Z 226 -#define SPECIES_WOBBUFFET 227 -#define SPECIES_GIRAFARIG 228 -#define SPECIES_PINECO 229 -#define SPECIES_FORRETRESS 230 -#define SPECIES_DUNSPARCE 231 -#define SPECIES_GLIGAR 232 -#define SPECIES_STEELIX 233 -#define SPECIES_SNUBBULL 234 -#define SPECIES_GRANBULL 235 -#define SPECIES_QWILFISH 236 -#define SPECIES_SCIZOR 237 -#define SPECIES_SHUCKLE 238 -#define SPECIES_HERACROSS 239 -#define SPECIES_SNEASEL 240 -#define SPECIES_TEDDIURSA 241 -#define SPECIES_URSARING 242 -#define SPECIES_SLUGMA 243 -#define SPECIES_MAGCARGO 244 -#define SPECIES_SWINUB 245 -#define SPECIES_PILOSWINE 246 -#define SPECIES_CORSOLA 247 -#define SPECIES_REMORAID 248 -#define SPECIES_OCTILLERY 249 -#define SPECIES_DELIBIRD 250 -#define SPECIES_MANTINE 251 -#define SPECIES_SKARMORY 252 -#define SPECIES_HOUNDOUR 253 -#define SPECIES_HOUNDOOM 254 -#define SPECIES_KINGDRA 255 -#define SPECIES_PHANPY 256 -#define SPECIES_DONPHAN 257 -#define SPECIES_PORYGON2 258 -#define SPECIES_STANTLER 259 -#define SPECIES_SMEARGLE 260 -#define SPECIES_TYROGUE 261 -#define SPECIES_HITMONTOP 262 -#define SPECIES_SMOOCHUM 263 -#define SPECIES_ELEKID 264 -#define SPECIES_MAGBY 265 -#define SPECIES_MILTANK 266 -#define SPECIES_BLISSEY 267 -#define SPECIES_RAIKOU 268 -#define SPECIES_ENTEI 269 -#define SPECIES_SUICUNE 270 -#define SPECIES_LARVITAR 271 -#define SPECIES_PUPITAR 272 -#define SPECIES_TYRANITAR 273 -#define SPECIES_LUGIA 274 -#define SPECIES_HO_OH 275 -#define SPECIES_CELEBI 276 -#define SPECIES_TREECKO 277 -#define SPECIES_GROVYLE 278 -#define SPECIES_SCEPTILE 279 -#define SPECIES_TORCHIC 280 -#define SPECIES_COMBUSKEN 281 -#define SPECIES_BLAZIKEN 282 -#define SPECIES_MUDKIP 283 -#define SPECIES_MARSHTOMP 284 -#define SPECIES_SWAMPERT 285 -#define SPECIES_POOCHYENA 286 -#define SPECIES_MIGHTYENA 287 -#define SPECIES_ZIGZAGOON 288 -#define SPECIES_LINOONE 289 -#define SPECIES_WURMPLE 290 -#define SPECIES_SILCOON 291 -#define SPECIES_BEAUTIFLY 292 -#define SPECIES_CASCOON 293 -#define SPECIES_DUSTOX 294 -#define SPECIES_LOTAD 295 -#define SPECIES_LOMBRE 296 -#define SPECIES_LUDICOLO 297 -#define SPECIES_SEEDOT 298 -#define SPECIES_NUZLEAF 299 -#define SPECIES_SHIFTRY 300 -#define SPECIES_TAILLOW 301 -#define SPECIES_SWELLOW 302 -#define SPECIES_WINGULL 303 -#define SPECIES_PELIPPER 304 -#define SPECIES_RALTS 305 -#define SPECIES_KIRLIA 306 -#define SPECIES_GARDEVOIR 307 -#define SPECIES_SURSKIT 308 -#define SPECIES_MASQUERAIN 309 -#define SPECIES_SHROOMISH 310 -#define SPECIES_BRELOOM 311 -#define SPECIES_SLAKOTH 312 -#define SPECIES_VIGOROTH 313 -#define SPECIES_SLAKING 314 -#define SPECIES_NINCADA 315 -#define SPECIES_NINJASK 316 -#define SPECIES_SHEDINJA 317 -#define SPECIES_WHISMUR 318 -#define SPECIES_LOUDRED 319 -#define SPECIES_EXPLOUD 320 -#define SPECIES_MAKUHITA 321 -#define SPECIES_HARIYAMA 322 -#define SPECIES_AZURILL 323 -#define SPECIES_NOSEPASS 324 -#define SPECIES_SKITTY 325 -#define SPECIES_DELCATTY 326 -#define SPECIES_SABLEYE 327 -#define SPECIES_MAWILE 328 -#define SPECIES_ARON 329 -#define SPECIES_LAIRON 330 -#define SPECIES_AGGRON 331 -#define SPECIES_MEDITITE 332 -#define SPECIES_MEDICHAM 333 -#define SPECIES_ELECTRIKE 334 -#define SPECIES_MANECTRIC 335 -#define SPECIES_PLUSLE 336 -#define SPECIES_MINUN 337 -#define SPECIES_VOLBEAT 338 -#define SPECIES_ILLIMISE 339 -#define SPECIES_ROSELIA 340 -#define SPECIES_GULPIN 341 -#define SPECIES_SWALOT 342 -#define SPECIES_CARVANHA 343 -#define SPECIES_SHARPEDO 344 -#define SPECIES_WAILMER 345 -#define SPECIES_WAILORD 346 -#define SPECIES_NUMEL 347 -#define SPECIES_CAMERUPT 348 -#define SPECIES_TORKOAL 349 -#define SPECIES_SPOINK 350 -#define SPECIES_GRUMPIG 351 -#define SPECIES_SPINDA 352 -#define SPECIES_TRAPINCH 353 -#define SPECIES_VIBRAVA 354 -#define SPECIES_FLYGON 355 -#define SPECIES_CACNEA 356 -#define SPECIES_CACTURNE 357 -#define SPECIES_SWABLU 358 -#define SPECIES_ALTARIA 359 -#define SPECIES_ZANGOOSE 360 -#define SPECIES_SEVIPER 361 -#define SPECIES_LUNATONE 362 -#define SPECIES_SOLROCK 363 -#define SPECIES_BARBOACH 364 -#define SPECIES_WHISCASH 365 -#define SPECIES_CORPHISH 366 -#define SPECIES_CRAWDAUNT 367 -#define SPECIES_BALTOY 368 -#define SPECIES_CLAYDOL 369 -#define SPECIES_LILEEP 370 -#define SPECIES_CRADILY 371 -#define SPECIES_ANORITH 372 -#define SPECIES_ARMALDO 373 -#define SPECIES_FEEBAS 374 -#define SPECIES_MILOTIC 375 -#define SPECIES_CASTFORM 376 -#define SPECIES_CASTFORM_SNOWY 377 -#define SPECIES_CASTFORM_SUNNY 378 -#define SPECIES_CASTFORM_RAINY 379 -#define SPECIES_KECLEON 380 -#define SPECIES_SHUPPET 381 -#define SPECIES_BANETTE 382 -#define SPECIES_DUSKULL 383 -#define SPECIES_DUSCLOPS 384 -#define SPECIES_TROPIUS 385 -#define SPECIES_CHIMECHO 386 -#define SPECIES_ABSOL 387 -#define SPECIES_WYNAUT 388 -#define SPECIES_SNORUNT 389 -#define SPECIES_GLALIE 390 -#define SPECIES_SPHEAL 391 -#define SPECIES_SEALEO 392 -#define SPECIES_WALREIN 393 -#define SPECIES_CLAMPERL 394 -#define SPECIES_HUNTAIL 395 -#define SPECIES_GOREBYSS 396 -#define SPECIES_RELICANTH 397 -#define SPECIES_LUVDISC 398 -#define SPECIES_BAGON 399 -#define SPECIES_SHELGON 400 -#define SPECIES_SALAMENCE 401 -#define SPECIES_BELDUM 402 -#define SPECIES_METANG 403 -#define SPECIES_METAGROSS 404 -#define SPECIES_REGIROCK 405 -#define SPECIES_REGICE 406 -#define SPECIES_REGISTEEL 407 -#define SPECIES_LATIAS 408 -#define SPECIES_LATIOS 409 -#define SPECIES_KYOGRE 410 -#define SPECIES_GROUDON 411 -#define SPECIES_RAYQUAZA 412 -#define SPECIES_JIRACHI 413 -#define SPECIES_DEOXYS_NORMAL 414 -#define SPECIES_UNOWN_EMARK 415 -#define SPECIES_UNOWN_QMARK 416 -#define SPECIES_DEOXYS_ATTACK 417 -#define SPECIES_DEOXYS_DEFENSE 418 -#define SPECIES_DEOXYS_SPEED 419 -#define SPECIES_MUNCHLAX 420 -#define SPECIES_DECOY 421 -#define SPECIES_STATUE 422 -#define SPECIES_RAYQUAZA_CUTSCENE 423 - -#endif // GUARD_CONSTANTS_SPECIES_H diff --git a/include/constants/status.h b/include/constants/status.h index cf911c09a..8fb8b3b7a 100644 --- a/include/constants/status.h +++ b/include/constants/status.h @@ -1,98 +1,96 @@ #ifndef GUARD_CONSTANTS_STATUS_H #define GUARD_CONSTANTS_STATUS_H -#define SLEEP_STATUS_NONE 0 -#define SLEEP_STATUS_SLEEP 1 -#define SLEEP_STATUS_SLEEPLESS 2 -#define SLEEP_STATUS_NIGHTMARE 3 -#define SLEEP_STATUS_YAWNING 4 -#define SLEEP_STATUS_NAPPING 5 +// Sleep statuses +#define STATUS_NONE 0 +#define STATUS_SLEEP 1 +#define STATUS_SLEEPLESS 2 +#define STATUS_NIGHTMARE 3 +#define STATUS_YAWNING 4 +#define STATUS_NAPPING 5 -#define NON_VOLATILE_STATUS_NONE 0 -#define NON_VOLATILE_STATUS_BURNED 1 -#define NON_VOLATILE_STATUS_POISONED 2 -#define NON_VOLATILE_STATUS_BADLY_POISONED 3 -#define NON_VOLATILE_STATUS_PARALYZED 4 +// Non-volatile statuses +#define STATUS_BURN 1 +#define STATUS_POISONED 2 +#define STATUS_BADLY_POISONED 3 +#define STATUS_PARALYSIS 4 -#define IMMOBILIZE_STATUS_NONE 0 -#define IMMOBILIZE_STATUS_FROZEN 1 -#define IMMOBILIZE_STATUS_IMMOBILIZED 2 -#define IMMOBILIZE_STATUS_WRAPPED_AROUND_FOE 3 -#define IMMOBILIZE_STATUS_WRAPPED_BY_FOE 4 -#define IMMOBILIZE_STATUS_INGRAIN 5 -#define IMMOBILIZE_STATUS_PETRIFIED 6 -#define IMMOBILIZE_STATUS_SQUEEZED 7 +// Immobilize statuses +#define STATUS_FROZEN 1 +#define STATUS_SHADOW_HOLD 2 +#define STATUS_WRAP 3 +#define STATUS_WRAPPED 4 +#define STATUS_INGRAIN 5 +#define STATUS_PETRIFIED 6 +#define STATUS_CONSTRICTION 7 -#define VOLATILE_STATUS_NONE 0 -#define VOLATILE_STATUS_CRINGING 1 -#define VOLATILE_STATUS_CONFUSED 2 -#define VOLATILE_STATUS_PAUSED 3 -#define VOLATILE_STATUS_COWERING 4 -#define VOLATILE_STATUS_TAUNTED 5 -#define VOLATILE_STATUS_ENCORE 6 -#define VOLATILE_STATUS_INFATUATED 7 +// Volatile statuses +#define STATUS_CRINGE 1 +#define STATUS_CONFUSED 2 +#define STATUS_PAUSED 3 +#define STATUS_COWERING 4 +#define STATUS_TAUNTED 5 +#define STATUS_ENCORE 6 +#define STATUS_INFATUATED 7 -#define CHARGING_STATUS_NONE 0 -#define CHARGING_STATUS_BIDE 1 -#define CHARGING_STATUS_SOLARBEAM 2 -#define CHARGING_STATUS_SKY_ATTACK 3 -#define CHARGING_STATUS_RAZOR_WIND 4 -#define CHARGING_STATUS_FOCUS_PUNCH 5 -#define CHARGING_STATUS_SKULL_BASH 6 -#define CHARGING_STATUS_FLY 7 -#define CHARGING_STATUS_BOUNCE 8 -#define CHARGING_STATUS_DIVE 9 -#define CHARGING_STATUS_DIG 10 -#define CHARGING_STATUS_CHARGE 11 -#define CHARGING_STATUS_RAGE 12 +// Charging statuses +#define STATUS_BIDE 1 +#define STATUS_SOLARBEAM 2 +#define STATUS_SKY_ATTACK 3 +#define STATUS_RAZOR_WIND 4 +#define STATUS_FOCUS_PUNCH 5 +#define STATUS_SKULL_BASH 6 +#define STATUS_FLYING 7 +#define STATUS_BOUNCING 8 +#define STATUS_DIVING 9 +#define STATUS_DIGGING 10 +#define STATUS_CHARGING 11 +#define STATUS_ENRAGED 12 -#define PROTECTION_STATUS_NONE 0 -#define PROTECTION_STATUS_REFLECT 1 -#define PROTECTION_STATUS_SAFEGUARD 2 -#define PROTECTION_STATUS_LIGHT_SCREEN 3 -#define PROTECTION_STATUS_COUNTER 4 -#define PROTECTION_STATUS_MAGIC_COAT 5 -#define PROTECTION_STATUS_WISH 6 -#define PROTECTION_STATUS_PROTECT 7 -#define PROTECTION_STATUS_MIRROR_COAT 8 -#define PROTECTION_STATUS_ENDURE 9 -#define PROTECTION_STATUS_MINI_COUNTER 10 -#define PROTECTION_STATUS_MIRROR_MOVE 11 -#define PROTECTION_STATUS_CONVERSION_2 12 -#define PROTECTION_STATUS_VITAL_THROW 13 -#define PROTECTION_STATUS_MIST 14 +// Protection statuses +#define STATUS_REFLECT 1 +#define STATUS_SAFEGUARD 2 +#define STATUS_LIGHT_SCREEN 3 +#define STATUS_COUNTER 4 +#define STATUS_MAGIC_COAT 5 +#define STATUS_WISH 6 +#define STATUS_PROTECT 7 +#define STATUS_MIRROR_COAT 8 +#define STATUS_ENDURING 9 +#define STATUS_MINI_COUNTER 10 +#define STATUS_MIRROR_MOVE 11 +#define STATUS_CONVERSION2 12 +#define STATUS_VITAL_THROW 13 +#define STATUS_MIST 14 -#define WAITING_STATUS_NONE 0 -#define WAITING_STATUS_CURSED 1 -#define WAITING_STATUS_DECOY 2 -#define WAITING_STATUS_SNATCH 3 +// Waiting statuses +#define STATUS_CURSED 1 +#define STATUS_DECOY 2 +#define STATUS_SNATCH 3 -#define LINKED_STATUS_NONE 0 -#define LINKED_STATUS_LEECH_SEED 1 -#define LINKED_STATUS_DESTINY_BOND 2 +// Linked statuses +#define STATUS_LEECH_SEED 1 +#define STATUS_DESTINY_BOND 2 -#define MOVE_STATUS_NONE 0 -#define MOVE_STATUS_SURE_SHOT 1 -#define MOVE_STATUS_WHIFFER 2 -#define MOVE_STATUS_SET_DAMAGE 3 -#define MOVE_STATUS_FOCUS_ENERGY 4 +// Move statuses +#define STATUS_SURE_SHOT 1 +#define STATUS_WHIFFER 2 +#define STATUS_SET_DAMAGE 3 +#define STATUS_FOCUS_ENERGY 4 -#define ITEM_STATUS_NONE 0 -#define ITEM_STATUS_LONG_TOSS 1 -#define ITEM_STATUS_PIERCE 2 +// Item statuses +#define STATUS_LONG_TOSS 1 +#define STATUS_PIERCE 2 -#define TRANSFORM_STATUS_NONE 0 -#define TRANSFORM_STATUS_INVISIBLE 1 -#define TRANSFORM_STATUS_TRANSFORMED 2 -#define TRANSFORM_STATUS_MOBILE 3 +// Transform statuses +#define STATUS_INVISIBLE 1 +#define STATUS_TRANSFORMED 2 +#define STATUS_MOBILE 3 -#define EYESIGHT_STATUS_NONE 0 -#define EYESIGHT_STATUS_BLINKER 1 -#define EYESIGHT_STATUS_CROSS_EYED 2 -#define EYESIGHT_STATUS_EYEDROPS 3 - -#define MUZZLED_STATUS_NONE 0 -#define MUZZLED_STATUS_MUZZLED 1 +// Eyesight statuses +#define STATUS_BLINKER 1 +#define STATUS_CROSS_EYED 2 +#define STATUS_EYEDROPS 3 #define STATUS_SPRITE_SLEEPLESS (1 << 0) #define STATUS_SPRITE_BURNED (1 << 1) diff --git a/include/constants/tactic.h b/include/constants/tactic.h index 33e9d84a1..179a2ea26 100644 --- a/include/constants/tactic.h +++ b/include/constants/tactic.h @@ -1,7 +1,7 @@ #ifndef GUARD_CONSTANTS_TACTIC_H #define GUARD_CONSTANTS_TACTIC_H -enum Tactic +enum TacticID { TACTIC_LETS_GO_TOGETHER = 0x0, TACTIC_GO_THE_OTHER_WAY = 0x1, diff --git a/include/constants/trap.h b/include/constants/trap.h index cbc345445..bdcf091d1 100644 --- a/include/constants/trap.h +++ b/include/constants/trap.h @@ -1,28 +1,28 @@ #ifndef GUARD_CONSTANTS_TRAP_H #define GUARD_CONSTANTS_TRAP_H -enum TrapType +enum TrapID { - TRIP_TRAP = 0x0, - MUD_TRAP = 0x1, - STICKY_TRAP = 0x2, - GRIMY_TRAP = 0x3, - SUMMON_TRAP = 0x4, - PITFALL_TRAP = 0x5, - WARP_TRAP = 0x6, - WHIRLWIND_TRAP = 0x7, - SPIN_TRAP = 0x8, - SLUMBER_TRAP = 0x9, - SLOW_TRAP = 0xA, - SEAL_TRAP = 0xB, - POISON_TRAP = 0xC, - SELFDESTRUCT_TRAP = 0xD, - EXPLOSION_TRAP = 0xE, - PP_ZERO_TRAP = 0xF, - CHESTNUT_TRAP = 0x10, - WONDER_TILE = 0x11, - POKEMON_TRAP = 0x12, - SPIKE_TRAP = 0x13 + TRAP_TRIP_TRAP = 0x0, + TRAP_MUD_TRAP = 0x1, + TRAP_STICKY_TRAP = 0x2, + TRAP_GRIMY_TRAP = 0x3, + TRAP_SUMMON_TRAP = 0x4, + TRAP_PITFALL_TRAP = 0x5, + TRAP_WARP_TRAP = 0x6, + TRAP_WHIRLWIND_TRAP = 0x7, + TRAP_SPIN_TRAP = 0x8, + TRAP_SLUMBER_TRAP = 0x9, + TRAP_SLOW_TRAP = 0xA, + TRAP_SEAL_TRAP = 0xB, + TRAP_POISON_TRAP = 0xC, + TRAP_SELFDESTRUCT_TRAP = 0xD, + TRAP_EXPLOSION_TRAP = 0xE, + TRAP_PP_ZERO_TRAP = 0xF, + TRAP_CHESTNUT_TRAP = 0x10, + TRAP_WONDER_TILE = 0x11, + TRAP_POKEMON_TRAP = 0x12, + TRAP_SPIKE_TRAP = 0x13 }; #endif diff --git a/include/constants/walkable_tile.h b/include/constants/walkable_tile.h index d55846671..2adbf6ce6 100644 --- a/include/constants/walkable_tile.h +++ b/include/constants/walkable_tile.h @@ -1,9 +1,9 @@ -#ifndef GUARD_CONSTANTS_WALKABLE_TILE_H -#define GUARD_CONSTANTS_WALKABLE_TILE_H +#ifndef GUARD_CONSTANTS_MOVEMENT_TYPE_H +#define GUARD_CONSTANTS_MOVEMENT_TYPE_H -#define WALKABLE_TILE_CHASM 2 -#define WALKABLE_TILE_WALL 3 -#define WALKABLE_TILE_LAVA 4 -#define WALKABLE_TILE_WATER 5 +#define MOVEMENT_TYPE_CHASM 2 +#define MOVEMENT_TYPE_WALL 3 +#define MOVEMENT_TYPE_LAVA 4 +#define MOVEMENT_TYPE_WATER 5 #endif diff --git a/include/dungeon.h b/include/dungeon.h index 2be5e8a56..e276f608c 100644 --- a/include/dungeon.h +++ b/include/dungeon.h @@ -1,13 +1,15 @@ #ifndef GUARD_DUNGEON_H #define GUARD_DUNGEON_H +#include "dungeon_global_data.h" + struct DungeonName { const u8 *name1; const u8 *name2; }; -struct Dungeon +struct DungeonDataEntry { u8 stairDirection; u8 unk1; @@ -25,7 +27,7 @@ struct Dungeon s16 unkE; }; -extern struct Dungeon gDungeons[]; +extern struct DungeonDataEntry gDungeons[]; extern struct DungeonName gDungeonNames[]; const u8 *GetDungeonName1(u8 dungeon); u32 sub_80908D8(struct DungeonLocation *dungeon); diff --git a/include/dungeon_action.h b/include/dungeon_action.h index d625ba500..3fdd48e82 100644 --- a/include/dungeon_action.h +++ b/include/dungeon_action.h @@ -3,8 +3,8 @@ #include "dungeon_entity.h" -void ResetAction(struct DungeonActionContainer *actionPointer); -void SetAction(struct DungeonActionContainer *actionPointer, u16 action); -void SetWalkAction(struct DungeonActionContainer *actionPointer, s16 species); +void ClearMonsterActionFields(struct DungeonActionContainer *actionPointer); +void SetMonsterActionFields(struct DungeonActionContainer *actionPointer, u16 action); +void SetActionPassTurnOrWalk(struct DungeonActionContainer *actionPointer, s16 species); #endif diff --git a/include/dungeon_ai.h b/include/dungeon_ai.h index 3653fbec5..edff1a17a 100644 --- a/include/dungeon_ai.h +++ b/include/dungeon_ai.h @@ -3,8 +3,8 @@ #include "dungeon_entity.h" -u32 sub_8075818(struct DungeonEntity *entity); -void sub_8075900(struct DungeonEntity *pokemon, u8 r1); -void DecideAction(struct DungeonEntity *pokemon, u32 unused); +u32 sub_8075818(struct Entity *entity); +void sub_8075900(struct Entity *pokemon, u8 r1); +void RunMonsterAI(struct Entity *pokemon, u32 unused); #endif diff --git a/include/dungeon_ai_attack.h b/include/dungeon_ai_attack.h index cd8d9d823..c867b2531 100644 --- a/include/dungeon_ai_attack.h +++ b/include/dungeon_ai_attack.h @@ -5,20 +5,20 @@ #define RANGED_ATTACK_RANGE 10 -struct MoveTargetResults +struct AIPossibleMove { - bool8 moveUsable; - u8 targetDir; - s32 moveWeight; + bool8 canBeUsed; + u8 direction; + s32 weight; }; -void DecideAttack(struct DungeonEntity *pokemon); -s32 FindMoveTarget(struct MoveTargetResults *moveTargetResults, struct DungeonEntity *pokemon, struct PokemonMove *move); -bool8 IsTargetInLineRange(struct DungeonEntity *user, struct DungeonEntity *target, s32 range); -s32 WeightMoveIfUsable(s32 numPotentialTargets, s32 targetingFlags, struct DungeonEntity *user, struct DungeonEntity *target, struct PokemonMove *move, u32 hasStatusChecker); -bool8 CanUseStatusMove(s32 targetingFlags, struct DungeonEntity *user, struct DungeonEntity *target, struct PokemonMove *move, bool32 hasStatusChecker); -s32 WeightMove(struct DungeonEntity *user, s32 targetingFlags, struct DungeonEntity *target, u32 moveType); -bool8 TargetRegularAttack(struct DungeonEntity *pokemon, u32 *targetDir, bool8 checkPetrified); -bool8 IsTargetStraightAhead(struct DungeonEntity *pokemon, struct DungeonEntity *targetPokemon, s32 facingDir, s32 maxRange); +void DecideAttack(struct Entity *pokemon); +s32 AIConsiderMove(struct AIPossibleMove *aiPossibleMove, struct Entity *pokemon, struct Move *move); +bool8 IsTargetInLineRange(struct Entity *user, struct Entity *target, s32 range); +s32 TryAddTargetToAITargetList(s32 numPotentialTargets, s32 targetingFlags, struct Entity *user, struct Entity *target, struct Move *move, u32 hasStatusChecker); +bool8 IsAITargetEligible(s32 targetingFlags, struct Entity *user, struct Entity *target, struct Move *move, bool32 hasStatusChecker); +s32 WeightMove(struct Entity *user, s32 targetingFlags, struct Entity *target, u32 moveType); +bool8 TargetRegularAttack(struct Entity *pokemon, u32 *targetDir, bool8 checkPetrified); +bool8 IsTargetInRange(struct Entity *pokemon, struct Entity *targetPokemon, s32 direction, s32 maxRange); #endif diff --git a/include/dungeon_ai_item_weight.h b/include/dungeon_ai_item_weight.h index 871e68b41..4e6fddac3 100644 --- a/include/dungeon_ai_item_weight.h +++ b/include/dungeon_ai_item_weight.h @@ -3,7 +3,7 @@ #include "dungeon_entity.h" -u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemTargetFlags); -bool8 CanTargetAdjacentPokemon(struct DungeonEntity *pokemon); +u32 EvaluateItem(struct Entity *targetPokemon, struct Item *item, u32 itemTargetFlags); +bool8 CanTargetAdjacentPokemon(struct Entity *pokemon); #endif diff --git a/include/dungeon_ai_items.h b/include/dungeon_ai_items.h index 91e0a222c..01461cf25 100644 --- a/include/dungeon_ai_items.h +++ b/include/dungeon_ai_items.h @@ -4,9 +4,9 @@ #include "dungeon_entity.h" #include "position.h" -void DecideUseItem(struct DungeonEntity *pokemon); -void FindStraightThrowableTargets(struct DungeonEntity *pokemon, s32 thrownAIFlag, struct ItemSlot *item, bool8 ignoreRollChance); -void FindRockItemTargets(struct DungeonEntity *pokemon, struct ItemSlot *item, struct Position potentialTargets[], bool8 ignoreRollChance); -void TargetThrownItem(struct DungeonEntity *pokemon, struct DungeonEntity *targetPokemon, struct ItemSlot *item, s32 targetingFlags, bool8 ignoreRollChance); +void DecideUseItem(struct Entity *pokemon); +void FindStraightThrowableTargets(struct Entity *pokemon, s32 thrownAIFlag, struct Item *item, bool8 ignoreRollChance); +void FindRockItemTargets(struct Entity *pokemon, struct Item *item, struct Position potentialTargets[], bool8 ignoreRollChance); +void TargetThrownItem(struct Entity *pokemon, struct Entity *targetPokemon, struct Item *item, s32 targetingFlags, bool8 ignoreRollChance); #endif diff --git a/include/dungeon_ai_leader.h b/include/dungeon_ai_leader.h index a24041142..b069b54bd 100644 --- a/include/dungeon_ai_leader.h +++ b/include/dungeon_ai_leader.h @@ -3,7 +3,7 @@ #include "dungeon_entity.h" -bool8 TargetLeader(struct DungeonEntity *pokemon); -struct DungeonEntity* GetLeaderEntityIfVisible(struct DungeonEntity *pokemon); +bool8 TargetLeader(struct Entity *pokemon); +struct Entity* GetLeaderIfVisible(struct Entity *pokemon); #endif diff --git a/include/dungeon_ai_movement.h b/include/dungeon_ai_movement.h index b0c9e2bde..7d5698768 100644 --- a/include/dungeon_ai_movement.h +++ b/include/dungeon_ai_movement.h @@ -3,11 +3,11 @@ #include "dungeon_entity.h" -void MoveIfPossible(struct DungeonEntity *pokemon, bool8 showRunAwayEffect); -bool8 CanTakeItem(struct DungeonEntity *pokemon); -bool8 ChooseTargetPosition(struct DungeonEntity *pokemon); -void DecideMovement(struct DungeonEntity *pokemon, bool8 showRunAwayEffect); -bool8 AvoidEnemies(struct DungeonEntity *pokemon); -bool8 Wander(struct DungeonEntity *pokemon); +void MoveIfPossible(struct Entity *pokemon, bool8 showRunAwayEffect); +bool8 CanTakeItem(struct Entity *pokemon); +bool8 ChooseTargetPosition(struct Entity *pokemon); +void DecideMovement(struct Entity *pokemon, bool8 showRunAwayEffect); +bool8 AvoidEnemies(struct Entity *pokemon); +bool8 Wander(struct Entity *pokemon); #endif diff --git a/include/dungeon_ai_targeting.h b/include/dungeon_ai_targeting.h index a466743e9..d2b105e96 100644 --- a/include/dungeon_ai_targeting.h +++ b/include/dungeon_ai_targeting.h @@ -3,14 +3,14 @@ #include "dungeon_entity.h" -bool8 CanAttackInFront(struct DungeonEntity *pokemon, s32 direction); -bool8 CanMoveForward(struct DungeonEntity *pokemon, s32 facingDir, bool8 *pokemonInFront); -bool8 IsAtJunction(struct DungeonEntity *pokemon); -bool8 ShouldAvoidFirstHit(struct DungeonEntity *pokemon, bool8 forceAvoid); -bool8 ShouldAvoidEnemies(struct DungeonEntity *pokemon); -bool8 ShouldAvoidEnemiesAndShowEffect(struct DungeonEntity *pokemon, bool8 showRunAwayEffect); -void CheckRunAwayVisualFlag(struct DungeonEntity *pokemon, bool8 showRunAwayEffect); -u8 CanTarget(struct DungeonEntity *pokemon, struct DungeonEntity *targetPokemon, bool8 ignoreInvisible, bool8 checkPetrified); -u8 sub_807167C(struct DungeonEntity * pokemon, struct DungeonEntity * target); +bool8 CanAttackInDirection(struct Entity *pokemon, s32 direction); +bool8 CanAIMonsterMoveInDirection(struct Entity *pokemon, s32 direction, bool8 *pokemonInFront); +bool8 IsAtJunction(struct Entity *pokemon); +bool8 ShouldAvoidFirstHit(struct Entity *pokemon, bool8 forceAvoid); +bool8 ShouldMonsterRunAway(struct Entity *pokemon); +bool8 ShouldMonsterRunAwayAndShowEffect(struct Entity *pokemon, bool8 showRunAwayEffect); +void CheckRunAwayVisualFlag(struct Entity *pokemon, bool8 showRunAwayEffect); +u8 CanTarget(struct Entity *pokemon, struct Entity *targetPokemon, bool8 ignoreInvisible, bool8 checkPetrified); +u8 sub_807167C(struct Entity * pokemon, struct Entity * target); #endif diff --git a/include/dungeon_capabilities.h b/include/dungeon_capabilities.h index f4a03067b..8839aa5c1 100644 --- a/include/dungeon_capabilities.h +++ b/include/dungeon_capabilities.h @@ -3,6 +3,6 @@ #include "dungeon_entity.h" -bool8 CannotMove(struct DungeonEntity *pokemon, bool8 checkBlinker); +bool8 CannotMove(struct Entity *pokemon, bool8 checkBlinker); #endif diff --git a/include/dungeon_capabilities_1.h b/include/dungeon_capabilities_1.h index 5c8e3d0a6..ccb8984fb 100644 --- a/include/dungeon_capabilities_1.h +++ b/include/dungeon_capabilities_1.h @@ -3,9 +3,9 @@ #include "dungeon_entity.h" -bool8 CannotUseItems(struct DungeonEntity *pokemon); -bool8 CannotAct(struct DungeonEntity *pokemon); -bool8 CannotAttack(struct DungeonEntity *pokemon, bool8 skipSleep); -bool8 CanMoveInDirection(struct DungeonEntity *pokemon, u32 facingDir); +bool8 CannotUseItems(struct Entity *pokemon); +bool8 HasStatusThatPreventsActing(struct Entity *pokemon); +bool8 CannotAttack(struct Entity *pokemon, bool8 skipSleep); +bool8 CanMoveInDirection(struct Entity *pokemon, u32 direction); #endif diff --git a/include/dungeon_engine.h b/include/dungeon_engine.h index 7ae39bb61..e66f91245 100644 --- a/include/dungeon_engine.h +++ b/include/dungeon_engine.h @@ -1,9 +1,9 @@ #ifndef GUARD_DUNGEON_ENGINE_H #define GUARD_DUNGEON_ENGINE_H -bool8 IsBossBattle(void); -bool8 IsFixedDungeon(void); -bool8 IsDungeonMaze(void); -void RunDungeon(bool8 param_1); +bool8 IsBossFight(void); +bool8 IsCurrentFixedRoomBossFight(void); +bool8 IsMakuhitaTrainingMaze(void); +void RunFractionalTurn(bool8 param_1); #endif diff --git a/include/dungeon_entity.h b/include/dungeon_entity.h index a89961d40..376c60aca 100644 --- a/include/dungeon_entity.h +++ b/include/dungeon_entity.h @@ -10,22 +10,22 @@ #define STAT_MULTIPLIER_THRESHOLD 63 #define DEFAULT_STAT_STAGE 10 #define DEFAULT_STAT_MULTIPLIER 256 -#define MAX_MOVEMENT_SPEED 4 -#define MAX_STOCKPILE_COUNT 3 +#define MAX_SPEED_STAGE 4 +#define MAX_STOCKPILE_STAGE 3 #define NUM_SPEED_TURN_COUNTERS 5 -#define NUM_PREVIOUS_POSITIONS 4 +#define NUM_PREV_POS 4 -#define STAT_STAGE_ATTACK 0 -#define STAT_STAGE_SPECIAL_ATTACK 1 -#define STAT_STAGE_DEFENSE 0 -#define STAT_STAGE_SPECIAL_DEFENSE 1 +#define STAT_STAGE_ATK 0 +#define STAT_STAGE_SP_ATK 1 +#define STAT_STAGE_DEF 0 +#define STAT_STAGE_SP_DEF 1 #define STAT_STAGE_ACCURACY 0 #define STAT_STAGE_EVASION 1 struct DungeonActionContainer { /* 0x0 */ u16 action; - /* 0x2 */ u8 facingDir; + /* 0x2 */ u8 direction; u8 fill3; // Additional parameter alongside actionIndex. Used for things like indicating which move a Pokémon should use from its moveset. /* 0x4 */ u8 actionUseIndex; @@ -38,67 +38,67 @@ struct DungeonActionContainer /* 0x14 */ struct Position itemTargetPosition; }; -struct DungeonEntityData +struct EntityInfo { // This has different purposes for Pokémon, items, and traps. // Pokemon: MovementFlag // Items: ItemFlag // Traps: TrapType /* 0x0 */ u16 flags; - /* 0x2 */ s16 entityID; // Pokémon species or item ID. + /* 0x2 */ s16 id; // Pokémon species or item ID. // Everything from here on only applies to Pokémon. - /* 0x4 */ s16 transformSpecies; // Shows a different Pokémon when using Transform. - /* 0x6 */ bool8 isEnemy; - /* 0x7 */ bool8 isLeader; - /* 0x8 */ u8 shopkeeperMode; + /* 0x4 */ s16 apparentID; // Shows a different Pokémon when using Transform. + /* 0x6 */ bool8 isNotTeamMember; + /* 0x7 */ bool8 isTeamLeader; + /* 0x8 */ u8 shopkeeper; /* 0x9 */ u8 level; - /* 0xA */ u8 partyIndex; // Leader is 0, partner is 1, etc. + /* 0xA */ u8 teamIndex; // Leader is 0, partner is 1, etc. /* 0xC */ s16 IQ; /* 0xE */ s16 HP; - /* 0x10 */ s16 maxHP; + /* 0x10 */ s16 maxHPStat; // Bosses have higher HP than normal for their level. This is the max HP they would normally have given their level. /* 0x12 */ s16 originalHP; - /* 0x14 */ u8 attack; - /* 0x15 */ u8 specialAttack; - /* 0x16 */ u8 defense; - /* 0x17 */ u8 specialDefense; - /* 0x18 */ u32 expPoints; + /* 0x14 */ u8 atk; + /* 0x15 */ u8 spAtk; + /* 0x16 */ u8 def; + /* 0x17 */ u8 spDef; + /* 0x18 */ u32 exp; // Temporary stat boosts/drops from effects like Growl or Swords Dance. // These start at 10 and are in the range [1, 19]. // Index 0 is Attack. Index 1 is Special Attack. - /* 0x1C */ s16 attackStages[2]; + /* 0x1C */ s16 offensiveStages[2]; // Index 0 is Defense. Index 1 is Special Defense. - /* 0x20 */ s16 defenseStages[2]; + /* 0x20 */ s16 defensiveStages[2]; // Index 0 is accuracy. Index 1 is evasion. - /* 0x24 */ s16 accuracyStages[2]; + /* 0x24 */ s16 hitChancesStages[2]; // // When a Fire-type move is used on a Pokémon with Flash Fire, this value increases the power of the Pokémon's Fire-type moves. /* 0x28 */ s16 flashFireBoost; // These start at 0x1000, and are halved by certain moves like Screech to lower the corresponding stat. // Index 0 is Attack. Index 1 is Special Attack. - /* 0x2C */ s32 attackMultipliers[2]; + /* 0x2C */ s32 offensiveMultipliers[2]; // Index 0 is Defense. Index 1 is Special Defense. - /* 0x34 */ s32 defenseMultipliers[2]; - /* 0x3C */ s16 hiddenPowerPower; + /* 0x34 */ s32 defensiveMultipliers[2]; + /* 0x3C */ s16 hiddenPowerBasePower; /* 0x3E */ u8 hiddenPowerType; u8 fill3F; - /* 0x40 */ u8 joinLocation; // Uses the dungeon index in dungeon.h. + /* 0x40 */ u8 joinedAt; // Uses the dungeon index in dungeon.h. /* 0x44 */ struct DungeonActionContainer action; /* 0x5C */ u8 types[2]; /* 0x5E */ u8 abilities[2]; - /* 0x60 */ struct ItemSlot heldItem; + /* 0x60 */ struct Item heldItem; u8 fill64[0x68 - 0x64]; - /* 0x68 */ struct Position previousPositions[NUM_PREVIOUS_POSITIONS]; - /* 0x78 */ u8 movementAction; - /* 0x79 */ bool8 notAdjacentToTarget; - /* 0x7A */ bool8 hasTarget; - /* 0x7B */ bool8 turnAround; - /* 0x7C */ u16 targetPokemonSpawnIndex; - /* 0x80 */ struct DungeonEntity *targetPokemon; + /* 0x68 */ struct Position prevPos[NUM_PREV_POS]; + /* 0x78 */ u8 aiObjective; + /* 0x79 */ bool8 aiNotNextToTarget; + /* 0x7A */ bool8 aiTargetingEnemy; + /* 0x7B */ bool8 aiTurningAround; + /* 0x7C */ u16 aiTargetSpawnGenID; + /* 0x80 */ struct Entity *aiTarget; u8 fill84[0x88 - 0x84]; - /* 0x88 */ struct Position targetMovePosition; + /* 0x88 */ struct Position aiTargetPos; // Bitwise flags corresponding to selected IQ skills. - /* 0x8C */ u8 IQSkillsSelected[4]; // IQ skills selected in the IQ skills menu. - /* 0x90 */ u8 IQSkillsEnabled[4]; + /* 0x8C */ u8 IQSkillMenuFlags[4]; // IQ skills selected in the IQ skills menu. + /* 0x90 */ u8 IQSkillFlags[4]; /* 0x94 */ u8 tactic; u8 fill95[0x98 - 0x95]; /* 0x98 */ u32 unk98; @@ -108,91 +108,91 @@ struct DungeonEntityData u8 fillA5[0xA8 - 0xA5]; // Statuses are split into groups based on which ones can't overlap. // See status.h for which statuses are in each group. - /* 0xA8 */ u8 sleepStatus; - /* 0xA9 */ u8 sleepStatusTurnsLeft; + /* 0xA8 */ u8 sleep; + /* 0xA9 */ u8 sleepTurns; u8 fillAA[0xAC - 0xAA]; /* 0xAC */ u8 nonVolatileStatus; - /* 0xAD */ u8 nonVolatileStatusTurnsLeft; - /* 0xAE */ u8 nonVolatileStatusDamageTimer; + /* 0xAD */ u8 nonVolatileStatusTurns; + /* 0xAE */ u8 nonVolatileStatusDamageCountdown; u8 fillAF; /* 0xB0 */ u8 immobilizeStatus; u8 fillB1[0xB4 - 0xB1]; /* 0xB4 */ s32 unkB4; - /* 0xB8 */ u8 immobilizeStatusTurnsLeft; - /* 0xB9 */ u8 immobilizeStatusDamageTimer; + /* 0xB8 */ u8 immobilizeStatusTurns; + /* 0xB9 */ u8 immobilizeStatusDamageCountdown; u8 fillBA[0xBC - 0xBA]; /* 0xBC */ u8 volatileStatus; - /* 0xBD */ u8 volatileStatusTurnsLeft; + /* 0xBD */ u8 volatileStatusTurns; u8 fillBE[0xC0 - 0xBE]; /* 0xC0 */ u8 chargingStatus; - /* 0xC1 */ u8 chargingStatusTurnsLeft; + /* 0xC1 */ u8 chargingStatusTurns; /* 0xC2 */ u8 chargingStatusMoveIndex; // The position of the move in the Pokémon's moveset that triggered the status. u8 fillC3; /* 0xC4 */ u8 protectionStatus; - /* 0xC5 */ u8 protectionStatusTurnsLeft; + /* 0xC5 */ u8 protectionStatusTurns; u8 fillC6[0xC8 - 0xC6]; /* 0xC8 */ u8 waitingStatus; /* 0xC9 */ bool8 enemyDecoy; // True if the Pokémon is a decoy and a wild Pokémon (i.e., not an allied Pokémon). u8 fillCA; - /* 0xCB */ u8 waitingStatusTurnsLeft; - /* 0xCC */ u8 cursedDamageTimer; + /* 0xCB */ u8 waitingStatusTurns; + /* 0xCC */ u8 curseDamageCountdown; u8 fillCD[0xD0 - 0xCD]; /* 0xD0 */ u8 linkedStatus; u8 fillD1[0xD4 - 0xD1]; /* 0xD4 */ u32 unkD4; /* 0xD8 */ u8 unkD8; - /* 0xD9 */ u8 linkedStatusTurnsLeft; - /* 0xDA */ u8 linkedStatusDamageTimer; + /* 0xD9 */ u8 linkedStatusTurns; + /* 0xDA */ u8 linkedStatusDamageCountdown; u8 fillDB; /* 0xDC */ u8 moveStatus; - /* 0xDD */ u8 moveStatusTurnsLeft; + /* 0xDD */ u8 moveStatusTurns; u8 fillDE[0xE0 - 0xDE]; /* 0xE0 */ u8 itemStatus; u8 fillE1[0xE4 - 0xE1]; /* 0xE4 */ u8 transformStatus; - /* 0xE5 */ u8 transformStatusTurnsLeft; + /* 0xE5 */ u8 transformStatusTurns; u8 fillE6[0xE8 - 0xE6]; /* 0xE8 */ u8 eyesightStatus; - /* 0xE9 */ u8 eyesightStatusTurnsLeft; + /* 0xE9 */ u8 eyesightStatusTurns; /* 0xEA */ u8 unkEA; u8 fillEB; - /* 0xEC */ bool8 muzzledStatus; - /* 0xED */ u8 muzzledTurnsLeft; + /* 0xEC */ bool8 muzzled; + /* 0xED */ u8 muzzledTurns; u8 fillEE[0xF0 - 0xEE]; - /* 0xF0 */ bool8 radarStatus; - /* 0xF1 */ bool8 scanningStatus; - /* 0xF2 */ bool8 stairSpotterStatus; + /* 0xF0 */ bool8 powerEars; + /* 0xF1 */ bool8 scanning; + /* 0xF2 */ bool8 stairSpotter; u8 fillF3; - /* 0xF4 */ bool8 grudgeStatus; - /* 0xF5 */ bool8 exposedStatus; + /* 0xF4 */ bool8 grudge; + /* 0xF5 */ bool8 exposed; /* 0xF6 */ bool8 isColorChanged; - /* 0xF7 */ bool8 isBoss; - /* 0xF8 */ bool8 movementSpeedChanged; // Toggled when pokemon is movement speed is sped up + /* 0xF7 */ bool8 bossFlag; + /* 0xF8 */ bool8 speedStageChanged; // Toggled when pokemon is movement speed is sped up /* 0xF9 */ u8 unkF9; - /* 0xFA */ u8 terrifiedTurnsLeft; // Doubles as a bool for whether the Pokémon is terrified. + /* 0xFA */ u8 terrifiedTurns; // Doubles as a bool for whether the Pokémon is terrified. u8 unkFB; // Set to true if the player makes a teammate use their held item. // This is done by going to the teammate's held item in the toolbox and selecting "Use". /* 0xFC */ bool8 useHeldItem; - /* 0xFD */ u8 perishSongTimer; // When this reaches 0, the Pokémon faints from Perish Song. Doubles as a bool for whether the Pokémon is afflicted by Perish Song. + /* 0xFD */ u8 perishSongTurns; // When this reaches 0, the Pokémon faints from Perish Song. Doubles as a bool for whether the Pokémon is afflicted by Perish Song. u8 unkFE; u8 unkFF; /* 0x100 */ u8 targetingDecoy; // If the Pokémon is targeting a decoy, this indicates whether the decoy target is a team or wild Pokémon. - /* 0x104 */ s32 movementSpeed; + /* 0x104 */ s32 speedStage; // The turn counter for movement speed up/down is split into five timers each. Multiple timers are used if the Pokémon is affected by multiple // speed-up/slow effects at once, like using Agility twice. - /* 0x108 */ u8 speedUpTurnsLeft[NUM_SPEED_TURN_COUNTERS]; - /* 0x10D */ u8 slowTurnsLeft[NUM_SPEED_TURN_COUNTERS]; - /* 0x112 */ u8 stockpileCount; + /* 0x108 */ u8 speedUpCounters[NUM_SPEED_TURN_COUNTERS]; + /* 0x10D */ u8 speedDownCounters[NUM_SPEED_TURN_COUNTERS]; + /* 0x112 */ u8 stockpileStage; u8 fill113; // When non-zero, an AI Pokémon will move in a random direction every turn. // Unclear where this is set in-game; it is not set by statuses (e.g., confusion) or mission clients. /* 0x114 */ u32 moveRandomly; - /* 0x118 */ struct PokemonMove moves[MAX_MON_MOVES]; + /* 0x118 */ struct Move moves[MAX_MON_MOVES]; /* 0x138 */ u8 struggleMoveFlags; /* 0x13C */ u32 belly; /* 0x140 */ u32 maxBelly; - /* 0x144 */ bool8 movingIntoTarget; // True if an AI Pokémon is following another Pokémon and is already adjacent to them. + /* 0x144 */ bool8 aiNextToTarget; // True if an AI Pokémon is following another Pokémon and is already adjacent to them. /* 0x145 */ bool8 recalculateFollow; // Used by the AI to defer a movement decision until after all other Pokémon have moved. u8 fill146; /* 0x147 */ bool8 waiting; // True if an AI Pokémon decided to do nothing this turn. @@ -220,8 +220,8 @@ struct DungeonEntityData /* 0x165 */ u8 unk165; u8 fill166[0x169 - 0x166]; u8 turnsSinceWarpScarfActivation; - /* 0x16C */ struct Position targetPosition; - /* 0x170 */ struct Position posPixel; + /* 0x16C */ struct Position targetPos; + /* 0x170 */ struct Position pixelPos; u32 unk174; u8 fill178[0x17A - 0x178]; /* 0x17A */ u16 mimicMoveIDs[MAX_MON_MOVES]; // All moves that Mimic has copied (not sure on size...) @@ -231,7 +231,7 @@ struct DungeonEntityData /* 0x190 */ u8 lastMoveDirection; // The last direction that the Pokémon moved in. // Number of tiles that the Pokémon moved last, multiplied by 0x100. /* 0x194 */ struct Position32 lastMoveIncrement; - /* 0x19C */ u8 walkAnimationCounter; // Set when the Pokémon starts moving, and counts down until the Pokémon's walk animation stops. + /* 0x19C */ u8 walkAnimFramesLeft; // Set when the Pokémon starts moving, and counts down until the Pokémon's walk animation stops. u8 fill19D[0x1F4 - 0x19D]; /* 0x1F4 */ u8 numMoveTiles; // Number of tiles to move in a turn. Can be greater than 1 if the user's movement speed is boosted. u8 fill1F5; @@ -239,27 +239,27 @@ struct DungeonEntityData u8 fill1F7[0x1FA - 0x1F7]; /* 0x1FA */ s16 mobileTurnTimer; // When a Pokémon can pass through walls in a hallway, this counts up to 200 before the Pokémon turns in a random direction. /* 0x1FC */ u16 expGainedInTurn; // Used to accumulate experience when multiple enemies are defeated in one turn. - /* 0x200 */ u32 statusSprites; + /* 0x200 */ u32 statusIcons; u8 unk204; }; // Used for Pokémon, items, and traps. -struct DungeonEntity +struct Entity { - /* 0x0 */ u32 entityType; - /* 0x4 */ struct Position posWorld; - /* 0x8 */ struct Position prevPosWorld; + /* 0x0 */ u32 type; + /* 0x4 */ struct Position pos; + /* 0x8 */ struct Position prevPos; // The center of the entity acccording to pixel-space coordinates, using the same origin as posWorld. // X = (posWorld * 24 + 16) * 256, while Y = (posWorld * 24 + 12) * 256. - /* 0xC */ struct Position32 posPixel; - /* 0x14 */ struct Position32 prevPosPixel; + /* 0xC */ struct Position32 pixelPos; + /* 0x14 */ struct Position32 prevPixelPos; s32 unk1C; - /* 0x20 */ bool8 visible; // Turned off when a Pokémon faints. + /* 0x20 */ bool8 isVisible; // Turned off when a Pokémon faints. u8 fill21[0x25 - 0x21]; - /* 0x25 */ u8 roomIndex; + /* 0x25 */ u8 room; // The global spawn index counter starts at 10. Each Pokémon that spawns increments the counter and // gets assigned the current counter value as its spawn index. - /* 0x26 */ u16 spawnIndex; + /* 0x26 */ u16 spawnGenID; u8 fill28[0x2A - 0x28]; // 0x2A and 0x2E seem to be related to the sprite animation, though not sure how they're related. /* 0x2A */ u16 spriteAnimationCounter; @@ -289,15 +289,15 @@ struct DungeonEntity u8 fill68[2]; /* 0x6A */ u8 unk6A; /* 0x6A */ u8 unk6B; - /* 0x6C */ u8 facingDir; - /* 0x6D */ u8 facingDir2; // Duplicate of 0x6C? - /* 0x70 */ struct DungeonEntityData *entityData; + /* 0x6C */ u8 direction; + /* 0x6D */ u8 direction2; // Duplicate of 0x6C? + /* 0x70 */ struct EntityInfo *info; }; enum EntityType { - ENTITY_NONE, - ENTITY_POKEMON, + ENTITY_NOTHING, + ENTITY_MONSTER, ENTITY_TRAP, ENTITY_ITEM, ENTITY_UNK_4, @@ -306,30 +306,30 @@ enum EntityType enum MovementFlag { - MOVEMENT_FLAG_SWAPPED_PLACES = 1 << 5, - MOVEMENT_FLAG_MOVING = 1 << 9, + MOVEMENT_FLAG_SWAPPING_PLACES = 1 << 5, + MOVEMENT_FLAG_WALKING = 1 << 9, MOVEMENT_FLAG_UNK_14 = 1 << 14, - MOVEMENT_FLAG_SWAPPED_PLACES_PETRIFIED = 1 << 15 // Set if the Pokémon is petrified and the leader cures them by swapping places. + MOVEMENT_FLAG_SWAPPING_PLACES_PETRIFIED_ALLY = 1 << 15 // Set if the Pokémon is petrified and the leader cures them by swapping places. }; enum ShopkeeperMode { - SHOPKEEPER_NONE, - SHOPKEEPER_FRIENDLY, + SHOPKEEPER_MODE_NORMAL, + SHOPKEEPER_MODE_SHOPKEEPER, // These two modes trigger if an explosion damages the shopkeeper. The shopkeeper attacks the side that damaged it. - SHOPKEEPER_AGGRESSIVE_TO_WILD, - SHOPKEEPER_AGGRESSIVE_TO_PLAYER + SHOPKEEPER_MODE_ATTACK_ENEMIES, + SHOPKEEPER_MODE_ATTACK_TEAM }; -enum MovementAction +enum AIObjective { - MOVEMENT_ACTION_FOLLOW = 1, - MOVEMENT_ACTION_WANDER = 2, - MOVEMENT_ACTION_WANDER_CORRIDOR = 3, - MOVEMENT_ACTION_EXIT_ROOM = 4, - MOVEMENT_ACTION_RUN_AWAY_FROM_ENEMY = 5, - MOVEMENT_ACTION_FACE_RANDOM_DIRECTION = 6, - MOVEMENT_ACTION_TAKE_ITEM = 7 + AI_CHASE_TARGET = 1, + AI_CHASE_REMEMBERED_TARGET = 2, + AI_ROAM = 3, + AI_LEAVE_ROOM = 4, + AI_RUN_AWAY = 5, + AI_STAND_STILL = 6, + AI_TAKE_ITEM = 7 }; enum ClientType diff --git a/include/dungeon_global_data.h b/include/dungeon_global_data.h index dbcd54535..45f0e9023 100644 --- a/include/dungeon_global_data.h +++ b/include/dungeon_global_data.h @@ -1,7 +1,7 @@ #ifndef GUARD_DUNGEON_DATA_H #define GUARD_DUNGEON_DATA_H -#include "constants/species.h" +#include "constants/monster.h" #include "dungeon_entity.h" #include "global.h" #include "map.h" @@ -12,9 +12,14 @@ #define DUNGEON_MAX_WILD_POKEMON 16 #define DUNGEON_MAX_POKEMON MAX_TEAM_MEMBERS + DUNGEON_MAX_WILD_POKEMON -extern struct DungeonGlobalData *gDungeonGlobalData; +extern struct Dungeon *gDungeon; -struct DungeonGlobalData_sub +struct DungeonLocation { + u8 id; + u8 floor; +}; + +struct Dungeon_sub { u8 unk0; u8 unk1; @@ -28,13 +33,13 @@ struct unkDungeonGlobal_unk1CE98_sub /* 0x14 */ s16 unk14; /* 0x16 */ u8 fill16[0x2]; /* 0x18 */ struct DungeonLocation dungeonLocation; - /* 0x1C */ struct ItemSlot heldItem; - /* 0x20 */ u32 expPoints; - /* 0x24 */ s16 maxHP; - /* 0x26 */ u8 attack; - /* 0x27 */ u8 specialAttack; - /* 0x28 */ u8 defense; - /* 0x29 */ u8 specialDefense; + /* 0x1C */ struct Item heldItem; + /* 0x20 */ u32 exp; + /* 0x24 */ s16 maxHPStat; + /* 0x26 */ u8 atk; + /* 0x27 */ u8 spAtk; + /* 0x28 */ u8 def; + /* 0x29 */ u8 spDef; /* 0x2A */ u8 level; /* 0x2B */ u8 attBoost; /* 0x2C */ u8 spAttBoost; @@ -53,7 +58,7 @@ struct DungeonMusicPlayer u16 queuedSongIndex; }; -struct DungeonGlobalData +struct Dungeon { u8 unk0; u8 unk1; @@ -67,19 +72,19 @@ struct DungeonGlobalData u8 unkC; u8 unkD; u8 unkE; - /* 0xF */ bool8 inputAllowed; // Whether the game is currently accepting input. Set to false while action animations play. + /* 0xF */ bool8 noActionInProgress; // Whether the game is currently accepting input. Set to false while action animations play. u8 unk10; u8 unk11; s16 unk12; u8 fill14[0xB8 - 0x14]; - struct DungeonEntity *unkB8; + struct Entity *unkB8; u32 unkBC; u8 fillC0[0x16D - 0xC0]; u8 unk16D; u8 fill16E[0x179 - 0x16E]; /* 0x179 */ bool8 pokemonExposed; // True if a Pokémon on the floor has the Exposed status. u8 fill17A[0x17C - 0x17A]; - struct DungeonGlobalData_sub unk17C[0x100]; + struct Dungeon_sub unk17C[0x100]; /* 0x57C */ u8 fill57C[0x644 - 0x57c]; /* 0x644 */ struct DungeonLocation dungeonLocation; u8 fill646[0x654 - 0x648]; @@ -87,9 +92,9 @@ struct DungeonGlobalData u8 fill655[0x65C - 0x655]; u8 unk65C; u8 fill65D[0x660 - 0x65D]; - /* 0x660 */ s16 speedTurnCounter; // Handles turn order when Pokémon have different movement speeds. + /* 0x660 */ s16 fractionalTurn; // Handles turn order when Pokémon have different movement speeds. u8 fill662[0x666 - 0x662]; - /* 0x666 */ u16 turnsLeft; // Turns remaining before getting swept out of the dungeon. + /* 0x666 */ u16 windTurns; // Turns remaining before getting swept out of the dungeon. u8 fill668[0x66A - 0x668]; u16 unk66A; u8 unk66C; @@ -97,7 +102,7 @@ struct DungeonGlobalData /* 0x66E */ u8 unk66E; u8 unk66F; u8 unk670; - /* 0x671 */ bool8 monsterHouseActive; + /* 0x671 */ bool8 monsterHouseTriggered; /* 0x672 */ u8 unk672; u8 unk673; u8 unk674; @@ -110,11 +115,11 @@ struct DungeonGlobalData u8 fill68B[0x699 - 0x68B]; u8 unk699; u8 fill69A[0x363C - 0x69A]; - /* 0x363C */ u8 expYieldRankings[NUM_SPECIES]; + /* 0x363C */ u8 expYieldRankings[NUM_MONSTERS]; u8 fill37E3[0x37F4 - 0x37D9]; /* 0x37F4 */ s32 unk37F4; - /* 0x37F8 */ bool8 hasPlus[2]; // Index 0: Enemy , Index 1: Team - /* 0x37FA */ bool8 hasMinus[2]; // Index 0: Enemy , Index 1: Team + /* 0x37F8 */ bool8 plusIsActive[2]; // Index 0: Enemy , Index 1: Team + /* 0x37FA */ bool8 minusIsActive[2]; // Index 0: Enemy , Index 1: Team /* 0x37FC */ bool8 decoyActive; u8 fill37FD[0x3A0D - 0x37FD]; /* 0x3A0D */ u8 unk3A0D; @@ -122,30 +127,30 @@ struct DungeonGlobalData /* 0x3A10 */ u16 unk3A10; u8 fill3A10[0x3A14 - 0x3A12]; /* 0x3A14 */ s16 bossBattleIndex; - /* 0x3A18 */ struct MapTile mapTiles[DUNGEON_MAX_SIZE_Y][DUNGEON_MAX_SIZE_X]; + /* 0x3A18 */ struct Tile tiles[DUNGEON_MAX_SIZE_Y][DUNGEON_MAX_SIZE_X]; u8 fillE218[0xE23C - 0xE218]; s16 unkE23C; s16 unkE23E; u8 fillE240[0xE264 - 0xE240]; /* 0xE264 */ u8 weather; // Uses the weather constants in weather.h. u8 unkE265; // Uses the weather constants in weather.h - /* 0xE266 */ u8 weatherDamageTimer; // Timer for applying sandstorm/hail damage periodically. + /* 0xE266 */ u8 weatherDamageCounter; // Timer for applying sandstorm/hail damage periodically. u8 unkE267[0xE26B - 0xE267]; u8 unkE26B; - u8 weatherTurnsLeft; + u8 weatherTurns; u8 fillE26D[0xE26F - 0xE26D]; - /* 0xE26F */ u8 startingWeather[8]; // The weather at the start of the floor. If the weather changes, then expires, revert back to the starting weather. - /* 0xE277 */ u8 mudSportTurnsLeft; - /* 0xE278 */ u8 waterSportTurnsLeft; - /* 0xE279 */ bool8 negateWeatherEffects; // Air Lock and Cloud Nine toggle this to disable weather effects + /* 0xE26F */ u8 naturalWeather[8]; // The weather at the start of the floor. If the weather changes, then expires, revert back to the starting weather. + /* 0xE277 */ u8 mudSportTurns; + /* 0xE278 */ u8 waterSportTurns; + /* 0xE279 */ bool8 nullifyWeather; // Air Lock and Cloud Nine toggle this to disable weather effects u8 fillE27A[0xE8C0 - 0xE27A]; - /* 0xE8C0 */ struct MapTile* mapTilePointers[DUNGEON_MAX_SIZE_Y][DUNGEON_MAX_SIZE_X]; + /* 0xE8C0 */ struct Tile* tilePointers[DUNGEON_MAX_SIZE_Y][DUNGEON_MAX_SIZE_X]; u8 fill104C0[0x104C4 - 0x104C0]; - /* 0x104C4 */ struct MapRoom roomData[MAX_ROOM_COUNT]; + /* 0x104C4 */ struct RoomData roomData[MAX_ROOM_COUNT]; u8 fill10764[0x10844 - 0x10764]; - /* 0x10844 */ s16 numRoomExits[MAX_ROOM_COUNT]; + /* 0x10844 */ s16 naturalJunctionListCounts[MAX_ROOM_COUNT]; u8 fill10874[0x10884 - 0x10874]; - /* 0x10884 */ struct Position roomExits[MAX_ROOM_COUNT][32]; // Arrays of room exits for each room. + /* 0x10884 */ struct Position naturalJunctionList[MAX_ROOM_COUNT][32]; // Arrays of room exits for each room. u8 fill11444[0x11884 - 0x11484]; u8 unk11884[0x1194]; u8 fill12A18[0x12C24 - 0x12A18]; @@ -160,31 +165,31 @@ struct DungeonGlobalData /* 0x13578 */ u8 unk13578; /* 0x13579 */ u8 unk13579; u8 fill1357A[0x1357C - 0x1357A]; - /* 0x1357C */ struct DungeonEntity *teamPokemon[MAX_TEAM_MEMBERS]; - /* 0x1358C */ struct DungeonEntity *wildPokemon[DUNGEON_MAX_WILD_POKEMON]; - /* 0x135CC */ struct DungeonEntity *allPokemon[DUNGEON_MAX_POKEMON]; // Contains both team and wild Pokémon - /* 0x1361C */ struct DungeonEntity *clientPokemon[2]; // Not sure how large this array is. + /* 0x1357C */ struct Entity *teamPokemon[MAX_TEAM_MEMBERS]; + /* 0x1358C */ struct Entity *wildPokemon[DUNGEON_MAX_WILD_POKEMON]; + /* 0x135CC */ struct Entity *allPokemon[DUNGEON_MAX_POKEMON]; // Contains both team and wild Pokémon + /* 0x1361C */ struct Entity *clientPokemon[2]; // Not sure how large this array is. u8 fill13624[0x17B2C - 0x13624]; - /* 0x17B2C */ struct DungeonEntity *lightningRodPokemon; - /* 0x17B30 */ struct DungeonEntity *snatchPokemon; + /* 0x17B2C */ struct Entity *lightningRodPokemon; + /* 0x17B30 */ struct Entity *snatchPokemon; /* 0x17B34 */ u8 fillunk1734[0x17B38 - 0x17B34]; /* 0x17B38 */ u32 unk17B38; /* 0x17B3C */ u32 unk17B3C; u8 fill17B40[0x181E8 - 0x17B40]; - /* 0x181E8 */ struct Position posScreenWorld; - /* 0x181EC */ struct Position prevPosScreenWorld; - /* 0x181F0 */ struct Position posScreenPixel; - /* 0x181F4 */ struct Position prevPosScreenPixel; - /* 0x181F8 */ struct DungeonEntity *leader; // Pointer to the team leader. + /* 0x181E8 */ struct Position cameraPos; + /* 0x181EC */ struct Position cameraPosMirror; + /* 0x181F0 */ struct Position cameraPixelPos; + /* 0x181F4 */ struct Position cameraPixelPosMirror; + /* 0x181F8 */ struct Entity *cameraTarget; u32 unk181FC; u32 unk18200; u32 unk18204; u8 unk18208; - /* 0x18209 */ u8 visibility; // Dungeon light level. - /* 0x1820A */ bool8 displayBlinker; // Blacks out the screen when the player has the Blinker status. + /* 0x18209 */ u8 visibilityRange; // Dungeon light level. + /* 0x1820A */ bool8 blinded; // Blacks out the screen when the player has the Blinker status. u8 unk1820B; u32 unk1820C; - /* 0x18210 */ bool8 displayCrossEyed; // Displays Substitute and flower sprites when the player has the Cross-Eyed status. + /* 0x18210 */ bool8 hallucinating; // Displays Substitute and flower sprites when the player has the Cross-Eyed status. u8 fill18211[0x18217 - 0x18211]; u8 unk18217; u8 fill18218[0x1C578 - 0x18218]; diff --git a/include/dungeon_items.h b/include/dungeon_items.h index 0c227c260..2d2d2d91a 100644 --- a/include/dungeon_items.h +++ b/include/dungeon_items.h @@ -3,6 +3,6 @@ #include "dungeon_entity.h" -bool8 HasItem(struct DungeonEntity *pokemon, u8 itemIndex); +bool8 HasHeldItem(struct Entity *pokemon, u8 id); #endif diff --git a/include/dungeon_leader.h b/include/dungeon_leader.h index 58f433127..1f85d2221 100644 --- a/include/dungeon_leader.h +++ b/include/dungeon_leader.h @@ -1,7 +1,7 @@ #ifndef GUARD_DUNGEON_LEADER_H #define GUARD_DUNGEON_LEADER_H -struct DungeonEntity* GetLeaderEntity(); -struct DungeonEntityData* GetLeaderEntityData(void); +struct Entity* GetLeader(); +struct EntityInfo* GetLeaderMonster(void); #endif diff --git a/include/dungeon_map_access.h b/include/dungeon_map_access.h index dc5790c9b..7d32f264e 100644 --- a/include/dungeon_map_access.h +++ b/include/dungeon_map_access.h @@ -5,10 +5,10 @@ struct unkStruct_202F190 { - struct MapTile* unk0[6]; + struct Tile* unk0[6]; }; -struct MapTile* GetMapTile_1(s32 x, s32 y); -struct MapTile* GetMapTile_2(s32 x, s32 y); +struct Tile* GetTile(s32 x, s32 y); +struct Tile* GetTileSafe(s32 x, s32 y); #endif diff --git a/include/dungeon_movement_1.h b/include/dungeon_movement_1.h index 9b35c69eb..032f42475 100644 --- a/include/dungeon_movement_1.h +++ b/include/dungeon_movement_1.h @@ -3,6 +3,6 @@ #include "dungeon_entity.h" -bool8 CanCrossWalls(struct DungeonEntity *pokemon); +bool8 CanCrossWalls(struct Entity *pokemon); #endif diff --git a/include/dungeon_pokemon_attributes.h b/include/dungeon_pokemon_attributes.h index eb35abbad..3f6790847 100644 --- a/include/dungeon_pokemon_attributes.h +++ b/include/dungeon_pokemon_attributes.h @@ -3,18 +3,18 @@ #include "dungeon_entity.h" -bool8 HasSafeguardStatus(struct DungeonEntity * param_1, struct DungeonEntity * param_2, bool8 displayMessage); -bool8 sub_80717A4(struct DungeonEntity *pokemon, u16 moveID); -bool8 HasAbility(struct DungeonEntity *pokemon, u8 ability); -bool8 HasType(struct DungeonEntity *pokemon, u8 type); -bool8 CanSeeInvisible(struct DungeonEntity *pokemon); -bool8 HasTactic(struct DungeonEntity *pokemon, u8 tactic); -bool8 HasIQSkill(struct DungeonEntity *pokemon, u8 IQSkill); -void LoadIQSkills(struct DungeonEntity *pokemon); -bool8 CanSeeTeammate(struct DungeonEntity * pokemon); -u8 GetMoveTypeForPokemon(struct DungeonEntity *pokemon, struct PokemonMove *pokeMove); -s32 CalculateMovePower(struct DungeonEntity *pokemon, struct PokemonMove *pokeMove); -bool8 ToolboxEnabled(struct DungeonEntityData *pokemon); -bool8 SetVisualFlags(struct DungeonEntityData *entityData, u16 newFlag, bool8 param_3); +bool8 HasSafeguardStatus(struct Entity * param_1, struct Entity * param_2, bool8 displayMessage); +bool8 sub_80717A4(struct Entity *pokemon, u16 moveID); +bool8 HasAbility(struct Entity *pokemon, u8 ability); +bool8 MonsterIsType(struct Entity *pokemon, u8 type); +bool8 CanSeeInvisibleMonsters(struct Entity *pokemon); +bool8 HasTactic(struct Entity *pokemon, u8 tactic); +bool8 IQSkillIsEnabled(struct Entity *pokemon, u8 IQSkill); +void LoadIQSkills(struct Entity *pokemon); +bool8 CanSeeTeammate(struct Entity * pokemon); +u8 GetMoveTypeForMonster(struct Entity *pokemon, struct Move *pokeMove); +s32 GetMovePower(struct Entity *pokemon, struct Move *pokeMove); +bool8 ToolboxEnabled(struct EntityInfo *pokemon); +bool8 SetVisualFlags(struct EntityInfo *entityData, u16 newFlag, bool8 param_3); #endif diff --git a/include/dungeon_random.h b/include/dungeon_random.h index 96cad979f..29720bbbe 100644 --- a/include/dungeon_random.h +++ b/include/dungeon_random.h @@ -1,9 +1,9 @@ #ifndef GUARD_DUNGEON_RANDOM_H #define GUARD_DUNGEON_RANDOM_H -s32 DungeonRandom(void); -s32 DungeonRandomCapped(s32 cap); -s32 DungeonRandomRange(s32 low, s32 high); -bool8 RollPercentChance(s32 percentChance); -bool8 RollPercentChance_2(s32 percentChance); +s32 DungeonRand16Bit(void); +s32 DungeonRandInt(s32 cap); +s32 DungeonRandRange(s32 low, s32 high); +bool8 DungeonRandOutcome(s32 percentChance); +bool8 DungeonRandOutcome_2(s32 percentChance); #endif diff --git a/include/dungeon_range.h b/include/dungeon_range.h index 80cb7e347..9b7a1778a 100644 --- a/include/dungeon_range.h +++ b/include/dungeon_range.h @@ -3,6 +3,6 @@ #include "position.h" -bool8 InSameRoom_2(struct Position *pos1, struct Position *pos2); +bool8 IsPositionActuallyInSight(struct Position *pos1, struct Position *pos2); #endif diff --git a/include/dungeon_util.h b/include/dungeon_util.h index 95ad43112..d744cef25 100644 --- a/include/dungeon_util.h +++ b/include/dungeon_util.h @@ -7,12 +7,12 @@ extern const struct Position gAdjacentTileOffsets[NUM_DIRECTIONS]; -bool8 EntityExists(struct DungeonEntity *pokemon); -u32 GetEntityType(struct DungeonEntity *entity); -u8 GetEntityRoomIndex(struct DungeonEntity *entity); -struct DungeonEntityData *GetTrapData(struct DungeonEntity *entity); -struct ItemSlot *GetItemData(struct DungeonEntity *entity); -struct MapTile *GetMapTileForDungeonEntity_2(struct DungeonEntity *entity); -struct ItemSlot *GetItemData_1(struct DungeonEntity *entity); +bool8 EntityExists(struct Entity *pokemon); +u32 GetEntityType(struct Entity *entity); +u8 GetEntityRoom(struct Entity *entity); +struct EntityInfo *GetTrapData(struct Entity *entity); +struct Item *GetItemData(struct Entity *entity); +struct Tile *GetTileAtEntitySafe(struct Entity *entity); +struct Item *GetItemData_1(struct Entity *entity); #endif diff --git a/include/dungeon_util_1.h b/include/dungeon_util_1.h index 2a11ec63c..4d80e86d3 100644 --- a/include/dungeon_util_1.h +++ b/include/dungeon_util_1.h @@ -3,17 +3,17 @@ #include "dungeon_entity.h" -struct DungeonEntity *GetEntityFromClientType(u8 entityType); -void sub_80856C8(struct DungeonEntity * pokemon, s32 x, s32 y); -void sub_80856E0(struct DungeonEntity * pokemon, s32 direction); +struct Entity *GetEntityFromClientType(u8 entityType); +void sub_80856C8(struct Entity * pokemon, s32 x, s32 y); +void sub_80856E0(struct Entity * pokemon, s32 direction); void sub_8085764(void); void sub_8085860(s32 x, s32 y); void sub_8085890(s32 x, s32 y); void ShiftCameraToPosition(struct Position32 *posStruct, s32 cameraSteps); -void SetFacingDirection(struct DungeonEntity *pokemon, s32 direction); +void SetFacingDirection(struct Entity *pokemon, s32 direction); void sub_8085930(s32 direction); void sub_80859F0(s32 direction); -bool8 IsMovingClient(struct DungeonEntity *entity); -void sub_8085B0C(struct DungeonEntity *pokemon); +bool8 IsMovingClient(struct Entity *entity); +void sub_8085B0C(struct Entity *pokemon); #endif diff --git a/include/dungeon_visibility.h b/include/dungeon_visibility.h index f493c3d1a..9864a87b5 100644 --- a/include/dungeon_visibility.h +++ b/include/dungeon_visibility.h @@ -3,10 +3,10 @@ #include "dungeon_entity.h" -bool8 CanSee(struct DungeonEntity *entity, struct DungeonEntity *targetEntity); -bool8 CanSee_2(struct DungeonEntity *entity, struct DungeonEntity *targetEntity); -bool8 sub_8045A70(struct DungeonEntity *entity, struct DungeonEntity *targetEntity); -bool8 sub_8045AAC(struct DungeonEntity *entity, struct Position *pos); -bool8 InSameRoom(struct DungeonEntity *entity, struct Position *pos); +bool8 CanSeeTarget(struct Entity *entity, struct Entity *targetEntity); +bool8 CanTargetEntity(struct Entity *entity, struct Entity *targetEntity); +bool8 sub_8045A70(struct Entity *entity, struct Entity *targetEntity); +bool8 sub_8045AAC(struct Entity *entity, struct Position *pos); +bool8 CanTargetPosition(struct Entity *entity, struct Position *pos); #endif diff --git a/include/friend_area_action_menu.h b/include/friend_area_action_menu.h index cd470d540..cbf201008 100644 --- a/include/friend_area_action_menu.h +++ b/include/friend_area_action_menu.h @@ -8,14 +8,14 @@ struct unkStruct_203B2BC u32 unk4; s16 targetPoke; u16 unkA; - u32 itemIndex; - struct HeldItem itemToGive; - struct HeldItem item2; + u32 id; + struct BulkItem itemToGive; + struct BulkItem item2; struct PokemonStruct *unk18; u8 unk1C; u32 unk20; u16 moveID; - struct PokemonMove unk28[8]; + struct Move unk28[8]; u32 unk68; u32 unk6C; u32 unk70; diff --git a/include/friend_rescue.h b/include/friend_rescue.h index 4a256724a..12b12bbfb 100644 --- a/include/friend_rescue.h +++ b/include/friend_rescue.h @@ -27,7 +27,7 @@ struct WonderMailStruct_203B33C u32 unk35C; u8 padding5[0x5C]; struct UnkTextStruct2 unk3BC[4]; - struct ItemSlot unk41C; + struct Item unk41C; u32 unk420; // Is this supposed to be a File like 203B2C4? u8 fill424[0x524 - 0x424]; s32 unk524; diff --git a/include/global.h b/include/global.h index 5c7100996..c4cb58d9f 100644 --- a/include/global.h +++ b/include/global.h @@ -6,7 +6,7 @@ #include "gba/gba.h" #include "constants/global.h" -#include "constants/species.h" +#include "constants/monster.h" // IDE support #if defined(__APPLE__) || defined(__CYGWIN__) @@ -32,9 +32,4 @@ #define ARRAY_COUNT(array) (sizeof(array) / sizeof((array)[0])) -struct DungeonLocation { - u8 dungeonIndex; - u8 dungeonFloor; -}; - #endif // GUARD_GLOBAL_H diff --git a/include/gulpin_shop.h b/include/gulpin_shop.h index cfc223842..cbc266f16 100644 --- a/include/gulpin_shop.h +++ b/include/gulpin_shop.h @@ -9,7 +9,7 @@ struct unkStruct_203B26C u32 unk8; s16 speciesNum; // species of chosen Pokemon u8 unkE; - struct PokemonMove * unk10; + struct Move * unk10; u32 unk14; u32 unk18; u16 unk1C; diff --git a/include/item.h b/include/item.h index 1b687c341..24b5f705e 100644 --- a/include/item.h +++ b/include/item.h @@ -4,36 +4,36 @@ #include "constants/item.h" #include "code_8092334.h" -struct Item +struct ItemDataEntry { - /* 0x0 */ u8 *namePointer; + /* 0x0 */ u8 *name; /* 0x4 */ u32 buyPrice; /* 0x8 */ u32 sellPrice; - /* 0xC */ u8 type; + /* 0xC */ u8 category; /* 0xD */ u8 icon; - /* 0x10 */ u8 *descriptionPointer; + /* 0x10 */ u8 *description; // Determines how the AI can use the item. // Index 0: Item can be used on self. // Index 1: Item can be thrown at allies. // Index 2: Item can be thrown at enemies. /* 0x14 */ bool8 aiFlags[3]; - /* 0x18 */ s16 move; + /* 0x18 */ s16 moveID; /* 0x1A */ u8 order; // Numbered order they are in storage /* 0x1B */ u8 unkThrow1B[2]; /* 0x1D */ u8 palette; - /* 0x1E */ u8 category; + /* 0x1E */ u8 actionType; }; -struct ItemSlot +struct Item { - u8 itemFlags; - u8 numItems; - u8 itemIndex; + u8 flags; + u8 quantity; + u8 id; }; -struct HeldItem { - u8 itemIndex; - u8 numItems; +struct BulkItem { + u8 id; + u8 quantity; }; struct unkStruct_80915F4 @@ -54,7 +54,7 @@ struct unkStruct_8090F58 enum ItemFlag { ITEM_FLAG_EXISTS = 1 << 0, - ITEM_FLAG_FOR_SALE = 1 << 1, + ITEM_FLAG_IN_SHOP = 1 << 1, ITEM_FLAG_STICKY = 1 << 3, ITEM_FLAG_SET = 1 << 4 // This item can be thrown by pressing L+R instead of having to go to the bag menu. }; @@ -74,57 +74,57 @@ void LoadItemParameters(void); struct TeamInventory *GetMoneyItemsInfo(void); void InitializeMoneyItems(void); s32 GetNumberOfFilledInventorySlots(void); -bool8 IsThrowableItem(u8 itemIndex); -void xxx_init_itemslot_8090A8C(struct ItemSlot *param_1,u8 itemIndex,u8 param_3); -void xxx_init_helditem_8090B08(struct HeldItem *param_1,u8 itemIndex); -void HeldItemToSlot(struct ItemSlot *param_1, struct HeldItem *param_2); -void SlotToHeldItem(struct HeldItem *held,struct ItemSlot *slot); -u8 GetItemType(u8 index); -s32 GetStackBuyValue(struct ItemSlot *param_1); -s32 GetStackSellValue(struct ItemSlot *param_1); -s32 GetStackBuyPrice(struct ItemSlot *param_1); -s32 GetStackSellPrice(struct ItemSlot *param_1); -s32 GetItemBuyPrice(u8 itemIndex); -s32 GetItemSellPrice(u8 itemIndex); -s32 GetItemOrder(u8 itemIndex); -u8 GetItemPalette(u8 itemIndex); -u32 GetItemCategory(u8 itemIndex); -u32 GetItemUnkThrow(u8 itemIndex, u32 r1); -u8 *GetItemDescription(u8 itemIndex); -bool8 GetItemAIFlag(u8 itemIndex, u32 r1); -void sub_8090DC4(void* param_1,u8 itemIndex, struct unkStruct_8090F58* param_3); -void sub_8090E14(u8* ext_buffer, struct ItemSlot* slot, struct unkStruct_8090F58* a3); -bool8 AddItemToInventory(const struct ItemSlot* slot); +bool8 IsThrowableItem(u8 id); +void xxx_init_itemslot_8090A8C(struct Item *param_1,u8 id,u8 param_3); +void xxx_init_helditem_8090B08(struct BulkItem *param_1,u8 id); +void HeldItemToSlot(struct Item *param_1, struct BulkItem *param_2); +void SlotToHeldItem(struct BulkItem *held,struct Item *slot); +u8 GetItemCategory(u8 index); +s32 GetStackBuyValue(struct Item *param_1); +s32 GetStackSellValue(struct Item *param_1); +s32 GetStackBuyPrice(struct Item *param_1); +s32 GetStackSellPrice(struct Item *param_1); +s32 GetItemBuyPrice(u8 id); +s32 GetItemSellPrice(u8 id); +s32 GetItemOrder(u8 id); +u8 GetItemPalette(u8 id); +u32 GetItemActionType(u8 id); +u32 GetItemUnkThrow(u8 id, u32 r1); +u8 *GetItemDescription(u8 id); +bool8 GetItemAIFlag(u8 id, u32 r1); +void sub_8090DC4(void* param_1,u8 id, struct unkStruct_8090F58* param_3); +void sub_8090E14(u8* ext_buffer, struct Item* slot, struct unkStruct_8090F58* a3); +bool8 AddItemToInventory(const struct Item* slot); void ConvertMoneyItemToMoney(); void AddToTeamMoney(s32 amount); -u32 GetMoneyValue(struct ItemSlot* slot); -u16 GetItemMove(u8 index); +u32 GetMoneyValue(struct Item* slot); +u16 GetItemMoveID(u8 index); bool8 CanSellItem(u32 id); bool8 IsGummiItem(u8); void xxx_init_unk230_substruct(u8); bool8 AddGreenKecleonShopItem(u8); -struct HeldItem *xxx_get_inv_unk230_at_809185C(u8); +struct BulkItem *xxx_get_inv_unk230_at_809185C(u8); void xxx_fill_unk230_gaps(); -struct HeldItem* xxx_get_unk250_at_8091A90(u8); +struct BulkItem* xxx_get_unk250_at_8091A90(u8); s32 xxx_count_inv_unk230(); u32 xxx_count_non_empty_inv_unk250_8091A48(); void ChoosePurpleKecleonShopInventory(u8); -void sub_8090F58(void*, u8 *, struct ItemSlot *, struct unkStruct_8090F58*); +void sub_8090F58(void*, u8 *, struct Item *, struct unkStruct_8090F58*); void ShiftItemsDownFrom(s32 start); void ClearItemSlotAt(u32 index); -void MoveToStorage(struct ItemSlot* slot); +void MoveToStorage(struct Item* slot); void FillInventoryGaps(); -bool8 AddHeldItemToInventory(struct HeldItem* slot); +bool8 AddHeldItemToInventory(struct BulkItem* slot); bool8 IsNotMoneyOrUsedTMItem(u8 id); -s32 FindItemInInventory(u8 itemIndex); +s32 FindItemInInventory(u8 id); bool8 IsHMItem(u8 id); bool8 IsEdibleItem(u8 id); -void RestoreHeldItem(struct unkStruct_8094924*, struct HeldItem*); -void SaveHeldItem(struct unkStruct_8094924*, struct HeldItem*); -void RestoreItemSlot(struct unkStruct_8094924 *a1, struct ItemSlot *a2); -void SaveItemSlot(struct unkStruct_8094924 *a1, struct ItemSlot *a2); +void RestoreHeldItem(struct unkStruct_8094924*, struct BulkItem*); +void SaveHeldItem(struct unkStruct_8094924*, struct BulkItem*); +void RestoreItemSlot(struct unkStruct_8094924 *a1, struct Item *a2); +void SaveItemSlot(struct unkStruct_8094924 *a1, struct Item *a2); s32 RestoreTeamInventory(u8 *unk0, u32 size); s32 SaveTeamInventory(u8 *unk0, u32 size); diff --git a/include/kangaskhan_storage.h b/include/kangaskhan_storage.h index 4a145bcac..2ef0cfc7b 100644 --- a/include/kangaskhan_storage.h +++ b/include/kangaskhan_storage.h @@ -11,9 +11,9 @@ struct unkStruct_203B208 u32 unk0; u32 currState; u32 unk8; - struct ItemSlot unkC; + struct Item unkC; u32 unk10; - u8 itemIndex; // another itemIndex? + u8 id; // another id? u8 fill15[0x3]; u32 unk18; u32 unk1C; @@ -43,9 +43,9 @@ struct unkStruct_203B20C { u32 state; u8 unk4[4]; - struct ItemSlot unk8; + struct Item unk8; u32 unkC; - u8 itemIndex; + u8 id; u32 unk14; u32 unk18; u32 unk1C; diff --git a/include/kecleon_items.h b/include/kecleon_items.h index 0719804db..aae0a1055 100644 --- a/include/kecleon_items.h +++ b/include/kecleon_items.h @@ -16,7 +16,7 @@ struct unkStruct_203B210 s32 itemSellPrice; u32 unk14; s32 unk18; - struct ItemSlot unk1C; + struct Item unk1C; u8 unk20; u8 unk21; u8 unk22; diff --git a/include/map.h b/include/map.h index 4255ed9ef..34061dcb2 100644 --- a/include/map.h +++ b/include/map.h @@ -5,19 +5,19 @@ #include "position.h" #define MAX_ROOM_COUNT 24 // Empirical max, not sure if the code supports any more. -#define CORRIDOR_ROOM_INDEX 0xFF +#define CORRIDOR_ROOM 0xFF -enum TileType +enum TerrainType { - TILE_TYPE_FLOOR = 1 << 0, - TILE_TYPE_LIQUID = 1 << 1, // Water or lava depending on the dungeon. - TILE_TYPE_UNK_2 = 1 << 2, - TILE_TYPE_ROOM_EXIT = 1 << 3, - TILE_TYPE_MAP_EDGE = 1 << 4, - TILE_TYPE_SHOP = 1 << 5, - TILE_TYPE_MONSTER_HOUSE = 1 << 6, - TILE_TYPE_UNK_8 = 1 << 8, - TILE_TYPE_STAIRS = 1 << 9 + TERRAIN_TYPE_NORMAL = 1 << 0, + TERRAIN_TYPE_SECONDARY = 1 << 1, // Water or lava depending on the dungeon. + TERRAIN_TYPE_UNK_2 = 1 << 2, + TERRAIN_TYPE_NATURAL_JUNCTION = 1 << 3, + TERRAIN_TYPE_IMPASSABLE_WALL = 1 << 4, + TERRAIN_TYPE_SHOP = 1 << 5, + TERRAIN_TYPE_IN_MONSTER_HOUSE = 1 << 6, + TERRAIN_TYPE_UNK_8 = 1 << 8, + TERRAIN_TYPE_STAIRS = 1 << 9 }; enum CrossableTerrain @@ -29,32 +29,32 @@ enum CrossableTerrain NUM_CROSSABLE_TERRAIN }; -struct MapTile +struct Tile { - // Uses the TileType bit flags. - /* 0x0 */ u16 tileType; + // Uses the TerrainType bit flags. + /* 0x0 */ u16 terrainType; u8 fill2[0x4 - 0x2]; u16 unk4; u16 unk6; u8 unk8; - /* 0x9 */ u8 roomIndex; + /* 0x9 */ u8 room; // Bitwise flags for whether Pokémon can move to an adjacent tile. Bits correspond to directions in direction.h. // Different sets of flags are used for Pokémon that can cross special terrain, corresponding to the CrossableTerrain enum. - /* 0xA */ u8 canMoveAdjacent[NUM_CROSSABLE_TERRAIN]; + /* 0xA */ u8 walkableNeighborFlags[NUM_CROSSABLE_TERRAIN]; u8 fillE[0x10 - 0xE]; - /* 0x10 */ struct DungeonEntity *pokemon; // Pokémon on the tile. - /* 0x14 */ struct DungeonEntity *mapObject; // Item or trap on the tile. + /* 0x10 */ struct Entity *monster; // Pokémon on the tile. + /* 0x14 */ struct Entity *object; // Item or trap on the tile. }; -struct MapRoom +struct RoomData { u8 fill0[0x2 - 0x0]; // All coordinates are inclusive. // These are not aligned properly to use the Position struct. - /* 0x2 */ s16 startX; - /* 0x4 */ s16 startY; - /* 0x6 */ s16 endX; - /* 0x8 */ s16 endY; + /* 0x2 */ s16 bottomRightCornerX; + /* 0x4 */ s16 bottomRightCornerY; + /* 0x6 */ s16 topLeftCornerX; + /* 0x8 */ s16 topLeftCornerY; u8 fillA[0x1A - 0xA]; }; diff --git a/include/move_checks.h b/include/move_checks.h index 80a27bc6a..e6cc878f7 100644 --- a/include/move_checks.h +++ b/include/move_checks.h @@ -1,10 +1,10 @@ #ifndef GUARD_MOVE_CHECKS_H #define GUARD_MOVE_CHECKS_H -bool8 CanUseOnSelfWithStatusChecker(struct DungeonEntity *pokemon, struct PokemonMove *move); -bool8 CanUseOnTargetWithStatusChecker(struct DungeonEntity *user, struct DungeonEntity *target, struct PokemonMove *move); -bool8 HasDisabledMove(struct PokemonMove *moves); -bool8 LastUsedMoveOutOfPP(struct PokemonMove *moves); -bool8 HasLastUsedMove(struct PokemonMove *moves); +bool8 CanUseOnSelfWithStatusChecker(struct Entity *pokemon, struct Move *move); +bool8 CanUseOnTargetWithStatusChecker(struct Entity *user, struct Entity *target, struct Move *move); +bool8 HasDisabledMove(struct Move *moves); +bool8 LastUsedMoveOutOfPP(struct Move *moves); +bool8 HasLastUsedMove(struct Move *moves); #endif diff --git a/include/move_effects_target.h b/include/move_effects_target.h index 3145c1e2b..ebe4b41cd 100644 --- a/include/move_effects_target.h +++ b/include/move_effects_target.h @@ -1,28 +1,28 @@ #ifndef GUARD_MOVE_EFFECTS_TARGET_H #define GUARD_MOVE_EFFECTS_TARGET_H -u8 sub_8075BF4(struct DungeonEntity * pokemon, s32 sleepTurns); -void sub_8075C58(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 turns, bool8 displayMessage); -bool8 CannotSleep(struct DungeonEntity * pokemon, struct DungeonEntity * target, u8 param_3, bool8 displayMessage); -void NightmareStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 turns); -void NappingStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 turns); -void YawnedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 turns); -void SleeplessStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void PausedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, u8 param_3, s32 turns, bool8 displayMessage); -void InfatuateStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 displayMessage); -void BurnedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, u8 param_3, bool8 displayMessage); -void PoisonedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 displayMessage); -void BadlyPoisonedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 displayMessage); -void FrozenStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 displayMessage); -void SqueezedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s16 param_3, bool32 displayMessage); -void ImmobilizedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void IngrainedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void WrapTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); +u8 sub_8075BF4(struct Entity * pokemon, s32 sleepTurns); +void sub_8075C58(struct Entity * pokemon, struct Entity * target, s32 turns, bool8 displayMessage); +bool8 CannotSleep(struct Entity * pokemon, struct Entity * target, u8 param_3, bool8 displayMessage); +void NightmareStatusTarget(struct Entity * pokemon, struct Entity * target, s32 turns); +void NappingStatusTarget(struct Entity * pokemon, struct Entity * target, s32 turns); +void YawnedStatusTarget(struct Entity * pokemon, struct Entity * target, s32 turns); +void SleeplessStatusTarget(struct Entity * pokemon, struct Entity * target); +void PausedStatusTarget(struct Entity * pokemon, struct Entity * target, u8 param_3, s32 turns, bool8 displayMessage); +void InfatuateStatusTarget(struct Entity * pokemon, struct Entity * target, bool8 displayMessage); +void BurnedStatusTarget(struct Entity * pokemon, struct Entity * target, u8 param_3, bool8 displayMessage); +void PoisonedStatusTarget(struct Entity * pokemon, struct Entity * target, bool8 displayMessage); +void BadlyPoisonedStatusTarget(struct Entity * pokemon, struct Entity * target, bool8 displayMessage); +void FrozenStatusTarget(struct Entity * pokemon, struct Entity * target, bool8 displayMessage); +void SqueezedStatusTarget(struct Entity * pokemon, struct Entity * target, s16 param_3, bool32 displayMessage); +void ImmobilizedStatusTarget(struct Entity * pokemon, struct Entity * target); +void IngrainedStatusTarget(struct Entity * pokemon, struct Entity * target); +void WrapTarget(struct Entity * pokemon, struct Entity * target); void sub_8076CB4(s32 param_1); -void PetrifiedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void LowerAttackStageTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 index, s32 decrement, u8 param_5, bool8 displayMessage); -void LowerDefenseStageTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 index, s32 decrement, u8 param_5, bool8 displayMessage); -void RaiseAttackStageTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 index, s32 increment); -void RaiseDefenseStageTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 index, s32 increment); +void PetrifiedStatusTarget(struct Entity * pokemon, struct Entity * target); +void LowerAttackStageTarget(struct Entity * pokemon, struct Entity * target, s32 index, s32 decrement, u8 param_5, bool8 displayMessage); +void LowerDefenseStageTarget(struct Entity * pokemon, struct Entity * target, s32 index, s32 decrement, u8 param_5, bool8 displayMessage); +void RaiseAttackStageTarget(struct Entity * pokemon, struct Entity * target, s32 index, s32 increment); +void RaiseDefenseStageTarget(struct Entity * pokemon, struct Entity * target, s32 index, s32 increment); #endif diff --git a/include/move_util.h b/include/move_util.h index 2bfc1c668..b8065b492 100644 --- a/include/move_util.h +++ b/include/move_util.h @@ -3,7 +3,7 @@ #include "dungeon_entity.h" -bool8 IsMoveIndexUsable(struct DungeonEntity *pokemon, s32 moveIndex, bool8 hasPPChecker); -bool8 IsMoveUsable(struct DungeonEntity *pokemon, struct PokemonMove *move, bool8 hasPPChecker); +bool8 CanAIUseMove(struct Entity *pokemon, s32 moveIndex, bool8 hasPPChecker); +bool8 CanMonsterUseMove(struct Entity *pokemon, struct Move *move, bool8 hasPPChecker); #endif diff --git a/include/moves.h b/include/moves.h index b2ee36426..5d39aa6f5 100644 --- a/include/moves.h +++ b/include/moves.h @@ -5,28 +5,28 @@ #include "constants/move_id.h" void LoadWazaParameters(void); -u8 sub_809287C(struct PokemonMove *move); -void InitPokemonMove(struct PokemonMove *move, u16 moveID); -void sub_8092AA8(struct PokemonMove *move, u16 moveID); -void InitZeroedPPPokemonMove(struct PokemonMove *move, u16 moveID); -s16 GetMoveTargetingFlags(struct PokemonMove *move, u32 isAI); -u8 GetMoveType(struct PokemonMove *move); -u8 GetMoveWeight(struct PokemonMove *move); -u32 GetMoveHitCount(struct PokemonMove *move); -s32 GetMovePower(struct PokemonMove *move); -s32 GetMoveAccuracy(struct PokemonMove *move, u32 accuracyType); -u32 GetMoveMaxPP(struct PokemonMove *move); -u32 GetMoveMaxPowerBoost(struct PokemonMove *move); -u8 GetMoveCriticalHitChance(struct PokemonMove *move); -bool8 MoveCannotHitFrozen(struct PokemonMove *move); -bool8 MoveDealsDirectDamage(struct PokemonMove *move); -u32 GetMoveRangeType(struct PokemonMove *move); +u8 sub_809287C(struct Move *move); +void InitPokemonMove(struct Move *move, u16 moveID); +void sub_8092AA8(struct Move *move, u16 moveID); +void InitZeroedPPPokemonMove(struct Move *move, u16 moveID); +s16 GetMoveTargetAndRange(struct Move *move, u32 isAI); +u8 GetMoveType(struct Move *move); +u8 GetMoveAIWeight(struct Move *move); +u32 GetMoveNumberOfChainedHits(struct Move *move); +s32 GetMoveBasePower(struct Move *move); +s32 GetMoveAccuracyOrAIChance(struct Move *move, u32 accuracyType); +u32 GetMoveBasePP(struct Move *move); +u32 GetMoveMaxUpgradeLevel(struct Move *move); +u8 GetMoveCritChance(struct Move *move); +bool8 MoveCannotHitFrozen(struct Move *move); +bool8 MovesIgnoresTaunted(struct Move *move); +u32 GetMoveRangeID(struct Move *move); void sub_8092C84(u8 *buffer, u16 moveID); u8 *GetMoveUseText(u16 moveID); -bool8 MoveAffectedByMagicCoat(u16 moveID); -bool8 MoveTargetsUser(u16 moveID); -bool8 MoveAffectedByMuzzled(u16 moveID); -bool8 IsBlockedBySoundproof(struct PokemonMove *move); +bool8 IsReflectedByMagicCoat(u16 moveID); +bool8 CanBeSnatched(u16 moveID); +bool8 FailsWhileMuzzled(u16 moveID); +bool8 IsSoundMove(struct Move *move); bool8 DoesMoveCharge(u16 move); #endif // GUARD_MOVES_H diff --git a/include/other_random.h b/include/other_random.h index 83a1b6077..1b0b992f0 100644 --- a/include/other_random.h +++ b/include/other_random.h @@ -1,7 +1,7 @@ #ifndef GUARD_OTHER_RANDOM_H #define GUARD_OTHER_RANDOM_H -s32 OtherRandomCapped(s32 cap); -s32 OtherRandomRange(s32 a, s32 b); +s32 OtherRandInt(s32 cap); +s32 OtherRandRange(s32 a, s32 b); #endif // GUARD_OTHER_RANDOM_H diff --git a/include/pokemon.h b/include/pokemon.h index 22a728fa6..3da0e2439 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -1,6 +1,7 @@ #ifndef GUARD_POKEMON_H #define GUARD_POKEMON_H +#include "dungeon_global_data.h" #include "file_system.h" #include "item.h" #include "constants/move.h" @@ -29,7 +30,7 @@ struct PokemonStruct { // size: 0x58 /* 0x0 */ u16 unk0; // recruited?? - /* 0x1 */ bool8 isLeader; + /* 0x1 */ bool8 isTeamLeader; /* 0x3 */ u8 unkHasNextStage; // set to a random value? /* 0x4 */ struct DungeonLocation dungeonLocation; /* 0x8 */ s16 speciesNum; // species # @@ -41,8 +42,8 @@ struct PokemonStruct /* 0x20 */ u32 IQSkills; /* 0x24 */ u8 unk24; /* 0x25 */ u8 fill25[3]; - /* 0x28 */ struct HeldItem heldItem; - /* 0x2C */ struct PokemonMove moves[MAX_MON_MOVES]; + /* 0x28 */ struct BulkItem heldItem; + /* 0x2C */ struct Move moves[MAX_MON_MOVES]; /* 0x4C */ u8 name[POKEMON_NAME_LENGTH]; }; @@ -62,7 +63,7 @@ struct EvolveStage struct unkStruct_8094184 { - struct PokemonMove moves[MAX_MON_MOVES]; + struct Move moves[MAX_MON_MOVES]; u8 unk20; }; @@ -70,7 +71,7 @@ struct PokemonStruct2 { // size 0x68 /* 0x0 */ u16 unk0; // corresponds to unk0 inPokemonStruct - /* 0x2 */ bool8 isLeader; // unk2 + /* 0x2 */ bool8 isTeamLeader; // unk2 /* 0x3 */ u8 unkHasNextStage; // unk3 /* 0x4 */ struct DungeonLocation dungeonLocation; // unk4 /* 0x8 */ u16 IQ; // IQ (other offset) @@ -82,7 +83,7 @@ struct PokemonStruct2 /* 0x14 */ struct Offense offense; // offense (other offset) /* 0x18 */ u32 unk18; // unk1C /* 0x1C */ struct unkStruct_8094184 moves; - /* 0x40 */ struct ItemSlot itemSlot; // heldItem + /* 0x40 */ struct Item itemSlot; // heldItem /* 0x44 */ u32 unk44; // some struct /* 0x48 */ u32 unk48; // some struct (same type as 44) /* 0x4C */ u32 IQSkills; // unk20 @@ -94,62 +95,62 @@ struct PokemonStruct2 struct unkStruct_203B45C { - /* 0x0 */ struct PokemonStruct pokemon[NUM_SPECIES]; + /* 0x0 */ struct PokemonStruct pokemon[NUM_MONSTERS]; /* 0x8DF8 */ struct PokemonStruct2 pokemon2[4]; /* 0x8F88 */ struct PokemonStruct team[MAX_TEAM_MEMBERS]; }; -struct EvolveStruct1 +struct PreEvolution { - /* 0x34 */ s16 evolve_from; - /* 0x36 */ s16 evolve_type; + /* 0x34 */ s16 evolveFrom; + /* 0x36 */ s16 evolveType; }; -struct EvolveNeeds +struct EvolutionRequirements { - /* 0x38 */ u16 evolve_need1; - /* 0x3A */ u16 evolve_need2; + /* 0x38 */ u16 mainRequirement; + /* 0x3A */ u16 additionalRequirement; }; struct unkEvolve { - /* 0x0 */ struct EvolveStruct1 conditions; - /* 0x4 */ struct EvolveNeeds needs; + /* 0x0 */ struct PreEvolution preEvolution; + /* 0x4 */ struct EvolutionRequirements evolutionRequirements; }; -struct gPokemon +struct MonsterDataEntry { /* 0x0 */ u8* species; /* 0x4 */ u8* category; - /* 0x8 */ u8 overworld_palette; - /* 0x9 */ u8 size; - /* 0xC */ s32 move_speed; - /* 0x10 */ u16 dialogue_sprites; // Bitwise flags for whether a dialogue sprite/portrait is available for each emotion. + /* 0x8 */ u8 overworldPalette; + /* 0x9 */ u8 bodySize; + /* 0xC */ s32 movementSpeed; + /* 0x10 */ u16 dialogueSprites; // Bitwise flags for whether a dialogue sprite/portrait is available for each emotion. /* 0x12 */ bool8 unk12; /* 0x13 */ u8 types[2]; - /* 0x15 */ u8 walkable_tiles; - /* 0x16 */ u8 friend_area; + /* 0x15 */ u8 movementType; + /* 0x16 */ u8 friendArea; /* 0x17 */ u8 abilities[2]; - /* 0x19 */ u8 shadow_size; + /* 0x19 */ u8 shadowSize; /* 0x1A */ u8 fill1A; // 0 for all Pokémon. - /* 0x1B */ u8 unk1B; // 100 for all Pokémon. - /* 0x1C */ bool8 isMoving; // Set to false for Pokémon who don't move unless they're the leader, like Kakuna. - /* 0x1D */ u8 unk1D; - /* 0x1E */ u16 base_hp; - /* 0x20 */ s32 base_exp; - /* 0x24 */ u16 base_att_spatt[2]; - /* 0x28 */ u16 base_def_spdef[2]; - /* 0x2C */ u16 lowkick_dmg; - /* 0x2E */ u16 sizeorb_dmg; + /* 0x1B */ u8 regenSpeed; // 100 for all Pokémon. + /* 0x1C */ bool8 canMove; // Set to false for Pokémon who don't move unless they're the leader, like Kakuna. + /* 0x1D */ u8 chanceAsleep; + /* 0x1E */ u16 baseHP; + /* 0x20 */ s32 expYield; + /* 0x24 */ u16 baseAtkSpAtk[2]; + /* 0x28 */ u16 baseDefSpDef[2]; + /* 0x2C */ u16 weight; + /* 0x2E */ u16 size; /* 0x30 */ u8 unk30; // 10 for all Pokémon. /* 0x31 */ u8 unk31; // 10 for all Pokémon. /* 0x32 */ u8 unk32; // 24 for all Pokémon. /* 0x33 */ bool8 toolboxEnabled; // If false, the AI can't use items. Doesn't seem to be used, as it's true for all Pokémon. - /* 0x34 */ struct EvolveStruct1 pre; - /* 0x38 */ struct EvolveNeeds need; + /* 0x34 */ struct PreEvolution preEvolution; + /* 0x38 */ struct EvolutionRequirements evolutionRequirements; /* 0x3C */ s16 dexInternal[2]; // dexNo and internalNo - /* 0x40 */ s16 base_recruit; + /* 0x40 */ s16 recruitRate; /* 0x42 */ s16 alphabetParent[2]; // alphabetNo and parentNo }; @@ -169,7 +170,7 @@ struct LevelData struct unkStruct_808E218_arg { - u16 unk0[NUM_SPECIES]; + u16 unk0[NUM_MONSTERS]; u32 count; }; @@ -186,39 +187,39 @@ struct unkStruct_203B45C *GetRecruitedPokemon(void); void InitializeRecruitedPokemon(void); -void CopySpeciesNametoBuffer(u8 * buffer, s16 index); -void CopyYellowSpeciesNametoBuffer(u8 *buffer, s16 index); -void CopyCyanSpeciesNametoBuffer(u8 *buffer, s16 index); +void CopyMonsterNametoBuffer(u8 * buffer, s16 index); +void CopyYellowMonsterNametoBuffer(u8 *buffer, s16 index); +void CopyCyanMonsterNametoBuffer(u8 *buffer, s16 index); void PrintColoredPokeNameToBuffer(u8 *buffer, struct PokemonStruct *pokemon, s32 colorNum); void sub_808D9DC(u8 *buffer, struct PokemonStruct2 *param_2, s32 colorNum); void sub_808DA0C(u8 *buffer, struct PokemonStruct2 *param_2); -void PeekPokemonItem(s16 index_, struct HeldItem* item); -void GivePokemonItem(s16 index_, struct HeldItem* item); +void PeekPokemonItem(s16 index_, struct BulkItem* item); +void GivePokemonItem(s16 index_, struct BulkItem* item); bool8 IsPokemonRenamed(struct PokemonStruct* pokemon); bool8 CanMonLearnMove(u16 moveID, s16 _species); u8 *GetCategoryString(s16 index); -u8 GetPokemonSize(s16 index); +u8 GetBodySize(s16 index); u8 GetShadowSize(s16 index); char * GetMonSpecies(s16 index); -s32 GetMoveSpeed(s16 index); -u8 GetWalkableTiles(s16 index); -u8 GetUnk1B(s16 index); -bool8 GetIsMoving(s16 index); -u8 GetUnk1D(s16 index); -u32 GetLowKickDmg(s16 index); -u32 GetSizeOrbDmg(s16 index); +s32 GetMovementSpeed(s16 index); +u8 GetMovementType(s16 index); +u8 GetRegenSpeed(s16 index); +bool8 CanMove(s16 index); +u8 GetChanceAsleep(s16 index); +u32 GetWeight(s16 index); +u32 GetSize(s16 index); u8 GetFriendArea(s16 index); u16 GetBaseHP(s16 index); bool8 IsToolboxEnabled(s16 index); u8 GetUnk12(s16 index); s16 GetPokemonEvolveFrom(s16 index); -u16 GetPokemonAttSpatt(s16 index, u32 r1); -u16 GetPokemonDefSpdef(s16 index, u32 r1); +u16 GetBaseOffensiveStat(s16 index, u32 r1); +u16 GetBaseDefensiveStat(s16 index, u32 r1); u8 GetPokemonType(s32 index, u32 typeIndex); u8 GetPokemonAbility(s16 index, u32 abilityIndex); s16 GetDexInternalNo(s16 index, u32 r1); -s16 GetBaseRecruit(s16 index); +s16 GetRecruitRate(s16 index); s16 GetAlphabetParentNo(s16 index, s32 r1); s16 GetInternalNo(s16 index); s32 CalculateEXPGain(s16 index, s32 level); diff --git a/include/pokemon_3.h b/include/pokemon_3.h index 0b8f81126..6d579a8e5 100644 --- a/include/pokemon_3.h +++ b/include/pokemon_3.h @@ -4,6 +4,6 @@ bool8 TacticsTargetLeader(u8 tactic); bool8 HasIQForSkill(s32 pokeIQ, u8 IQSkillIndex); void SetIQSkill(u8 *param_1, u32 skillIndex); -bool8 IsIQSkillSet(u8 *IQSkillsEnabled, u32 IQSkill); +bool8 IsIQSkillSet(u8 *IQSkillFlags, u32 IQSkill); #endif diff --git a/include/position_util.h b/include/position_util.h index b9b2990e6..c9d4b3669 100644 --- a/include/position_util.h +++ b/include/position_util.h @@ -3,7 +3,7 @@ #include "position.h" -s32 CalculateFacingDir(struct Position *originPos, struct Position *targetPos); -s32 GetDistance(struct Position *pos1, struct Position *pos2); +s32 GetDirectionTowardsPosition(struct Position *originPos, struct Position *targetPos); +s32 GetChebyshevDistance(struct Position *pos1, struct Position *pos2); #endif diff --git a/include/random.h b/include/random.h index 53cfdaf11..aefc61018 100644 --- a/include/random.h +++ b/include/random.h @@ -2,10 +2,10 @@ #define GUARD_RANDOM_H void SeedRng(u8 *seed); -s32 Random(void); -s32 RandomCapped(s32 cap); -s32 RandomRange(s32 a, s32 b); -s32 GetRngState(void); -void SetRngState(s32 state); +s32 Rand32Bit(void); +s32 RandInt(s32 cap); +s32 RandRange(s32 a, s32 b); +s32 GetRNGSeed(void); +void SetRNGSeed(s32 state); #endif // GUARD_RANDOM_H diff --git a/include/status.h b/include/status.h index 18dc46366..abdd59e33 100644 --- a/include/status.h +++ b/include/status.h @@ -7,33 +7,33 @@ #define FLASH_FIRE_STATUS_MAXED 1 #define FLASH_FIRE_STATUS_NOT_MAXED 2 -u8 GetFlashFireStatus(struct DungeonEntity *pokemon); -void UpdateFlashFireBoost(struct DungeonEntity * pokemon, struct DungeonEntity *target); -void ChangeAttackMultiplierTarget(struct DungeonEntity *pokemon, struct DungeonEntity *target, u32 statStage, s32 param_4, bool8 displayMessage); -void ChangeDefenseMultiplierTarget(struct DungeonEntity *pokemon, struct DungeonEntity *target, u32 statStage, s32 param_4, bool8 displayMessage); -void RaiseAccuracyStageTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 statStage); -void LowerAccuracyStageTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 statStage, bool8 displayMessage); -void CringeStatusTarget(struct DungeonEntity * pokemon,struct DungeonEntity * target, bool8 displayMessage); -void ParalyzeStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 displayMessage); -void RaiseMovementSpeedTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 turns, bool8 diplayMessage); -void LowerMovementSpeedTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 levels, bool8 displayMessage); -void ConfuseStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 displayMessage); -void CowerStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 displayMessage); -void HealTargetHP(struct DungeonEntity *pokemon, struct DungeonEntity *target, s32 param_3, s32 param_4, bool32 displayMessage); -void HandleScannerOrb(struct DungeonEntity* pokemon, struct DungeonEntity* target); -void HandleStairsOrb(struct DungeonEntity* pokemon, struct DungeonEntity* target); -void HandleRadarOrb(struct DungeonEntity* pokemon, struct DungeonEntity* target); -void HandleLeechSeed(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 displayMessage); -void DestinyBondStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void SureShotStatusTarget(struct DungeonEntity *pokemon, struct DungeonEntity * target, s32 turns); -void WhifferStatusTarget(struct DungeonEntity *pokemon, struct DungeonEntity * target, s32 turns); -void FixedDamageStatusTarget(struct DungeonEntity *pokemon, struct DungeonEntity * target); -void FocusEnergyStatusTarget(struct DungeonEntity *pokemon, struct DungeonEntity * target); -void CurseStatusTarget(struct DungeonEntity *pokemon, struct DungeonEntity * target); -void SnatchStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void TauntStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void HandleStockpile(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void InvisibleStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); -void PerishSongTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target); +u8 GetFlashFireStatus(struct Entity *pokemon); +void UpdateFlashFireBoost(struct Entity * pokemon, struct Entity *target); +void ChangeAttackMultiplierTarget(struct Entity *pokemon, struct Entity *target, u32 statStage, s32 param_4, bool8 displayMessage); +void ChangeDefenseMultiplierTarget(struct Entity *pokemon, struct Entity *target, u32 statStage, s32 param_4, bool8 displayMessage); +void RaiseAccuracyStageTarget(struct Entity * pokemon, struct Entity * target, s32 statStage); +void LowerAccuracyStageTarget(struct Entity * pokemon, struct Entity * target, s32 statStage, bool8 displayMessage); +void CringeStatusTarget(struct Entity * pokemon,struct Entity * target, bool8 displayMessage); +void ParalyzeStatusTarget(struct Entity * pokemon, struct Entity * target, bool8 displayMessage); +void RaiseMovementSpeedTarget(struct Entity * pokemon, struct Entity * target, s32 turns, bool8 diplayMessage); +void LowerMovementSpeedTarget(struct Entity * pokemon, struct Entity * target, s32 levels, bool8 displayMessage); +void ConfuseStatusTarget(struct Entity * pokemon, struct Entity * target, bool8 displayMessage); +void CowerStatusTarget(struct Entity * pokemon, struct Entity * target, bool8 displayMessage); +void HealTargetHP(struct Entity *pokemon, struct Entity *target, s32 param_3, s32 param_4, bool32 displayMessage); +void HandleScannerOrb(struct Entity* pokemon, struct Entity* target); +void HandleStairsOrb(struct Entity* pokemon, struct Entity* target); +void HandleRadarOrb(struct Entity* pokemon, struct Entity* target); +void HandleLeechSeed(struct Entity * pokemon, struct Entity * target, bool8 displayMessage); +void DestinyBondStatusTarget(struct Entity * pokemon, struct Entity * target); +void SureShotStatusTarget(struct Entity *pokemon, struct Entity * target, s32 turns); +void WhifferStatusTarget(struct Entity *pokemon, struct Entity * target, s32 turns); +void FixedDamageStatusTarget(struct Entity *pokemon, struct Entity * target); +void FocusEnergyStatusTarget(struct Entity *pokemon, struct Entity * target); +void CurseStatusTarget(struct Entity *pokemon, struct Entity * target); +void SnatchStatusTarget(struct Entity * pokemon, struct Entity * target); +void TauntStatusTarget(struct Entity * pokemon, struct Entity * target); +void HandleStockpile(struct Entity * pokemon, struct Entity * target); +void InvisibleStatusTarget(struct Entity * pokemon, struct Entity * target); +void PerishSongTarget(struct Entity * pokemon, struct Entity * target); #endif diff --git a/include/status_actions.h b/include/status_actions.h index f72fc1c8d..1e99cdd6b 100644 --- a/include/status_actions.h +++ b/include/status_actions.h @@ -4,53 +4,53 @@ #include "constants/move.h" #include "dungeon_entity.h" -bool8 sub_805B668(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4); -bool8 sub_805B734(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 RecycleMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 ReflectMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4); -bool8 sub_805B808(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4); -bool8 sub_805B884(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 SkullBashMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4); -bool8 sub_805B910(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4); -bool8 sub_805B968(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4); -bool8 RockSmashMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4); -bool8 sub_805BA44(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 sub_805BA50(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4); -bool8 sub_805BB64(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 sub_805BB74(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 sub_805BB98(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 CleanseOrbAction(struct DungeonEntity *pokemon,struct DungeonEntity *target); -bool8 sub_805BC70(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 sub_805BC98(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4); -bool8 SilenceOrbAction(struct DungeonEntity *pokemon,struct DungeonEntity *target); -bool8 ScannerOrbAction(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 RadarOrbAction(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 TransferOrbAction(struct DungeonEntity *pokemon,struct DungeonEntity *target); -bool8 sub_805BE90(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 LuminousOrbAction(struct DungeonEntity *pokemon,struct DungeonEntity *target); -bool8 sub_805BEAC(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 sub_805BEB8(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 sub_805BEC8(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 EscapeOrbAction(struct DungeonEntity *pokemon,struct DungeonEntity *target); -bool8 sub_805BF34(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 TrapbustOrbAction(struct DungeonEntity *pokemon,struct DungeonEntity *target); -bool8 sub_805C080(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 sub_805C128(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 sub_805C138(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4); -bool8 IdentifyOrbAction(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 sub_805C1BC(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4); -bool8 sub_805C1E4(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 ShockerOrbAction(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 sub_805C208(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4); -bool8 sub_805C288(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 sub_805C2A0(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 FillInOrbAction(struct DungeonEntity *pokemon,struct DungeonEntity *target); -bool8 sub_805C3DC(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 sub_805C3F8(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 sub_805C45C(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 sub_805C468(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 StairsOrbAction(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 LongtossOrbAction(struct DungeonEntity *pokemon, struct DungeonEntity *target); -bool8 PierceOrbAction(struct DungeonEntity *pokemon, struct DungeonEntity *target); +bool8 sub_805B668(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4); +bool8 sub_805B734(struct Entity *pokemon, struct Entity *target); +bool8 RecycleMoveAction(struct Entity *pokemon, struct Entity *target); +bool8 ReflectMoveAction(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4); +bool8 sub_805B808(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4); +bool8 sub_805B884(struct Entity *pokemon, struct Entity *target); +bool8 SkullBashMoveAction(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4); +bool8 sub_805B910(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4); +bool8 sub_805B968(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4); +bool8 RockSmashMoveAction(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4); +bool8 sub_805BA44(struct Entity *pokemon, struct Entity *target); +bool8 sub_805BA50(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4); +bool8 sub_805BB64(struct Entity *pokemon, struct Entity *target); +bool8 sub_805BB74(struct Entity *pokemon, struct Entity *target); +bool8 sub_805BB98(struct Entity *pokemon, struct Entity *target); +bool8 CleanseOrbAction(struct Entity *pokemon,struct Entity *target); +bool8 sub_805BC70(struct Entity *pokemon, struct Entity *target); +bool8 sub_805BC98(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4); +bool8 SilenceOrbAction(struct Entity *pokemon,struct Entity *target); +bool8 ScannerOrbAction(struct Entity *pokemon, struct Entity *target); +bool8 RadarOrbAction(struct Entity *pokemon, struct Entity *target); +bool8 TransferOrbAction(struct Entity *pokemon,struct Entity *target); +bool8 sub_805BE90(struct Entity *pokemon, struct Entity *target); +bool8 LuminousOrbAction(struct Entity *pokemon,struct Entity *target); +bool8 sub_805BEAC(struct Entity *pokemon, struct Entity *target); +bool8 sub_805BEB8(struct Entity *pokemon, struct Entity *target); +bool8 sub_805BEC8(struct Entity *pokemon, struct Entity *target); +bool8 EscapeOrbAction(struct Entity *pokemon,struct Entity *target); +bool8 sub_805BF34(struct Entity *pokemon, struct Entity *target); +bool8 TrapbustOrbAction(struct Entity *pokemon,struct Entity *target); +bool8 sub_805C080(struct Entity *pokemon, struct Entity *target); +bool8 sub_805C128(struct Entity *pokemon, struct Entity *target); +bool8 sub_805C138(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4); +bool8 IdentifyOrbAction(struct Entity *pokemon, struct Entity *target); +bool8 sub_805C1BC(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4); +bool8 sub_805C1E4(struct Entity *pokemon, struct Entity *target); +bool8 ShockerOrbAction(struct Entity *pokemon, struct Entity *target); +bool8 sub_805C208(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4); +bool8 sub_805C288(struct Entity *pokemon, struct Entity *target); +bool8 sub_805C2A0(struct Entity *pokemon, struct Entity *target); +bool8 FillInOrbAction(struct Entity *pokemon,struct Entity *target); +bool8 sub_805C3DC(struct Entity *pokemon, struct Entity *target); +bool8 sub_805C3F8(struct Entity *pokemon, struct Entity *target); +bool8 sub_805C45C(struct Entity *pokemon, struct Entity *target); +bool8 sub_805C468(struct Entity *pokemon, struct Entity *target); +bool8 StairsOrbAction(struct Entity *pokemon, struct Entity *target); +bool8 LongtossOrbAction(struct Entity *pokemon, struct Entity *target); +bool8 PierceOrbAction(struct Entity *pokemon, struct Entity *target); #endif diff --git a/include/status_checks.h b/include/status_checks.h index 5253d9d3c..403945579 100644 --- a/include/status_checks.h +++ b/include/status_checks.h @@ -5,6 +5,6 @@ extern const s16 gConfusedAttackChance; -bool8 HasStatusAffectingActions(struct DungeonEntity *pokemon); +bool8 HasStatusAffectingActions(struct Entity *pokemon); #endif diff --git a/include/status_checks_1.h b/include/status_checks_1.h index d7baa400a..97ac04a85 100644 --- a/include/status_checks_1.h +++ b/include/status_checks_1.h @@ -3,9 +3,9 @@ #include "dungeon_entity.h" -s32 GetMovementSpeed(struct DungeonEntity *pokemon); -bool8 HasNegativeStatus(struct DungeonEntity *pokemon); -bool8 IsSleeping(struct DungeonEntity *pokemon); -bool8 HasQuarterHPOrLess(struct DungeonEntity *pokemon); +s32 GetSpeedStatus(struct Entity *pokemon); +bool8 HasNegativeStatus(struct Entity *pokemon); +bool8 IsSleeping(struct Entity *pokemon); +bool8 HasLowHealth(struct Entity *pokemon); #endif diff --git a/include/sub_8095228.h b/include/sub_8095228.h index 1dec21a72..62f905c4e 100644 --- a/include/sub_8095228.h +++ b/include/sub_8095228.h @@ -1,6 +1,8 @@ #ifndef GUARD_SUB_8095228_H #define GUARD_SUB_8095228_H +#include "dungeon_global_data.h" + struct unkStruct_8095228 { /* 0x0 */ u8 mailType; // mail type @@ -13,7 +15,7 @@ struct unkStruct_8095228 /* 0xE */ s16 targetSpecies; // target u32 unk10; // TODO: verify that this is just a union of the 4 bytes in Wonder Mail u8 padding2[0x20 - 0x14]; - struct ItemSlot unk20; + struct Item unk20; u8 padding3[0x28 - 0x24]; u32 unk28; s8 unk2C; diff --git a/include/targeting.h b/include/targeting.h index 89c4d4950..7bb51e4ff 100644 --- a/include/targeting.h +++ b/include/targeting.h @@ -3,6 +3,6 @@ #include "dungeon_entity.h" -void TargetTileInFront(struct DungeonEntity *pokemon); +void TargetTileInFront(struct Entity *pokemon); #endif diff --git a/include/targeting_flags.h b/include/targeting_flags.h index 3e1abdd9b..bf33eb000 100644 --- a/include/targeting_flags.h +++ b/include/targeting_flags.h @@ -4,6 +4,6 @@ #include "constants/move.h" #include "dungeon_entity.h" -s16 GetMoveTargetingFlagsForPokemon(struct DungeonEntity *pokemon, struct PokemonMove *move, bool32 isAI); +s16 GetMoveTargetAndRangeForPokemon(struct Entity *pokemon, struct Move *move, bool32 isAI); #endif diff --git a/include/team_inventory.h b/include/team_inventory.h index f239a4163..b1be6aae6 100644 --- a/include/team_inventory.h +++ b/include/team_inventory.h @@ -3,11 +3,11 @@ struct TeamInventory { - struct ItemSlot teamItems[INVENTORY_SIZE]; + struct Item teamItems[INVENTORY_SIZE]; u16 teamStorage[NUMBER_OF_ITEM_IDS]; // same type (initialized by same function): - struct HeldItem unk230[8]; - struct HeldItem unk250[4]; + struct BulkItem unk230[8]; + struct BulkItem unk250[4]; /* 0x260 */ s32 teamMoney; /* 0x264 */ u32 teamSavings; }; diff --git a/include/tile_types.h b/include/tile_types.h index f2fc2764b..06c2fa25b 100644 --- a/include/tile_types.h +++ b/include/tile_types.h @@ -9,7 +9,7 @@ extern const u8 gDungeonWaterType[]; -bool8 IsTileGround(struct MapTile* tile); +bool8 IsTileGround(struct Tile* tile); bool8 IsWaterTileset(); #endif diff --git a/include/trade_items_menu.h b/include/trade_items_menu.h index 9ff14385b..c6cdc07be 100644 --- a/include/trade_items_menu.h +++ b/include/trade_items_menu.h @@ -7,10 +7,10 @@ struct TradeSubStruct { union ItemIdx { - u8 itemIndex; // item id? - u32 itemIndex_u32; + u8 id; // item id? + u32 id_u32; } itemIdx; - u32 numItems; // number of items? + u32 quantity; // number of items? }; @@ -22,7 +22,7 @@ struct TradeItemsMenu u32 itemMode; u32 linkStatus; u32 unk10; - u32 numItemsToSend; // item # + u32 quantityToSend; // item # u32 unk18; u32 unk1C; u32 unk20; @@ -46,7 +46,7 @@ struct TradeItemsMenu /* 0x254 */ struct TradeSubStruct sentItem; - /* 0x25C */ struct ItemSlot itemToSend; + /* 0x25C */ struct Item itemToSend; u8 fill25F[0x3A0 - 0x260]; }; diff --git a/include/type_effectiveness.h b/include/type_effectiveness.h index 3502f0e62..2f3ff7c47 100644 --- a/include/type_effectiveness.h +++ b/include/type_effectiveness.h @@ -3,6 +3,6 @@ #include "dungeon_entity.h" -s32 WeightWeakTypePicker(struct DungeonEntity *user, struct DungeonEntity *target, u8 moveType); +s32 WeightWeakTypePicker(struct Entity *user, struct Entity *target, u8 moveType); #endif diff --git a/include/weather.h b/include/weather.h index ac56d2a32..ce534522a 100644 --- a/include/weather.h +++ b/include/weather.h @@ -3,6 +3,6 @@ #include "dungeon_entity.h" -u8 GetWeather(struct DungeonEntity *pokemon); +u8 GetApparentWeather(struct Entity *pokemon); #endif diff --git a/include/wonder_mail.h b/include/wonder_mail.h index dd6aa586f..02e88c116 100644 --- a/include/wonder_mail.h +++ b/include/wonder_mail.h @@ -17,7 +17,7 @@ struct unkStruct_802F204 /* 0x16 */ u8 unk16; /* 0x18 */ s32 moneyReward; /* 0x1C */ u8 itemRewards[MAX_ITEM_REWARDS]; - /* 0x1F */ u8 numItems; + /* 0x1F */ u8 quantity; /* 0x20 */ u8 friendAreaReward; u8 fill21[0x24 - 0x21]; /* 0x24 */ u32 teamRankPtsReward; @@ -102,7 +102,7 @@ struct WonderMailStruct_203B2C4 u8 filler310[0x35C - 0x310]; struct UnkTextStruct2 unk35C[4]; struct UnkTextStruct2 unk3BC[4]; - struct ItemSlot unk41C; + struct Item unk41C; /* 0x420 */ struct OpenedFile *faceFile; /* 0x424 */ u8 *faceData; u16 unk428; diff --git a/src/charge_move.c b/src/charge_move.c index 2ec20a256..64c3a9ff1 100644 --- a/src/charge_move.c +++ b/src/charge_move.c @@ -14,54 +14,54 @@ struct MultiTurnChargeMove }; const struct MultiTurnChargeMove gMultiTurnChargeMoves[10] = { - {MOVE_SOLARBEAM, CHARGING_STATUS_SOLARBEAM}, - {MOVE_SKY_ATTACK, CHARGING_STATUS_SKY_ATTACK}, - {MOVE_RAZOR_WIND, CHARGING_STATUS_RAZOR_WIND}, - {MOVE_FOCUS_PUNCH, CHARGING_STATUS_FOCUS_PUNCH}, - {MOVE_SKULL_BASH, CHARGING_STATUS_SKULL_BASH}, - {MOVE_FLY, CHARGING_STATUS_FLY}, - {MOVE_BOUNCE, CHARGING_STATUS_BOUNCE}, - {MOVE_DIVE, CHARGING_STATUS_DIVE}, - {MOVE_DIG, CHARGING_STATUS_DIG}, - {MOVE_NONE, CHARGING_STATUS_NONE} + {MOVE_SOLARBEAM, STATUS_SOLARBEAM}, + {MOVE_SKY_ATTACK, STATUS_SKY_ATTACK}, + {MOVE_RAZOR_WIND, STATUS_RAZOR_WIND}, + {MOVE_FOCUS_PUNCH, STATUS_FOCUS_PUNCH}, + {MOVE_SKULL_BASH, STATUS_SKULL_BASH}, + {MOVE_FLY, STATUS_FLYING}, + {MOVE_BOUNCE, STATUS_BOUNCING}, + {MOVE_DIVE, STATUS_DIVING}, + {MOVE_DIG, STATUS_DIGGING}, + {MOVE_NOTHING, STATUS_NONE} }; const u32 gMultiTurnChargingStatuses[10] = { - CHARGING_STATUS_SOLARBEAM, - CHARGING_STATUS_SKY_ATTACK, - CHARGING_STATUS_RAZOR_WIND, - CHARGING_STATUS_FOCUS_PUNCH, - CHARGING_STATUS_SKULL_BASH, - CHARGING_STATUS_FLY, - CHARGING_STATUS_BOUNCE, - CHARGING_STATUS_DIVE, - CHARGING_STATUS_DIG, - CHARGING_STATUS_NONE + STATUS_SOLARBEAM, + STATUS_SKY_ATTACK, + STATUS_RAZOR_WIND, + STATUS_FOCUS_PUNCH, + STATUS_SKULL_BASH, + STATUS_FLYING, + STATUS_BOUNCING, + STATUS_DIVING, + STATUS_DIGGING, + STATUS_NONE }; ALIGNED(4) const char chargingStatusFill[] = "pksdir0"; -u32 sub_8057070(struct PokemonMove *move) +u32 sub_8057070(struct Move *move) { - u32 hitCount; - hitCount = GetMoveHitCount(move); - if(hitCount == 0) - return DungeonRandomRange(2, 6); + u32 numberOfChainedHits; + numberOfChainedHits = GetMoveNumberOfChainedHits(move); + if(numberOfChainedHits == 0) + return DungeonRandRange(2, 6); else - return hitCount; + return numberOfChainedHits; } -bool8 MoveCausesPaused(struct PokemonMove *move) +bool8 MoveCausesPaused(struct Move *move) { - if(move->moveID == MOVE_FRENZY_PLANT) return TRUE; - if(move->moveID == MOVE_HYDRO_CANNON) return TRUE; - if(move->moveID == MOVE_HYPER_BEAM) return TRUE; - if(move->moveID == MOVE_BLAST_BURN) return TRUE; + if(move->id == MOVE_FRENZY_PLANT) return TRUE; + if(move->id == MOVE_HYDRO_CANNON) return TRUE; + if(move->id == MOVE_HYPER_BEAM) return TRUE; + if(move->id == MOVE_BLAST_BURN) return TRUE; return FALSE; } -bool8 MoveMatchesChargingStatus(struct DungeonEntity *pokemon, struct PokemonMove *move) +bool8 MoveMatchesChargingStatus(struct Entity *pokemon, struct Move *move) { if (!EntityExists(pokemon)) { @@ -69,16 +69,16 @@ bool8 MoveMatchesChargingStatus(struct DungeonEntity *pokemon, struct PokemonMov } else { - struct DungeonEntityData *pokemonData = pokemon->entityData; + struct EntityInfo *pokemonInfo = pokemon->info; s32 i; for (i = 0; i < 100; i++) { - if (gMultiTurnChargeMoves[i].moveID == MOVE_NONE) + if (gMultiTurnChargeMoves[i].moveID == MOVE_NOTHING) { return FALSE; } - if (move->moveID == gMultiTurnChargeMoves[i].moveID && - pokemonData->chargingStatus == gMultiTurnChargeMoves[i].chargingStatus) + if (move->id == gMultiTurnChargeMoves[i].moveID && + pokemonInfo->chargingStatus == gMultiTurnChargeMoves[i].chargingStatus) { return TRUE; } @@ -87,7 +87,7 @@ bool8 MoveMatchesChargingStatus(struct DungeonEntity *pokemon, struct PokemonMov } } -bool8 IsCharging(struct DungeonEntity *pokemon, bool8 checkCharge) +bool8 IsCharging(struct Entity *pokemon, bool8 checkCharge) { if (!EntityExists(pokemon)) { @@ -95,21 +95,21 @@ bool8 IsCharging(struct DungeonEntity *pokemon, bool8 checkCharge) } else { - struct DungeonEntityData *pokemonData = pokemon->entityData; + struct EntityInfo *pokemonInfo = pokemon->info; int i = 0; - u8 *chargingStatusPointer = &pokemonData->chargingStatus; + u8 *chargingStatusPointer = &pokemonInfo->chargingStatus; u8 *chargingStatusPointer2; - u8 chargeStatus = CHARGING_STATUS_CHARGE; + u8 chargeStatus = STATUS_CHARGING; for (; i < 100; i++) { u8 currentStatus = gMultiTurnChargingStatuses[i]; u8 chargingStatus; - if (currentStatus == CHARGING_STATUS_NONE) + if (currentStatus == STATUS_NONE) { return FALSE; } chargingStatus = *chargingStatusPointer; - chargingStatusPointer2 = &pokemonData->chargingStatus; + chargingStatusPointer2 = &pokemonInfo->chargingStatus; if (chargingStatus == currentStatus) { return TRUE; diff --git a/src/code_800D090.c b/src/code_800D090.c index cbd359230..ee9d0c8e2 100644 --- a/src/code_800D090.c +++ b/src/code_800D090.c @@ -67,7 +67,7 @@ void sub_800D098(void) while(REG_KEYINPUT != KEYS_MASK){} // All buttons } -void sprintf_2(char *buffer, const char *text, ...) +void sprintfStatic(char *buffer, const char *text, ...) { va_list vArgv; va_start(vArgv, text); diff --git a/src/code_801AFA4.c b/src/code_801AFA4.c index e12bd0d84..c198dae17 100644 --- a/src/code_801AFA4.c +++ b/src/code_801AFA4.c @@ -26,12 +26,12 @@ extern u8 gUnknown_202E1C8[0x50]; extern u8 gAvailablePokemonNames[0x50]; extern u8 gUnknown_202E218[0x50]; -extern void InitZeroedPPPokemonMove(struct PokemonMove*, u16); -extern void sub_809401C(struct PokemonMove *, struct PokemonMove *); +extern void InitZeroedPPPokemonMove(struct Move*, u16); +extern void sub_809401C(struct Move *, struct Move *); extern bool8 IsHMItem(u8); extern void DisplayGulpinDialogueSprite(u32, u32, void *); extern void sub_801B178(void); -extern void sub_8094060(void *, struct PokemonMove *); +extern void sub_8094060(void *, struct Move *); extern void PlaySound(u32); extern void sub_80141B4(u32 *, u32, u32 ,u32); extern void sub_8014248(u32 *, u32, u32, struct MenuItem *, u32, u32, u32, u32, u32); @@ -48,9 +48,9 @@ struct unkStruct_203B22C // size: 0xa4 /* 0x0 */ s32 state; /* 0x4 */ u32 teamItemIndex; - /* 0x8 */ u8 itemIndex; // item index + /* 0x8 */ u8 id; // item index /* 0xA */ u16 moveID; // item move?? - /* 0xC */ struct PokemonMove moves[MAX_MON_MOVES * 2]; + /* 0xC */ struct Move moves[MAX_MON_MOVES * 2]; /* 0x4C */ s32 monsAbleToLearnMove; // number of party members able to learn move /* 0x50 */ s16 unk50[MAX_TEAM_MEMBERS]; // species IDs of each member able to learn move /* 0x58 */ s16 chosenPokemon; // species of pokemon that will learn move @@ -64,8 +64,8 @@ u32 sub_801AFA4(u32 index) { gUnknown_203B22C = MemoryAlloc(sizeof(struct unkStruct_203B22C), 8); gUnknown_203B22C->teamItemIndex = index; - gUnknown_203B22C->itemIndex = gTeamInventory_203B460->teamItems[index].itemIndex; - gUnknown_203B22C->moveID = GetItemMove(gUnknown_203B22C->itemIndex); + gUnknown_203B22C->id = gTeamInventory_203B460->teamItems[index].id; + gUnknown_203B22C->moveID = GetItemMoveID(gUnknown_203B22C->id); sub_8092C84(gUnknown_202E1C8, gUnknown_203B22C->moveID); sub_8099690(0); if(GetNumMonsAbleToLearnItemMove() == 0) @@ -134,10 +134,10 @@ void sub_801B080(void) break; case 2: sub_8094060(gUnknown_203B22C->moves, gUnknown_203B22C->pokeStruct->moves); - if(!IsHMItem(gUnknown_203B22C->itemIndex)) + if(!IsHMItem(gUnknown_203B22C->id)) { - gTeamInventory_203B460->teamItems[gUnknown_203B22C->teamItemIndex].numItems = gUnknown_203B22C->itemIndex - 0x7D; - gTeamInventory_203B460->teamItems[gUnknown_203B22C->teamItemIndex].itemIndex = ITEM_ID_USED_TM; + gTeamInventory_203B460->teamItems[gUnknown_203B22C->teamItemIndex].quantity = gUnknown_203B22C->id - 0x7D; + gTeamInventory_203B460->teamItems[gUnknown_203B22C->teamItemIndex].id = ITEM_TM_USED_TM; } PlaySound(0x9C << 1); // {CENTER_ALIGN}CM{ARG_POKEMON_8}{END_COLOR_TEXT_1} learned @@ -175,7 +175,7 @@ void sub_801B200(void) { s32 temp; s32 moveIndex; - struct PokemonMove *pokeMove; + struct Move *pokeMove; if(sub_80144A4(&temp) == 0) { @@ -264,16 +264,16 @@ s32 GetNumMonsAbleToLearnItemMove(void) } // Unused -bool8 sub_801B374(u8 itemIndex) +bool8 sub_801B374(u8 id) { u16 moveID; struct PokemonStruct *puVar4; s32 iVar5; puVar4 = &gRecruitedPokemonRef->pokemon[0]; - moveID = GetItemMove(itemIndex); + moveID = GetItemMoveID(id); - for(iVar5 = 0; iVar5 < NUM_SPECIES; iVar5++, puVar4++) + for(iVar5 = 0; iVar5 < NUM_MONSTERS; iVar5++, puVar4++) { if((puVar4->unk0 >> 1 & 1) != 0) if(CanMonLearnMove(moveID, puVar4->speciesNum)) diff --git a/src/code_801B3C0.c b/src/code_801B3C0.c index 6bd8b8093..7b4f5b245 100644 --- a/src/code_801B3C0.c +++ b/src/code_801B3C0.c @@ -19,7 +19,7 @@ struct unkStruct_203B230 { // size: 0x94 s32 state; - struct ItemSlot unk4; + struct Item unk4; s32 unk8; s32 unkC; struct subStruct_203B240 *unk10[2]; @@ -41,9 +41,9 @@ struct unkStruct_203B234 u32 unk8; u8 unkC; u8 fillD[0x10 - 0xD]; - struct ItemSlot unk10; + struct Item unk10; struct unkStruct_8090F58 unk14; - struct ItemSlot unk20; + struct Item unk20; u32 unk24; u32 unk28; u8 fill2C[0x78 - 0x2C]; @@ -88,7 +88,7 @@ extern void xxx_format_and_draw(u32, u32, u8 *, u32, u32); extern void PlayMenuSoundEffect(u32); extern void sub_8013F84(void); extern u32 sub_8012A64(u32 *, u32); -extern s32 sub_80913E0(struct ItemSlot *, u32, struct subStruct_203B240 **); +extern s32 sub_80913E0(struct Item *, u32, struct subStruct_203B240 **); extern void sub_80141B4(u8 *, u32, u32 *, u32); extern void sub_8012EA4(u32 *, u32); extern void sub_8012D60(u32 *, struct MenuItem *, u32, u16 *, u32, u32); @@ -121,7 +121,7 @@ void sub_801B590(); void sub_801B480(); -u32 sub_801B3C0(struct ItemSlot *param_1) +u32 sub_801B3C0(struct Item *param_1) { ResetSprites(1); gUnknown_203B230 = MemoryAlloc(sizeof(struct unkStruct_203B230),8); @@ -251,23 +251,23 @@ void sub_801B590(void) } } -u32 sub_801B60C(u32 r0, u8 itemIndex, u8 numItems) +u32 sub_801B60C(u32 r0, u8 id, u8 quantity) { gUnknown_203B234 = MemoryAlloc(0x154, 8); gUnknown_203B234->unkC8 = 0; gUnknown_203B234->unk0 = r0; - gUnknown_203B234->unk10.itemIndex = itemIndex; - if(IsThrowableItem(gUnknown_203B234->unk10.itemIndex)) + gUnknown_203B234->unk10.id = id; + if(IsThrowableItem(gUnknown_203B234->unk10.id)) { - gUnknown_203B234->unk10.numItems = numItems; - gUnknown_203B234->unkC = numItems; + gUnknown_203B234->unk10.quantity = quantity; + gUnknown_203B234->unkC = quantity; } else { - gUnknown_203B234->unk10.numItems = 0; + gUnknown_203B234->unk10.quantity = 0; gUnknown_203B234->unkC = 1; } - gUnknown_203B234->unk10.itemFlags = ITEM_FLAG_EXISTS; + gUnknown_203B234->unk10.flags = ITEM_FLAG_EXISTS; gUnknown_203B234->unk14.unk0 = 0; gUnknown_203B234->unk14.unk4 = 0; gUnknown_203B234->unk14.unk8 = 1; @@ -374,7 +374,7 @@ void sub_801B874(void) switch(gUnknown_203B234->state) { case 0: - if (gUnknown_203B234->unk10.itemIndex == ITEM_ID_WEAVILE_FIG) { + if (gUnknown_203B234->unk10.id == ITEM_WEAVILE_FIG) { gUnknown_203B234->unk8 = 0x10; if(sub_8001784(0,0x47,1) != 0) { @@ -387,7 +387,7 @@ void sub_801B874(void) sub_801B748(3); } } - else if (gUnknown_203B234->unk10.itemIndex == ITEM_ID_MIME_JR_FIG) + else if (gUnknown_203B234->unk10.id == ITEM_MIME_JR_FIG) { gUnknown_203B234->unk8 = 0x10; if(sub_8001784(0, 0x47, 0) != 0) @@ -405,16 +405,16 @@ void sub_801B874(void) { if(GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE) { - if(IsNotMoneyOrUsedTMItem(gUnknown_203B234->unk10.itemIndex)) + if(IsNotMoneyOrUsedTMItem(gUnknown_203B234->unk10.id)) { - if((gTeamInventory_203B460->teamStorage[gUnknown_203B234->unk10.itemIndex] + gUnknown_203B234->unkC) > 0x3e7) + if((gTeamInventory_203B460->teamStorage[gUnknown_203B234->unk10.id] + gUnknown_203B234->unkC) > 0x3e7) { store: gUnknown_203B234->unk8 = 6; } else { - gTeamInventory_203B460->teamStorage[gUnknown_203B234->unk10.itemIndex] += gUnknown_203B234->unkC; + gTeamInventory_203B460->teamStorage[gUnknown_203B234->unk10.id] += gUnknown_203B234->unkC; PlaySound(0xCB); gUnknown_203B234->unk8 = 5; } diff --git a/src/code_801D760.c b/src/code_801D760.c index 9fec354e4..11e68c264 100644 --- a/src/code_801D760.c +++ b/src/code_801D760.c @@ -337,9 +337,9 @@ void sub_801D894(void) // Have to load before TeamRank funcs r5 = gUnknown_80DBF3C; // %s {COLOR_1 CYAN}%d{END_COLOR_TEXT_1} Pts. rank = GetRescueTeamRank(); - sprintf_2(buffer, r5, GetTeamRankString(rank), GetTeamRankPts()); + sprintfStatic(buffer, r5, GetTeamRankString(rank), GetTeamRankPts()); xxx_call_draw_string(32, 4, buffer, 2, 0); - sprintf_2(buffer, gUnknown_80DBF4C, gTeamInventory_203B460->teamMoney); + sprintfStatic(buffer, gUnknown_80DBF4C, gTeamInventory_203B460->teamMoney); xxx_call_draw_string(32, 18, buffer, 2, 0); sub_80073E0(2); } diff --git a/src/code_801EE10.c b/src/code_801EE10.c index e4ea87e91..129ef0d36 100644 --- a/src/code_801EE10.c +++ b/src/code_801EE10.c @@ -65,7 +65,7 @@ struct PokemonStruct *sub_80243E8(void) struct PokemonStruct *pokeStruct = &gRecruitedPokemonRef->pokemon[gUnknown_3001B60->unk1A[gUnknown_3001B60->unk376 * gUnknown_3001B60->unk374 + gUnknown_3001B60->unk370]]; sub_80922B4(nameBuffer, pokeStruct->name, POKEMON_NAME_LENGTH); - sprintf_2(buffer, gUnknown_80DC9A4,nameBuffer); // %s + sprintfStatic(buffer, gUnknown_80DC9A4,nameBuffer); // %s return pokeStruct; } diff --git a/src/code_803B050.c b/src/code_803B050.c index 89d73028a..87d7f43d8 100644 --- a/src/code_803B050.c +++ b/src/code_803B050.c @@ -31,7 +31,7 @@ bool8 sub_803C110(s16 index) if (*psVar6 == species_s32) return FALSE; psVar5++; psVar6++; - } while (*psVar5 != SPECIES_NONE); + } while (*psVar5 != MONSTER_NONE); } pokeStruct = GetPlayerPokemonStruct(); if ((pokeStruct->speciesNum == species_s32) || diff --git a/src/code_8040094.c b/src/code_8040094.c index 403919e06..c979d12ac 100644 --- a/src/code_8040094.c +++ b/src/code_8040094.c @@ -28,19 +28,19 @@ extern void sub_8040A84(); extern const char *gUnknown_80FD040; // It became brighter on the floor // Luminous Orb??? -void HandleLuminousOrbAction(struct DungeonEntity *pokemon) +void HandleLuminousOrbAction(struct Entity *pokemon) { - struct MapTile *mapTile; + struct Tile *mapTile; int XCoord; int YCoord; - gDungeonGlobalData->unk1820B = 1; + gDungeon->unk1820B = 1; for(YCoord = 0; YCoord < DUNGEON_MAX_SIZE_Y; YCoord++) { for(XCoord = 0; XCoord < DUNGEON_MAX_SIZE_X; XCoord++) { - mapTile = GetMapTile_2(XCoord, YCoord); + mapTile = GetTileSafe(XCoord, YCoord); mapTile->unk4 = mapTile->unk4 | 1; } } @@ -52,7 +52,7 @@ void HandleLuminousOrbAction(struct DungeonEntity *pokemon) void sub_8040094(u8 r0) { - gDungeonGlobalData->unk18217 = r0; + gDungeon->unk18217 = r0; sub_803F7BC(); sub_80060EC(); IncrementPlayTime(gPlayTimeRef); @@ -66,15 +66,15 @@ void sub_8040094(u8 r0) void sub_80400D4(void) { s32 temp; - temp = gDungeonGlobalData->unk18200; + temp = gDungeon->unk18200; if(temp == 0) return; if(temp > 0x1E) temp = 0x1F; - gDungeonGlobalData->unk181FC = gUnknown_80F6568[temp]; - gDungeonGlobalData->unk18200--; - if(gDungeonGlobalData->unk18200 == 0) - gDungeonGlobalData->unk18200 = gDungeonGlobalData->unk18204; + gDungeon->unk181FC = gUnknown_80F6568[temp]; + gDungeon->unk18200--; + if(gDungeon->unk18200 == 0) + gDungeon->unk18200 = gDungeon->unk18204; } void sub_8040124(void) diff --git a/src/code_8041AD0.c b/src/code_8041AD0.c index 126aca11a..4c559f44b 100644 --- a/src/code_8041AD0.c +++ b/src/code_8041AD0.c @@ -13,31 +13,31 @@ struct unkStruct_80420E8 }; -extern void sub_803ED30(u8, struct DungeonEntity *pokemon, u8, u8); -extern void sub_804151C(struct DungeonEntity *pokemon, u32 r1, u8 r2); -extern void sub_80416E0(struct DungeonEntity *pokemon, u32, u32); -extern u8 sub_8042768(struct DungeonEntity *pokemon); -extern void sub_806CDD4(struct DungeonEntity *pokemon, u8, u32); +extern void sub_803ED30(u8, struct Entity *pokemon, u8, u8); +extern void sub_804151C(struct Entity *pokemon, u32 r1, u8 r2); +extern void sub_80416E0(struct Entity *pokemon, u32, u32); +extern u8 sub_8042768(struct Entity *pokemon); +extern void sub_806CDD4(struct Entity *pokemon, u8, u32); extern u32 sub_806F62C(u32); extern void PlaySoundEffect(u32); -extern u8 sub_803F428(struct DungeonEntity *pokemon); -extern void sub_8041550(struct DungeonEntity *pokemon, u32, u32, u32, u32, u32); +extern u8 sub_803F428(struct Entity *pokemon); +extern void sub_8041550(struct Entity *pokemon, u32, u32, u32, u32, u32); -void sub_80421C0(struct DungeonEntity *pokemon, u16 r1); +void sub_80421C0(struct Entity *pokemon, u16 r1); -void sub_8041AD0(struct DungeonEntity *pokemon) +void sub_8041AD0(struct Entity *pokemon) { sub_804151C(pokemon, 0xA2 << 1, 1); } -void sub_8041AE0(struct DungeonEntity *pokemon) +void sub_8041AE0(struct Entity *pokemon) { sub_804151C(pokemon, 0x143, 1); } -void sub_8041AF4(struct DungeonEntity *pokemon) +void sub_8041AF4(struct Entity *pokemon) { sub_804151C(pokemon, 0x25, 1); sub_80421C0(pokemon, 0x197); @@ -47,7 +47,7 @@ void nullsub_57(void) { } -void sub_8041B18(struct DungeonEntity *pokemon) +void sub_8041B18(struct Entity *pokemon) { sub_804151C(pokemon, 0x141, 1); } @@ -60,7 +60,7 @@ void nullsub_59(void) { } -void sub_8041B34(struct DungeonEntity *pokemon) +void sub_8041B34(struct Entity *pokemon) { sub_804151C(pokemon, 7, 1); } @@ -69,7 +69,7 @@ void nullsub_60(void) { } -void sub_8041B48(struct DungeonEntity *pokemon) +void sub_8041B48(struct Entity *pokemon) { sub_804151C(pokemon, 4, 0); } @@ -78,16 +78,16 @@ void nullsub_61(void) { } -void sub_8041B5C(struct DungeonEntity *pokemon) +void sub_8041B5C(struct Entity *pokemon) { sub_804151C(pokemon, 0x171, 1); } -void nullsub_62(struct DungeonEntity *pokemon) +void nullsub_62(struct Entity *pokemon) { } -void sub_8041B74(struct DungeonEntity *pokemon) +void sub_8041B74(struct Entity *pokemon) { sub_804151C(pokemon, 0x171, 0); } @@ -100,7 +100,7 @@ void nullsub_64(void) { } -void sub_8041B90(struct DungeonEntity *pokemon) +void sub_8041B90(struct Entity *pokemon) { sub_804151C(pokemon, 0xD6 << 1, 0); } @@ -113,7 +113,7 @@ void nullsub_66(void) { } -void sub_8041BA8(struct DungeonEntity *pokemon) +void sub_8041BA8(struct Entity *pokemon) { sub_804151C(pokemon, 4, 1); } @@ -122,7 +122,7 @@ void nullsub_67(void) { } -void sub_8041BBC(struct DungeonEntity *pokemon) +void sub_8041BBC(struct Entity *pokemon) { sub_804151C(pokemon, 0xD4 << 1, 1); } @@ -131,7 +131,7 @@ void nullsub_68(void) { } -void sub_8041BD0(struct DungeonEntity *pokemon, u8 r1) +void sub_8041BD0(struct Entity *pokemon, u8 r1) { if(r1 == 0) { @@ -140,22 +140,22 @@ void sub_8041BD0(struct DungeonEntity *pokemon, u8 r1) sub_80421C0(pokemon, 0x1a5); } -void sub_8041BE8(struct DungeonEntity *pokemon) +void sub_8041BE8(struct Entity *pokemon) { sub_80421C0(pokemon, 0xCB << 1); } -void sub_8041BF8(struct DungeonEntity *pokemon) +void sub_8041BF8(struct Entity *pokemon) { sub_806CDD4(pokemon, 0xA, NUM_DIRECTIONS); } -void sub_8041C08(struct DungeonEntity *pokemon) +void sub_8041C08(struct Entity *pokemon) { sub_804151C(pokemon, 0x1a7, 1); } -void sub_8041C1C(struct DungeonEntity *pokemon) +void sub_8041C1C(struct Entity *pokemon) { sub_804151C(pokemon, 0x1a7, 1); } @@ -164,7 +164,7 @@ void nullsub_69(void) { } -void sub_8041C34(struct DungeonEntity *pokemon) +void sub_8041C34(struct Entity *pokemon) { sub_804151C(pokemon, 0x4C, 1); } @@ -177,22 +177,22 @@ void nullsub_71(void) { } -void sub_8041C4C(struct DungeonEntity *pokemon, u32 r1) +void sub_8041C4C(struct Entity *pokemon, u32 r1) { sub_804151C(pokemon, r1, 1); } -void sub_8041C58(struct DungeonEntity *pokemon) +void sub_8041C58(struct Entity *pokemon) { sub_804151C(pokemon, 0x1a9, 1); } -void sub_8041C6C(struct DungeonEntity *pokemon) +void sub_8041C6C(struct Entity *pokemon) { sub_804151C(pokemon, 0x9D << 1, 1); } -void sub_8041C7C(struct DungeonEntity *pokemon) +void sub_8041C7C(struct Entity *pokemon) { sub_804151C(pokemon, 0x9D << 1, 1); } @@ -205,32 +205,32 @@ void nullsub_73(void) { } -void sub_8041C94(struct DungeonEntity *pokemon) +void sub_8041C94(struct Entity *pokemon) { sub_804151C(pokemon, 0x171, 1); } -void sub_8041CA8(struct DungeonEntity *pokemon) +void sub_8041CA8(struct Entity *pokemon) { sub_804151C(pokemon, 7, 1); } -void sub_8041CB8(struct DungeonEntity *pokemon) +void sub_8041CB8(struct Entity *pokemon) { sub_804151C(pokemon, 0x18b, 1); } -void sub_8041CCC(struct DungeonEntity *pokemon) +void sub_8041CCC(struct Entity *pokemon) { sub_804151C(pokemon, 0xC5 << 1, 1); } -void sub_8041CDC(struct DungeonEntity *pokemon) +void sub_8041CDC(struct Entity *pokemon) { sub_804151C(pokemon, 5, 1); } -void sub_8041CEC(struct DungeonEntity *pokemon) +void sub_8041CEC(struct Entity *pokemon) { sub_80421C0(pokemon, 0x19d); } @@ -239,42 +239,42 @@ void nullsub_74(void) { } -void sub_8041D00(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_8041D00(struct Entity *pokemon, struct Entity *target) { sub_804151C(target, 0x2F, 1); sub_804151C(pokemon, 0x30, 1); } -void nullsub_75(struct DungeonEntity *pokemon) +void nullsub_75(struct Entity *pokemon) { } -void nullsub_76(struct DungeonEntity *pokemon) +void nullsub_76(struct Entity *pokemon) { } -void nullsub_77(struct DungeonEntity *pokemon) +void nullsub_77(struct Entity *pokemon) { } -void nullsub_78(struct DungeonEntity *pokemon) +void nullsub_78(struct Entity *pokemon) { } -void nullsub_79(struct DungeonEntity *pokemon) +void nullsub_79(struct Entity *pokemon) { } -void nullsub_80(struct DungeonEntity *pokemon) +void nullsub_80(struct Entity *pokemon) { } -void sub_8041D38(struct DungeonEntity * pokemon) +void sub_8041D38(struct Entity * pokemon) { sub_804151C(pokemon, 0x21, 1); } -void sub_8041D48(struct DungeonEntity * pokemon) +void sub_8041D48(struct Entity * pokemon) { sub_80421C0(pokemon, 0x191); } @@ -283,16 +283,16 @@ void nullsub_81(void) { } -void sub_8041D5C(struct DungeonEntity *pokemon) +void sub_8041D5C(struct Entity *pokemon) { if(sub_8042768(pokemon) == 0) { return; } - sub_803ED30(pokemon->entityData->stockpileCount, pokemon, 1, 0xB); + sub_803ED30(pokemon->info->stockpileStage, pokemon, 1, 0xB); } -void sub_8041D84(struct DungeonEntity *pokemon) +void sub_8041D84(struct Entity *pokemon) { sub_80421C0(pokemon, 0x19f); } @@ -305,12 +305,12 @@ void nullsub_83(void) { } -void sub_8041D9C(struct DungeonEntity *pokemon) +void sub_8041D9C(struct Entity *pokemon) { sub_804151C(pokemon, 0x131, 1); } -void sub_8041DB0(struct DungeonEntity *pokemon) +void sub_8041DB0(struct Entity *pokemon) { sub_804151C(pokemon, 0x30, 1); } @@ -339,12 +339,12 @@ void nullsub_88(void) { } -void sub_8041DD8(struct DungeonEntity *pokemon, s16 r1) +void sub_8041DD8(struct Entity *pokemon, s16 r1) { u32 temp; temp = r1; - if(HasType(pokemon, TYPE_GHOST) != 0) + if(MonsterIsType(pokemon, TYPE_GHOST) != 0) sub_804151C(pokemon, temp, 1); else sub_804151C(pokemon, TYPE_GHOST, 1); @@ -354,78 +354,78 @@ void nullsub_89(void) { } -void sub_8041E0C(struct DungeonEntity *pokemon) +void sub_8041E0C(struct Entity *pokemon) { sub_804151C(pokemon, 0x41, 1); } -void sub_8041E1C(struct DungeonEntity *pokemon) +void sub_8041E1C(struct Entity *pokemon) { sub_804151C(pokemon, 0x8F << 1, 1); sub_80421C0(pokemon, 0xCE << 1); } -void sub_8041E3C(struct DungeonEntity *pokemon) +void sub_8041E3C(struct Entity *pokemon) { sub_804151C(pokemon, 0xD7 << 1, 1); } -void sub_8041E4C(struct DungeonEntity *pokemon) +void sub_8041E4C(struct Entity *pokemon) { sub_804151C(pokemon, 0x1b1, 1); } -void sub_8041E60(struct DungeonEntity *pokemon) +void sub_8041E60(struct Entity *pokemon) { sub_804151C(pokemon, 0x1a9, 1); } -void sub_8041E74(struct DungeonEntity *pokemon) +void sub_8041E74(struct Entity *pokemon) { sub_804151C(pokemon, 0xC9 << 1, 1); } -void sub_8041E84(struct DungeonEntity *pokemon) +void sub_8041E84(struct Entity *pokemon) { sub_804151C(pokemon, 0xC7 << 1, 1); } -void sub_8041E94(struct DungeonEntity *pokemon) +void sub_8041E94(struct Entity *pokemon) { sub_804151C(pokemon, 0xC8 << 1, 1); } -void sub_8041EA4(struct DungeonEntity *pokemon) +void sub_8041EA4(struct Entity *pokemon) { sub_804151C(pokemon, 0x15, 1); } -void sub_8041EB4(struct DungeonEntity *pokemon) +void sub_8041EB4(struct Entity *pokemon) { sub_804151C(pokemon, 0x171, 1); } -void sub_8041EC8(struct DungeonEntity *pokemon) +void sub_8041EC8(struct Entity *pokemon) { sub_80421C0(pokemon, 0x197); } -void sub_8041ED8(struct DungeonEntity *pokemon) +void sub_8041ED8(struct Entity *pokemon) { sub_80421C0(pokemon, 0x197); } -void sub_8041EE8(struct DungeonEntity *pokemon) +void sub_8041EE8(struct Entity *pokemon) { sub_804151C(pokemon, 0x15, 1); } -void sub_8041EF8(struct DungeonEntity *pokemon) +void sub_8041EF8(struct Entity *pokemon) { sub_804151C(pokemon, 0xF, 1); } -void sub_8041F08(struct DungeonEntity *pokemon) +void sub_8041F08(struct Entity *pokemon) { sub_8041550(pokemon, 0x15, 1, 3, 2, 0); } @@ -434,7 +434,7 @@ void nullsub_90(void) { } -void sub_8041F28(struct DungeonEntity *pokemon, u32 r1) +void sub_8041F28(struct Entity *pokemon, u32 r1) { if(r1 == 0) { @@ -446,7 +446,7 @@ void sub_8041F28(struct DungeonEntity *pokemon, u32 r1) } } -void sub_8041F4C(struct DungeonEntity *pokemon, u32 r1) +void sub_8041F4C(struct Entity *pokemon, u32 r1) { if(r1 == 0) { @@ -458,7 +458,7 @@ void sub_8041F4C(struct DungeonEntity *pokemon, u32 r1) } } -void sub_8041F70(struct DungeonEntity *pokemon, u32 r1) +void sub_8041F70(struct Entity *pokemon, u32 r1) { if(r1 == 0) { @@ -470,7 +470,7 @@ void sub_8041F70(struct DungeonEntity *pokemon, u32 r1) } } -void sub_8041F94(struct DungeonEntity *pokemon, u32 r1) +void sub_8041F94(struct Entity *pokemon, u32 r1) { if(r1 == 0) { @@ -482,7 +482,7 @@ void sub_8041F94(struct DungeonEntity *pokemon, u32 r1) } } -void sub_8041FB4(struct DungeonEntity *pokemon, u32 r1) +void sub_8041FB4(struct Entity *pokemon, u32 r1) { if(r1 == 0) { @@ -494,7 +494,7 @@ void sub_8041FB4(struct DungeonEntity *pokemon, u32 r1) } } -void sub_8041FD8(struct DungeonEntity *pokemon, u32 r1) +void sub_8041FD8(struct Entity *pokemon, u32 r1) { if(r1 == 0) { @@ -506,7 +506,7 @@ void sub_8041FD8(struct DungeonEntity *pokemon, u32 r1) } } -void sub_8041FFC(struct DungeonEntity *pokemon, u32 r1) +void sub_8041FFC(struct Entity *pokemon, u32 r1) { if(r1 == 0) { @@ -518,7 +518,7 @@ void sub_8041FFC(struct DungeonEntity *pokemon, u32 r1) } } -void sub_804201C(struct DungeonEntity *pokemon, u32 r1) +void sub_804201C(struct Entity *pokemon, u32 r1) { if(r1 == 0) { @@ -530,7 +530,7 @@ void sub_804201C(struct DungeonEntity *pokemon, u32 r1) } } -void sub_8042040(struct DungeonEntity *pokemon, u32 r1) +void sub_8042040(struct Entity *pokemon, u32 r1) { if(r1 == 0) { @@ -542,7 +542,7 @@ void sub_8042040(struct DungeonEntity *pokemon, u32 r1) } } -void sub_8042060(struct DungeonEntity *pokemon, u32 r1) +void sub_8042060(struct Entity *pokemon, u32 r1) { if(r1 == 0) { @@ -554,7 +554,7 @@ void sub_8042060(struct DungeonEntity *pokemon, u32 r1) } } -void sub_8042080(struct DungeonEntity *pokemon, u32 r1) +void sub_8042080(struct Entity *pokemon, u32 r1) { if(r1 == 0) { @@ -566,7 +566,7 @@ void sub_8042080(struct DungeonEntity *pokemon, u32 r1) } } -void sub_80420A0(struct DungeonEntity *pokemon, u32 r1) +void sub_80420A0(struct Entity *pokemon, u32 r1) { sub_804151C(pokemon, 0x143, 1); } @@ -575,26 +575,26 @@ void nullsub_91(void) { } -void sub_80420B8(struct DungeonEntity *pokemon, u32 r1) +void sub_80420B8(struct Entity *pokemon, u32 r1) { sub_804151C(pokemon, 0x19, 1); } -void sub_80420C8(struct DungeonEntity *pokemon) +void sub_80420C8(struct Entity *pokemon) { sub_8041550(pokemon, 0x15, 1, 3, 2, 0); } -void nullsub_92(struct DungeonEntity *pokemon) +void nullsub_92(struct Entity *pokemon) { } -void sub_80420E8(struct DungeonEntity *pokemon, struct unkStruct_80420E8 *r1) +void sub_80420E8(struct Entity *pokemon, struct unkStruct_80420E8 *r1) { u32 temp; u32 arg; temp = r1->unk8; - if(gDungeonGlobalData->unk16D != 0) + if(gDungeon->unk16D != 0) temp = sub_806F62C(r1->unk8); switch(temp) { @@ -615,7 +615,7 @@ void sub_80420E8(struct DungeonEntity *pokemon, struct unkStruct_80420E8 *r1) sub_8041550(pokemon, arg, 1, 3, 0, 1); } -void sub_8042148(struct DungeonEntity *pokemon) +void sub_8042148(struct Entity *pokemon) { sub_80421C0(pokemon, 0x1a7); sub_804151C(pokemon, 0x9F << 1, 1); @@ -625,7 +625,7 @@ void nullsub_93() { } -void sub_804216C(struct DungeonEntity *pokemon, struct DungeonEntity *target, u32 r2) +void sub_804216C(struct Entity *pokemon, struct Entity *target, u32 r2) { if(r2 == 1) sub_804151C(target, 0xF8, 1); @@ -633,22 +633,22 @@ void sub_804216C(struct DungeonEntity *pokemon, struct DungeonEntity *target, u3 sub_804151C(target, 0xF9, 1); } -void sub_804218C(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_804218C(struct Entity *pokemon, struct Entity *target) { sub_804151C(target, 0x2A, 1); } -void sub_804219C(struct DungeonEntity *pokemon) +void sub_804219C(struct Entity *pokemon) { sub_80416E0(pokemon, 0x90, 1); } -void sub_80421AC(struct DungeonEntity *pokemon, struct DungeonEntity * target) +void sub_80421AC(struct Entity *pokemon, struct Entity * target) { sub_804151C(target, 0x167, 1); } -void sub_80421C0(struct DungeonEntity *pokemon, u16 r1) +void sub_80421C0(struct Entity *pokemon, u16 r1) { if(pokemon == NULL) PlaySoundEffect(r1); @@ -657,13 +657,13 @@ void sub_80421C0(struct DungeonEntity *pokemon, u16 r1) PlaySoundEffect(r1); } -void sub_80421EC(struct DungeonEntity *pokemon, u16 r1) +void sub_80421EC(struct Entity *pokemon, u16 r1) { if(sub_803F428(pokemon) != 0) PlaySoundEffect(r1); } -void sub_8042208(struct DungeonEntity *pokemon, u8 r1) +void sub_8042208(struct Entity *pokemon, u8 r1) { if(r1 == 0) PlaySoundEffect(0x152); @@ -673,9 +673,9 @@ void sub_8042208(struct DungeonEntity *pokemon, u8 r1) PlaySoundEffect(0x150); } -void sub_8042238(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_8042238(struct Entity *pokemon, struct Entity *target) { - if(target->entityData->isEnemy) + if(target->info->isNotTeamMember) PlaySoundEffect(0x157); else PlaySoundEffect(0x156); diff --git a/src/code_80428A0.c b/src/code_80428A0.c index 6f3c90a82..db97b0e44 100644 --- a/src/code_80428A0.c +++ b/src/code_80428A0.c @@ -2,109 +2,109 @@ #include "dungeon_entity.h" #include "dungeon_global_data.h" -extern void sub_804151C(struct DungeonEntity *r0, u32 r1, u8 r2); +extern void sub_804151C(struct Entity *r0, u32 r1, u8 r2); extern void sub_803E708(u32 r0, u32 r1); extern void sub_80416A4(struct Position *r0, u32 r1, u32 r2); -extern void sub_80421C0(struct DungeonEntity *r0, u16 r1); -extern u8 sub_8042768(struct DungeonEntity *pokemon); +extern void sub_80421C0(struct Entity *r0, u16 r1); +extern u8 sub_8042768(struct Entity *pokemon); extern void sub_804178C(u32); -extern void sub_804151C(struct DungeonEntity *pokemon, u32 r1, u8 r2); +extern void sub_804151C(struct Entity *pokemon, u32 r1, u8 r2); extern void sub_803E46C(u32); -void sub_80428A0(struct DungeonEntity *r0) +void sub_80428A0(struct Entity *r0) { sub_804151C(r0, 0x29, 1); } -void sub_80428B0(struct DungeonEntity *r0) +void sub_80428B0(struct Entity *r0) { sub_804151C(r0, 0x1a9, 0); } -void sub_80428C4(struct DungeonEntity *r0) +void sub_80428C4(struct Entity *r0) { sub_804151C(r0, 0x1a9, 0); } -void sub_80428D8(struct DungeonEntity *r0) +void sub_80428D8(struct Entity *r0) { sub_804151C(r0, 0x1a9, 0); } -void sub_80428EC(struct DungeonEntity *r0) +void sub_80428EC(struct Entity *r0) { sub_804151C(r0, 0x1a9, 0); } -void sub_8042900(struct DungeonEntity *r0) +void sub_8042900(struct Entity *r0) { sub_804151C(r0, 0xD4 << 1, 0); } -void ShowVisualFlags(struct DungeonEntity *r0) +void ShowVisualFlags(struct Entity *r0) { sub_804151C(r0, 0x29, 0); } -void sub_8042920(struct DungeonEntity *r0) +void sub_8042920(struct Entity *r0) { sub_804151C(r0, 0x48, 0); } -void sub_8042930(struct DungeonEntity *r0) +void sub_8042930(struct Entity *r0) { sub_804151C(r0, 0xD3 << 1, 1); } -void sub_8042940(struct DungeonEntity *r0) +void sub_8042940(struct Entity *r0) { sub_804151C(r0, 0xC7 << 1, 0); } -void sub_8042950(struct DungeonEntity *r0) +void sub_8042950(struct Entity *r0) { sub_804151C(r0, 0xD8 << 1, 1); sub_803E708(0xA, 0x42); } -void sub_8042968(struct DungeonEntity *r0) +void sub_8042968(struct Entity *r0) { sub_804151C(r0, 0xD4 << 1, 0); } -void sub_8042978(struct DungeonEntity *r0) +void sub_8042978(struct Entity *r0) { sub_804151C(r0, 0x1a9, 0); } -void sub_804298C(struct DungeonEntity *r0) +void sub_804298C(struct Entity *r0) { sub_804151C(r0, 0x1a9, 0); } -void sub_80429A0(struct DungeonEntity *r0) +void sub_80429A0(struct Entity *r0) { sub_804151C(r0, 0x199, 0); } -void sub_80429B4(struct DungeonEntity *r0) +void sub_80429B4(struct Entity *r0) { sub_804151C(r0, 0x1ab, 0); } -void sub_80429C8(struct DungeonEntity *r0) +void sub_80429C8(struct Entity *r0) { sub_804151C(r0, 0x4, 1); } -void sub_80429D8(struct DungeonEntity *r0) +void sub_80429D8(struct Entity *r0) { sub_804151C(r0, 0x8F << 1, 1); } -void sub_80429E8(struct DungeonEntity *r0) +void sub_80429E8(struct Entity *r0) { sub_804151C(r0, 0x11d, 1); } @@ -120,7 +120,7 @@ void sub_8042A14(struct Position *r0) sub_80416A4(r0, 0x36, 1); } -void sub_8042A24(struct DungeonEntity *r0) +void sub_8042A24(struct Entity *r0) { sub_804151C(r0, 0x15, 1); } @@ -130,7 +130,7 @@ void sub_8042A34(struct Position *r0) sub_80416A4(r0, 0x9F << 1, 0); } -void sub_8042A44(struct DungeonEntity *r0) +void sub_8042A44(struct Entity *r0) { sub_804151C(r0, 0xDA << 1, 1); } @@ -145,12 +145,12 @@ void sub_8042A64(struct Position *r0) sub_80416A4(r0, 0x29, 1); } -void sub_8042A74(struct DungeonEntity *r0) +void sub_8042A74(struct Entity *r0) { sub_804151C(r0, 0x18, 1); } -void sub_8042A84(s16 param_1, struct DungeonEntity *entity, u32 param_3) +void sub_8042A84(s16 param_1, struct Entity *entity, u32 param_3) { s32 iVar2; s32 iVar3; @@ -169,22 +169,22 @@ void sub_8042A84(s16 param_1, struct DungeonEntity *entity, u32 param_3) iVar2 = entity->unk1C + r6; entity->unk1C = iVar2; r6 += 0x100; - iVar3 = entity->posPixel.y - iVar2; + iVar3 = entity->pixelPos.y - iVar2; if (iVar3 < 0) { iVar3 += 0xff; } - } while (-8 <= (iVar3 >> 8) - gDungeonGlobalData->posScreenPixel.y); - entity->visible = 0; + } while (-8 <= (iVar3 >> 8) - gDungeon->cameraPixelPos.y); + entity->isVisible = 0; sub_804178C(0); } } -void sub_8042B0C(struct DungeonEntity *entity) +void sub_8042B0C(struct Entity *entity) { sub_8042A84(0x13e, entity, 5); } -void sub_8042B20(struct DungeonEntity *entity) +void sub_8042B20(struct Entity *entity) { sub_8042A84(0x1BC, entity, 0xE); } diff --git a/src/code_8045A00.c b/src/code_8045A00.c index 38413a5ea..ff7945e00 100644 --- a/src/code_8045A00.c +++ b/src/code_8045A00.c @@ -7,15 +7,15 @@ extern struct unkStruct_8090F58 gUnknown_80F699C; extern struct unkStruct_8090F58 gUnknown_80F69A8; extern struct unkStruct_8090F58 gUnknown_80F6990; -extern struct DungeonEntityData* GetTrapData_1(struct DungeonEntity *entity); -extern void SetMessageArgument_2(u8 *, struct DungeonEntityData *, u32); +extern struct EntityInfo* GetTrapData_1(struct Entity *entity); +extern void SetMessageArgument_2(u8 *, struct EntityInfo *, u32); extern void GetTrapName(u8 *, u8); -void sub_8045BF8(u8 *, struct ItemSlot *); +void sub_8045BF8(u8 *, struct Item *); void sub_8045ACC(void) { - struct DungeonEntity *entity; + struct Entity *entity; s32 index; s32 pokeCount; @@ -23,46 +23,46 @@ void sub_8045ACC(void) for(index = 0; index < MAX_TEAM_MEMBERS; index++) { - entity = gDungeonGlobalData->teamPokemon[index]; + entity = gDungeon->teamPokemon[index]; if (EntityExists(entity)) { - gDungeonGlobalData->allPokemon[pokeCount] = entity; + gDungeon->allPokemon[pokeCount] = entity; pokeCount++; } } for(index = 0; index < DUNGEON_MAX_WILD_POKEMON; index++) { - entity = gDungeonGlobalData->wildPokemon[index]; + entity = gDungeon->wildPokemon[index]; if (EntityExists(entity)) { - gDungeonGlobalData->allPokemon[pokeCount] = entity; + gDungeon->allPokemon[pokeCount] = entity; pokeCount++; } } for (; pokeCount < DUNGEON_MAX_POKEMON; pokeCount++) { - gDungeonGlobalData->allPokemon[pokeCount] = NULL; + gDungeon->allPokemon[pokeCount] = NULL; } } -s32 GetTeamMemberEntityIndex(struct DungeonEntity *pokemon) +s32 GetTeamMemberEntityIndex(struct Entity *pokemon) { - struct DungeonEntity *entity; + struct Entity *entity; s32 index; for(index = 0; index < MAX_TEAM_MEMBERS; index++) { - entity = gDungeonGlobalData->teamPokemon[index]; + entity = gDungeon->teamPokemon[index]; if (pokemon == entity) return index; } return -1; } -void SetMessageArgument(char *buffer, struct DungeonEntity *entity, u32 param_3) +void SetMessageArgument(char *buffer, struct Entity *entity, u32 param_3) { switch(GetEntityType(entity)) { - case ENTITY_POKEMON: - SetMessageArgument_2(buffer, entity->entityData, param_3); + case ENTITY_MONSTER: + SetMessageArgument_2(buffer, entity->info, param_3); break; case ENTITY_ITEM: sub_8045BF8(buffer, GetItemData_1(entity)); @@ -76,17 +76,17 @@ void SetMessageArgument(char *buffer, struct DungeonEntity *entity, u32 param_3) } } -void sub_8045BF8(u8 *buffer, struct ItemSlot *item) +void sub_8045BF8(u8 *buffer, struct Item *item) { sub_8090E14(buffer, item, &gUnknown_80F699C); } -void sub_8045C08(u8 *buffer, struct ItemSlot *item) +void sub_8045C08(u8 *buffer, struct Item *item) { sub_8090E14(buffer, item, &gUnknown_80F69A8); } -void sub_8045C18(u8 *buffer, struct ItemSlot *item) +void sub_8045C18(u8 *buffer, struct Item *item) { sub_8090E14(buffer, item, &gUnknown_80F6990); } diff --git a/src/code_8048480.c b/src/code_8048480.c index 8f7677818..162a94e79 100644 --- a/src/code_8048480.c +++ b/src/code_8048480.c @@ -36,126 +36,126 @@ extern u8 *gPtrSelfHealPreventedHungerMessage[]; extern u8 *gUnknown_80F9740[]; extern u8 *gUnknown_80F9760[]; -extern void sub_807D148(struct DungeonEntity *pokemon, struct DungeonEntity *r1, u32 r2, struct Position *r3); -extern void sub_8072008(struct DungeonEntity *pokemon, struct DungeonEntity *r1, u32 r2, u8 r3, u32); -extern void LevelDownTarget(struct DungeonEntity *pokemon, struct DungeonEntity *r1, u32 r2); -extern void sub_8078B5C(struct DungeonEntity *, struct DungeonEntity *, u32, u32, u32); -extern void SetMessageArgument(u8 *buffer, struct DungeonEntity *r1, u32); -extern void sub_80522F4(struct DungeonEntity *pokemon, struct DungeonEntity *r1, const char[]); -extern void sub_806F370(struct DungeonEntity *pokemon, struct DungeonEntity *r1, u32, u32, u8 *, u8, s32, u32, u32, u32); -extern void sub_8078A58(struct DungeonEntity *, struct DungeonEntity *, s16, u32); -extern s32 sub_8042520(struct DungeonEntity *); -struct DungeonEntity *sub_80696FC(struct DungeonEntity *); +extern void sub_807D148(struct Entity *pokemon, struct Entity *r1, u32 r2, struct Position *r3); +extern void sub_8072008(struct Entity *pokemon, struct Entity *r1, u32 r2, u8 r3, u32); +extern void LevelDownTarget(struct Entity *pokemon, struct Entity *r1, u32 r2); +extern void sub_8078B5C(struct Entity *, struct Entity *, u32, u32, u32); +extern void SetMessageArgument(u8 *buffer, struct Entity *r1, u32); +extern void sub_80522F4(struct Entity *pokemon, struct Entity *r1, const char[]); +extern void sub_806F370(struct Entity *pokemon, struct Entity *r1, u32, u32, u8 *, u8, s32, u32, u32, u32); +extern void sub_8078A58(struct Entity *, struct Entity *, s16, u32); +extern s32 sub_8042520(struct Entity *); +struct Entity *sub_80696FC(struct Entity *); extern void sub_80943A0(void*, s32); extern void sub_803E708(u32 r0, u32 r1); -void sub_8048340(struct DungeonEntity *pokemon, struct DungeonEntity *target, u32 r2) +void sub_8048340(struct Entity *pokemon, struct Entity *target, u32 r2) { sub_806F370(pokemon, target, r2, 1, 0, 0, 528, 0, 0, 0); } -void sub_8048364(struct DungeonEntity *pokemon, struct DungeonEntity *target, u8 r2) +void sub_8048364(struct Entity *pokemon, struct Entity *target, u8 r2) { sub_8079F20(pokemon, target, 1, r2); } -void sub_8048374(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_8048374(struct Entity *pokemon, struct Entity *target) { HealTargetHP(pokemon, target, gUnknown_80F4FB6, gUnknown_80F4FB8, TRUE); } -void sub_804839C(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_804839C(struct Entity *pokemon, struct Entity *target) { HealTargetHP(pokemon, target, gUnknown_80F4FBA, gUnknown_80F4FBC, TRUE); } -void sub_80483C4(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_80483C4(struct Entity *pokemon, struct Entity *target) { RestorePPTarget(pokemon, target, 999); } -void sub_80483D4(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_80483D4(struct Entity *pokemon, struct Entity *target) { HealTargetHP(pokemon, target, 0, gUnknown_80F4FBE, TRUE); } -void sub_80483F4(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_80483F4(struct Entity *pokemon, struct Entity *target) { BlindTarget(pokemon, target); } -void XEyeSeedAction(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void XEyeSeedAction(struct Entity *pokemon, struct Entity *target) { CrossEyeVisionTarget(pokemon, target); } -void sub_804840C(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_804840C(struct Entity *pokemon, struct Entity *target) { RaiseMovementSpeedTarget(pokemon, target, 0, TRUE); } -void sub_804841C(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_804841C(struct Entity *pokemon, struct Entity *target) { RestoreVisionTarget(pokemon, target); } -void sub_8048428(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_8048428(struct Entity *pokemon, struct Entity *target) { - if(target->entityData->nonVolatileStatus == NON_VOLATILE_STATUS_PARALYZED) + if(target->info->nonVolatileStatus == STATUS_PARALYSIS) SendNonVolatileEndMessage(pokemon, target); else // Pointer to "But nothing happened!" sub_80522F4(pokemon, target, *gUnknown_80F89F4); } -void sub_8048450(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_8048450(struct Entity *pokemon, struct Entity *target) { - if((u8)(target->entityData->nonVolatileStatus - 2) <= 1) + if((u8)(target->info->nonVolatileStatus - 2) <= 1) SendNonVolatileEndMessage(pokemon, target); else // Pointer to "But nothing happened!" sub_80522F4(pokemon, target, *gUnknown_80F89F4); } -void sub_8048480(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_8048480(struct Entity *pokemon, struct Entity *target) { sub_807D148(pokemon, target, 0, NULL); } -void sub_8048490(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_8048490(struct Entity *pokemon, struct Entity *target) { SleeplessStatusTarget(pokemon, target); } -void sub_804849C(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_804849C(struct Entity *pokemon, struct Entity *target) { ConfuseStatusTarget(pokemon, target, TRUE); } -void sub_80484A8(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_80484A8(struct Entity *pokemon, struct Entity *target) { sub_8072008(pokemon, target, 1, 1, 1); } -void sub_80484BC(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_80484BC(struct Entity *pokemon, struct Entity *target) { PetrifiedStatusTarget(pokemon, target); } -void sub_80484C8(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_80484C8(struct Entity *pokemon, struct Entity *target) { // Pointer to "But nothing happened!" sub_80522F4(pokemon, target, *gUnknown_80F89F4); } -void sub_80484DC(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_80484DC(struct Entity *pokemon, struct Entity *target) { LevelDownTarget(pokemon, target, 1); } -void sub_80484E8(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_80484E8(struct Entity *pokemon, struct Entity *target) { - if(target->entityData->nonVolatileStatus == NON_VOLATILE_STATUS_BURNED) + if(target->info->nonVolatileStatus == STATUS_BURN) SendNonVolatileEndMessage(pokemon, target); else { @@ -165,21 +165,21 @@ void sub_80484E8(struct DungeonEntity *pokemon, struct DungeonEntity *target) } } -void sub_8048524(struct DungeonEntity *pokemon, struct DungeonEntity * target) +void sub_8048524(struct Entity *pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; - struct DungeonEntityData *entityData_1; + struct EntityInfo *entityData; + struct EntityInfo *entityData_1; u32 *belly; u32 newBelly; - entityData = target->entityData; + entityData = target->info; entityData_1 = entityData; - if (entityData->isLeader) + if (entityData->isTeamLeader) sub_8078A58(pokemon, target, 0, 5); else { SetMessageArgument(gAvailablePokemonNames, target, 0); - if (HasIQSkill(target, IQ_SKILL_SELF_CURER)) + if (IQSkillIsEnabled(target, IQ_SELF_CURER)) sub_80522F4(pokemon, target, *gPtrSelfHealPreventedHungerMessage); else { @@ -195,34 +195,34 @@ void sub_8048524(struct DungeonEntity *pokemon, struct DungeonEntity * target) } } -void sub_80485B0(struct DungeonEntity *pokemon, struct DungeonEntity * target) +void sub_80485B0(struct Entity *pokemon, struct Entity * target) { bool8 isMoveBoosted; s32 moveIndex; - struct DungeonEntityData *entityData; - register struct PokemonMove *movePtr1 asm("r4"); // r4 - register struct PokemonMove *movePtr2 asm("r5"); // r5 + struct EntityInfo *entityData; + register struct Move *movePtr1 asm("r4"); // r4 + register struct Move *movePtr2 asm("r5"); // r5 u8 moveBoost; s32 movePowerBoost; s32 maxPowerBoost; isMoveBoosted = FALSE; moveBoost = 1; - entityData = target->entityData; - if (DungeonRandomCapped(100) < gUnknown_80F4F46) + entityData = target->info; + if (DungeonRandInt(100) < gUnknown_80F4F46) moveBoost = 3; - if (entityData->isLeader) { + if (entityData->isTeamLeader) { for(moveIndex = 0, movePtr1 = &entityData->moves[0], movePtr2 = movePtr1; moveIndex < MAX_MON_MOVES; movePtr1++, movePtr2++, moveIndex++) { if((movePtr1->moveFlags & MOVE_FLAG_EXISTS) && (movePtr1->moveFlags & MOVE_FLAG_SET)) { - if(GetMovePower(movePtr2) == 0) continue; - movePowerBoost = movePtr1->powerBoost; - maxPowerBoost = GetMoveMaxPowerBoost(movePtr2); - movePtr1->powerBoost += moveBoost; - if(movePtr1->powerBoost >= maxPowerBoost) - movePtr1->powerBoost = maxPowerBoost; - if(movePowerBoost != movePtr1->powerBoost) + if(GetMoveBasePower(movePtr2) == 0) continue; + movePowerBoost = movePtr1->ginseng; + maxPowerBoost = GetMoveMaxUpgradeLevel(movePtr2); + movePtr1->ginseng += moveBoost; + if(movePtr1->ginseng >= maxPowerBoost) + movePtr1->ginseng = maxPowerBoost; + if(movePowerBoost != movePtr1->ginseng) isMoveBoosted = TRUE; } } @@ -241,25 +241,25 @@ void sub_80485B0(struct DungeonEntity *pokemon, struct DungeonEntity * target) sub_80522F4(pokemon,target,*gUnknown_80FE40C); } -void sub_804869C(struct DungeonEntity *pokemon, struct DungeonEntity * target, u8 param_3) +void sub_804869C(struct Entity *pokemon, struct Entity * target, u8 param_3) { s32 uVar1; - struct DungeonEntityData *entityData; - struct DungeonEntityData *entityData_1; - struct DungeonEntity *entity; + struct EntityInfo *entityData; + struct EntityInfo *entityData_1; + struct Entity *entity; u8 auStack28 [4]; if (param_3 != 0) { - entityData = target->entityData; + entityData = target->info; entityData_1 = entityData; - if (gDungeonGlobalData->unk675 != 0) { + if (gDungeon->unk675 != 0) { uVar1 = gUnknown_80F4FA8; sub_80522F4(pokemon, target, *gUnknown_80FEAE8); } else { uVar1 = gUnknown_80F4FA4; } - if (entityData_1->immobilizeStatus == IMMOBILIZE_STATUS_FROZEN) { + if (entityData_1->immobilizeStatus == STATUS_FROZEN) { SendImmobilizeEndMessage(pokemon, target); } sub_806F370(pokemon, target, uVar1, 1, auStack28, 0, 0x216, 0, 0, 0); @@ -274,15 +274,15 @@ void sub_804869C(struct DungeonEntity *pokemon, struct DungeonEntity * target, u } else { - entityData = entity->entityData; - if (gDungeonGlobalData->unk675 != 0) { + entityData = entity->info; + if (gDungeon->unk675 != 0) { uVar1 = gUnknown_80F4FAA; sub_80522F4(pokemon, target, *gUnknown_80FEAE8); } else { uVar1 = gUnknown_80F4FA6; } - if (entityData->immobilizeStatus == IMMOBILIZE_STATUS_FROZEN) { + if (entityData->immobilizeStatus == STATUS_FROZEN) { SendImmobilizeEndMessage(pokemon, entity); } sub_806F370(pokemon, entity, uVar1, 1, auStack28, 0, 0x216, 0, 0, 0); @@ -290,7 +290,7 @@ void sub_804869C(struct DungeonEntity *pokemon, struct DungeonEntity * target, u } } -void sub_80487CC(struct DungeonEntity *pokemon, struct DungeonEntity * target, u32 param_3, u32 param_4) +void sub_80487CC(struct Entity *pokemon, struct Entity * target, u32 param_3, u32 param_4) { sub_8078B5C(pokemon, target, param_3, param_4, 1); } diff --git a/src/code_8048DB8.c b/src/code_8048DB8.c index 20615da55..8464373d6 100644 --- a/src/code_8048DB8.c +++ b/src/code_8048DB8.c @@ -7,8 +7,8 @@ #include "status.h" extern void sub_803E708(u32, u32); -extern void sub_80421C0(struct DungeonEntity *r0, u16 r1); -extern void sub_8078B5C(struct DungeonEntity *, struct DungeonEntity *, u32, u32, u32); +extern void sub_80421C0(struct Entity *r0, u16 r1); +extern void sub_8078B5C(struct Entity *, struct Entity *, u32, u32, u32); extern u8 gAvailablePokemonNames[]; extern u8 gUnknown_202DE58[]; @@ -21,28 +21,28 @@ extern u8 *gPtrSteelPartCrumbledMessage[]; extern u32 gUnknown_8106A4C; extern u32 gUnknown_8106A50; extern s16 gUnknown_80F4FAC; -extern void sub_806F370(struct DungeonEntity *r0, struct DungeonEntity *r1, u32, u32, u8 *, u8, s32, u32, u32, u32); -extern void sub_8051E7C(struct DungeonEntity *pokemon); -extern void sub_8045BF8(u8 *, struct ItemSlot *); -extern void SetMessageArgument(char[], struct DungeonEntity*, u32); +extern void sub_806F370(struct Entity *r0, struct Entity *r1, u32, u32, u8 *, u8, s32, u32, u32, u32); +extern void sub_8051E7C(struct Entity *pokemon); +extern void sub_8045BF8(u8 *, struct Item *); +extern void SetMessageArgument(char[], struct Entity*, u32); extern u8 *gUnknown_80FDCA4[]; extern u8 *gUnknown_80FE3E8[]; -bool8 sub_8048D50(struct DungeonEntity * pokemon, struct ItemSlot *item) +bool8 sub_8048D50(struct Entity * pokemon, struct Item *item) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; - entityData = pokemon->entityData; + entityData = pokemon->info; - if ((item->itemFlags & ITEM_FLAG_STICKY) != 0) { + if ((item->flags & ITEM_FLAG_STICKY) != 0) { sub_8045BF8(gUnknown_202DE58, item); SendMessage(pokemon,*gUnknown_80FE3E8); return FALSE; } else { - if ((entityData->muzzledStatus == MUZZLED_STATUS_MUZZLED) && (IsEdibleItem(item->itemIndex))) { + if ((entityData->muzzled == TRUE) && (IsEdibleItem(item->id))) { SetMessageArgument(gAvailablePokemonNames,pokemon,0); SendMessage(pokemon,*gUnknown_80FDCA4); return FALSE; @@ -51,7 +51,7 @@ bool8 sub_8048D50(struct DungeonEntity * pokemon, struct ItemSlot *item) return TRUE; } -void sub_8048DB8(struct DungeonEntity *pokemon, struct DungeonEntity *target, u8 r2) +void sub_8048DB8(struct Entity *pokemon, struct Entity *target, u8 r2) { u8 temp; if(r2 != 0) @@ -60,10 +60,10 @@ void sub_8048DB8(struct DungeonEntity *pokemon, struct DungeonEntity *target, u8 sub_8051E7C(pokemon); } -void sub_8048E04(struct DungeonEntity *pokemon, struct DungeonEntity * target) +void sub_8048E04(struct Entity *pokemon, struct Entity * target) { sub_8078B5C(pokemon, target, 0x1E, 0, 1); - switch(DungeonRandomCapped(5)) + switch(DungeonRandInt(5)) { case 0: PoisonedStatusTarget(pokemon, target, TRUE); @@ -84,27 +84,27 @@ void sub_8048E04(struct DungeonEntity *pokemon, struct DungeonEntity * target) } } -void sub_8048EB0(struct DungeonEntity *pokemon) +void sub_8048EB0(struct Entity *pokemon) { SendMessage(pokemon, *gPtrIcePartCrumbledMessage); } -void sub_8048EC4(struct DungeonEntity *pokemon) +void sub_8048EC4(struct Entity *pokemon) { SendMessage(pokemon, *gPtrRockPartCrumbledMessage); } -void sub_8048ED8(struct DungeonEntity *pokemon) +void sub_8048ED8(struct Entity *pokemon) { SendMessage(pokemon, *gPtrSteelPartCrumbledMessage); } -void sub_8048EEC(struct DungeonEntity *pokemon) +void sub_8048EEC(struct Entity *pokemon) { SendMessage(pokemon, *gPtrWishStoneCrumbledMessage); } -void sub_8048F00(struct DungeonEntity *pokemon) +void sub_8048F00(struct Entity *pokemon) { sub_80421C0(pokemon, 0xD6); SendMessage(pokemon, *gPtrMusicBoxPlayedCrumbledMessage); diff --git a/src/code_80521D0.c b/src/code_80521D0.c index 4867acff7..caae46f9a 100644 --- a/src/code_80521D0.c +++ b/src/code_80521D0.c @@ -2,9 +2,9 @@ #include "code_80521D0.h" extern void sub_80526D0(u8 r0); -extern u8 sub_8045888(struct DungeonEntity *r0); -extern void sub_80523A8(struct DungeonEntity *r0, const char r1[], u8 r2); -extern u8 sub_8052DC0(struct DungeonEntity *); +extern u8 sub_8045888(struct Entity *r0); +extern void sub_80523A8(struct Entity *r0, const char r1[], u8 r2); +extern u8 sub_8052DC0(struct Entity *); extern u8 sub_803F428(u32); void sub_805229C(void) @@ -12,26 +12,26 @@ void sub_805229C(void) return sub_80526D0(0x50); } -void SendMessage(struct DungeonEntity *pokemon, const char message[]) +void SendMessage(struct Entity *pokemon, const char message[]) { if (sub_8045888(pokemon) != 0){ sub_80523A8(pokemon, message, 1); } } -void sub_80522C8(struct DungeonEntity *r0, const char r1[]) +void sub_80522C8(struct Entity *r0, const char r1[]) { if (sub_8045888(r0) != 0){ sub_80523A8(r0, r1, 0); } } -void sub_80522E8(struct DungeonEntity *r0, const char r1[]) +void sub_80522E8(struct Entity *r0, const char r1[]) { sub_80523A8(r0, r1, 0); } -void sub_80522F4(struct DungeonEntity *r0, struct DungeonEntity *r1, const char r2[]) +void sub_80522F4(struct Entity *r0, struct Entity *r1, const char r2[]) { u8 temp; u32 temp_reg; @@ -49,7 +49,7 @@ void sub_80522F4(struct DungeonEntity *r0, struct DungeonEntity *r1, const char } } -void sub_805232C(struct DungeonEntity *r0, struct DungeonEntity *r1, const char r2[]) +void sub_805232C(struct Entity *r0, struct Entity *r1, const char r2[]) { u8 temp; u32 temp_reg; @@ -67,7 +67,7 @@ void sub_805232C(struct DungeonEntity *r0, struct DungeonEntity *r1, const char } } -void sub_8052364(struct DungeonEntity *r0, u32 r1, const char r2[]) +void sub_8052364(struct Entity *r0, u32 r1, const char r2[]) { u8 temp; u32 temp_reg; @@ -85,7 +85,7 @@ void sub_8052364(struct DungeonEntity *r0, u32 r1, const char r2[]) } } -void sub_805239C(struct DungeonEntity *r0, const char r1[]) +void sub_805239C(struct Entity *r0, const char r1[]) { sub_80523A8(r0, r1, 1); } diff --git a/src/code_8057824.c b/src/code_8057824.c index 34a20530d..329cd1ea4 100644 --- a/src/code_8057824.c +++ b/src/code_8057824.c @@ -19,7 +19,7 @@ #include "tile_types.h" #include "weather.h" -typedef bool8 (*MoveCallback)(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4); +typedef bool8 (*MoveCallback)(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4); struct NaturePowerMove { s16 moveID; @@ -113,33 +113,33 @@ struct unkStruct_80928C0 u8 unk9; }; -void sub_80928C0(u8 *buffer, struct PokemonMove *move, struct unkStruct_80928C0 *param_3); +void sub_80928C0(u8 *buffer, struct Move *move, struct unkStruct_80928C0 *param_3); -extern void sub_806ABAC(struct DungeonEntity *, struct DungeonEntity *); -extern u8 sub_806F4A4(struct DungeonEntity *, u32); -extern void sub_807DF38(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct Position *pos, u32, u8 moveType, s16); -extern void nullsub_92(struct DungeonEntity *); -extern u32 sub_8055864(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *param_3, s32 param_4, s32 param_5); -void sub_8079E34(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 param_3); +extern void sub_806ABAC(struct Entity *, struct Entity *); +extern u8 sub_806F4A4(struct Entity *, u32); +extern void sub_807DF38(struct Entity *pokemon, struct Entity *target, struct Position *pos, u32, u8 moveType, s16); +extern void nullsub_92(struct Entity *); +extern u32 sub_8055864(struct Entity *pokemon, struct Entity *target, struct Move *param_3, s32 param_4, s32 param_5); +void sub_8079E34(struct Entity * pokemon, struct Entity * target, bool8 param_3); extern u8 sub_807EAA0(u32, u32); -extern void sub_80522F4(struct DungeonEntity *r1, struct DungeonEntity *r2, const char[]); -extern s32 sub_80556BC(struct DungeonEntity *, struct DungeonEntity *, u8, struct PokemonMove *, u32, u32); -extern bool8 sub_805727C(struct DungeonEntity *, struct DungeonEntity *, s16); -extern void sub_8078968(struct DungeonEntity *r0, struct DungeonEntity *r1); -extern void sub_806F370(struct DungeonEntity *r0, struct DungeonEntity *r1, u32, u32, u8 *, u8, s32, u32, u32, u32); -extern void SetMessageArgument(char[], struct DungeonEntity*, u32); -extern u32 sub_8055640(struct DungeonEntity *, struct DungeonEntity *, struct PokemonMove *, u32, u32); +extern void sub_80522F4(struct Entity *r1, struct Entity *r2, const char[]); +extern s32 sub_80556BC(struct Entity *, struct Entity *, u8, struct Move *, u32, u32); +extern bool8 sub_805727C(struct Entity *, struct Entity *, s16); +extern void sub_8078968(struct Entity *r0, struct Entity *r1); +extern void sub_806F370(struct Entity *r0, struct Entity *r1, u32, u32, u8 *, u8, s32, u32, u32, u32); +extern void SetMessageArgument(char[], struct Entity*, u32); +extern u32 sub_8055640(struct Entity *, struct Entity *, struct Move *, u32, u32); u8 sub_8057620(u32 param_1); extern s16 sub_8094828(u16, u8); -extern bool8 sub_8057308(struct DungeonEntity *, u32); -extern void sub_806F324(struct DungeonEntity *, s32, u32, u32); +extern bool8 sub_8057308(struct Entity *, u32); +extern void sub_806F324(struct Entity *, s32, u32, u32); extern s16 gUnknown_80F4DB4; extern u32 gUnknown_8106A4C; -bool8 sub_805755C(struct DungeonEntity* pokemon, u16 moveID) +bool8 sub_805755C(struct Entity* pokemon, u16 moveID) { - if ((moveID == MOVE_SOLARBEAM) && (GetWeather(pokemon) == WEATHER_SUNNY)) { + if ((moveID == MOVE_SOLARBEAM) && (GetApparentWeather(pokemon) == WEATHER_SUNNY)) { return FALSE; } else { @@ -147,16 +147,16 @@ bool8 sub_805755C(struct DungeonEntity* pokemon, u16 moveID) } } -void sub_8057588(struct DungeonEntity * pokemon, u8 param_2) +void sub_8057588(struct Entity * pokemon, u8 param_2) { - struct PokemonMove *move; + struct Move *move; s32 index; s32 PPtoRemove; s32 PPCounter; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(pokemon)) { - entityData = pokemon->entityData; + entityData = pokemon->info; for(index = 0; index < MAX_MON_MOVES; index++) { move = &entityData->moves[index]; @@ -183,9 +183,9 @@ void sub_8057588(struct DungeonEntity * pokemon, u8 param_2) } } -s16 sub_8057600(struct PokemonMove *move, s32 param_2) +s16 sub_8057600(struct Move *move, s32 param_2) { - return sub_8094828(move->moveID, sub_8057620(param_2)); + return sub_8094828(move->id, sub_8057620(param_2)); } u8 sub_8057620(u32 param_1) @@ -196,7 +196,7 @@ u8 sub_8057620(u32 param_1) return param_1; } -bool8 sub_8057634(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4) +bool8 sub_8057634(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4) { bool8 flag; @@ -210,7 +210,7 @@ bool8 sub_8057634(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_805768C(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4) +bool8 sub_805768C(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4) { bool8 flag; @@ -224,44 +224,44 @@ bool8 sub_805768C(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 YawnMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity *target) +bool8 YawnMoveAction(struct Entity * pokemon, struct Entity *target) { YawnedStatusTarget(pokemon, target, CalculateStatusTurns(target,gUnknown_80F4F28,TRUE) + 1); return TRUE; } -bool8 sub_80576F8(struct DungeonEntity * pokemon, struct DungeonEntity *target) +bool8 sub_80576F8(struct Entity * pokemon, struct Entity *target) { sub_8075C58(pokemon, target, CalculateStatusTurns(target, gUnknown_80F4E74, TRUE), TRUE); return TRUE; } -bool8 NightmareMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity *target) +bool8 NightmareMoveAction(struct Entity * pokemon, struct Entity *target) { NightmareStatusTarget(pokemon, target, CalculateStatusTurns(target,gUnknown_80F4E78,TRUE)); return TRUE; } -bool8 sub_8057748(struct DungeonEntity * pokemon,struct DungeonEntity * target) +bool8 sub_8057748(struct Entity * pokemon,struct Entity * target) { - HealTargetHP(pokemon, target, gUnknown_80F502A[GetWeather(pokemon)], 0, TRUE); + HealTargetHP(pokemon, target, gUnknown_80F502A[GetApparentWeather(pokemon)], 0, TRUE); return TRUE; } -bool8 VitalThrowMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 VitalThrowMoveAction(struct Entity * pokemon, struct Entity * target) { VitalThrowStatusTarget(pokemon, target); return TRUE; } -bool8 DigMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove *move, s32 param_4) +bool8 DigMoveAction(struct Entity * pokemon, struct Entity * target, struct Move *move, s32 param_4) { - struct MapTile *tile; + struct Tile *tile; bool8 flag; flag = FALSE; - tile = GetMapTileForDungeonEntity_2(pokemon); - if ((!IsTileGround(tile)) || ((tile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID)) != 1)) { + tile = GetTileAtEntitySafe(pokemon); + if ((!IsTileGround(tile)) || ((tile->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY)) != 1)) { sub_80522F4(pokemon,target,*gUnknown_80FD14C); // It can only be used on land! } else { @@ -277,21 +277,21 @@ bool8 DigMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * targe return flag; } -bool32 sub_8057824(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool32 sub_8057824(struct Entity *pokemon, struct Entity *target) { LowerAccuracyStageTarget(pokemon,target,gUnknown_8106A50,TRUE); return TRUE; } -bool32 sub_805783C(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool32 sub_805783C(struct Entity *pokemon, struct Entity *target) { ChangeAttackMultiplierTarget(pokemon,target,gUnknown_8106A4C,0x80,TRUE); return TRUE; } -bool32 sub_805785C(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool32 sub_805785C(struct Entity *pokemon, struct Entity *target) { - gDungeonGlobalData->unkE26B = gUnknown_80F4F42; + gDungeon->unkE26B = gUnknown_80F4F42; if (sub_807EAA0(1,0) == 0) { // The weather remains unchanged sub_80522F4(pokemon,target,*gUnknown_80FCF74); @@ -299,9 +299,9 @@ bool32 sub_805785C(struct DungeonEntity *pokemon, struct DungeonEntity *target) return TRUE; } -bool32 sub_80578A4(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool32 sub_80578A4(struct Entity *pokemon, struct Entity *target) { - gDungeonGlobalData->weatherTurnsLeft = gUnknown_80F4F42; + gDungeon->weatherTurns = gUnknown_80F4F42; if (sub_807EAA0(1,0) == 0) { // The weather remains unchanged sub_80522F4(pokemon,target,*gUnknown_80FCF80); @@ -309,13 +309,13 @@ bool32 sub_80578A4(struct DungeonEntity *pokemon, struct DungeonEntity *target) return TRUE; } -bool32 sub_80578EC(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool32 sub_80578EC(struct Entity *pokemon, struct Entity *target) { sub_8079F20(pokemon, target, 1, 0); return TRUE; } -bool32 sub_80578FC(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove * move, u32 param_4) +bool32 sub_80578FC(struct Entity *pokemon, struct Entity *target, struct Move * move, u32 param_4) { bool32 flag; @@ -329,25 +329,25 @@ bool32 sub_80578FC(struct DungeonEntity *pokemon, struct DungeonEntity *target, return flag; } -bool32 sub_8057948(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool32 sub_8057948(struct Entity *pokemon, struct Entity *target) { sub_8078968(pokemon, target); return TRUE; } -bool32 sub_8057954(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move) +bool32 sub_8057954(struct Entity *pokemon, struct Entity *target, struct Move *move) { // {ARG_POKEMON_0} is enraged sub_8079618(pokemon,target,0xc,move,gUnknown_80FAC88); return TRUE; } -bool32 sub_8057974(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool32 sub_8057974(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { s32 newHP; bool8 local_24; - newHP = target->entityData->HP / 2; + newHP = target->info->HP / 2; local_24 = FALSE; if (newHP != 0) { sub_806F370(pokemon,target,newHP,1,&local_24,GetMoveType(move),sub_8057600(move,param_4),0,1,0); @@ -361,28 +361,28 @@ bool32 sub_8057974(struct DungeonEntity *pokemon, struct DungeonEntity *target, return local_24; } -bool8 PainSplitMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 PainSplitMoveAction(struct Entity *pokemon, struct Entity *target) { s32 newHP; - struct DungeonEntityData *iVar2; - struct DungeonEntityData *iVar3; - struct DungeonEntityData *iVar4; - struct DungeonEntityData *iVar5; + struct EntityInfo *iVar2; + struct EntityInfo *iVar3; + struct EntityInfo *iVar4; + struct EntityInfo *iVar5; // Need copies for some reason to match.. - iVar3 = (pokemon->entityData); + iVar3 = (pokemon->info); iVar4 = iVar3; - iVar2 = (target->entityData); + iVar2 = (target->info); iVar5 = iVar2; newHP = ((iVar3->HP + iVar2->HP) / 2); iVar3->HP = newHP; iVar5->HP = newHP; - if (iVar3->HP > iVar3->maxHP) { - iVar3->HP = iVar3->maxHP; + if (iVar3->HP > iVar3->maxHPStat) { + iVar3->HP = iVar3->maxHPStat; } - if (iVar5->HP > iVar5->maxHP) { - iVar5->HP = iVar5->maxHP; + if (iVar5->HP > iVar5->maxHPStat) { + iVar5->HP = iVar5->maxHPStat; } SetMessageArgument(gAvailablePokemonNames,pokemon,0); SetMessageArgument(gAvailablePokemonNames + 0x50,target,0); @@ -394,15 +394,15 @@ bool8 PainSplitMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *t return TRUE; } -bool8 TormentMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 TormentMoveAction(struct Entity *pokemon, struct Entity *target) { - struct PokemonMove *movePtr; + struct Move *movePtr; s32 iVar4; - struct PokemonMove struggleMove; - struct DungeonEntityData *entityData; + struct Move struggleMove; + struct EntityInfo *entityData; bool8 isTormented; - entityData = target->entityData; + entityData = target->info; isTormented = FALSE; for(iVar4 = 0; iVar4 < MAX_MON_MOVES; iVar4++) @@ -439,8 +439,8 @@ bool8 TormentMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *tar } if (isTormented) { - if(entityData->chargingStatus == CHARGING_STATUS_BIDE) { - entityData->chargingStatus = CHARGING_STATUS_NONE; + if(entityData->chargingStatus == STATUS_BIDE) { + entityData->chargingStatus = STATUS_NONE; } } else @@ -451,20 +451,20 @@ bool8 TormentMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *tar return isTormented; } -bool8 sub_8057BB4(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 sub_8057BB4(struct Entity *pokemon, struct Entity *target) { LowerMovementSpeedTarget(pokemon, target, 1, TRUE); return TRUE; } -bool8 sub_8057BC4(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 sub_8057BC4(struct Entity *pokemon, struct Entity *target) { ConfuseStatusTarget(pokemon, target, TRUE); RaiseAttackStageTarget(pokemon, target, gUnknown_8106A4C, 2); return TRUE; } -bool8 SnoreMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove * move, u32 param_4) +bool8 SnoreMoveAction(struct Entity *pokemon, struct Entity *target, struct Move * move, u32 param_4) { bool8 flag; @@ -483,13 +483,13 @@ bool8 SnoreMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *targe return flag; } -bool8 sub_8057C68(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 sub_8057C68(struct Entity *pokemon, struct Entity *target) { ChangeDefenseMultiplierTarget(pokemon, target, gUnknown_8106A4C, 0x40, 1); return TRUE; } -bool8 sub_8057C88(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove * move, u32 param_4) +bool8 sub_8057C88(struct Entity *pokemon, struct Entity *target, struct Move * move, u32 param_4) { bool8 flag; @@ -503,12 +503,12 @@ bool8 sub_8057C88(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -s32 sub_8057CD0(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove * move, u32 param_4) +s32 sub_8057CD0(struct Entity * pokemon, struct Entity * target, struct Move * move, u32 param_4) { u32 uVar1; s32 iVar2; - uVar1 = GetWeather(pokemon); + uVar1 = GetApparentWeather(pokemon); iVar2 = sub_80556BC(pokemon,target,gUnknown_80F51E4[uVar1],move, gUnknown_80F51EC[uVar1],param_4); if (iVar2 != 0) { @@ -517,16 +517,16 @@ s32 sub_8057CD0(struct DungeonEntity * pokemon, struct DungeonEntity * target, s return iVar2; } -bool8 WhirlpoolMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove * move, u32 param_4) +bool8 WhirlpoolMoveAction(struct Entity * pokemon, struct Entity * target, struct Move * move, u32 param_4) { u32 uVar3; bool8 flag; u8 chargeStatus; flag = FALSE; - chargeStatus = target->entityData->chargingStatus; + chargeStatus = target->info->chargingStatus; uVar3 = 0x100; - if (chargeStatus == CHARGING_STATUS_DIVE) { + if (chargeStatus == STATUS_DIVING) { uVar3 = 0x200; } if (sub_8055640(pokemon,target,move,uVar3,param_4) != 0) { @@ -538,13 +538,13 @@ bool8 WhirlpoolMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * return flag; } -bool8 sub_8057D7C(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 sub_8057D7C(struct Entity * pokemon, struct Entity * target) { LowerDefenseStageTarget(pokemon, target, gUnknown_8106A50, 2, 1, TRUE); return TRUE; } -NAKED bool8 sub_8057D9C(struct DungeonEntity * pokemon, struct DungeonEntity * target) +NAKED bool8 sub_8057D9C(struct Entity * pokemon, struct Entity * target) { asm_unified( "\tpush {r4-r7,lr}\n" @@ -613,32 +613,32 @@ NAKED bool8 sub_8057D9C(struct DungeonEntity * pokemon, struct DungeonEntity * t "_08057E18: .4byte gUnknown_80FD370"); } -bool8 FocusEnergyMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 FocusEnergyMoveAction(struct Entity * pokemon, struct Entity * target) { FocusEnergyStatusTarget(pokemon, target); return TRUE; } -bool8 SmokescreenMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 SmokescreenMoveAction(struct Entity *pokemon, struct Entity *target) { WhifferStatusTarget(pokemon, target, CalculateStatusTurns(target, gUnknown_80F4EDC, TRUE)); return TRUE; } -bool8 sub_8057E50(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 sub_8057E50(struct Entity *pokemon, struct Entity *target) { SendThawedMessage(pokemon, target); MirrorMoveStatusTarget(pokemon, target); return TRUE; } -bool8 sub_8057E6C(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8057E6C(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; bool8 flag; flag = FALSE; - entityData = pokemon->entityData; + entityData = pokemon->info; SendThawedMessage(pokemon,target); if (sub_8055640(pokemon,target,move,0x100,param_4) != 0) { flag = TRUE; @@ -649,7 +649,7 @@ bool8 sub_8057E6C(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_8057ED0(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8057ED0(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag; @@ -664,11 +664,11 @@ bool8 sub_8057ED0(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_8057F24(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 sub_8057F24(struct Entity *pokemon, struct Entity *target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; - entityData = pokemon->entityData; + entityData = pokemon->info; entityData->HP = 1; ChangeAttackMultiplierTarget(pokemon,target,gUnknown_8106A4C,0x40,TRUE); ChangeAttackMultiplierTarget(pokemon,target,gUnknown_8106A50,0x40,TRUE); @@ -676,7 +676,7 @@ bool8 sub_8057F24(struct DungeonEntity *pokemon, struct DungeonEntity *target) return TRUE; } -bool8 sub_8057F7C(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8057F7C(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag; @@ -691,21 +691,21 @@ bool8 sub_8057F7C(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_8057FCC(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 sub_8057FCC(struct Entity *pokemon, struct Entity *target) { ConfuseStatusTarget(pokemon, target, TRUE); RaiseAttackStageTarget(pokemon, target, gUnknown_8106A50, 1); return TRUE; } -bool8 sub_8057FF4(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 sub_8057FF4(struct Entity *pokemon, struct Entity *target) { u8 flashFireStatus; flashFireStatus = GetFlashFireStatus(target); if (flashFireStatus != FLASH_FIRE_STATUS_NONE) { - if (target->entityData->unk152 == 0) { - target->entityData->unk152 = 1; + if (target->info->unk152 == 0) { + target->info->unk152 = 1; SetMessageArgument(gUnknown_202DFE8,target,0); if (flashFireStatus == FLASH_FIRE_STATUS_MAXED) { sub_80522F4(pokemon,target,*gUnknown_80FAE00); // Fire moves won't become stronger @@ -721,16 +721,16 @@ bool8 sub_8057FF4(struct DungeonEntity *pokemon, struct DungeonEntity *target) return TRUE; } -bool8 sub_805805C(struct DungeonEntity * pokemon,struct DungeonEntity * target,struct PokemonMove * move,s32 param_4) +bool8 sub_805805C(struct Entity * pokemon,struct Entity * target,struct Move * move,s32 param_4) { s16 *psVar3; s32 index; s32 r6; bool8 local_24; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; s32 IQ; - entityData = pokemon->entityData; + entityData = pokemon->info; r6 = 1; @@ -751,32 +751,32 @@ _080580B0: return local_24; } -bool8 GrudgeMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity * target) +bool8 GrudgeMoveAction(struct Entity *pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; bool8 hasGrudge; hasGrudge = FALSE; - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gUnknown_202DFE8,target,0); - if (entityData->grudgeStatus) { + if (entityData->grudge) { sub_80522F4(pokemon,target,*gUnknown_80FD2B4); } else { - entityData->grudgeStatus = TRUE; + entityData->grudge = TRUE; hasGrudge = TRUE; sub_80522F4(pokemon,target,*gUnknown_80FD294); } return hasGrudge; } -bool8 sub_805815C(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 sub_805815C(struct Entity *pokemon, struct Entity *target) { - sub_80797A0(pokemon, target, PROTECTION_STATUS_COUNTER); + sub_80797A0(pokemon, target, STATUS_COUNTER); return TRUE; } -bool8 sub_805816C(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_805816C(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag; @@ -792,7 +792,7 @@ bool8 sub_805816C(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_80581D0(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_80581D0(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag; @@ -808,51 +808,51 @@ bool8 sub_80581D0(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_8058234(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058234(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { u16 uVar1; - uVar1 = (move->moveID == MOVE_FORESIGHT) ? 0x7A : 0x51; + uVar1 = (move->id == MOVE_FORESIGHT) ? 0x7A : 0x51; ExposeStatusTarget(pokemon, target, uVar1); return TRUE; } -bool8 sub_805825C(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_805825C(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { RaiseAccuracyStageTarget(pokemon, target, gUnknown_8106A50); return TRUE; } -bool8 sub_8058270(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058270(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag; u32 r3; r3 = 1; - if((u8)(target->entityData->chargingStatus - 7) <= 1) + if((u8)(target->info->chargingStatus - 7) <= 1) r3 = 2; flag = sub_8055640(pokemon,target,move,r3 << 8,param_4) ? TRUE : FALSE; return flag; } -bool8 sub_80582AC(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_80582AC(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { RaiseDefenseStageTarget(pokemon, target, gUnknown_8106A4C, 1); return TRUE; } -bool8 sub_80582C4(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_80582C4(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { ParalyzeStatusTarget(pokemon, target, TRUE); return TRUE; } -bool8 sub_80582D4(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_80582D4(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { RaiseAttackStageTarget(pokemon, target, gUnknown_8106A4C, 1); return TRUE; } -bool8 RazorWindMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove * move, u32 param_4) +bool8 RazorWindMoveAction(struct Entity * pokemon, struct Entity * target, struct Move * move, u32 param_4) { bool8 flag; @@ -861,25 +861,25 @@ bool8 RazorWindMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * sub_8079764(pokemon); } else { - sub_8079618(pokemon,pokemon,CHARGING_STATUS_RAZOR_WIND,move,*gUnknown_80FAC54); + sub_8079618(pokemon,pokemon,STATUS_RAZOR_WIND,move,*gUnknown_80FAC54); flag = TRUE; } return flag; } -bool8 BideMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 BideMoveAction(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { - sub_8079618(pokemon, target, CHARGING_STATUS_BIDE, move, *gUnknown_80FAC74); + sub_8079618(pokemon, target, STATUS_BIDE, move, *gUnknown_80FAC74); return TRUE; } -bool8 sub_805836C(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_805836C(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { s32 iVar2; bool8 local_18; local_18 = FALSE; - iVar2 = pokemon->entityData->unkA0 * 2; + iVar2 = pokemon->info->unkA0 * 2; if (999 < iVar2) { iVar2 = 999; } @@ -889,7 +889,7 @@ bool8 sub_805836C(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return local_18; } -bool8 sub_80583D8(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_80583D8(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag; @@ -904,7 +904,7 @@ bool8 sub_80583D8(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_8058430(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058430(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag; @@ -919,7 +919,7 @@ bool8 sub_8058430(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_8058478(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058478(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag; @@ -934,17 +934,17 @@ bool8 sub_8058478(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_80584C0(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_80584C0(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { s32 diffHP; bool8 local_24; - struct DungeonEntityData *entityData; - struct DungeonEntityData *entityData1; + struct EntityInfo *entityData; + struct EntityInfo *entityData1; local_24 = 0; - entityData = pokemon->entityData; - entityData1 = target->entityData; + entityData = pokemon->info; + entityData1 = target->info; diffHP = entityData1->HP - entityData->HP; if (diffHP < 0) { diffHP = 0; @@ -955,19 +955,19 @@ bool8 sub_80584C0(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return local_24; } -bool8 sub_8058548(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058548(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag; u32 r5; r5 = 0x80 << 1; - if((pokemon->entityData->nonVolatileStatus) != NON_VOLATILE_STATUS_NONE) + if((pokemon->info->nonVolatileStatus) != STATUS_NONE) r5 = gUnknown_80F4F6C; flag = sub_8055640(pokemon,target,move,r5,param_4) ? TRUE : FALSE; return flag; } -bool8 sub_8058580(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058580(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag; @@ -982,12 +982,12 @@ bool8 sub_8058580(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_80585CC(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_80585CC(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag; flag = FALSE; - if ((target->entityData->protectionStatus == PROTECTION_STATUS_REFLECT) || (target->entityData->protectionStatus == PROTECTION_STATUS_LIGHT_SCREEN)) { + if ((target->info->protectionStatus == STATUS_REFLECT) || (target->info->protectionStatus == STATUS_LIGHT_SCREEN)) { sub_80522F4(pokemon,target,*gUnknown_80FD104); SendProtectionEndMessage(pokemon,target); flag = TRUE; @@ -997,7 +997,7 @@ bool8 sub_80585CC(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_8058638(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058638(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag; @@ -1012,7 +1012,7 @@ bool8 sub_8058638(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_805867C(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove * move, u32 param_4) +bool8 sub_805867C(struct Entity * pokemon, struct Entity * target, struct Move * move, u32 param_4) { bool8 flag; @@ -1021,26 +1021,26 @@ bool8 sub_805867C(struct DungeonEntity * pokemon, struct DungeonEntity * target, sub_8079764(pokemon); } else { - sub_8079618(pokemon,pokemon,CHARGING_STATUS_FOCUS_PUNCH,move,*gUnknown_80FACA4); + sub_8079618(pokemon,pokemon,STATUS_FOCUS_PUNCH,move,*gUnknown_80FACA4); flag = TRUE; } return flag; } -bool8 sub_80586DC(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove * move, u32 param_4) +bool8 sub_80586DC(struct Entity * pokemon, struct Entity * target, struct Move * move, u32 param_4) { bool8 hasLiquidOoze; s32 uVar3; s32 newHP; bool8 flag; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; hasLiquidOoze = HasAbility(target, ABILITY_LIQUID_OOZE); uVar3 = sub_8055640(pokemon,target,move,0x100,param_4); flag = uVar3 != 0 ? TRUE : FALSE; if (flag && sub_8057308(pokemon, 0)) { newHP = uVar3 / 2; - entityData = pokemon->entityData; + entityData = pokemon->info; flag = TRUE; if (newHP < 1) { newHP = 1; @@ -1060,7 +1060,7 @@ bool8 sub_80586DC(struct DungeonEntity * pokemon, struct DungeonEntity * target, // NOTE: copy of sub_805AFA4 in status_checker.c except for different reg for entityData -bool8 sub_8058770(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove * move, u32 param_4) +bool8 sub_8058770(struct Entity * pokemon, struct Entity * target, struct Move * move, u32 param_4) { s32 r0; s32 r2; @@ -1068,13 +1068,13 @@ bool8 sub_8058770(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 flag; #ifndef NONMATCHING - register struct DungeonEntityData *entityData asm("r2"); + register struct EntityInfo *entityData asm("r2"); #else - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; #endif - entityData = pokemon->entityData; - r2 = entityData->maxHP; + entityData = pokemon->info; + r2 = entityData->maxHPStat; r0 = r2; if (r2 < 0) { r0 = r2 + 3; @@ -1099,11 +1099,11 @@ bool8 sub_8058770(struct DungeonEntity * pokemon, struct DungeonEntity * target, return flag; } -bool8 sub_80587E8(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove * move, u32 param_4) +bool8 sub_80587E8(struct Entity * pokemon, struct Entity * target, struct Move * move, u32 param_4) { bool8 flag; - if (target->entityData->nonVolatileStatus == NON_VOLATILE_STATUS_PARALYZED) { + if (target->info->nonVolatileStatus == STATUS_PARALYSIS) { flag = sub_8055640(pokemon,target,move,0x80 << 2,param_4) ? TRUE : FALSE; SendNonVolatileEndMessage(pokemon, target); } @@ -1113,13 +1113,13 @@ bool8 sub_80587E8(struct DungeonEntity * pokemon, struct DungeonEntity * target, return flag; } -bool8 sub_8058838(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058838(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { LowerDefenseStageTarget(pokemon, target, gUnknown_8106A50, 3, 1, TRUE); return TRUE; } -bool8 sub_8058858(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058858(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { s32 index = gUnknown_8106A4C; LowerAttackStageTarget(pokemon, target, index, 1, 1, TRUE); @@ -1127,19 +1127,19 @@ bool8 sub_8058858(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return TRUE; } -bool8 sub_805889C(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_805889C(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { ImmobilizedStatusTarget(pokemon, target); return TRUE; } -bool8 sub_80588A8(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_80588A8(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { sub_8079E34(pokemon, target, TRUE); return TRUE; } -bool8 sub_80588B8(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_80588B8(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag = FALSE; if(sub_8055640(pokemon, target, move, 0x80 << 1, param_4) != 0) @@ -1153,20 +1153,20 @@ bool8 sub_80588B8(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_80588F4(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_80588F4(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag; - struct DungeonEntityData *entityData = target->entityData; + struct EntityInfo *entityData = target->info; - flag = sub_8055640(pokemon, target, move, GetLowKickDmg(entityData->transformSpecies), param_4) != 0 ? TRUE: FALSE; + flag = sub_8055640(pokemon, target, move, GetWeight(entityData->apparentID), param_4) != 0 ? TRUE: FALSE; return flag; } -bool8 sub_8058930(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058930(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag = FALSE; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; s32 index1; s32 index2; if(sub_8055640(pokemon, target, move, 0x80 << 1, param_4) != 0) @@ -1174,7 +1174,7 @@ bool8 sub_8058930(struct DungeonEntity *pokemon, struct DungeonEntity *target, s flag = TRUE; if(sub_8057308(pokemon, gUnknown_80F4DD6)) { - entityData = pokemon->entityData; + entityData = pokemon->info; RaiseMovementSpeedTarget(pokemon, pokemon, 0, TRUE); index1 = gUnknown_8106A4C; RaiseAttackStageTarget(pokemon, pokemon, index1, 1); @@ -1191,19 +1191,19 @@ bool8 sub_8058930(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_80589D4(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_80589D4(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { - HealTargetHP(pokemon, target, gUnknown_80F500A[GetWeather(pokemon)], 0, TRUE); + HealTargetHP(pokemon, target, gUnknown_80F500A[GetApparentWeather(pokemon)], 0, TRUE); return TRUE; } -bool8 sub_8058A08(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058A08(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { RaiseMovementSpeedTarget(pokemon, target, 0, TRUE); return TRUE; } -bool8 sub_8058A18(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058A18(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag = FALSE; if(sub_8055640(pokemon, target, move, 0x80 << 1, param_4) != 0) @@ -1217,20 +1217,20 @@ bool8 sub_8058A18(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_8058A54(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058A54(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { SureShotStatusTarget(pokemon, target, CalculateStatusTurns(target, gUnknown_80F4EB8, FALSE)); return TRUE; } -bool8 sub_8058A7C(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058A7C(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { RaiseDefenseStageTarget(pokemon, target, gUnknown_8106A4C, 1); RaiseDefenseStageTarget(pokemon, target, gUnknown_8106A50, 1); return TRUE; } -bool8 SkyAttackMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 SkyAttackMoveAction(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag = FALSE; @@ -1244,13 +1244,13 @@ bool8 SkyAttackMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *t sub_8079764(pokemon); } else { - sub_8079618(pokemon, pokemon, CHARGING_STATUS_SKY_ATTACK, move, *gUnknown_80FACC4); + sub_8079618(pokemon, pokemon, STATUS_SKY_ATTACK, move, *gUnknown_80FACC4); flag = TRUE; } return flag; } -bool8 sub_8058B3C(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058B3C(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag; @@ -1265,17 +1265,17 @@ bool8 sub_8058B3C(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_8058B84(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058B84(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; flag = FALSE; if (sub_8055640(pokemon,target,move,0x100,param_4) != 0) { flag = TRUE; if(sub_805727C(pokemon, pokemon, gUnknown_80F4DD0)) { - entityData = pokemon->entityData; + entityData = pokemon->info; RaiseAttackStageTarget(pokemon, pokemon, gUnknown_8106A4C, 1); if(entityData->unkFB == 0) entityData->unkFB = 1; @@ -1284,19 +1284,19 @@ bool8 sub_8058B84(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 EndureMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 EndureMoveAction(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { EndureStatusTarget(pokemon, pokemon); return TRUE; } -bool8 sub_8058BF0(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058BF0(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { LowerMovementSpeedTarget(pokemon, target, 1, TRUE); return TRUE; } -bool8 sub_8058C00(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058C00(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag; @@ -1311,14 +1311,14 @@ bool8 sub_8058C00(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_8058C48(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058C48(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { s32 rand; s32 iVar2; bool8 flag; - rand = DungeonRandomRange(128, 384); // 0x80 - 0x180 - iVar2 = rand * pokemon->entityData->level; + rand = DungeonRandRange(128, 384); // 0x80 - 0x180 + iVar2 = rand * pokemon->info->level; if (iVar2 < 0) { iVar2 = iVar2 + 0xFF; @@ -1334,7 +1334,7 @@ bool8 sub_8058C48(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_8058C98(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4, u32 param_5) +bool8 sub_8058C98(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4, u32 param_5) { bool8 flag; @@ -1349,7 +1349,7 @@ bool8 sub_8058C98(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_8058CEC(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058CEC(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag = FALSE; if(sub_8055640(pokemon, target, move, 0x80 << 1, param_4) != 0) @@ -1363,7 +1363,7 @@ bool8 sub_8058CEC(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_8058D38(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058D38(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { SleeplessStatusTarget(pokemon, target); return TRUE; @@ -1371,7 +1371,7 @@ bool8 sub_8058D38(struct DungeonEntity *pokemon, struct DungeonEntity *target, s // NOTE: same as sub_8058770 -bool8 sub_8058D44(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove * move, u32 param_4) +bool8 sub_8058D44(struct Entity * pokemon, struct Entity * target, struct Move * move, u32 param_4) { s32 r0; s32 r2; @@ -1379,13 +1379,13 @@ bool8 sub_8058D44(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 flag; #ifndef NONMATCHING - register struct DungeonEntityData *entityData asm("r2"); + register struct EntityInfo *entityData asm("r2"); #else - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; #endif - entityData = pokemon->entityData; - r2 = entityData->maxHP; + entityData = pokemon->info; + r2 = entityData->maxHPStat; r0 = r2; if (r2 < 0) { r0 = r2 + 3; @@ -1411,23 +1411,23 @@ bool8 sub_8058D44(struct DungeonEntity * pokemon, struct DungeonEntity * target, } -bool8 PsychUpMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove * move, u32 param_4) +bool8 PsychUpMoveAction(struct Entity * pokemon, struct Entity * target, struct Move * move, u32 param_4) { s32 index; - struct DungeonEntityData *iVar3; - struct DungeonEntityData *iVar4; + struct EntityInfo *iVar3; + struct EntityInfo *iVar4; - iVar4 = pokemon->entityData; - iVar3 = target->entityData; + iVar4 = pokemon->info; + iVar3 = target->info; nullsub_92(target); for(index = 0; index < 2; index++) { - iVar4->attackStages[index] = iVar3->attackStages[index]; - iVar4->defenseStages[index] = iVar3->defenseStages[index]; - iVar4->accuracyStages[index] = iVar3->accuracyStages[index]; - iVar4->attackMultipliers[index] = iVar3->attackMultipliers[index]; - iVar4->defenseMultipliers[index] = iVar3->defenseMultipliers[index]; + iVar4->offensiveStages[index] = iVar3->offensiveStages[index]; + iVar4->defensiveStages[index] = iVar3->defensiveStages[index]; + iVar4->hitChancesStages[index] = iVar3->hitChancesStages[index]; + iVar4->offensiveMultipliers[index] = iVar3->offensiveMultipliers[index]; + iVar4->defensiveMultipliers[index] = iVar3->defensiveMultipliers[index]; } SetMessageArgument(gAvailablePokemonNames,target,0); sub_80522F4(pokemon,target,*gUnknown_80FBD58); // It psyched itself up! @@ -1437,7 +1437,7 @@ bool8 PsychUpMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * t return TRUE; } -bool8 sub_8058E5C(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4) +bool8 sub_8058E5C(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4) { int iVar2; int iVar3; @@ -1445,7 +1445,7 @@ bool8 sub_8058E5C(struct DungeonEntity *pokemon, struct DungeonEntity *target, s flag = FALSE; if ((sub_8055640(pokemon, target, move, 0x80 << 1, param_4) != 0) && (EntityExists(pokemon))) { - iVar2 = pokemon->entityData->maxHP; + iVar2 = pokemon->info->maxHPStat; if (iVar2 < 0) { iVar2 = iVar2 + 7; } @@ -1461,23 +1461,23 @@ bool8 sub_8058E5C(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_8058EE0(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058EE0(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { - HealTargetHP(pokemon, target, target->entityData->maxHP / 2, 0, TRUE); + HealTargetHP(pokemon, target, target->info->maxHPStat / 2, 0, TRUE); return TRUE; } -bool32 sub_8058F04(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4) +bool32 sub_8058F04(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4) { bool32 flag; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; s32 iVar3; - entityData = target->entityData; + entityData = target->info; iVar3 = 1; - gDungeonGlobalData->unk18200 = 0xc; - gDungeonGlobalData->unk18204 = 0; - if (entityData->chargingStatus == CHARGING_STATUS_DIG) { + gDungeon->unk18200 = 0xc; + gDungeon->unk18204 = 0; + if (entityData->chargingStatus == STATUS_DIGGING) { iVar3 = 2; } flag = sub_8055640(pokemon,target,move,iVar3 << 8,param_4); @@ -1487,13 +1487,13 @@ bool32 sub_8058F04(struct DungeonEntity *pokemon, struct DungeonEntity *target, return flag; } -bool8 NaturePowerMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4) +bool8 NaturePowerMoveAction(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4) { bool8 flag; s32 tileset; - struct PokemonMove natureMove; + struct Move natureMove; - tileset = gDungeonGlobalData->tileset; + tileset = gDungeon->tileset; if (tileset < 0) { tileset = 0; } @@ -1505,7 +1505,7 @@ bool8 NaturePowerMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity return flag; } -bool8 sub_8058FBC(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8058FBC(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag; @@ -1520,25 +1520,25 @@ bool8 sub_8058FBC(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_8059004(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8059004(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { - sub_807DF38(pokemon, target, &target->posWorld, 1, GetMoveType(move), sub_8057600(move, param_4)); + sub_807DF38(pokemon, target, &target->pos, 1, GetMoveType(move), sub_8057600(move, param_4)); return TRUE; } -bool8 sub_8059050(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8059050(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { ParalyzeStatusTarget(pokemon, target, TRUE); return TRUE; } -bool8 sub_8059060(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8059060(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { - sub_8079618(pokemon, target, CHARGING_STATUS_CHARGE, move, *gUnknown_80FAD6C); + sub_8079618(pokemon, target, STATUS_CHARGING, move, *gUnknown_80FAD6C); return TRUE; } -bool8 sub_8059080(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8059080(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag; @@ -1553,13 +1553,13 @@ bool8 sub_8059080(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 MistMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 MistMoveAction(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { MistStatusTarget(pokemon, target); return TRUE; } -bool8 sub_80590D4(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4) +bool8 sub_80590D4(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4) { u8 moveType; bool8 uVar5; @@ -1583,7 +1583,7 @@ bool8 sub_80590D4(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_8059190(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_8059190(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { bool8 flag; @@ -1598,19 +1598,19 @@ bool8 sub_8059190(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 SafeguardMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 SafeguardMoveAction(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { SafeguardStatusTarget(pokemon, target); return TRUE; } -bool8 sub_80591E4(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4) +bool8 sub_80591E4(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4) { bool8 hasLiquidOoze; s32 iVar3; s32 iVar4; bool8 flag; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; flag = FALSE; hasLiquidOoze = HasAbility(target, ABILITY_LIQUID_OOZE); @@ -1621,7 +1621,7 @@ bool8 sub_80591E4(struct DungeonEntity *pokemon, struct DungeonEntity *target, s iVar4 = 1; } if (EntityExists(pokemon)) { - entityData = pokemon->entityData; + entityData = pokemon->info; flag = TRUE; if (entityData->unkFB == 0) { entityData->unkFB = 1; @@ -1639,18 +1639,18 @@ bool8 sub_80591E4(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 SkillSwapMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4) +bool8 SkillSwapMoveAction(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4) { u8 ability_1; u8 ability_2; bool8 flag; u8 *puVar5; u8 *puVar6; - struct DungeonEntityData * targetEntityData; - struct DungeonEntityData * pokeEntityData; + struct EntityInfo * targetEntityData; + struct EntityInfo * pokeEntityData; - pokeEntityData = pokemon->entityData; - targetEntityData = target->entityData; + pokeEntityData = pokemon->info; + targetEntityData = target->info; if ((HasAbility(target, ABILITY_WONDER_GUARD)) || (HasAbility(pokemon, ABILITY_WONDER_GUARD))) { sub_80522F4(pokemon,target,*gUnknown_80FC8C0); flag = FALSE; @@ -1665,7 +1665,7 @@ bool8 SkillSwapMoveAction(struct DungeonEntity *pokemon, struct DungeonEntity *t *puVar6 = pokeEntityData ->abilities[1]; pokeEntityData->abilities[0] = ability_1; pokeEntityData->abilities[1] = ability_2; - gDungeonGlobalData->unkC = 1; + gDungeon->unkC = 1; sub_80522F4(pokemon,target,*gUnknown_80FC888); if (pokeEntityData->unkFB == 0) { pokeEntityData->unkFB = 1; diff --git a/src/code_8057824_1.c b/src/code_8057824_1.c index 2c78a1389..3cbc3f7f0 100644 --- a/src/code_8057824_1.c +++ b/src/code_8057824_1.c @@ -311,51 +311,51 @@ extern u8 gUnknown_81074FC[]; extern u8 sub_800E9A8(u32); extern void sub_800DC14(u32); -extern void sub_8086A3C(struct DungeonEntity *r0); +extern void sub_8086A3C(struct Entity *r0); extern void sub_80854D4(void); extern void sub_80855E4(void *); -extern void sub_8068FE0(struct DungeonEntity *, u32, u32); +extern void sub_8068FE0(struct Entity *, u32, u32); extern void sub_803E708(u32, u32); extern void sub_8086448(void); extern void sub_8086598(void); -extern void SpriteLookAroundEffect(struct DungeonEntity *); -extern void SpriteShockEffect(struct DungeonEntity *); +extern void SpriteLookAroundEffect(struct Entity *); +extern void SpriteShockEffect(struct Entity *); extern void PlaySoundEffect(u32); -extern void sub_806CDD4(struct DungeonEntity *, u32, u32); -extern void sub_80869E4(struct DungeonEntity *, u32, u32, u32); -extern void sub_806CE68(struct DungeonEntity *, u32); -extern void sub_804539C(struct DungeonEntity *, u32, u32); -extern void sub_8042B0C(struct DungeonEntity *); +extern void sub_806CDD4(struct Entity *, u32, u32); +extern void sub_80869E4(struct Entity *, u32, u32, u32); +extern void sub_806CE68(struct Entity *, u32); +extern void sub_804539C(struct Entity *, u32, u32); +extern void sub_8042B0C(struct Entity *); extern void DisplayDungeonDialogue(u32 *); extern void sub_803E708(u32, u32); extern u8 HasRecruitedMon(u32); -extern u8 sub_806FD18(struct DungeonEntity *); -extern void sub_80861D4(struct DungeonEntity *, u32, s32 direction); -extern void sub_806FDF4(struct DungeonEntity *, struct DungeonEntity *, struct DungeonEntity **); -extern u32 sub_80861F8(u32, struct DungeonEntity *, u32); +extern u8 sub_806FD18(struct Entity *); +extern void sub_80861D4(struct Entity *, u32, s32 direction); +extern void sub_806FDF4(struct Entity *, struct Entity *, struct Entity **); +extern u32 sub_80861F8(u32, struct Entity *, u32); extern s32 GetCameraXPos(); extern s32 GetCameraYPos(); extern void sub_803F878(u32, s32); -extern void SetupBossFightHP(struct DungeonEntity *, u32, u32); +extern void SetupBossFightHP(struct Entity *, u32, u32); extern void sub_803E9D0(void); extern void DeoxysScreenFlash(void); extern void sub_8085EB0(); extern void sub_808563C(void *); -void SetupDeoxysFightHP(struct DungeonEntity *r0); +void SetupDeoxysFightHP(struct Entity *r0); void sub_808C550(void); -void sub_808C590(struct DungeonEntity *r0); -void SetupDeoxysFacingDirection(struct DungeonEntity *r0); +void sub_808C590(struct Entity *r0); +void SetupDeoxysFacingDirection(struct Entity *r0); void sub_808C9B0(); -void sub_808C8E0(struct DungeonEntity *param_1); +void sub_808C8E0(struct Entity *param_1); void sub_808C360(void); void KyogreScreenFlash(); void sub_808C0CC(); void LugiaScreenFlash(); void LugiaScreenFlash2(); -extern void sub_80861B8(struct DungeonEntity *, u32, u32); +extern void sub_80861B8(struct Entity *, u32, u32); void nullsub_99(); extern bool8 *gFriendAreas; @@ -364,42 +364,42 @@ extern void sub_8049884(); extern void sub_8049B8C(); extern void sub_8049ED4(); extern void sub_8040A84(); -extern void sub_8086A54(struct DungeonEntity *); +extern void sub_8086A54(struct Entity *); -extern void sub_806BFC0(struct DungeonEntityData *, u32); +extern void sub_806BFC0(struct EntityInfo *, u32); -extern struct DungeonEntity *xxx_call_GetLeaderEntity(void); -extern void sub_808BBA8(struct DungeonEntity * ); +extern struct Entity *xxx_call_GetLeader(void); +extern void sub_808BBA8(struct Entity * ); extern void sub_80855E4(void *); extern void sub_8041888(u32); -extern void sub_80861B8(struct DungeonEntity *, u32, u32); +extern void sub_80861B8(struct Entity *, u32, u32); extern void sub_803E708(u32, u32); extern void DisplayDungeonDialogue(u32 *r0); -extern void SpriteShockEffect(struct DungeonEntity *); -extern u32 sub_80861F8(u32, struct DungeonEntity *, u32); +extern void SpriteShockEffect(struct Entity *); +extern u32 sub_80861F8(u32, struct Entity *, u32); extern void sub_8097FA8(u32); extern void JirachiWish(); -extern void JirachiSpinEffect(struct DungeonEntity *); -extern void JirachiWishGrantDialogue(struct DungeonEntity *jirachiEntity); +extern void JirachiSpinEffect(struct Entity *); +extern void JirachiWishGrantDialogue(struct Entity *jirachiEntity); extern void JirachiWishGrantFlash(); -extern void JirachiDropInEffect(struct DungeonEntity *param_1); +extern void JirachiDropInEffect(struct Entity *param_1); extern u8 JirachiFriendAreaSearch(void); extern u8 sub_80860A8(u32); extern void sub_8049ED4(); extern void sub_8092578(u8 *buffer, u8 index, u8 r2); -extern void sub_8052D44(u8 *, struct DungeonEntity *, struct DungeonEntity *); +extern void sub_8052D44(u8 *, struct Entity *, struct Entity *); extern void sub_8097FD0(u32); -extern void SetMessageArgument(u8 *, struct DungeonEntity *, u32); -extern struct DungeonEntity *GetLeaderEntity(); -extern void sub_80421C0(struct DungeonEntity *, u32); +extern void SetMessageArgument(u8 *, struct Entity *, u32); +extern struct Entity *GetLeader(); +extern void sub_80421C0(struct Entity *, u32); extern void sub_8046D20(); extern void sub_808B1CC(u8); -extern void sub_80464C8(struct DungeonEntity *, u32 *, struct ItemSlot *); +extern void sub_80464C8(struct Entity *, u32 *, struct Item *); extern void sub_8098044(u32); extern void SetDungeonBGColorRGB(u32, u32, u32, u32, u32); extern void sub_803E46C(u32); @@ -423,21 +423,21 @@ extern void sub_8086794(); void EnteiScreenFlash(void); void RaikouScreenFlash(void); -void sub_808A528(struct DungeonEntity * param_1); +void sub_808A528(struct Entity * param_1); void SuicuneScreenFlash(); -void HoOhDropInEffect(struct DungeonEntity * param_1); +void HoOhDropInEffect(struct Entity * param_1); void HoOhScreenFlash(void); void LatiosScreenFlash(void); -void SetupRegiFacingDirection(struct DungeonEntity *r0); -void SetupRegirockFightHP(struct DungeonEntity *r0); -void SetupRegiceFightHP(struct DungeonEntity *r0); -void SetupRegisteelFightHP(struct DungeonEntity *r0); +void SetupRegiFacingDirection(struct Entity *r0); +void SetupRegirockFightHP(struct Entity *r0); +void SetupRegiceFightHP(struct Entity *r0); +void SetupRegisteelFightHP(struct Entity *r0); void sub_808B50C(void); -void MewtwoDropInEffect(struct DungeonEntity *param_1); +void MewtwoDropInEffect(struct Entity *param_1); void MewtwoScreenFlash(void); -void sub_80898F8(struct DungeonEntity *r0); -void sub_8089908(struct DungeonEntity *r0); -void RayquazaDropInEffect(struct DungeonEntity *param_1); +void sub_80898F8(struct Entity *r0); +void sub_8089908(struct Entity *r0); +void RayquazaDropInEffect(struct Entity *param_1); void RayquazaScreenFlash(void); void sub_80891F0(void); void sub_8089294(void); @@ -446,28 +446,28 @@ void GroudonScreenFlash2(void); extern u8 sub_8086AE4(u32); -extern void sub_8072008(struct DungeonEntity *, struct DungeonEntity *, s16, u32, u32); -extern struct DungeonEntity *GetPartnerEntity(); -extern void sub_80869E4(struct DungeonEntity *, u32, u32, u32); -extern void sub_804539C(struct DungeonEntity *, u32, u32); -extern void sub_806CDD4(struct DungeonEntity *, u32, u32); +extern void sub_8072008(struct Entity *, struct Entity *, s16, u32, u32); +extern struct Entity *GetPartnerEntity(); +extern void sub_80869E4(struct Entity *, u32, u32, u32); +extern void sub_804539C(struct Entity *, u32, u32); +extern void sub_806CDD4(struct Entity *, u32, u32); extern void sub_8085374(); extern void sub_8086848(u32 ,u32); -extern void sub_80856C8(struct DungeonEntity *, s32, s32); +extern void sub_80856C8(struct Entity *, s32, s32); extern void sub_8086738(); -extern void sub_8086A54(struct DungeonEntity *); +extern void sub_8086A54(struct Entity *); extern void sub_8086764(); extern void sub_803F878(u32,s32); -void SceneGroudonMovement(struct DungeonEntity * param_1); +void SceneGroudonMovement(struct Entity * param_1); void GroudonScreenFlash(void); void ArticunoScreenFlash(void); -void sub_8088484(struct DungeonEntity *param_1); +void sub_8088484(struct Entity *param_1); void sub_8088574(void); -void MoltresDropInEffect(struct DungeonEntity * param_1); +void MoltresDropInEffect(struct Entity * param_1); void MoltresScreenFlash1(s32 r0, s32 r1); void MoltresScreenFlash2(s32 r0, s32 r1); void MoltresScreenFlash3(void); @@ -481,23 +481,23 @@ extern void sub_8086500(void); extern void sub_8086690(void); void MoltresScreenDarken(void); extern void sub_808663C(void); -void ZapdosDropInEffect(struct DungeonEntity *param_1); +void ZapdosDropInEffect(struct Entity *param_1); void ZapdosScreenFlash(int param_1); extern s32 sub_8052C68(u32, u8 *, u32 *, u32); extern void sub_80861A8(void); -extern void sub_8045C28(struct ItemSlot *, u8 , u8 *); +extern void sub_8045C28(struct Item *, u8 , u8 *); extern void sub_808BD38(void); extern void sub_808BB3C(s16 *); -extern void sub_8046860(struct DungeonEntity *, s32 *, struct ItemSlot *, u32); +extern void sub_8046860(struct Entity *, s32 *, struct Item *, u32); extern u32 sub_803D73C(u32); void ZapdosReFightDialogue(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *ZapdosEntity; + struct Entity *LeaderEntity; + struct Entity *ZapdosEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); ZapdosEntity = GetEntityFromClientType(8); sub_8086448(); sub_803E708(10,0x46); @@ -514,18 +514,18 @@ void ZapdosReFightDialogue(void) ZapdosScreenFlash(2); DisplayDungeonDialogue(&gZapdosReFightDialogue_4); SetupBossFightHP(ZapdosEntity,300,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void ZapdosPostStoryPreFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * ZapdosEntity; + struct Entity * LeaderEntity; + struct Entity * ZapdosEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); ZapdosEntity = GetEntityFromClientType(8); sub_8086448(); - if (sub_8086AE4(SPECIES_ZAPDOS)) { + if (sub_8086AE4(MONSTER_ZAPDOS)) { sub_80866C4(&gZapdosPostStoryPreFightDialogue_6); } else { @@ -542,22 +542,22 @@ void ZapdosPostStoryPreFightDialogue(void) DisplayDungeonDialogue(&gZapdosPostStoryPreFightDialogue_5); sub_803E708(10,0x46); SetupBossFightHP(ZapdosEntity,300,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } } -void ZapdosDropInEffect(struct DungeonEntity *zapdosEntity) +void ZapdosDropInEffect(struct Entity *zapdosEntity) { int iVar1; - zapdosEntity->entityData->unk15C = 1; - zapdosEntity->entityData->unk15E = 0; - zapdosEntity->entityData->unk174 = 200; + zapdosEntity->info->unk15C = 1; + zapdosEntity->info->unk15E = 0; + zapdosEntity->info->unk174 = 200; PlaySoundEffect(0x1ea); for(iVar1 = 200; iVar1 >= 0; iVar1 -= 5) { - zapdosEntity->entityData->unk174 = iVar1 * 256; + zapdosEntity->info->unk174 = iVar1 * 256; sub_803E46C(0x46); } sub_803E708(0x1e,0x46); @@ -599,10 +599,10 @@ void ZapdosScreenFlash(s32 param_1) void sub_80877E8(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * MoltresEntity; + struct Entity * LeaderEntity; + struct Entity * MoltresEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); MoltresEntity = GetEntityFromClientType(9); DungeonStartNewBGM(MUS_THE_MOUNTAIN_OF_FIRE); sub_8085374(); @@ -611,25 +611,25 @@ void sub_80877E8(void) sub_80855E4(sub_8086A3C); SetFacingDirection(MoltresEntity, DIRECTION_SOUTH); sub_8086A3C(MoltresEntity); - sub_8085860(LeaderEntity->posWorld.x + -3,LeaderEntity->posWorld.y + -2); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_MOLTRES); + sub_8085860(LeaderEntity->pos.x + -3,LeaderEntity->pos.y + -2); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_MOLTRES); } void sub_8087848(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *MoltresEntity; + struct Entity *LeaderEntity; + struct Entity *MoltresEntity; u32 XPos; s32 YPos; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); MoltresEntity = GetEntityFromClientType(9); DungeonStartNewBGM(MUS_THE_MOUNTAIN_OF_FIRE); sub_80854D4(); sub_8085930(DIRECTION_WEST); sub_80855E4(sub_8086A3C); - if (sub_8086AE4(SPECIES_MOLTRES)) { + if (sub_8086AE4(MONSTER_MOLTRES)) { sub_8068FE0(MoltresEntity,0x21c,0); } else { @@ -637,11 +637,11 @@ void sub_8087848(void) SetFacingDirection(MoltresEntity, DIRECTION_SOUTH); sub_8086A3C(MoltresEntity); } - sub_8085860(LeaderEntity->posWorld.x - 5, LeaderEntity->posWorld.y); + sub_8085860(LeaderEntity->pos.x - 5, LeaderEntity->pos.y); XPos = GetCameraXPos(); YPos = GetCameraYPos(); sub_803F878(XPos, YPos + -0x1000); - CopySpeciesNametoBuffer(gUnknown_202E038,SPECIES_MOLTRES); + CopyMonsterNametoBuffer(gUnknown_202E038,MONSTER_MOLTRES); } @@ -650,17 +650,17 @@ void sub_80878F4(char param_1, s32 param_2) { if ((((param_2 * 0x1000000) + 0xF6000000U) >> 0x18 < 3) && (param_1 == 0x9)) { sub_8097FA8(0x7); - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } } void MoltresPreFightDialogue(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *PartnerEntity; - struct DungeonEntity *MoltresEntity; + struct Entity *LeaderEntity; + struct Entity *PartnerEntity; + struct Entity *MoltresEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); PartnerEntity = GetPartnerEntity(); MoltresEntity = GetEntityFromClientType(9); MoltresScreenFlash1(0xc,5); @@ -720,17 +720,17 @@ void MoltresPreFightDialogue(void) DisplayDungeonDialogue(&gMoltresPreFightDialogue_12); sub_803E708(10,0x46); SetupBossFightHP(MoltresEntity,400,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void MoltresReFightDialogue(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *PartnerEntity; - struct DungeonEntity *MoltresEntity; + struct Entity *LeaderEntity; + struct Entity *PartnerEntity; + struct Entity *MoltresEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); PartnerEntity = GetPartnerEntity(); MoltresEntity = GetEntityFromClientType(9); MoltresScreenFlash1(10,5); @@ -763,19 +763,19 @@ void MoltresReFightDialogue(void) DisplayDungeonDialogue(&gMoltresReFightDialogue_5); sub_803E708(10,0x46); SetupBossFightHP(MoltresEntity,400,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void MoltresPostStoryPreFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * MoltresEntity; + struct Entity * LeaderEntity; + struct Entity * MoltresEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); MoltresEntity = GetEntityFromClientType(9); MoltresScreenFlash1(0xc,5); sub_808654C(); - if (sub_8086AE4(SPECIES_MOLTRES)) { + if (sub_8086AE4(MONSTER_MOLTRES)) { sub_8085930(DIRECTION_NORTHWEST); sub_803E708(4,0x46); sub_8085930(DIRECTION_NORTH); @@ -783,7 +783,7 @@ void MoltresPostStoryPreFightDialogue(void) sub_803E708(10,0x46); DisplayDungeonDialogue(&gUnknown_8100D3C); sub_803E708(10,0x46); - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } else { DisplayDungeonDialogue(&gMoltresPostStoryPreFightDialogue_1); @@ -801,21 +801,21 @@ void MoltresPostStoryPreFightDialogue(void) DisplayDungeonDialogue(&gMoltresPostStoryPreFightDialogue_5); sub_803E708(10,0x46); SetupBossFightHP(MoltresEntity,400,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } } -void MoltresDropInEffect(struct DungeonEntity * moltresEntity) +void MoltresDropInEffect(struct Entity * moltresEntity) { s32 iVar1; - moltresEntity->entityData->unk15C = 1; - moltresEntity->entityData->unk15E = 0; - moltresEntity->entityData->unk174 = 0xc800; + moltresEntity->info->unk15C = 1; + moltresEntity->info->unk15E = 0; + moltresEntity->info->unk174 = 0xc800; PlaySoundEffect(0x1f8); for(iVar1 = 200; iVar1 >= 0; iVar1 -= 5) { - moltresEntity->entityData->unk174 = iVar1 * 256; + moltresEntity->info->unk174 = iVar1 * 256; sub_803E46C(0x46); } } @@ -1010,10 +1010,10 @@ void MoltresScreenDarken(void) void sub_8087F54(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *ArticunoEntity; + struct Entity *LeaderEntity; + struct Entity *ArticunoEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); ArticunoEntity = GetEntityFromClientType(0xd); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); sub_8085374(); @@ -1022,13 +1022,13 @@ void sub_8087F54(void) sub_80855E4(sub_8086A3C); SetFacingDirection(ArticunoEntity, DIRECTION_SOUTH); sub_8086A3C(ArticunoEntity); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y + -3); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_ARTICUNO); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y + -3); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_ARTICUNO); } void sub_8087FB4(void) { - struct DungeonEntity *ArticunoEntity; + struct Entity *ArticunoEntity; ArticunoEntity = GetEntityFromClientType(0xd); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); @@ -1037,21 +1037,21 @@ void sub_8087FB4(void) sub_8085930(DIRECTION_NORTH); SetFacingDirection(ArticunoEntity, DIRECTION_SOUTH); sub_806CDD4(ArticunoEntity, 0xF, DIRECTION_SOUTH); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_ARTICUNO); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_ARTICUNO); } void sub_8087FF8(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *ArticunoEntity; + struct Entity *LeaderEntity; + struct Entity *ArticunoEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); ArticunoEntity = GetEntityFromClientType(0xd); sub_8085374(); sub_80854D4(); sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); - if (sub_8086AE4(SPECIES_ARTICUNO)) { + if (sub_8086AE4(MONSTER_ARTICUNO)) { sub_8068FE0(ArticunoEntity,0x21c,0); } else { @@ -1059,8 +1059,8 @@ void sub_8087FF8(void) SetFacingDirection(ArticunoEntity, DIRECTION_SOUTH); sub_8086A3C(ArticunoEntity); } - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y + -3); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_ARTICUNO); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y + -3); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_ARTICUNO); } @@ -1069,17 +1069,17 @@ void sub_8088088(char param_1, s32 param_2) { if ((((param_2 * 0x1000000) + 0xF3000000U) >> 0x18 < 3) && (param_1 == 0xD)) { sub_8097FA8(0x9); - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } } void ArticunoPreFightDialogue(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *PartnerEntity; - struct DungeonEntity *ArticunoEntity; + struct Entity *LeaderEntity; + struct Entity *PartnerEntity; + struct Entity *ArticunoEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); PartnerEntity = GetPartnerEntity(); ArticunoEntity = GetEntityFromClientType(0xd); sub_8086448(); @@ -1123,7 +1123,7 @@ void ArticunoPreFightDialogue(void) DisplayDungeonDialogue(&gArticunoPreFightDialogue_7); sub_803E708(10,0x46); PlaySoundEffect(0); // snow flurry - gDungeonGlobalData->unkE265 = WEATHER_SNOW; + gDungeon->unkE265 = WEATHER_SNOW; sub_807EAA0(0,1); PlaySoundEffect(0x1ee); // flash effect? sub_8088574(); @@ -1148,17 +1148,17 @@ void ArticunoPreFightDialogue(void) sub_806CDD4(ArticunoEntity,0xf,DIRECTION_SOUTH); sub_803E708(0x10,0x46); SetupBossFightHP(ArticunoEntity,0x1c2,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void ArticunoReFightDialogue(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *ArticunoEntity; + struct Entity *LeaderEntity; + struct Entity *ArticunoEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); ArticunoEntity = GetEntityFromClientType(0xd); - gDungeonGlobalData->unkE265 = WEATHER_SNOW; + gDungeon->unkE265 = WEATHER_SNOW; sub_807EAA0(0,1); sub_803E708(10,0x46); DisplayDungeonDialogue(&gArticunoReFightDialogue_1); @@ -1170,22 +1170,22 @@ void ArticunoReFightDialogue(void) sub_806CDD4(ArticunoEntity,0xf,DIRECTION_SOUTH); sub_803E708(0x28,0x46); SetupBossFightHP(ArticunoEntity,0x1c2,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void ArticunoPostStoryPreFightDialogue(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *ArticunoEntity; + struct Entity *LeaderEntity; + struct Entity *ArticunoEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); ArticunoEntity = GetEntityFromClientType(0xd); sub_8086448(); - if (sub_8086AE4(SPECIES_ARTICUNO)) { + if (sub_8086AE4(MONSTER_ARTICUNO)) { sub_80866C4(&gUnknown_8102A9C); } else { - gDungeonGlobalData->unkE265 = WEATHER_SNOW; + gDungeon->unkE265 = WEATHER_SNOW; sub_807EAA0(0,1); ArticunoScreenFlash(); sub_8086738(); @@ -1206,20 +1206,20 @@ void ArticunoPostStoryPreFightDialogue(void) sub_806CDD4(ArticunoEntity,0xf,DIRECTION_SOUTH); sub_803E708(0x28,0x46); SetupBossFightHP(ArticunoEntity,0x1c2,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } } -void sub_8088484(struct DungeonEntity *param_1) +void sub_8088484(struct Entity *param_1) { int iVar1; - param_1->entityData->unk15C = 1; - param_1->entityData->unk15E = 0; + param_1->info->unk15C = 1; + param_1->info->unk15E = 0; PlaySoundEffect(0x1ea); for(iVar1 = 250; iVar1 >= 0; iVar1 -= 5) { - param_1->entityData->unk174 = iVar1 * 256; + param_1->info->unk174 = iVar1 * 256; SetDungeonBGColorRGB(iVar1,iVar1,iVar1 / 2,1,0); sub_803E46C(0x46); } @@ -1267,26 +1267,26 @@ void sub_80885A0(void) DungeonFadeOutBGM(0x3c); sub_803E708(0x3c,0x46); DungeonStopBGM(); - gDungeonGlobalData->unk7 = 1; + gDungeon->unk7 = 1; } void sub_80885C4(void) { - struct DungeonEntity * LeaderEntity; + struct Entity * LeaderEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); DungeonFadeOutBGM(0x3c); sub_803E708(0x3c,0x46); DungeonStopBGM(); sub_80854D4(); sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y - 3); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y - 3); } void sub_8088608(void) { - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } void sub_8088618(void) @@ -1300,11 +1300,11 @@ void sub_8088618(void) void sub_808862C(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * AlakazamEntity; - struct DungeonEntity * GroudonEntity; + struct Entity * LeaderEntity; + struct Entity * AlakazamEntity; + struct Entity * GroudonEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); AlakazamEntity = GetEntityFromClientType(10); GroudonEntity = GetEntityFromClientType(0xe); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); @@ -1317,21 +1317,21 @@ void sub_808862C(void) sub_80861D4(AlakazamEntity,0xd,4); SetFacingDirection(GroudonEntity, DIRECTION_SOUTH); sub_8086A3C(GroudonEntity); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y -3); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_GROUDON); - CopySpeciesNametoBuffer(gUnknown_202E038 + 0x50, SPECIES_ALAKAZAM); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y -3); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_GROUDON); + CopyMonsterNametoBuffer(gUnknown_202E038 + 0x50, MONSTER_ALAKAZAM); } void sub_80886C4(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * AlakazamEntity; - struct DungeonEntity * GroudonEntity; + struct Entity * LeaderEntity; + struct Entity * AlakazamEntity; + struct Entity * GroudonEntity; u32 XPos; s32 YPos; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); AlakazamEntity = GetEntityFromClientType(10); GroudonEntity = GetEntityFromClientType(0xe); PlaySoundEffect(0x3e5); @@ -1342,21 +1342,21 @@ void sub_80886C4(void) sub_8068FE0(AlakazamEntity,0x21c,0); SetFacingDirection(GroudonEntity, DIRECTION_SOUTH); sub_8086A3C(GroudonEntity); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y); XPos = GetCameraXPos(); YPos = GetCameraYPos(); sub_803F878(XPos,YPos + -0x1000); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_GROUDON); - CopySpeciesNametoBuffer(gUnknown_202E038 + 0x50, SPECIES_ALAKAZAM); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_GROUDON); + CopyMonsterNametoBuffer(gUnknown_202E038 + 0x50, MONSTER_ALAKAZAM); } void sub_808875C(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * AlakazamEntity; - struct DungeonEntity * GroudonEntity; + struct Entity * LeaderEntity; + struct Entity * AlakazamEntity; + struct Entity * GroudonEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); AlakazamEntity = GetEntityFromClientType(10); GroudonEntity = GetEntityFromClientType(0xe); sub_80867F4(); @@ -1364,7 +1364,7 @@ void sub_808875C(void) sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); sub_8068FE0(AlakazamEntity,0x21c,0); - if (sub_8086AE4(SPECIES_GROUDON)) { + if (sub_8086AE4(MONSTER_GROUDON)) { sub_8068FE0(GroudonEntity,0x21c,0); } else { @@ -1372,16 +1372,16 @@ void sub_808875C(void) SetFacingDirection(GroudonEntity, DIRECTION_SOUTH); sub_80861D4(GroudonEntity,0xf,0); } - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y - 3); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_GROUDON); - CopySpeciesNametoBuffer(gUnknown_202E038 + 0x50, SPECIES_ALAKAZAM); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y - 3); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_GROUDON); + CopyMonsterNametoBuffer(gUnknown_202E038 + 0x50, MONSTER_ALAKAZAM); } void sub_8088818(char param_1, s32 param_2) { if ((((param_2 * 0x1000000) + 0xEE000000U) >> 0x18 < 3) && (param_1 == 0xE)) { sub_8097FA8(0xC); - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } } @@ -1392,12 +1392,12 @@ void sub_8088848(void) void GroudonPreFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * PartnerEntity; - struct DungeonEntity * AlakazamEntity; - struct DungeonEntity * GroudonEntity; + struct Entity * LeaderEntity; + struct Entity * PartnerEntity; + struct Entity * AlakazamEntity; + struct Entity * GroudonEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); PartnerEntity = GetPartnerEntity(); AlakazamEntity = GetEntityFromClientType(10); GroudonEntity = GetEntityFromClientType(0xe); @@ -1469,15 +1469,15 @@ void GroudonPreFightDialogue(void) sub_8085930(DIRECTION_NORTH); sub_8086764(); SetupBossFightHP(GroudonEntity,500,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void GroudonReFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * GroudonEntity; + struct Entity * LeaderEntity; + struct Entity * GroudonEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); GroudonEntity = GetEntityFromClientType(0xe); sub_8086838(1,1,1); sub_808680C(); @@ -1501,18 +1501,18 @@ void GroudonReFightDialogue(void) sub_8085930(DIRECTION_NORTH); sub_8086764(); SetupBossFightHP(GroudonEntity,500,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void GroudonPostStoryPreFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * GroudonEntity; + struct Entity * LeaderEntity; + struct Entity * GroudonEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); GroudonEntity = GetEntityFromClientType(0xe); sub_8086448(); - if (sub_8086AE4(SPECIES_GROUDON)) { + if (sub_8086AE4(MONSTER_GROUDON)) { sub_80866C4(&gUnknown_8103488); } else{ @@ -1529,12 +1529,12 @@ void GroudonPostStoryPreFightDialogue(void) DisplayDungeonDialogue(&gGroudonPostStoryPreFightDialogue_4); sub_803E708(10,0x46); SetupBossFightHP(GroudonEntity,500,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } } // Moves Groudon down in a walking fashion -void SceneGroudonMovement(struct DungeonEntity * param_1) +void SceneGroudonMovement(struct Entity * param_1) { int iVar1; @@ -1552,7 +1552,7 @@ void SceneGroudonMovement(struct DungeonEntity * param_1) } sub_803E46C(0x46); } - sub_80856C8(param_1,param_1->posWorld.x,param_1->posWorld.y + 1); + sub_80856C8(param_1,param_1->pos.x,param_1->pos.y + 1); sub_80861D4(param_1,0xf,0); sub_803E708(10,0x46); sub_808682C(); @@ -1617,11 +1617,11 @@ void GroudonScreenFlash2(void) void sub_8088DC0(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * uVar2; - struct DungeonEntity * uVar3; + struct Entity * LeaderEntity; + struct Entity * uVar2; + struct Entity * uVar3; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); uVar2 = GetEntityFromClientType(0xb); uVar3 = GetEntityFromClientType(0xc); sub_80867F4(); @@ -1634,18 +1634,18 @@ void sub_8088DC0(void) sub_806CDD4(uVar2,0xe,DIRECTION_SOUTH); sub_8086A3C(uVar3); sub_806CDD4(uVar3,0xe,DIRECTION_SOUTH); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y - 3); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_GROUDON); - CopySpeciesNametoBuffer(gUnknown_202E038 + 0x50, SPECIES_ALAKAZAM); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y - 3); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_GROUDON); + CopyMonsterNametoBuffer(gUnknown_202E038 + 0x50, MONSTER_ALAKAZAM); } void sub_8088E5C(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * uVar2; - struct DungeonEntity * uVar3; + struct Entity * LeaderEntity; + struct Entity * uVar2; + struct Entity * uVar3; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); uVar2 = GetEntityFromClientType(0xb); uVar3 = GetEntityFromClientType(0xc); sub_80867F4(); @@ -1655,9 +1655,9 @@ void sub_8088E5C(void) sub_80855E4(sub_8086A3C); sub_8068FE0(uVar2,0x21c,0); sub_8068FE0(uVar3,0x21c,0); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y + -3); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_GROUDON); - CopySpeciesNametoBuffer(gUnknown_202E038 + 0x50, SPECIES_ALAKAZAM); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y + -3); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_GROUDON); + CopyMonsterNametoBuffer(gUnknown_202E038 + 0x50, MONSTER_ALAKAZAM); } void sub_8088EE8(void) @@ -1668,14 +1668,14 @@ void sub_8088EE8(void) void MagmaCavernMidDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * PartnerEntity; - struct DungeonEntity * iVar3; - struct DungeonEntity * iVar4; + struct Entity * LeaderEntity; + struct Entity * PartnerEntity; + struct Entity * iVar3; + struct Entity * iVar4; u8 auStack36 [4]; struct Position32 local_20; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); PartnerEntity = GetPartnerEntity(); iVar3 = GetEntityFromClientType(0xb); iVar4 = GetEntityFromClientType(0xc); @@ -1724,10 +1724,10 @@ void MagmaCavernMidDialogue(void) // Hey! {ARG_POKEMON_0}! // Over there! DisplayDungeonDialogue(&MagmaCavernMidDialogue_5); - iVar3->entityData->unk15E = 0; - iVar4->entityData->unk15E =0; - local_20.x = (iVar3->posPixel.x + iVar4->posPixel.x) / 2; - local_20.y = (iVar3->posPixel.y + iVar4->posPixel.y) / 2 + 0x800; + iVar3->info->unk15E = 0; + iVar4->info->unk15E =0; + local_20.x = (iVar3->pixelPos.x + iVar4->pixelPos.x) / 2; + local_20.y = (iVar3->pixelPos.y + iVar4->pixelPos.y) / 2 + 0x800; ShiftCameraToPosition(&local_20,0x20); sub_803E708(0x3c,0x46); sub_80891F0(); @@ -1784,37 +1784,37 @@ void MagmaCavernMidDialogue(void) // Be careful! DisplayDungeonDialogue(&MagmaCavernMidDialogue_15); sub_803E708(10,0x46); - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } void sub_8089168(void) { - struct DungeonEntity *LeaderEntity; + struct Entity *LeaderEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); sub_8086448(); sub_803E708(10,0x46); SpriteLookAroundEffect(LeaderEntity); sub_803E708(10,0x46); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } -void sub_808919C(struct DungeonEntity *r0) +void sub_808919C(struct Entity *r0) { sub_804539C(r0, 0, 0xfffffe00); } -void sub_80891B0(struct DungeonEntity *r0) +void sub_80891B0(struct Entity *r0) { sub_806CDD4(r0, 0, DIRECTION_NORTH); - r0->entityData->unk15F = 1; + r0->info->unk15F = 1; } -void sub_80891D0(struct DungeonEntity *r0) +void sub_80891D0(struct Entity *r0) { sub_806CDD4(r0, 7, DIRECTION_NORTH); - r0->entityData->unk15F = 0; + r0->info->unk15F = 0; } void sub_80891F0(void) @@ -1830,14 +1830,14 @@ void sub_80891F0(void) sub_80855E4(sub_80891D0); } -void sub_8089224(struct DungeonEntity * param_1) +void sub_8089224(struct Entity * param_1) { s32 iVar1; - if (param_1->posPixel.y < 0x9001) { + if (param_1->pixelPos.y < 0x9001) { return; } - iVar1 = param_1->posPixel.x; + iVar1 = param_1->pixelPos.x; if(iVar1 < 0xE400) { @@ -1887,10 +1887,10 @@ void sub_8089294(void) void sub_80892C8(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * RayquazaEntity; + struct Entity * LeaderEntity; + struct Entity * RayquazaEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); RayquazaEntity = GetEntityFromClientType(0xf); DungeonStartNewBGM(MUS_RAYQUAZAS_DOMAIN); sub_8085374(); @@ -1899,47 +1899,47 @@ void sub_80892C8(void) sub_80855E4(sub_8086A3C); SetFacingDirection(RayquazaEntity, DIRECTION_SOUTH); sub_8086A3C(RayquazaEntity); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y - 3); - CopySpeciesNametoBuffer(gUnknown_202E038,SPECIES_RAYQUAZA); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y - 3); + CopyMonsterNametoBuffer(gUnknown_202E038,MONSTER_RAYQUAZA); } void sub_8089328(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * RayquazaEntity; + struct Entity * LeaderEntity; + struct Entity * RayquazaEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); RayquazaEntity = GetEntityFromClientType(0xf); DungeonStartNewBGM(MUS_RAYQUAZAS_DOMAIN); sub_80854D4(); sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); - if (sub_8086AE4(SPECIES_RAYQUAZA)) { + if (sub_8086AE4(MONSTER_RAYQUAZA)) { sub_8068FE0(RayquazaEntity,0x21c,0); } else { sub_8072008(RayquazaEntity,RayquazaEntity,gUnknown_80F57CA,0,0); sub_8086A3C(RayquazaEntity); } - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y - 3); - CopySpeciesNametoBuffer(gUnknown_202E038,SPECIES_RAYQUAZA); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y - 3); + CopyMonsterNametoBuffer(gUnknown_202E038,MONSTER_RAYQUAZA); } void sub_80893B4(char param_1, s32 param_2) { if ((((param_2 * 0x1000000) + 0xE9000000U) >> 0x18 < 3) && (param_1 == 0xF)) { sub_8097FA8(0xF); - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } } void RayquazaPreFightDialogue(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *PartnerEntity; - struct DungeonEntity *RayquazaEntity; + struct Entity *LeaderEntity; + struct Entity *PartnerEntity; + struct Entity *RayquazaEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); PartnerEntity = GetPartnerEntity(); RayquazaEntity = GetEntityFromClientType(0xf); sub_8086448(); @@ -1971,15 +1971,15 @@ void RayquazaPreFightDialogue(void) RayquazaScreenFlash(); DisplayDungeonDialogue(&gRayquazaPreFightDialogue_11); SetupBossFightHP(RayquazaEntity,600,0x20); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void RayquazaReFightDialogue(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *RayquazaEntity; + struct Entity *LeaderEntity; + struct Entity *RayquazaEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); RayquazaEntity = GetEntityFromClientType(0xf); sub_8086448(); RayquazaScreenFlash(); @@ -1995,18 +1995,18 @@ void RayquazaReFightDialogue(void) RayquazaScreenFlash(); DisplayDungeonDialogue(&gRayquazaReFightDialogue_4); SetupBossFightHP(RayquazaEntity,600,0x20); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void RayquazaPostStoryPreFightDialogue(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *RayquazaEntity; + struct Entity *LeaderEntity; + struct Entity *RayquazaEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); RayquazaEntity = GetEntityFromClientType(0xf); sub_8086448(); - if (sub_8086AE4(SPECIES_RAYQUAZA)) { + if (sub_8086AE4(MONSTER_RAYQUAZA)) { sub_80866C4(&gRayquazaPostStoryPreFightDialogue_6); } else { @@ -2021,16 +2021,16 @@ void RayquazaPostStoryPreFightDialogue(void) RayquazaScreenFlash(); DisplayDungeonDialogue(&gRayquazaPostStoryPreFightDialogue_5); SetupBossFightHP(RayquazaEntity,600,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } } -void RayquazaDropInEffect(struct DungeonEntity *rayquazaEntity) +void RayquazaDropInEffect(struct Entity *rayquazaEntity) { s32 iVar1; s32 iVar2; - rayquazaEntity->entityData->unk15E = 0; + rayquazaEntity->info->unk15E = 0; iVar2 = 51200; iVar1 = 0x600; PlaySoundEffect(0x1f8); @@ -2041,10 +2041,10 @@ void RayquazaDropInEffect(struct DungeonEntity *rayquazaEntity) iVar1 = 0x14; } if (iVar2 < 0) break; - rayquazaEntity->entityData->unk174 = iVar2; + rayquazaEntity->info->unk174 = iVar2; sub_803E46C(0x46); } - rayquazaEntity->entityData->unk174 = 0; + rayquazaEntity->info->unk174 = 0; } void RayquazaScreenFlash(void) @@ -2076,32 +2076,32 @@ void RayquazaScreenFlash(void) void sub_808970C(void) { - struct DungeonEntity *LeaderEntity; + struct Entity *LeaderEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); DungeonStartNewBGM(MUS_TINY_WOODS); sub_80854D4(); sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); sub_808563C(sub_8089908); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y + -3); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y + -3); } void sub_808974C(void) { - struct DungeonEntity *LeaderEntity; + struct Entity *LeaderEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); sub_80854D4(); sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); sub_808563C(sub_80898F8); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y + -3); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y + -3); } -void sub_8089788(struct DungeonEntity *param_1, u8 param_2, s32 param_3) +void sub_8089788(struct Entity *param_1, u8 param_2, s32 param_3) { - struct DungeonEntity *iVar2; + struct Entity *iVar2; s32 iVar3; u32 unk1; @@ -2110,24 +2110,24 @@ void sub_8089788(struct DungeonEntity *param_1, u8 param_2, s32 param_3) if ((((param_3 * 0x1000000) + 0xe6000000U) >> 0x18) < 2) { for(iVar3 = 0; iVar3 < DUNGEON_MAX_WILD_POKEMON; iVar3++) { - iVar2 = gDungeonGlobalData->wildPokemon[iVar3]; - if ((EntityExists(iVar2) != '\0') && (iVar2 != param_1) && (iVar2->entityData->clientType == param_2)) { + iVar2 = gDungeon->wildPokemon[iVar3]; + if ((EntityExists(iVar2) != '\0') && (iVar2 != param_1) && (iVar2->info->clientType == param_2)) { return; } } // WTF is this?? if(!unk1){ sub_8097FA8(0x11); - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } } } void sub_80897F0(void) { - struct DungeonEntity *LeaderEntity; + struct Entity *LeaderEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); sub_8086448(); sub_803E708(10,0x46); sub_808563C(SpriteShockEffect); @@ -2155,16 +2155,16 @@ void sub_80897F0(void) // Get 'em! It's frenzy time! DisplayDungeonDialogue(&gUnknown_8103D50); sub_803E708(10,0x46); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void sub_8089878(void) { - struct DungeonEntity *LeaderEntity; + struct Entity *LeaderEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); sub_8086448(); sub_803E708(10,0x46); sub_808563C(SpriteShockEffect); @@ -2175,7 +2175,7 @@ void sub_8089878(void) DisplayDungeonDialogue(&gUnknown_8103DD8); DisplayDungeonDialogue(&gUnknown_8103E28); sub_803E708(10,0x46); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void sub_80898E4(void) @@ -2184,72 +2184,72 @@ void sub_80898E4(void) sub_80866C4(&gUnknown_8103E34); } -void sub_80898F8(struct DungeonEntity *r0) +void sub_80898F8(struct Entity *r0) { sub_8068FE0(r0, 0x21C, 0); } -void sub_8089908(struct DungeonEntity *r0) +void sub_8089908(struct Entity *r0) { SetFacingDirection(r0, DIRECTION_NORTH); } void sub_8089914(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *MewtwoEntity; + struct Entity *LeaderEntity; + struct Entity *MewtwoEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); MewtwoEntity = GetEntityFromClientType(0x11); DungeonStopBGM(); - gDungeonGlobalData->unk7 = 1; + gDungeon->unk7 = 1; sub_80854D4(); sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); SetFacingDirection(MewtwoEntity, DIRECTION_SOUTH); sub_8086A3C(MewtwoEntity); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y - 3); - CopySpeciesNametoBuffer(gUnknown_202E038,SPECIES_MEWTWO); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y - 3); + CopyMonsterNametoBuffer(gUnknown_202E038,MONSTER_MEWTWO); } void sub_8089978(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *MewtwoEntity; + struct Entity *LeaderEntity; + struct Entity *MewtwoEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); MewtwoEntity = GetEntityFromClientType(0x11); DungeonStopBGM(); sub_80854D4(); sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); - if(HasRecruitedMon(SPECIES_MEWTWO)){ + if(HasRecruitedMon(MONSTER_MEWTWO)){ DungeonStartNewBGM(MUS_FRIEND_AREA_CRYPTIC_CAVE); sub_8068FE0(MewtwoEntity,0x21c,0); } else { - gDungeonGlobalData->unk7 = 1; + gDungeon->unk7 = 1; SetFacingDirection(MewtwoEntity, DIRECTION_SOUTH); sub_8086A3C(MewtwoEntity); } - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y - 3); - CopySpeciesNametoBuffer(gUnknown_202E038,SPECIES_MEWTWO); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y - 3); + CopyMonsterNametoBuffer(gUnknown_202E038,MONSTER_MEWTWO); } void sub_8089A00(char param_1, s32 param_2) { if ((((param_2 * 0x1000000) + 0xE3000000U) >> 0x18 < 3) && (param_1 == 0x11)) { sub_8097FA8(0x13); - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } } void MewtwoPreFightDialogue(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *MewtwoEntity; + struct Entity *LeaderEntity; + struct Entity *MewtwoEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); MewtwoEntity = GetEntityFromClientType(0x11); sub_8086448(); DisplayDungeonDialogue(&gMewtwoPreFightDialogue_1); @@ -2268,18 +2268,18 @@ void MewtwoPreFightDialogue(void) DisplayDungeonDialogue(&gMewtwoPreFightDialogue_5); sub_803E708(10,0x46); SetupBossFightHP(MewtwoEntity,900,0x20); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void MewtwoReFightDialogue(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *MewtwoEntity; + struct Entity *LeaderEntity; + struct Entity *MewtwoEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); MewtwoEntity = GetEntityFromClientType(0x11); sub_8086448(); - if(HasRecruitedMon(SPECIES_MEWTWO)) { + if(HasRecruitedMon(MONSTER_MEWTWO)) { sub_80866C4(&gMewtwoReFightDialogue_5); } else { @@ -2294,16 +2294,16 @@ void MewtwoReFightDialogue(void) MewtwoScreenFlash(); DisplayDungeonDialogue(&gMewtwoReFightDialogue_4); SetupBossFightHP(MewtwoEntity,900,0x20); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } } -void MewtwoDropInEffect(struct DungeonEntity *mewtwoEntity) +void MewtwoDropInEffect(struct Entity *mewtwoEntity) { s32 iVar1; s32 iVar2; - mewtwoEntity->entityData->unk15E = 0; + mewtwoEntity->info->unk15E = 0; iVar2 = 51200; iVar1 = 0x400; PlaySoundEffect(0x1f8); @@ -2314,10 +2314,10 @@ void MewtwoDropInEffect(struct DungeonEntity *mewtwoEntity) iVar1 = 0x1e; } if (iVar2 < 0) break; - mewtwoEntity->entityData->unk174 = iVar2; + mewtwoEntity->info->unk174 = iVar2; sub_803E46C(0x46); } - mewtwoEntity->entityData->unk174 = 0; + mewtwoEntity->info->unk174 = 0; } void MewtwoScreenFlash(void) @@ -2348,38 +2348,38 @@ void MewtwoScreenFlash(void) void sub_8089C44(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * EnteiEntity; + struct Entity * LeaderEntity; + struct Entity * EnteiEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); EnteiEntity = GetEntityFromClientType(0x12); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); sub_80854D4(); sub_8085930(DIRECTION_NORTH); SetFacingDirection(EnteiEntity, DIRECTION_SOUTH); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_ENTEI); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_ENTEI); } void sub_8089C90(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * EnteiEntity; + struct Entity * LeaderEntity; + struct Entity * EnteiEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); EnteiEntity = GetEntityFromClientType(0x12); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); sub_80854D4(); sub_8085930(DIRECTION_NORTH); - if (HasRecruitedMon(SPECIES_ENTEI)) { + if (HasRecruitedMon(MONSTER_ENTEI)) { sub_8068FE0(EnteiEntity,0x21c,0); } else { SetFacingDirection(EnteiEntity, DIRECTION_SOUTH); } - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_ENTEI); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_ENTEI); } @@ -2387,17 +2387,17 @@ void sub_8089CFC(char param_1,int param_2) { if ((((param_2 * 0x1000000) + 0xE0000000U) >> 0x18 < 3) && (param_1 == 0x12)) { sub_8097FA8(0x15); - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } } void EnteiPreFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * EnteiEntity; + struct Entity * LeaderEntity; + struct Entity * EnteiEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); EnteiEntity = GetEntityFromClientType(0x12); EnteiScreenFlash(); DisplayDungeonDialogue(&gEnteiPreFightDialogue_1); @@ -2407,15 +2407,15 @@ void EnteiPreFightDialogue(void) DisplayDungeonDialogue(&gEnteiPreFightDialogue_3); sub_803E708(10,70); SetupBossFightHP(EnteiEntity,600,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void EnteiReFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * EnteiEntity; + struct Entity * LeaderEntity; + struct Entity * EnteiEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); EnteiEntity = GetEntityFromClientType(0x12); EnteiScreenFlash(); DisplayDungeonDialogue(&gEnteiReFightDialogue_1); @@ -2425,17 +2425,17 @@ void EnteiReFightDialogue(void) DisplayDungeonDialogue(&gEnteiReFightDialogue_3); sub_803E708(10,70); SetupBossFightHP(EnteiEntity,600,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void EnteiPostStoryPreFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * EnteiEntity; + struct Entity * LeaderEntity; + struct Entity * EnteiEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); EnteiEntity = GetEntityFromClientType(0x12); - if (HasRecruitedMon(SPECIES_ENTEI)) { + if (HasRecruitedMon(MONSTER_ENTEI)) { sub_80866C4(&gEnteiPostStoryPreFightDialogue_4); } else { @@ -2447,7 +2447,7 @@ void EnteiPostStoryPreFightDialogue(void) DisplayDungeonDialogue(&gEnteiPostStoryPreFightDialogue_3); sub_803E708(10,70); SetupBossFightHP(EnteiEntity,600,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } } @@ -2479,76 +2479,76 @@ void EnteiScreenFlash(void) void sub_8089EFC(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * RaikouEntity; + struct Entity * LeaderEntity; + struct Entity * RaikouEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); RaikouEntity = GetEntityFromClientType(0x13); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); sub_80854D4(); sub_8085930(DIRECTION_NORTH); SetFacingDirection(RaikouEntity, DIRECTION_SOUTH); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_RAIKOU); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_RAIKOU); } void sub_8089F44(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * RaikouEntity; + struct Entity * LeaderEntity; + struct Entity * RaikouEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); RaikouEntity = GetEntityFromClientType(0x13); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); sub_80854D4(); sub_8085930(DIRECTION_NORTH); SetFacingDirection(RaikouEntity, DIRECTION_SOUTH); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_RAIKOU); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_RAIKOU); } void sub_8089F8C(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * RaikouEntity; + struct Entity * LeaderEntity; + struct Entity * RaikouEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); RaikouEntity = GetEntityFromClientType(0x13); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); sub_80854D4(); sub_8085930(DIRECTION_NORTH); - if (HasRecruitedMon(SPECIES_RAIKOU)) { + if (HasRecruitedMon(MONSTER_RAIKOU)) { sub_8068FE0(RaikouEntity,0x21c,0); } else { SetFacingDirection(RaikouEntity, DIRECTION_SOUTH); } - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_RAIKOU); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_RAIKOU); } void sub_8089FF0(char param_1,int param_2) { if ((((param_2 * 0x1000000) + 0xdD000000U) >> 0x18 < 3) && (param_1 == 0x13)) { sub_8097FA8(0x17); - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } } void RaikouPreFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * RaikouEntity; + struct Entity * LeaderEntity; + struct Entity * RaikouEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); RaikouEntity = GetEntityFromClientType(0x13); DisplayDungeonDialogue(&gRaikouPreFightDialogue_1); RaikouScreenFlash(); DisplayDungeonDialogue(&gRaikouPreFightDialogue_2); - gDungeonGlobalData->unkE265 = WEATHER_RAIN; + gDungeon->unkE265 = WEATHER_RAIN; sub_807EAA0(0,1); sub_803E708(10,70); DisplayDungeonDialogue(&gRaikouPreFightDialogue_3); @@ -2560,17 +2560,17 @@ void RaikouPreFightDialogue(void) DisplayDungeonDialogue(&gRaikouPreFightDialogue_6); sub_803E708(10,70); SetupBossFightHP(RaikouEntity,0x28a,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void RaikouReFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * RaikouEntity; + struct Entity * LeaderEntity; + struct Entity * RaikouEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); RaikouEntity = GetEntityFromClientType(0x13); - gDungeonGlobalData->unkE265 = WEATHER_RAIN; + gDungeon->unkE265 = WEATHER_RAIN; sub_807EAA0(0,1); RaikouScreenFlash(); DisplayDungeonDialogue(&gRaikouReFightDialogue_1); @@ -2580,21 +2580,21 @@ void RaikouReFightDialogue(void) DisplayDungeonDialogue(&gRaikouReFightDialogue_3); sub_803E708(10,70); SetupBossFightHP(RaikouEntity,0x28a,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void RaikouPostStoryPreFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * RaikouEntity; + struct Entity * LeaderEntity; + struct Entity * RaikouEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); RaikouEntity = GetEntityFromClientType(0x13); - if (HasRecruitedMon(SPECIES_RAIKOU)) { + if (HasRecruitedMon(MONSTER_RAIKOU)) { sub_80866C4(&gRaikouPostStoryPreFightDialogue_4); } else { - gDungeonGlobalData->unkE265 = WEATHER_RAIN; + gDungeon->unkE265 = WEATHER_RAIN; sub_807EAA0(0,1); DisplayDungeonDialogue(&gRaikouPostStoryPreFightDialogue_1); RaikouScreenFlash(); @@ -2603,7 +2603,7 @@ void RaikouPostStoryPreFightDialogue(void) DisplayDungeonDialogue(&gRaikouPostStoryPreFightDialogue_3); sub_803E708(10,70); SetupBossFightHP(RaikouEntity,0x28a,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } } @@ -2635,10 +2635,10 @@ void RaikouScreenFlash(void) void sub_808A264(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * SuicuneEntity; + struct Entity * LeaderEntity; + struct Entity * SuicuneEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); SuicuneEntity = GetEntityFromClientType(0x14); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); sub_80854D4(); @@ -2646,59 +2646,59 @@ void sub_808A264(void) sub_80855E4(sub_8086A3C); SetFacingDirection(SuicuneEntity, DIRECTION_SOUTH); sub_8086A3C(SuicuneEntity); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y - 3); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_SUICUNE); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y - 3); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_SUICUNE); } void sub_808A2C0(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * SuicuneEntity; + struct Entity * LeaderEntity; + struct Entity * SuicuneEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); SuicuneEntity = GetEntityFromClientType(0x14); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); sub_80854D4(); sub_8085930(DIRECTION_NORTH); SetFacingDirection(SuicuneEntity, DIRECTION_SOUTH); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_SUICUNE); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_SUICUNE); } void sub_808A308(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * SuicuneEntity; + struct Entity * LeaderEntity; + struct Entity * SuicuneEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); SuicuneEntity = GetEntityFromClientType(0x14); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); sub_80854D4(); sub_8085930(DIRECTION_NORTH); - if (HasRecruitedMon(SPECIES_SUICUNE)) { + if (HasRecruitedMon(MONSTER_SUICUNE)) { sub_8068FE0(SuicuneEntity,0x21c,0); } else { SetFacingDirection(SuicuneEntity, DIRECTION_SOUTH); } - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_SUICUNE); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_SUICUNE); } void sub_808A36C(char param_1,int param_2) { if ((((param_2 * 0x1000000) + 0xda000000U) >> 0x18 < 3) && (param_1 == 0x14)) { sub_8097FA8(0x19); - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } } void SuicunePreFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * SuicuneEntity; + struct Entity * LeaderEntity; + struct Entity * SuicuneEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); SuicuneEntity = GetEntityFromClientType(0x14); sub_8086448(); DisplayDungeonDialogue(&gSuicunePreFightDialogue_1); @@ -2718,15 +2718,15 @@ void SuicunePreFightDialogue(void) DisplayDungeonDialogue(&gSuicunePreFightDialogue_7); sub_803E708(10,70); SetupBossFightHP(SuicuneEntity,0x28a,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void SuicuneReFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * SuicuneEntity; + struct Entity * LeaderEntity; + struct Entity * SuicuneEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); SuicuneEntity = GetEntityFromClientType(0x14); DisplayDungeonDialogue(&gSuicuneReFightDialogue_1); SuicuneScreenFlash(); @@ -2735,17 +2735,17 @@ void SuicuneReFightDialogue(void) DisplayDungeonDialogue(&gSuicuneReFightDialogue_3); sub_803E708(10,70); SetupBossFightHP(SuicuneEntity,0x28a,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void SuicunePostStoryPreFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * SuicuneEntity; + struct Entity * LeaderEntity; + struct Entity * SuicuneEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); SuicuneEntity = GetEntityFromClientType(0x14); - if (HasRecruitedMon(SPECIES_SUICUNE)) { + if (HasRecruitedMon(MONSTER_SUICUNE)) { sub_80866C4(&gSuicunePostStoryPreFightDialogue_4); } else { @@ -2756,16 +2756,16 @@ void SuicunePostStoryPreFightDialogue(void) DisplayDungeonDialogue(&gSuicunePostStoryPreFightDialogue_3); sub_803E708(10,70); SetupBossFightHP(SuicuneEntity,0x28a,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } } -void sub_808A528(struct DungeonEntity * param_1) +void sub_808A528(struct Entity * param_1) { s32 iVar1; s32 iVar2; - param_1->entityData->unk15E = 0; + param_1->info->unk15E = 0; iVar2 = 51200; iVar1 = 3072; PlaySoundEffect(0x1f8); @@ -2776,10 +2776,10 @@ void sub_808A528(struct DungeonEntity * param_1) iVar1 = 20; } if (iVar2 < 0) break; - param_1->entityData->unk174 = iVar2; + param_1->info->unk174 = iVar2; sub_803E46C(70); } - param_1->entityData->unk174 = 0; + param_1->info->unk174 = 0; } void SuicuneScreenFlash(void) @@ -2810,10 +2810,10 @@ void SuicuneScreenFlash(void) void sub_808A608(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * HoOhEntity; + struct Entity * LeaderEntity; + struct Entity * HoOhEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); HoOhEntity = GetEntityFromClientType(0x15); DungeonStartNewBGM(MUS_FRIEND_AREA_RAINBOW_PEAK); sub_80867F4(); @@ -2822,38 +2822,38 @@ void sub_808A608(void) sub_8085930(DIRECTION_NORTH); SetFacingDirection(HoOhEntity, DIRECTION_SOUTH); sub_8086A3C(HoOhEntity); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y + -6); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_HO_OH); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y + -6); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_HO_OH); } void sub_808A668(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * HoOhEntity; + struct Entity * LeaderEntity; + struct Entity * HoOhEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); HoOhEntity = GetEntityFromClientType(0x15); DungeonStartNewBGM(MUS_FRIEND_AREA_RAINBOW_PEAK); sub_80867F4(); sub_8086838(0,0,0); sub_80854D4(); sub_8085930(DIRECTION_NORTH); - if (HasRecruitedMon(SPECIES_HO_OH)) { + if (HasRecruitedMon(MONSTER_HO_OH)) { sub_8068FE0(HoOhEntity,0x21c,0); } else { SetFacingDirection(HoOhEntity, DIRECTION_SOUTH); sub_8086A3C(HoOhEntity); } - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y - 6); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_HO_OH); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y - 6); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_HO_OH); } void sub_808A6E8(char param_1, s32 param_2) { if ((((param_2 * 0x1000000) + 0xd7000000U) >> 0x18 < 2) && (param_1 == 0x15)) { sub_8097FA8(0x1A); - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } } @@ -2865,14 +2865,14 @@ void sub_808A718(void) void HoOhPreFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * HoOhEntity; + struct Entity * LeaderEntity; + struct Entity * HoOhEntity; struct Position32 local_14; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); HoOhEntity = GetEntityFromClientType(0x15); - local_14.x = LeaderEntity->posPixel.x; - local_14.y = LeaderEntity->posPixel.y + -0x1000; + local_14.x = LeaderEntity->pixelPos.x; + local_14.y = LeaderEntity->pixelPos.y + -0x1000; ShiftCameraToPosition(&local_14,0x88); sub_803E708(0x40,70); DisplayDungeonDialogue(&gHoOhPreFightDialogue_1); @@ -2899,23 +2899,23 @@ void HoOhPreFightDialogue(void) DisplayDungeonDialogue(&gHoOhPreFightDialogue_6); sub_803E708(10,70); SetupBossFightHP(HoOhEntity,800,0x20); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void HoOhReFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * HoOhEntity; + struct Entity * LeaderEntity; + struct Entity * HoOhEntity; struct Position32 local_14; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); HoOhEntity = GetEntityFromClientType(0x15); - local_14.x = LeaderEntity->posPixel.x; - local_14.y = LeaderEntity->posPixel.y + -0x1000; + local_14.x = LeaderEntity->pixelPos.x; + local_14.y = LeaderEntity->pixelPos.y + -0x1000; ShiftCameraToPosition(&local_14,0x88); sub_803E708(0x40,70); - if (HasRecruitedMon(SPECIES_HO_OH)) { + if (HasRecruitedMon(MONSTER_HO_OH)) { sub_80866C4(&HoOhReFightDialogue_5); } else { @@ -2935,16 +2935,16 @@ void HoOhReFightDialogue(void) DisplayDungeonDialogue(&HoOhReFightDialogue_4); sub_803E708(10,70); SetupBossFightHP(HoOhEntity,800,0x20); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } } -void HoOhDropInEffect(struct DungeonEntity * param_1) +void HoOhDropInEffect(struct Entity * param_1) { s32 iVar1; s32 iVar2; - param_1->entityData->unk15E = 0; + param_1->info->unk15E = 0; iVar2 = 51200; iVar1 = 3072; PlaySoundEffect(0x1f8); @@ -2955,10 +2955,10 @@ void HoOhDropInEffect(struct DungeonEntity * param_1) iVar1 = 20; } if (iVar2 < 0) break; - param_1->entityData->unk174 = iVar2; + param_1->info->unk174 = iVar2; sub_803E46C(70); } - param_1->entityData->unk174 = 0; + param_1->info->unk174 = 0; } void HoOhScreenFlash(void) @@ -2989,72 +2989,72 @@ void HoOhScreenFlash(void) void sub_808A9E4(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * LatiosEntity; + struct Entity * LeaderEntity; + struct Entity * LatiosEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); LatiosEntity = GetEntityFromClientType(0x16); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); sub_80854D4(); sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); SetFacingDirection(LatiosEntity, DIRECTION_NORTH); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y - 4); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_LATIOS); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y - 4); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_LATIOS); } void sub_808AA3C(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * LatiosEntity; + struct Entity * LeaderEntity; + struct Entity * LatiosEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); LatiosEntity = GetEntityFromClientType(0x16); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); sub_80854D4(); sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); SetFacingDirection(LatiosEntity, DIRECTION_NORTH); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y - 3); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_LATIOS); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y - 3); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_LATIOS); } void sub_808AA94(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * LatiosEntity; + struct Entity * LeaderEntity; + struct Entity * LatiosEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); LatiosEntity = GetEntityFromClientType(0x16); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); sub_80854D4(); sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); sub_8068FE0(LatiosEntity,0x21c,0); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y - 3); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_LATIOS); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y - 3); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_LATIOS); } void sub_808AAF0(char param_1, s32 param_2) { if ((((param_2 * 0x1000000) + 0xd5000000U) >> 0x18 < 3) && (param_1 == 0x16)) { sub_8097FA8(0x1c); - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } } void LatiosPreFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * LatiosEntity; + struct Entity * LeaderEntity; + struct Entity * LatiosEntity; struct Position32 local_18; u32 local_19; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); LatiosEntity = GetEntityFromClientType(0x16); - local_18.x = LatiosEntity->posPixel.x; - local_18.y = LatiosEntity->posPixel.y + (0x80 << 6); + local_18.x = LatiosEntity->pixelPos.x; + local_18.y = LatiosEntity->pixelPos.y + (0x80 << 6); local_19 = 0x7000fc; sub_8085EC8(0x1bd,0,0,&local_19,1); @@ -3072,15 +3072,15 @@ void LatiosPreFightDialogue(void) DisplayDungeonDialogue(&gLatiosPreFightDialogue_3); sub_803E708(10,70); SetupBossFightHP(LatiosEntity,600,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void LatiosReFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * LatiosEntity; + struct Entity * LeaderEntity; + struct Entity * LatiosEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); LatiosEntity = GetEntityFromClientType(0x16); sub_8086448(); sub_808692C(); @@ -3091,7 +3091,7 @@ void LatiosReFightDialogue(void) DisplayDungeonDialogue(&gLatiosPreFightDialogue_3); sub_803E708(10,70); SetupBossFightHP(LatiosEntity,600,0xb); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void sub_808AC3C(void) @@ -3124,20 +3124,20 @@ void LatiosScreenFlash(void) void sub_808ACC0(void) { - struct DungeonEntity * uVar2; + struct Entity * uVar2; - if (HasRecruitedMon(SPECIES_REGIROCK)) { + if (HasRecruitedMon(MONSTER_REGIROCK)) { uVar2 = GetEntityFromClientType(0x17); sub_8068FE0(uVar2,0x21c,0); sub_8097FA8(0x22); sub_8097FA8(0x1d); - sub_808B1CC(ITEM_ID_ROCK_PART); + sub_808B1CC(ITEM_ROCK_PART); } - else if (sub_80860A8(ITEM_ID_ROCK_PART) != 0) { + else if (sub_80860A8(ITEM_ROCK_PART) != 0) { sub_8098044(0x22); sub_8097FA8(0x1d); } - else if (sub_80860A8(ITEM_ID_MUSIC_BOX) != 0) { + else if (sub_80860A8(ITEM_MUSIC_BOX) != 0) { sub_8098044(0x22); sub_8097FA8(0x1d); } @@ -3145,26 +3145,26 @@ void sub_808ACC0(void) sub_8098044(0x22); sub_8098044(0x1d); sub_80855E4(SetupRegiFacingDirection); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_REGIROCK); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_REGIROCK); } } void sub_808AD48(void) { - struct DungeonEntity * uVar2; + struct Entity * uVar2; - if (HasRecruitedMon(SPECIES_REGICE)) { + if (HasRecruitedMon(MONSTER_REGICE)) { uVar2 = GetEntityFromClientType(0x18); sub_8068FE0(uVar2,0x21c,0); sub_8097FA8(0x22); sub_8097FA8(0x1d); - sub_808B1CC(ITEM_ID_ICE_PART); + sub_808B1CC(ITEM_ICE_PART); } - else if (sub_80860A8(ITEM_ID_ICE_PART) != 0) { + else if (sub_80860A8(ITEM_ICE_PART) != 0) { sub_8098044(0x22); sub_8097FA8(0x1d); } - else if (sub_80860A8(ITEM_ID_MUSIC_BOX) != 0) { + else if (sub_80860A8(ITEM_MUSIC_BOX) != 0) { sub_8098044(0x22); sub_8097FA8(0x1d); } @@ -3172,27 +3172,27 @@ void sub_808AD48(void) sub_8098044(0x22); sub_8098044(0x1d); sub_80855E4(SetupRegiFacingDirection); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_REGICE); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_REGICE); } } void sub_808ADCC(void) { - struct DungeonEntity * uVar2; + struct Entity * uVar2; - if (HasRecruitedMon(SPECIES_REGISTEEL)) { + if (HasRecruitedMon(MONSTER_REGISTEEL)) { uVar2 = GetEntityFromClientType(0x19); sub_8068FE0(uVar2,0x21c,0); sub_8097FA8(0x22); sub_8097FA8(0x1d); - sub_808B1CC(ITEM_ID_STEEL_PART); + sub_808B1CC(ITEM_STEEL_PART); } - else if (sub_80860A8(ITEM_ID_STEEL_PART) != 0) { + else if (sub_80860A8(ITEM_STEEL_PART) != 0) { sub_8098044(0x22); sub_8097FA8(0x1d); } - else if (sub_80860A8(ITEM_ID_MUSIC_BOX) != 0) { + else if (sub_80860A8(ITEM_MUSIC_BOX) != 0) { sub_8098044(0x22); sub_8097FA8(0x1d); } @@ -3200,24 +3200,24 @@ void sub_808ADCC(void) sub_8098044(0x22); sub_8098044(0x1d); sub_80855E4(SetupRegiFacingDirection); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_REGISTEEL); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_REGISTEEL); } } void sub_808AE54(char param_1,char param_2,u32 *param_3) { - struct DungeonEntity * LeaderEntity; + struct Entity * LeaderEntity; u8 auStack24 [4]; - struct ItemSlot auStack20; + struct Item auStack20; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); sub_8052D44(auStack24,LeaderEntity,0); if ((sub_8098100(0x22) == 0) && (param_2 == 0x2E) && (param_1 == 0x17)) { sub_808B1CC(0); if (sub_8098100(0x1d) == 0) { - xxx_init_itemslot_8090A8C(&auStack20,ITEM_ID_ROCK_PART,0); - sub_80464C8(GetLeaderEntity(),param_3,&auStack20); + xxx_init_itemslot_8090A8C(&auStack20,ITEM_ROCK_PART,0); + sub_80464C8(GetLeader(),param_3,&auStack20); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); // Something fell from Regirock's body // Regirock was apparently guarding this item @@ -3229,18 +3229,18 @@ void sub_808AE54(char param_1,char param_2,u32 *param_3) void sub_808AEC8(char param_1,char param_2,u32 *param_3) { - struct DungeonEntity * LeaderEntity; + struct Entity * LeaderEntity; u8 auStack24 [4]; - struct ItemSlot auStack20; + struct Item auStack20; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); sub_8052D44(auStack24,LeaderEntity,0); if ((sub_8098100(0x22) == 0) && (param_2 == 0x2F) && (param_1 == 0x18)) { sub_808B1CC(0); if (sub_8098100(0x1d) == 0) { - xxx_init_itemslot_8090A8C(&auStack20,ITEM_ID_ICE_PART,0); - sub_80464C8(GetLeaderEntity(),param_3,&auStack20); + xxx_init_itemslot_8090A8C(&auStack20,ITEM_ICE_PART,0); + sub_80464C8(GetLeader(),param_3,&auStack20); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); // Something fell from Regice's body // Regice was apparently guarding this item @@ -3251,18 +3251,18 @@ void sub_808AEC8(char param_1,char param_2,u32 *param_3) void sub_808AF3C(char param_1,char param_2,u32 *param_3) { - struct DungeonEntity * LeaderEntity; + struct Entity * LeaderEntity; u8 auStack24 [4]; - struct ItemSlot auStack20; + struct Item auStack20; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); sub_8052D44(auStack24,LeaderEntity,0); if ((sub_8098100(0x22) == 0) && (param_2 == 0x30) && (param_1 == 0x19)) { sub_808B1CC(0); if (sub_8098100(0x1d) == 0) { - xxx_init_itemslot_8090A8C(&auStack20,ITEM_ID_STEEL_PART,0); - sub_80464C8(GetLeaderEntity(),param_3, &auStack20); + xxx_init_itemslot_8090A8C(&auStack20,ITEM_STEEL_PART,0); + sub_80464C8(GetLeader(),param_3, &auStack20); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); // Something fell from Registeel's body // Registeel was apparently guarding this item @@ -3273,14 +3273,14 @@ void sub_808AF3C(char param_1,char param_2,u32 *param_3) void sub_808AFB0(char param_1) { - struct DungeonEntity * LeaderEntity; + struct Entity * LeaderEntity; u8 auStack12 [4]; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); sub_8052D44(auStack12,LeaderEntity,0); - if ((sub_8098100(0x22) == 0) && (param_1 == 0x2E) && (sub_8098100(0x1d) == 0) && (sub_80860A8(ITEM_ID_ROCK_PART) != 0)) { + if ((sub_8098100(0x22) == 0) && (param_1 == 0x2E) && (sub_8098100(0x1d) == 0) && (sub_80860A8(ITEM_ROCK_PART) != 0)) { sub_8097FD0(0x1d); - SetMessageArgument(gAvailablePokemonNames,GetLeaderEntity(),0); + SetMessageArgument(gAvailablePokemonNames,GetLeader(),0); // {ARG_POKEMON_0} obtained the Rock Part that Regirock was guarding DisplayDungeonDialogue(&gRegirockPostFightDialogue_2); sub_80421C0(0,0xd4); @@ -3291,14 +3291,14 @@ void sub_808AFB0(char param_1) void sub_808B030(char param_1) { - struct DungeonEntity * LeaderEntity; + struct Entity * LeaderEntity; u8 auStack12 [4]; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); sub_8052D44(auStack12,LeaderEntity,0); - if ((sub_8098100(0x22) == 0) && (param_1 == 0x2F) && (sub_8098100(0x1d) == 0) && (sub_80860A8(ITEM_ID_ICE_PART) != 0)) { + if ((sub_8098100(0x22) == 0) && (param_1 == 0x2F) && (sub_8098100(0x1d) == 0) && (sub_80860A8(ITEM_ICE_PART) != 0)) { sub_8097FD0(0x1d); - SetMessageArgument(gAvailablePokemonNames,GetLeaderEntity(),0); + SetMessageArgument(gAvailablePokemonNames,GetLeader(),0); // {ARG_POKEMON_0} obtained the Ice Part that Regice was guarding DisplayDungeonDialogue(&gRegicePostFightDialogue_2); sub_80421C0(0,0xd4); @@ -3309,14 +3309,14 @@ void sub_808B030(char param_1) void sub_808B0B0(char param_1) { - struct DungeonEntity * LeaderEntity; + struct Entity * LeaderEntity; u8 auStack12 [4]; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); sub_8052D44(auStack12,LeaderEntity,0); - if ((sub_8098100(0x22) == 0) && (param_1 == 0x30) && (sub_8098100(0x1d) == 0) && (sub_80860A8(ITEM_ID_STEEL_PART) != 0)) { + if ((sub_8098100(0x22) == 0) && (param_1 == 0x30) && (sub_8098100(0x1d) == 0) && (sub_80860A8(ITEM_STEEL_PART) != 0)) { sub_8097FD0(0x1d); - SetMessageArgument(gAvailablePokemonNames, GetLeaderEntity(), 0); + SetMessageArgument(gAvailablePokemonNames, GetLeader(), 0); // {ARG_POKEMON_0} obtained the Steel Part that Registeel was guarding DisplayDungeonDialogue(&gRegisteelPostFightDialogue_2); sub_80421C0(0,0xd4); @@ -3396,7 +3396,7 @@ void sub_808B1CC(u8 r0) "\tcmp r2, 0\n" "\tbge _0808B244\n" "_0808B208:\n" - "\tbl GetLeaderEntity\n" + "\tbl GetLeader\n" "\tadds r2, r0, 0\n" "\tcmp r2, 0\n" "\tbne _0808B230\n" @@ -3405,7 +3405,7 @@ void sub_808B1CC(u8 r0) "\tstrb r0, [r1, 0x2]\n" "\tb _0808B2A8\n" "\t.align 2, 0\n" -"_0808B21C: .4byte gDungeonGlobalData\n" +"_0808B21C: .4byte gDungeon\n" "_0808B220: .4byte 0x00000684\n" "_0808B224: .4byte 0xffff0000\n" "_0808B228: .4byte 0x00000686\n" @@ -3431,7 +3431,7 @@ void sub_808B1CC(u8 r0) "\tldrsh r0, [r0, r2]\n" "\tmovs r3, 0x2\n" "\tldrsh r1, [r5, r3]\n" - "\tbl GetMapTile_2\n" + "\tbl GetTileSafe\n" "\tldrh r2, [r0]\n" "\tmovs r3, 0x80\n" "\tlsls r3, 2\n" @@ -3473,36 +3473,36 @@ void sub_808B1CC(u8 r0) } -void SetupRegiFacingDirection(struct DungeonEntity *regiEntity) +void SetupRegiFacingDirection(struct Entity *regiEntity) { - regiEntity->entityData->action.facingDir = DIRECTION_NORTH; + regiEntity->info->action.direction = DIRECTION_NORTH; sub_806CE68(regiEntity, DIRECTION_NORTH); } -void SetupRegirockFightHP(struct DungeonEntity *r0) +void SetupRegirockFightHP(struct Entity *r0) { SetupBossFightHP(r0, 450, 0xB); } -void SetupRegiceFightHP(struct DungeonEntity *r0) +void SetupRegiceFightHP(struct Entity *r0) { SetupBossFightHP(r0, 450, 0xB); } -void SetupRegisteelFightHP(struct DungeonEntity *r0) +void SetupRegisteelFightHP(struct Entity *r0) { SetupBossFightHP(r0, 450, 0xB); } void sub_808B2F4(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * JirachiEntity; + struct Entity * LeaderEntity; + struct Entity * JirachiEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); JirachiEntity = GetEntityFromClientType(0x1a); DungeonStartNewBGM(MUS_FRIEND_AREA_FOREST); sub_808BCE4(); @@ -3512,22 +3512,22 @@ void sub_808B2F4(void) sub_80855E4(sub_8086A3C); SetFacingDirection(JirachiEntity, DIRECTION_SOUTH); sub_8086A3C(JirachiEntity); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y - 3); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_JIRACHI); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y - 3); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_JIRACHI); } void sub_808B35C(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * JirachiEntity; + struct Entity * LeaderEntity; + struct Entity * JirachiEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); JirachiEntity = GetEntityFromClientType(0x1a); DungeonStartNewBGM(MUS_FRIEND_AREA_FOREST); sub_80854D4(); sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); - if (HasRecruitedMon(SPECIES_JIRACHI)) { + if (HasRecruitedMon(MONSTER_JIRACHI)) { sub_8068FE0(JirachiEntity,0x21c,0); } else { @@ -3537,8 +3537,8 @@ void sub_808B35C(void) sub_8049ED4(); } - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y - 3); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_JIRACHI); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y - 3); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_JIRACHI); } #ifdef NONMATCHING @@ -3550,17 +3550,17 @@ void sub_808B3E4(u8 param_1,u8 param_2,u8 param_3) if (((((param_2 * 0x1000000) + 0xcf000000U) >> 0x18) < 2) && (param_1 == 0x1A)){ sub_8097FA8(0x1e); if (param_3 != 0) { - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } else { - uVar1 = gDungeonGlobalData->unk1356C; + uVar1 = gDungeon->unk1356C; if (sub_80860A8(0x36) != 0) { JirachiWish(); } else { sub_808B50C(); } - gDungeonGlobalData->unk1356C = uVar1; + gDungeon->unk1356C = uVar1; sub_8040A84(); } } @@ -3594,7 +3594,7 @@ void sub_808B3E4(u8 param_1, u8 param_2, u8 param_3) "\tstrb r0, [r1, 0x2]\n" "\tb _0808B44E\n" "\t.align 2, 0\n" -"_0808B414: .4byte gDungeonGlobalData\n" +"_0808B414: .4byte gDungeon\n" "_0808B418:\n" "\tldr r0, _0808B434\n" "\tldr r0, [r0]\n" @@ -3609,7 +3609,7 @@ void sub_808B3E4(u8 param_1, u8 param_2, u8 param_3) "\tbl JirachiWish\n" "\tb _0808B440\n" "\t.align 2, 0\n" -"_0808B434: .4byte gDungeonGlobalData\n" +"_0808B434: .4byte gDungeon\n" "_0808B438: .4byte 0x0001356c\n" "_0808B43C:\n" "\tbl sub_808B50C\n" @@ -3625,17 +3625,17 @@ void sub_808B3E4(u8 param_1, u8 param_2, u8 param_3) "\tpop {r0}\n" "\tbx r0\n" "\t.align 2, 0\n" -"_0808B454: .4byte gDungeonGlobalData\n" +"_0808B454: .4byte gDungeon\n" "_0808B458: .4byte 0x0001356c"); } #endif void JirachiPreFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * JirachiEntity; + struct Entity * LeaderEntity; + struct Entity * JirachiEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); JirachiEntity = GetEntityFromClientType(0x1a); sub_8086448(); sub_803E708(0x40,70); @@ -3654,20 +3654,20 @@ void JirachiPreFightDialogue(void) DisplayDungeonDialogue(&gJirachiPreFightDialogue_4); sub_803E708(10,70); SetupBossFightHP(JirachiEntity,0x15e,0x20); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void sub_808B50C(void) { - struct DungeonEntity * JirachiEntity; + struct Entity * JirachiEntity; JirachiEntity = GetEntityFromClientType(0x1a); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_JIRACHI); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_JIRACHI); sub_80855E4(sub_808BBA8); sub_808BBA8(JirachiEntity); sub_8041888(0); - JirachiEntity->entityData->unk15C = 1; - JirachiEntity->entityData->unk15E = 0; + JirachiEntity->info->unk15C = 1; + JirachiEntity->info->unk15E = 0; sub_80861B8(JirachiEntity,0xe,0); DungeonFadeOutBGM(0x1e); sub_803E708(0x1e,70); @@ -3682,22 +3682,22 @@ void sub_808B50C(void) JirachiSpinEffect(JirachiEntity); DisplayDungeonDialogue(&gUnknown_81055F4); sub_803E708(10,70); - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } void JirachiWish(void) { u8 friendArea; - struct DungeonEntity *JirachiEntity; + struct Entity *JirachiEntity; struct Position *LeaderPos; - struct DungeonEntity *LeaderEntity; + struct Entity *LeaderEntity; s32 wishChoice; s32 iVar4; u32 uVar6; s32 iVar9; - struct ItemSlot auStack152 [9]; - struct ItemSlot auStack116 [9]; - struct ItemSlot auStack80 [9]; + struct Item auStack152 [9]; + struct Item auStack116 [9]; + struct Item auStack80 [9]; s32 local_2c; s32 local_28; s32 local_24; @@ -3706,15 +3706,15 @@ void JirachiWish(void) s32 temp3; JirachiEntity = GetEntityFromClientType(0x1a); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_JIRACHI); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_JIRACHI); sub_80855E4(sub_808BBA8); sub_808BBA8(JirachiEntity); sub_8041888(0); - JirachiEntity->entityData->unk15C = 1; - JirachiEntity->entityData->unk15E = 0; + JirachiEntity->info->unk15C = 1; + JirachiEntity->info->unk15E = 0; sub_80861B8(JirachiEntity,0xe,0); sub_80855E4(sub_80861A8); - gDungeonGlobalData->unk1356C = 1; + gDungeon->unk1356C = 1; DungeonFadeOutBGM(0x1e); sub_803E708(0x1e,0x46); DisplayDungeonDialogue(&gUnknown_8105668); @@ -3758,20 +3758,20 @@ void JirachiWish(void) { sub_8045C28(&auStack152[iVar9], 0x69, 0); } - temp = (u16)(((((u16)JirachiEntity->posWorld.x + DungeonRandomCapped(3)) - 1) << 16) >> 16); + temp = (u16)(((((u16)JirachiEntity->pos.x + DungeonRandInt(3)) - 1) << 16) >> 16); local_2c &= 0xffff0000; local_2c |= temp; - temp = ((u16)JirachiEntity->posWorld.y + DungeonRandomCapped(3) + -1) * 0x10000; + temp = ((u16)JirachiEntity->pos.y + DungeonRandInt(3) + -1) * 0x10000; local_2c &= 0xffff; local_2c |= temp; - if ((GetMapTile_2((s16)local_2c, local_2c >> 16)->tileType & 3) != 0) { + if ((GetTileSafe((s16)local_2c, local_2c >> 16)->terrainType & 3) != 0) { PlaySoundEffect(0x14c); sub_808BB3C((s16 *)&local_2c); sub_8046860(JirachiEntity,&local_2c,auStack152,9); } } - JirachiEntity->entityData->unk15D = 0; + JirachiEntity->info->unk15D = 0; } if (wishChoice == 2) { // Lots of Items @@ -3788,20 +3788,20 @@ void JirachiWish(void) { sub_8045C28(&auStack116[iVar9], sub_803D73C(0),0); } - temp2 = (u16)(((((u16)JirachiEntity->posWorld.x + DungeonRandomCapped(3)) - 1) << 16) >> 16); + temp2 = (u16)(((((u16)JirachiEntity->pos.x + DungeonRandInt(3)) - 1) << 16) >> 16); local_28 &= 0xffff0000; local_28 |= temp2; - temp2 = ((u16)JirachiEntity->posWorld.y + DungeonRandomCapped(3) + -1) * 0x10000; + temp2 = ((u16)JirachiEntity->pos.y + DungeonRandInt(3) + -1) * 0x10000; local_28 &= 0xffff; local_28 |= temp2; - if ((GetMapTile_2((s16)local_28, local_28 >> 16)->tileType & 3) != 0) { + if ((GetTileSafe((s16)local_28, local_28 >> 16)->terrainType & 3) != 0) { PlaySoundEffect(400); sub_808BB3C((s16 *)&local_28); sub_8046860(JirachiEntity,&local_28,auStack116,9); } } - JirachiEntity->entityData->unk15D = 0; + JirachiEntity->info->unk15D = 0; } if (wishChoice == 3) @@ -3821,11 +3821,11 @@ void JirachiWish(void) DisplayDungeonDialogue(&gUnknown_8105AD4); sub_803E708(10,0x46); JirachiWishGrantDialogue(JirachiEntity); - JirachiEntity->entityData->unk15D = 0; + JirachiEntity->info->unk15D = 0; DisplayDungeonDialogue(&gUnknown_8105B20); UnlockFriendArea(friendArea); PlaySoundEffect(0xd4); - LeaderEntity = GetLeaderEntity(); + LeaderEntity = GetLeader(); SetMessageArgument(gAvailablePokemonNames,LeaderEntity,0); sub_8092578(gUnknown_202DE58,friendArea,0); // Obtained the friend area! @@ -3843,22 +3843,22 @@ void JirachiWish(void) for(iVar9 = 0; iVar9 < 4; iVar9++) { - sub_8045C28(&auStack80[iVar9],gUnknown_81074FC[DungeonRandomCapped(8)],0); + sub_8045C28(&auStack80[iVar9],gUnknown_81074FC[DungeonRandInt(8)],0); } - temp3 = (u16)(((((u16)JirachiEntity->posWorld.x + DungeonRandomCapped(3)) - 1) << 16) >> 16); + temp3 = (u16)(((((u16)JirachiEntity->pos.x + DungeonRandInt(3)) - 1) << 16) >> 16); local_24 &= 0xffff0000; local_24 |= temp3; - temp3 = ((u16)JirachiEntity->posWorld.y + DungeonRandomCapped(3) + -1) * 0x10000; + temp3 = ((u16)JirachiEntity->pos.y + DungeonRandInt(3) + -1) * 0x10000; local_24 &= 0xffff; local_24 |= temp3; - if ((GetMapTile_2((s16)local_24, local_24 >> 16)->tileType & 3) != 0) { + if ((GetTileSafe((s16)local_24, local_24 >> 16)->terrainType & 3) != 0) { PlaySoundEffect(400); sub_808BB3C((s16 *)&local_24); sub_8046860(JirachiEntity,&local_24,auStack80,4); } } - JirachiEntity->entityData->unk15D = 0; + JirachiEntity->info->unk15D = 0; DisplayDungeonDialogue(&gUnknown_8105BF4); sub_803E708(10,0x46); } @@ -3867,16 +3867,16 @@ void JirachiWish(void) DisplayDungeonDialogue(&gUnknown_8105D2C); sub_803E708(10,0x46); JirachiWishGrantDialogue(JirachiEntity); - JirachiEntity->entityData->unk15D = 0; + JirachiEntity->info->unk15D = 0; DisplayDungeonDialogue(&gUnknown_8105D80); sub_803E708(10,0x46); - LeaderPos = &GetLeaderEntity()->posWorld; - uVar6 = CalculateFacingDir(&JirachiEntity->posWorld,LeaderPos); + LeaderPos = &GetLeader()->pos; + uVar6 = GetDirectionTowardsPosition(&JirachiEntity->pos,LeaderPos); SetFacingDirection(JirachiEntity,uVar6); sub_803E708(10,0x46); DisplayDungeonDialogue(&gUnknown_8105D9C); sub_803E708(10,0x46); - gDungeonGlobalData->unk674 = 1; + gDungeon->unk674 = 1; } break; } @@ -3891,7 +3891,7 @@ void JirachiWish(void) void JirachiReFightDialogue(void) { - if(HasRecruitedMon(SPECIES_JIRACHI)) + if(HasRecruitedMon(MONSTER_JIRACHI)) { sub_8086448(); sub_80866C4(&gJirachiReFightDialogue_1); @@ -3966,12 +3966,12 @@ void sub_808BB3C(s16 *param_1) sub_8085EC8(100,0,0,&local_8,0); } -void sub_808BBA8(struct DungeonEntity *jirachiEntity) +void sub_808BBA8(struct Entity *jirachiEntity) { - sub_806BFC0(jirachiEntity->entityData,0); + sub_806BFC0(jirachiEntity->info,0); } -void JirachiDropInEffect(struct DungeonEntity *jirachiEntity) +void JirachiDropInEffect(struct Entity *jirachiEntity) { s32 iVar1; s32 iVar2; @@ -3988,13 +3988,13 @@ void JirachiDropInEffect(struct DungeonEntity *jirachiEntity) iVar2 = 0x100; } if (iVar1 < 0) break; - jirachiEntity->entityData->unk174 = iVar1; + jirachiEntity->info->unk174 = iVar1; sub_803E46C(0x46); } - jirachiEntity->entityData->unk174 = 0; + jirachiEntity->info->unk174 = 0; } -void JirachiSpinEffect(struct DungeonEntity * jirachiEntity) +void JirachiSpinEffect(struct Entity * jirachiEntity) { s32 uVar1; @@ -4003,16 +4003,16 @@ void JirachiSpinEffect(struct DungeonEntity * jirachiEntity) SetFacingDirection(jirachiEntity, uVar1 & DIRECTION_MASK); sub_803E708(3,0x46); } - jirachiEntity->entityData->unk15E = 1; + jirachiEntity->info->unk15E = 1; PlaySoundEffect(0x27f); sub_80861F8(99,jirachiEntity,1); } -void JirachiWishGrantDialogue(struct DungeonEntity *jirachiEntity) +void JirachiWishGrantDialogue(struct Entity *jirachiEntity) { u32 uVar2; - jirachiEntity->entityData->unk15D = 1; + jirachiEntity->info->unk15D = 1; // Nnnnnnnnnn! DisplayDungeonDialogue(&gUnknown_81058A8); PlaySoundEffect(0x375); @@ -4030,12 +4030,12 @@ void JirachiWishGrantDialogue(struct DungeonEntity *jirachiEntity) void sub_808BCE4(void) { - struct MapTile *puVar1; + struct Tile *puVar1; - puVar1 = GetMapTile_2(gDungeonGlobalData->unkE23C, gDungeonGlobalData->unkE23E); - puVar1->tileType &= ~(TILE_TYPE_FLOOR | TILE_TYPE_LIQUID); - puVar1->tileType |= TILE_TYPE_MAP_EDGE; - puVar1->tileType &= ~TILE_TYPE_STAIRS; + puVar1 = GetTileSafe(gDungeon->unkE23C, gDungeon->unkE23E); + puVar1->terrainType &= ~(TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY); + puVar1->terrainType |= TERRAIN_TYPE_IMPASSABLE_WALL; + puVar1->terrainType &= ~TERRAIN_TYPE_STAIRS; sub_8049884(); sub_8049B8C(); sub_8049ED4(); @@ -4044,13 +4044,13 @@ void sub_808BCE4(void) void sub_808BD38(void) { - struct MapTile *puVar1; + struct Tile *puVar1; - puVar1 = GetMapTile_2(gDungeonGlobalData->unkE23C, gDungeonGlobalData->unkE23E); - puVar1->tileType &= ~(TILE_TYPE_FLOOR | TILE_TYPE_LIQUID); - puVar1->tileType |= TILE_TYPE_FLOOR; - puVar1->tileType &= ~TILE_TYPE_MAP_EDGE; - puVar1->tileType |= TILE_TYPE_STAIRS; + puVar1 = GetTileSafe(gDungeon->unkE23C, gDungeon->unkE23E); + puVar1->terrainType &= ~(TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY); + puVar1->terrainType |= TERRAIN_TYPE_NORMAL; + puVar1->terrainType &= ~TERRAIN_TYPE_IMPASSABLE_WALL; + puVar1->terrainType |= TERRAIN_TYPE_STAIRS; puVar1->unk8 = 1; sub_8049884(); sub_8049B8C(); @@ -4086,50 +4086,50 @@ u8 JirachiFriendAreaSearch(void) } else { // Randomly pick 1 - friendAreaIndex = DungeonRandomCapped(numUnlockableAreas); + friendAreaIndex = DungeonRandInt(numUnlockableAreas); return friendAreas[friendAreaIndex]; } } void sub_808BDEC(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * LugiaEntity; + struct Entity * LeaderEntity; + struct Entity * LugiaEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); LugiaEntity = GetEntityFromClientType(0x1b); DungeonStopBGM(); sub_80854D4(); sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); - if (HasRecruitedMon(SPECIES_LUGIA)) { + if (HasRecruitedMon(MONSTER_LUGIA)) { DungeonStartNewBGM(MUS_FRIEND_AREA_CRYPTIC_CAVE); sub_8068FE0(LugiaEntity,0x21c,0); } else { - gDungeonGlobalData->unk7 = 1; + gDungeon->unk7 = 1; SetFacingDirection(LugiaEntity, DIRECTION_SOUTH); } - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y - 3); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_LUGIA); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y - 3); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_LUGIA); } void sub_808BE70(u8 param_1,u8 param_2) { if ((param_2 == 0x33) && (param_1 == 0x1B)) { - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } } void LugiaPreFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * LugiaEntity; + struct Entity * LeaderEntity; + struct Entity * LugiaEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); LugiaEntity = GetEntityFromClientType(0x1b); - if (HasRecruitedMon(SPECIES_LUGIA)) { + if (HasRecruitedMon(MONSTER_LUGIA)) { sub_8086448(); sub_80866C4(&gLugiaPreFightDialogue_8); } @@ -4159,7 +4159,7 @@ void LugiaPreFightDialogue(void) LugiaScreenFlash(); SetupBossFightHP(LugiaEntity,800,0x20); DungeonStartNewBGM(MUS_FRIEND_AREA_CRYPTIC_CAVE); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } } @@ -4224,62 +4224,62 @@ void sub_808C0CC(void) SetDungeonBGColorRGB(0,0,0,1,1); sub_803E9D0(); sub_803E46C(0x46); - gDungeonGlobalData->unk7 = 0; + gDungeon->unk7 = 0; LugiaScreenFlash(); } void sub_808C10C(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * KyogreEntity; + struct Entity * LeaderEntity; + struct Entity * KyogreEntity; u32 XPos; s32 YPos; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); KyogreEntity = GetEntityFromClientType(0x1c); DungeonStopBGM(); sub_80854D4(); sub_8085930(DIRECTION_NORTH); - if (HasRecruitedMon(SPECIES_KYOGRE)) { + if (HasRecruitedMon(MONSTER_KYOGRE)) { sub_8068FE0(KyogreEntity,0x21c,0); } else { - gDungeonGlobalData->unk7 = 1; + gDungeon->unk7 = 1; SetFacingDirection(KyogreEntity, DIRECTION_SOUTH); } - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y); XPos = GetCameraXPos(); YPos = GetCameraYPos(); sub_803F878(XPos,YPos + -0x1000); - CopySpeciesNametoBuffer(gUnknown_202E038,SPECIES_KYOGRE); + CopyMonsterNametoBuffer(gUnknown_202E038,MONSTER_KYOGRE); // TODO: gUnknown_202E088 doesn't match but gUnknown_202E038 + 0x50 does - CopySpeciesNametoBuffer(gUnknown_202E038 + 0x50, SPECIES_GROUDON); + CopyMonsterNametoBuffer(gUnknown_202E038 + 0x50, MONSTER_GROUDON); } void sub_808C1A4(u8 param_1,u8 param_2) { if ((param_2 == 0x34) && (param_1 == 0x1C)) { - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; DungeonStartNewBGM(MUS_FRIEND_AREA_CRYPTIC_CAVE); } } void KyogrePreFightDialogue(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *KyogreEntity; + struct Entity *LeaderEntity; + struct Entity *KyogreEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); KyogreEntity = GetEntityFromClientType(0x1c); DungeonStopBGM(); - if (HasRecruitedMon(SPECIES_KYOGRE)) { + if (HasRecruitedMon(MONSTER_KYOGRE)) { DungeonFadeInNewBGM(MUS_FRIEND_AREA_CRYPTIC_CAVE,0x3c); SpriteLookAroundEffect(LeaderEntity); sub_803E708(10,0x46); DisplayDungeonDialogue(&gKyogrePreFightDialogue_8); sub_803E708(10,0x46); - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } else { DisplayDungeonDialogue(&gKyogrePreFightDialogue_1); @@ -4309,7 +4309,7 @@ void KyogrePreFightDialogue(void) sub_803E708(10,0x46); SetupBossFightHP(KyogreEntity,600,0xb); DungeonStartNewBGM(MUS_FRIEND_AREA_CRYPTIC_CAVE); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } } @@ -4346,45 +4346,45 @@ void sub_808C360(void) SetDungeonBGColorRGB(0,0,0,1,1); sub_803E9D0(); sub_803E46C(0x46); - gDungeonGlobalData->unk7 = 0; + gDungeon->unk7 = 0; KyogreScreenFlash(); } void sub_808C3A0(void) { - struct DungeonEntity * LeaderEntity; + struct Entity * LeaderEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); DungeonStopBGM(); sub_80854D4(); sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); - if (HasRecruitedMon(SPECIES_DEOXYS_NORMAL)) { + if (HasRecruitedMon(MONSTER_DEOXYS_NORMAL)) { sub_808563C(sub_808C590); } else { - gDungeonGlobalData->unk7 = 1; + gDungeon->unk7 = 1; sub_808563C(SetupDeoxysFacingDirection); } - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y - 3); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_DEOXYS_NORMAL); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y - 3); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_DEOXYS_NORMAL); } void sub_808C414(u8 param_1,u8 param_2) { if ((param_2 == 0x35) && (param_1 == 0x1D)) { - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; DungeonStartNewBGM(MUS_RAYQUAZAS_DOMAIN); } } void DeoxysPreFightDialogue(void) { - struct DungeonEntity * LeaderEntity; + struct Entity * LeaderEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); sub_8086448(); - if (HasRecruitedMon(SPECIES_DEOXYS_NORMAL)) { + if (HasRecruitedMon(MONSTER_DEOXYS_NORMAL)) { // There appears to be no one here. // It's impossible to go any further sub_80866C4(&gDeoxysPreFightDialogue_5); @@ -4400,7 +4400,7 @@ void DeoxysPreFightDialogue(void) DisplayDungeonDialogue(&gDeoxysPreFightDialogue_4); sub_803E708(10,0x46); sub_808563C(SetupDeoxysFightHP); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } } @@ -4433,44 +4433,44 @@ void sub_808C550(void) SetDungeonBGColorRGB(0,0,0,1,1); sub_803E9D0(); sub_803E46C(0x46); - gDungeonGlobalData->unk7 = 0; + gDungeon->unk7 = 0; DeoxysScreenFlash(); } -void sub_808C590(struct DungeonEntity *r0) +void sub_808C590(struct Entity *r0) { sub_8068FE0(r0, 0x21C, 0); } -void SetupDeoxysFacingDirection(struct DungeonEntity *deoxysEntity) +void SetupDeoxysFacingDirection(struct Entity *deoxysEntity) { SetFacingDirection(deoxysEntity, DIRECTION_SOUTH); } -void SetupDeoxysFightHP(struct DungeonEntity *deoxysEntity) +void SetupDeoxysFightHP(struct Entity *deoxysEntity) { SetupBossFightHP(deoxysEntity, 950, 0x20); } void sub_808C5C0(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * CelebiEntity; + struct Entity * LeaderEntity; + struct Entity * CelebiEntity; u32 XPos; s32 YPos; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); CelebiEntity = GetEntityFromClientType(0x1e); DungeonStartNewBGM(MUS_FRIEND_AREA_HEALING_FOREST); sub_80854D4(); sub_8085930(DIRECTION_NORTH); SetFacingDirection(CelebiEntity, DIRECTION_SOUTH); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y); XPos = GetCameraXPos(); YPos = GetCameraYPos(); sub_803F878(XPos,YPos + 0xfffff000); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_CELEBI); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_CELEBI); } // Dummy Celebi Fight Dialogue?? @@ -4481,14 +4481,14 @@ void nullsub_100(u32 r0, u32 r1, u32 r2) #ifdef NONMATCHING void CelebiJoinDialogue(void) { - struct DungeonEntity *LeaderEntity; + struct Entity *LeaderEntity; s32 state; s32 menuChoice; - struct DungeonEntity *CelebiEntity; + struct Entity *CelebiEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); CelebiEntity = GetEntityFromClientType(0x1e); - if ((HasRecruitedMon(SPECIES_CELEBI)) || (sub_806FD18(CelebiEntity) == '\0')) + if ((HasRecruitedMon(MONSTER_CELEBI)) || (sub_806FD18(CelebiEntity) == '\0')) { sub_8068FE0(local_1c,0x21c,0); SpriteLookAroundEffect(LeaderEntity); @@ -4597,7 +4597,7 @@ void CelebiJoinDialogue(void) } DungeonFadeOutBGM(0x1e); sub_803E708(0x1e,0x46); - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } #else NAKED @@ -4608,7 +4608,7 @@ void CelebiJoinDialogue(void) "\tmov r7, r8\n" "\tpush {r7}\n" "\tsub sp, 0x4\n" - "\tbl xxx_call_GetLeaderEntity\n" + "\tbl xxx_call_GetLeader\n" "\tadds r7, r0, 0\n" "\tmovs r0, 0x1E\n" "\tbl GetEntityFromClientType\n" @@ -4881,22 +4881,22 @@ void CelebiJoinDialogue(void) "_0808C8D0: .4byte gCelebiJoinDialogue_7\n" "_0808C8D4: .4byte gCelebiJoinDialogue_8\n" "_0808C8D8: .4byte gCelebiJoinDialogue_9\n" -"_0808C8DC: .4byte gDungeonGlobalData"); +"_0808C8DC: .4byte gDungeon"); } #endif -void sub_808C8E0(struct DungeonEntity *param_1) +void sub_808C8E0(struct Entity *param_1) { s32 iVar1; PlaySoundEffect(0x1a5); sub_806CDD4(param_1, 0, DIRECTION_SOUTH); for(iVar1 = 0; iVar1 < 16; iVar1++){ - param_1->entityData->unk174 = iVar1 * 256; + param_1->info->unk174 = iVar1 * 256; sub_803E46C(0x46); } for(iVar1 = 16; iVar1 < 200; iVar1 += 4){ - param_1->entityData->unk174 = iVar1 * 256; + param_1->info->unk174 = iVar1 * 256; sub_803E46C(0x46); } sub_8086A3C(param_1); @@ -4907,23 +4907,23 @@ void sub_808C938(void) sub_80855E4(sub_808C9B0); } -void sub_808C948(struct DungeonEntity *param_1, u8 param_2) +void sub_808C948(struct Entity *param_1, u8 param_2) { bool8 flag; s32 iVar3; - struct DungeonEntity *iVar2; + struct Entity *iVar2; if (param_2 == 0x37) { flag = FALSE; for(iVar3 = 0; iVar3 < DUNGEON_MAX_WILD_POKEMON; iVar3++){ - iVar2 = gDungeonGlobalData->wildPokemon[iVar3]; + iVar2 = gDungeon->wildPokemon[iVar3]; if ((iVar2 != param_1) && (EntityExists(iVar2) != 0)) { flag = TRUE; break; } } if (!flag) { - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } } } @@ -4936,32 +4936,32 @@ void sub_808C998(void) sub_803E708(0xA, 0x46); } -void sub_808C9B0(struct DungeonEntity *param_1) +void sub_808C9B0(struct Entity *param_1) { - param_1->entityData->action.facingDir = DIRECTION_NORTH; + param_1->info->action.direction = DIRECTION_NORTH; sub_806CE68(param_1, DIRECTION_NORTH); } void sub_808C9C4(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *MedichamEntity; + struct Entity *LeaderEntity; + struct Entity *MedichamEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); MedichamEntity = GetEntityFromClientType(7); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); sub_80854D4(); sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); SetFacingDirection(MedichamEntity, DIRECTION_SOUTH); - sub_8085860(LeaderEntity->posWorld.x, LeaderEntity->posWorld.y - 3); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_MEDICHAM); + sub_8085860(LeaderEntity->pos.x, LeaderEntity->pos.y - 3); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_MEDICHAM); } // Medicham Rescue Dialogue? void MedichamRescueDialogue(void) { - struct DungeonEntity *MedichamEntity; + struct Entity *MedichamEntity; s32 counter; MedichamEntity = GetEntityFromClientType(7); @@ -5007,23 +5007,23 @@ void MedichamRescueDialogue(void) sub_803E708(0x20, 0x46); sub_8042B0C(MedichamEntity); sub_8068FE0(MedichamEntity, 0x21C, 0); - gDungeonGlobalData->unk4 = 1; - gDungeonGlobalData->unk11 = 4; + gDungeon->unk4 = 1; + gDungeon->unk11 = 4; } void sub_808CB5C(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *MedichamEntity; + struct Entity *LeaderEntity; + struct Entity *MedichamEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); MedichamEntity = GetEntityFromClientType(7); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); sub_80854D4(); sub_8085930(DIRECTION_NORTH); sub_8068FE0(MedichamEntity, 0x21C, 0); - sub_8085860(LeaderEntity->posWorld.x, LeaderEntity->posWorld.y); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_MEDICHAM); + sub_8085860(LeaderEntity->pos.x, LeaderEntity->pos.y); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_MEDICHAM); } void DummyFightDialogue(void) @@ -5032,24 +5032,24 @@ void DummyFightDialogue(void) void sub_808CBB0(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *SmeargleEntity; + struct Entity *LeaderEntity; + struct Entity *SmeargleEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); SmeargleEntity = GetEntityFromClientType(0x1F); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); sub_80854D4(); sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); SetFacingDirection(SmeargleEntity, DIRECTION_SOUTH); - sub_8085860(LeaderEntity->posWorld.x, LeaderEntity->posWorld.y - 3); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_SMEARGLE); + sub_8085860(LeaderEntity->pos.x, LeaderEntity->pos.y - 3); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_SMEARGLE); } // Smeargle Rescue dialogue scene void SmeargleRescueDialogue(void) { - struct DungeonEntity *SmeargleEntity; + struct Entity *SmeargleEntity; s32 counter; SmeargleEntity = GetEntityFromClientType(0x1F); @@ -5097,25 +5097,25 @@ void SmeargleRescueDialogue(void) sub_803E708(0x20, 0x46); sub_8042B0C(SmeargleEntity); sub_8068FE0(SmeargleEntity, 0x21C, 0); - gDungeonGlobalData->unk4 = 1; - gDungeonGlobalData->unk11 = 4; + gDungeon->unk4 = 1; + gDungeon->unk11 = 4; } void sub_808CD44(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *SmeargleEntity; + struct Entity *LeaderEntity; + struct Entity *SmeargleEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); SmeargleEntity = GetEntityFromClientType(0x1F); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); sub_80854D4(); sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); sub_8068FE0(SmeargleEntity, 0x21C, 0); - sub_8085860(LeaderEntity->posWorld.x, LeaderEntity->posWorld.y - 3); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_SMEARGLE); + sub_8085860(LeaderEntity->pos.x, LeaderEntity->pos.y - 3); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_SMEARGLE); } void sub_808CD9C(u8 r0) diff --git a/src/code_8069E0C.c b/src/code_8069E0C.c index a97c91950..7d3a64865 100644 --- a/src/code_8069E0C.c +++ b/src/code_8069E0C.c @@ -31,76 +31,76 @@ extern u8 *gUnknown_80FCC7C[]; extern u8 *gUnknown_80FCCAC[]; extern u8 *gUnknown_80FDCC8[]; -extern void SetMessageArgument(char[], struct DungeonEntity*, u32); -void sub_80522F4(struct DungeonEntity *r0, struct DungeonEntity *r1, const char r2[]); -extern void sub_8042900(struct DungeonEntity *r0); -extern void sub_8042968(struct DungeonEntity *r0); -extern void sub_806ABAC(struct DungeonEntity *, struct DungeonEntity *); -extern void PausedStatusTarget(struct DungeonEntity *, struct DungeonEntity *,u32,u32,u32); -void sub_8041BBC(struct DungeonEntity *r0); -extern u8 sub_8045888(struct DungeonEntity *); -extern void sub_806A2BC(struct DungeonEntity *, u8); +extern void SetMessageArgument(char[], struct Entity*, u32); +void sub_80522F4(struct Entity *r0, struct Entity *r1, const char r2[]); +extern void sub_8042900(struct Entity *r0); +extern void sub_8042968(struct Entity *r0); +extern void sub_806ABAC(struct Entity *, struct Entity *); +extern void PausedStatusTarget(struct Entity *, struct Entity *,u32,u32,u32); +void sub_8041BBC(struct Entity *r0); +extern u8 sub_8045888(struct Entity *); +extern void sub_806A2BC(struct Entity *, u8); extern void sub_804178C(u32); -extern void sub_803F508(struct DungeonEntity *); +extern void sub_803F508(struct Entity *); extern void sub_804AC20(struct Position *); extern u8 sub_8092364(u8); extern void sub_803E46C(u32); extern void sub_803E708(u32 r0, u32 r1); -void sub_8069E0C(struct DungeonEntity *pokemon) +void sub_8069E0C(struct Entity *pokemon) { s32 index; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; - entityData = pokemon->entityData; + entityData = pokemon->info; if (HasAbility(pokemon, ABILITY_FORECAST)) { - entityData->types[0] = gUnknown_80F520C[GetWeather(pokemon)].unk0; + entityData->types[0] = gUnknown_80F520C[GetApparentWeather(pokemon)].unk0; entityData->types[1] = TYPE_NONE; } else { for(index = 0; index < 2; index++) - entityData->types[index] = GetPokemonType(entityData->entityID, index); + entityData->types[index] = GetPokemonType(entityData->id, index); } for(index = 0; index < 2; index++) - entityData->abilities[index] = GetPokemonAbility(entityData->entityID, index); - gDungeonGlobalData->unkC = 1; + entityData->abilities[index] = GetPokemonAbility(entityData->id, index); + gDungeon->unkC = 1; } void TriggerWeatherAbilities(void) { - struct DungeonEntity *entity; + struct Entity *entity; s32 index; - if (gDungeonGlobalData->unkC != 0) { - gDungeonGlobalData->unkC = 0; - gDungeonGlobalData->negateWeatherEffects = FALSE; + if (gDungeon->unkC != 0) { + gDungeon->unkC = 0; + gDungeon->nullifyWeather = FALSE; for(index = 0; index < DUNGEON_MAX_POKEMON; index++) { - entity = gDungeonGlobalData->allPokemon[index]; + entity = gDungeon->allPokemon[index]; if (EntityExists(entity)) { if (HasAbility(entity, ABILITY_DRIZZLE)) { - gDungeonGlobalData->startingWeather[WEATHER_RAIN] = 1; + gDungeon->naturalWeather[WEATHER_RAIN] = 1; } else if (HasAbility(entity, ABILITY_SAND_STREAM)) { - gDungeonGlobalData->startingWeather[WEATHER_SANDSTORM] = 1; + gDungeon->naturalWeather[WEATHER_SANDSTORM] = 1; } else if (HasAbility(entity, ABILITY_DROUGHT)) { - gDungeonGlobalData->startingWeather[WEATHER_SUNNY] = 1; + gDungeon->naturalWeather[WEATHER_SUNNY] = 1; } if ((HasAbility(entity, ABILITY_AIR_LOCK)) || (HasAbility(entity, ABILITY_CLOUD_NINE))) { - gDungeonGlobalData->negateWeatherEffects = TRUE; + gDungeon->nullifyWeather = TRUE; } } } } } -s32 sub_8069F54(struct DungeonEntity *pokemon, s16 param_2) +s32 sub_8069F54(struct Entity *pokemon, s16 param_2) { if ((((param_2 * 0x10000) + 0xfe880000U) >> 0x10) < 4) { if (HasAbility(pokemon, ABILITY_FORECAST)) { - return gUnknown_80F520C[GetWeather(pokemon)].unk2; + return gUnknown_80F520C[GetApparentWeather(pokemon)].unk2; } else { return 0x178; @@ -109,14 +109,14 @@ s32 sub_8069F54(struct DungeonEntity *pokemon, s16 param_2) return param_2; } -static inline u8 sub_8069F9C_sub(struct DungeonEntity *pokemon) +static inline u8 sub_8069F9C_sub(struct Entity *pokemon) { u32 weather; - weather = GetWeather(pokemon); + weather = GetApparentWeather(pokemon); return gUnknown_80F51E4[weather]; } -void sub_8069F9C(struct DungeonEntity *pokemon,struct DungeonEntity * target,struct PokemonMove *move) +void sub_8069F9C(struct Entity *pokemon,struct Entity * target,struct Move *move) { u8 type; u8 ability; @@ -124,9 +124,9 @@ void sub_8069F9C(struct DungeonEntity *pokemon,struct DungeonEntity * target,str register s32 abilityCounter asm("r1"); // r1 int randomIndex; int abilityIndex; - struct DungeonEntityData *iVar6; // r7 - struct DungeonEntityData *iVar7; // r2 - struct DungeonEntityData *iVar8; + struct EntityInfo *iVar6; // r7 + struct EntityInfo *iVar7; // r2 + struct EntityInfo *iVar8; u8 local_20 [4]; if (!EntityExists(pokemon)) { @@ -139,9 +139,9 @@ void sub_8069F9C(struct DungeonEntity *pokemon,struct DungeonEntity * target,str return; } - iVar7 = pokemon->entityData; + iVar7 = pokemon->info; iVar8 = iVar7; - iVar6 = target->entityData; + iVar6 = target->info; abilityIndex = -1; if (iVar6->abilities[0] == ABILITY_TRACE) { abilityIndex = 0; @@ -152,12 +152,12 @@ void sub_8069F9C(struct DungeonEntity *pokemon,struct DungeonEntity * target,str if (-1 < abilityIndex) { abilityCounter = 0; ability = iVar7->abilities[0]; - if (ability != ABILITY_NONE) { + if (ability != ABILITY_UNKNOWN) { local_20[0] = ability; abilityCounter = 1; } ability = iVar8->abilities[1]; - if (ability != ABILITY_NONE) { + if (ability != ABILITY_UNKNOWN) { local_20[abilityCounter] = ability; abilityCounter++; } @@ -166,11 +166,11 @@ void sub_8069F9C(struct DungeonEntity *pokemon,struct DungeonEntity * target,str randomIndex = 0; } else { - randomIndex = DungeonRandomCapped(abilityCounter); + randomIndex = DungeonRandInt(abilityCounter); if (randomIndex < 0) goto _0806A068; } iVar6->abilities[abilityIndex] = local_20[randomIndex]; - gDungeonGlobalData->unkC = 1; + gDungeon->unkC = 1; SetMessageArgument(gAvailablePokemonNames,target,0); sub_80522F4(pokemon,target,*gUnknown_80FCC7C); sub_8042900(target); @@ -181,11 +181,11 @@ _0806A068: if (iVar6->unk15A != 0) { iVar6->unk15A = 0; if (HasAbility(target, ABILITY_COLOR_CHANGE)) { - type = GetMoveTypeForPokemon(pokemon,move); - if (move->moveID == MOVE_WEATHER_BALL) { + type = GetMoveTypeForMonster(pokemon,move); + if (move->id == MOVE_WEATHER_BALL) { type = sub_8069F9C_sub(pokemon); } - if ((type != TYPE_NONE) && (!HasType(target,type))) { + if ((type != TYPE_NONE) && (!MonsterIsType(target,type))) { iVar6->types[0] = type; iVar6->types[1] = TYPE_NONE; iVar6->isColorChanged = TRUE; @@ -199,16 +199,16 @@ _0806A068: } } -void sub_806A120(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove* move) +void sub_806A120(struct Entity * pokemon, struct Entity * target, struct Move* move) { u32 uVar2_u32; u8 moveType; const char *typeString; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if ((((EntityExists(pokemon)) && (EntityExists(target))) && (pokemon != target)) - && (entityData = target->entityData, entityData->protectionStatus == 0xC)) { - moveType = GetMoveTypeForPokemon(pokemon, move); + && (entityData = target->info, entityData->protectionStatus == 0xC)) { + moveType = GetMoveTypeForMonster(pokemon, move); uVar2_u32 = sub_8092364(moveType); if (uVar2_u32 != TYPE_NONE) { entityData->types[0] = uVar2_u32; @@ -222,23 +222,23 @@ void sub_806A120(struct DungeonEntity * pokemon, struct DungeonEntity * target, } } -void sub_806A1B0(struct DungeonEntity *pokemon) +void sub_806A1B0(struct Entity *pokemon) { if ((EntityExists(pokemon)) && (HasAbility(pokemon, ABILITY_TRUANT))) { PausedStatusTarget(pokemon,pokemon,0,1,0); } } -void sub_806A1E8(struct DungeonEntity *pokemon) +void sub_806A1E8(struct Entity *pokemon) { bool8 bVar3; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; bVar3 = FALSE; if (EntityExists(pokemon)) { - if (GetEntityType(pokemon) == ENTITY_POKEMON) { - entityData = pokemon->entityData; - bVar3 = (!entityData->isEnemy); + if (GetEntityType(pokemon) == ENTITY_MONSTER) { + entityData = pokemon->info; + bVar3 = (!entityData->isNotTeamMember); } if (gUnknown_203B46C->unk1 == '\0') { bVar3 = FALSE; @@ -249,44 +249,44 @@ void sub_806A1E8(struct DungeonEntity *pokemon) } } -void sub_806A240(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_806A240(struct Entity *pokemon, struct Entity *target) { - bool8 isEnemy; - struct DungeonEntityData *entityData; + bool8 isNotTeamMember; + struct EntityInfo *entityData; - isEnemy = FALSE; + isNotTeamMember = FALSE; if (EntityExists(pokemon)){ - if (GetEntityType(pokemon) == ENTITY_POKEMON) { - entityData = pokemon->entityData; - isEnemy = (!entityData->isEnemy); + if (GetEntityType(pokemon) == ENTITY_MONSTER) { + entityData = pokemon->info; + isNotTeamMember = (!entityData->isNotTeamMember); } - if (isEnemy && (sub_8045888(pokemon) == '\0')) { + if (isNotTeamMember && (sub_8045888(pokemon) == '\0')) { sub_806A2BC(pokemon,1); return; } - else if (GetEntityType(target) == ENTITY_POKEMON) { - entityData = target->entityData; - isEnemy = (!entityData->isEnemy); + else if (GetEntityType(target) == ENTITY_MONSTER) { + entityData = target->info; + isNotTeamMember = (!entityData->isNotTeamMember); } - if (isEnemy && (sub_8045888(target) == '\0')) { + if (isNotTeamMember && (sub_8045888(target) == '\0')) { sub_806A2BC(target,1); } } } -void sub_806A2BC(struct DungeonEntity *pokemon, u8 param_2) +void sub_806A2BC(struct Entity *pokemon, u8 param_2) { - if ((EntityExists(pokemon)) && (GetEntityType(pokemon) == ENTITY_POKEMON) && (gDungeonGlobalData->leader != pokemon)) { + if ((EntityExists(pokemon)) && (GetEntityType(pokemon) == ENTITY_MONSTER) && (gDungeon->cameraTarget != pokemon)) { if (param_2 != '\0') { sub_804178C(1); - while (gDungeonGlobalData->unk12 < 0x3c) { + while (gDungeon->unk12 < 0x3c) { sub_803E46C(0x34); } } sub_803E708(4,0x44); sub_803F508(pokemon); - sub_804AC20(&pokemon->posWorld); - gDungeonGlobalData->unk12 = 0; + sub_804AC20(&pokemon->pos); + gDungeon->unk12 = 0; } } diff --git a/src/code_806CD90.c b/src/code_806CD90.c index 7ea60ff3f..2cf581bba 100644 --- a/src/code_806CD90.c +++ b/src/code_806CD90.c @@ -7,11 +7,11 @@ #include "pokemon.h" #include "tile_types.h" -extern u8 sub_806CEBC(struct DungeonEntity *); -extern void sub_806CCB4(struct DungeonEntity *, u8); +extern u8 sub_806CEBC(struct Entity *); +extern void sub_806CCB4(struct Entity *, u8); extern void sub_803E46C(u32); extern bool8 sub_808DA44(s32 a1_, u32 a2_); -extern u32 sub_806CF98(struct DungeonEntity *); +extern u32 sub_806CF98(struct Entity *); extern const u8 gUnknown_8106EEF[]; extern const u8 gDungeonWaterType[]; @@ -19,31 +19,31 @@ extern const u8 gDungeonWaterType[]; void sub_806CD90(void) { s32 iVar3; - struct DungeonEntity *iVar2; + struct Entity *iVar2; for(iVar3 = 0; iVar3 < DUNGEON_MAX_POKEMON; iVar3++) { - iVar2 = gDungeonGlobalData->allPokemon[iVar3]; + iVar2 = gDungeon->allPokemon[iVar3]; if(EntityExists(iVar2)) sub_806CCB4(iVar2, sub_806CEBC(iVar2)); } } -void sub_806CDD4(struct DungeonEntity *r0, u8 r1, u32 r2) +void sub_806CDD4(struct Entity *r0, u8 r1, u32 r2) { - if(GetEntityType(r0) == ENTITY_POKEMON) + if(GetEntityType(r0) == ENTITY_MONSTER) { r0->unk6A = r1; - if(r2 < NUM_DIRECTIONS) r0->facingDir = r2; + if(r2 < NUM_DIRECTIONS) r0->direction = r2; } } -void sub_806CDFC(struct DungeonEntity *r0, u8 r1, u32 r2) +void sub_806CDFC(struct Entity *r0, u8 r1, u32 r2) { - if(GetEntityType(r0) == ENTITY_POKEMON) + if(GetEntityType(r0) == ENTITY_MONSTER) { if(r0->unk6B == r1) { - if(r0->facingDir2 == r2) + if(r0->direction2 == r2) return; else goto change_dir; @@ -56,128 +56,128 @@ change_dir: } } -void sub_806CE34(struct DungeonEntity *r0, u32 newDir) +void sub_806CE34(struct Entity *r0, u32 newDir) { - if(GetEntityType(r0) == ENTITY_POKEMON) + if(GetEntityType(r0) == ENTITY_MONSTER) { r0->unk6A = sub_806CEBC(r0); if(newDir < NUM_DIRECTIONS) { - r0->entityData->action.facingDir = newDir & DIRECTION_MASK; - r0->facingDir = newDir & DIRECTION_MASK; + r0->info->action.direction = newDir & DIRECTION_MASK; + r0->direction = newDir & DIRECTION_MASK; } } } -void sub_806CE68(struct DungeonEntity *r0, u32 newDir) +void sub_806CE68(struct Entity *r0, u32 newDir) { - if(GetEntityType(r0) == ENTITY_POKEMON) + if(GetEntityType(r0) == ENTITY_MONSTER) { r0->unk6A = sub_806CEBC(r0); if(newDir < NUM_DIRECTIONS) { - r0->facingDir = newDir; + r0->direction = newDir; } } } -void sub_806CE94(struct DungeonEntity *r0, u32 newDir) +void sub_806CE94(struct Entity *r0, u32 newDir) { - if(GetEntityType(r0) == ENTITY_POKEMON) + if(GetEntityType(r0) == ENTITY_MONSTER) { r0->unk6A = 6; if(newDir < NUM_DIRECTIONS) { - r0->facingDir = newDir; + r0->direction = newDir; } } } -u8 sub_806CEBC(struct DungeonEntity *param_1) +u8 sub_806CEBC(struct Entity *param_1) { - u8 sleepStatus; - struct DungeonEntityData * iVar2; - struct DungeonEntityData * iVar3; + u8 sleep; + struct EntityInfo * iVar2; + struct EntityInfo * iVar3; // NOTE: copy needed to match - iVar2 = param_1->entityData; - iVar3 = param_1->entityData; - sleepStatus = iVar2->sleepStatus; + iVar2 = param_1->info; + iVar3 = param_1->info; + sleep = iVar2->sleep; - if ((sleepStatus == SLEEP_STATUS_SLEEP) || (sleepStatus == SLEEP_STATUS_NAPPING) || (sleepStatus == SLEEP_STATUS_NIGHTMARE)) { - if ((iVar3->transformSpecies != SPECIES_SUDOWOODO) || (iVar3->sleepStatusTurnsLeft != 0x7f)) { + if ((sleep == STATUS_SLEEP) || (sleep == STATUS_NAPPING) || (sleep == STATUS_NIGHTMARE)) { + if ((iVar3->apparentID != MONSTER_SUDOWOODO) || (iVar3->sleepTurns != 0x7f)) { return 5; } else return 7; } - else if (iVar3->chargingStatus == CHARGING_STATUS_BIDE) { + else if (iVar3->chargingStatus == STATUS_BIDE) { return 0xB; } return 0x7; } -void sub_806CEFC(struct DungeonEntity *param_1, u32 newDir) +void sub_806CEFC(struct Entity *param_1, u32 newDir) { - param_1->entityData->action.facingDir = newDir & DIRECTION_MASK; + param_1->info->action.direction = newDir & DIRECTION_MASK; sub_806CE68(param_1, (newDir & DIRECTION_MASK)); } -void sub_806CF18(struct DungeonEntity *param_1) +void sub_806CF18(struct Entity *param_1) { s32 iVar2; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(param_1)) { - entityData = param_1->entityData; + entityData = param_1->info; for (iVar2 = 0; iVar2 < 100; iVar2++) { sub_803E46C(0x21); - if (!sub_808DA44(entityData->transformSpecies, param_1->unk6B)) { + if (!sub_808DA44(entityData->apparentID, param_1->unk6B)) { break; } } } } -u8 sub_806CF54(struct DungeonEntity *param_1) +u8 sub_806CF54(struct Entity *param_1) { - return param_1->entityData->unk204; + return param_1->info->unk204; } void sub_806CF60(void) { - struct DungeonEntity *uVar2; + struct Entity *uVar2; s32 iVar3; for(iVar3 = 0; iVar3 < DUNGEON_MAX_POKEMON; iVar3++) { - uVar2 = gDungeonGlobalData->allPokemon[iVar3]; + uVar2 = gDungeon->allPokemon[iVar3]; if (EntityExists(uVar2)) { sub_806CF98(uVar2); } } } -u32 sub_806CF98(struct DungeonEntity *param_1) +u32 sub_806CF98(struct Entity *param_1) { - struct MapTile *mapTile; + struct Tile *mapTile; u32 uVar3; - u16 tileType; - struct DungeonEntityData *entityData; + u16 terrainType; + struct EntityInfo *entityData; - mapTile = GetMapTileForDungeonEntity_2(param_1); - tileType = mapTile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID); - entityData = param_1->entityData; - uVar3 = GetShadowSize(entityData->transformSpecies); - if (tileType == (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID)) { + mapTile = GetTileAtEntitySafe(param_1); + terrainType = mapTile->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY); + entityData = param_1->info; + uVar3 = GetShadowSize(entityData->apparentID); + if (terrainType == (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY)) { return 6; } - if (tileType == TILE_TYPE_FLOOR) { + if (terrainType == TERRAIN_TYPE_NORMAL) { if (IsWaterTileset()) { uVar3 = gUnknown_8106EEF[uVar3]; } } - else if ((tileType == TILE_TYPE_LIQUID) && (gDungeonWaterType[gDungeonGlobalData->tileset] != DUNGEON_WATER_TYPE_LAVA)) + else if ((terrainType == TERRAIN_TYPE_SECONDARY) && (gDungeonWaterType[gDungeon->tileset] != DUNGEON_WATER_TYPE_LAVA)) uVar3 = gUnknown_8106EEF[uVar3]; entityData->unk204 = uVar3; return uVar3; diff --git a/src/code_8073CF0.c b/src/code_8073CF0.c index f9bf10f39..b44211c85 100644 --- a/src/code_8073CF0.c +++ b/src/code_8073CF0.c @@ -1,21 +1,21 @@ #include "global.h" #include "dungeon_entity.h" -extern void sub_8067110(struct DungeonEntity *); -extern void sub_80671A0(struct DungeonEntity *); -extern void sub_8073D14(struct DungeonEntity *); +extern void sub_8067110(struct Entity *); +extern void sub_80671A0(struct Entity *); +extern void sub_8073D14(struct Entity *); -void sub_8073CF0(struct DungeonEntity *pokemon) +void sub_8073CF0(struct Entity *pokemon) { sub_8067110(pokemon); } -void sub_8073CFC(struct DungeonEntity *pokemon) +void sub_8073CFC(struct Entity *pokemon) { sub_80671A0(pokemon); } -void sub_8073D08(struct DungeonEntity *pokemon) +void sub_8073D08(struct Entity *pokemon) { sub_8073D14(pokemon); } diff --git a/src/code_8077274_1.c b/src/code_8077274_1.c index 5d58d84a5..6fa16f5a4 100644 --- a/src/code_8077274_1.c +++ b/src/code_8077274_1.c @@ -164,66 +164,66 @@ extern u8 *gUnknown_80FBF84[]; extern void sub_8049ED4(); extern void sub_8040A84(); extern void sub_803E46C(u32); -extern u8 sub_806CEBC(struct DungeonEntity *); -extern void sub_806CCB4(struct DungeonEntity *, u8); -extern void SetMessageArgument(u8 *buffer, struct DungeonEntity *r1, u32); -extern void sub_80522F4(struct DungeonEntity *pokemon, struct DungeonEntity *r1, const char[]); -extern void DungeonEntityUpdateStatusSprites(struct DungeonEntity *); -extern void sub_8042A74(struct DungeonEntity *r0); +extern u8 sub_806CEBC(struct Entity *); +extern void sub_806CCB4(struct Entity *, u8); +extern void SetMessageArgument(u8 *buffer, struct Entity *r1, u32); +extern void sub_80522F4(struct Entity *pokemon, struct Entity *r1, const char[]); +extern void DungeonEntityUpdateStatusSprites(struct Entity *); +extern void sub_8042A74(struct Entity *r0); extern void sub_807EC28(u32); -extern s32 sub_8069F54(struct DungeonEntity *param_1, s16 param_2); +extern s32 sub_8069F54(struct Entity *param_1, s16 param_2); extern u32 sub_80687D0(s16); -extern void sub_806A898(struct DungeonEntity *, u32, u32); -extern void HealTargetHP(struct DungeonEntity *pokemon, struct DungeonEntity *r1, s16, s16, u32); -extern void sub_806CE68(struct DungeonEntity *, s32); -extern void sub_806F324(struct DungeonEntity *, s16, u32, u32); -extern void sub_806BFC0(struct DungeonEntityData *, u32); -extern void sub_80420C8(struct DungeonEntity *r0); -extern void nullsub_68(struct DungeonEntity *); -extern void nullsub_67(struct DungeonEntity *); -extern void nullsub_66(struct DungeonEntity *); -extern void nullsub_65(struct DungeonEntity *); -extern void nullsub_64(struct DungeonEntity *); -extern void nullsub_63(struct DungeonEntity *); -extern void nullsub_62(struct DungeonEntity *); -extern void nullsub_61(struct DungeonEntity *); -extern void nullsub_60(struct DungeonEntity *); -extern void nullsub_59(struct DungeonEntity *); -extern void nullsub_58(struct DungeonEntity *); -extern void nullsub_57(struct DungeonEntity *); -extern void sub_8041B34(struct DungeonEntity *); -void sub_8041BD0(struct DungeonEntity *r0, u8 r1); -void sub_8041EB4(struct DungeonEntity *); -void sub_8041EA4(struct DungeonEntity *); -extern void sub_8041E84(struct DungeonEntity *); -extern void sub_8041E94(struct DungeonEntity *); -extern void sub_8041E74(struct DungeonEntity *); -extern void sub_8041E60(struct DungeonEntity *); -extern void sub_8041E4C(struct DungeonEntity *); -extern void sub_8041E3C(struct DungeonEntity *); +extern void sub_806A898(struct Entity *, u32, u32); +extern void HealTargetHP(struct Entity *pokemon, struct Entity *r1, s16, s16, u32); +extern void sub_806CE68(struct Entity *, s32); +extern void sub_806F324(struct Entity *, s16, u32, u32); +extern void sub_806BFC0(struct EntityInfo *, u32); +extern void sub_80420C8(struct Entity *r0); +extern void nullsub_68(struct Entity *); +extern void nullsub_67(struct Entity *); +extern void nullsub_66(struct Entity *); +extern void nullsub_65(struct Entity *); +extern void nullsub_64(struct Entity *); +extern void nullsub_63(struct Entity *); +extern void nullsub_62(struct Entity *); +extern void nullsub_61(struct Entity *); +extern void nullsub_60(struct Entity *); +extern void nullsub_59(struct Entity *); +extern void nullsub_58(struct Entity *); +extern void nullsub_57(struct Entity *); +extern void sub_8041B34(struct Entity *); +void sub_8041BD0(struct Entity *r0, u8 r1); +void sub_8041EB4(struct Entity *); +void sub_8041EA4(struct Entity *); +extern void sub_8041E84(struct Entity *); +extern void sub_8041E94(struct Entity *); +extern void sub_8041E74(struct Entity *); +extern void sub_8041E60(struct Entity *); +extern void sub_8041E4C(struct Entity *); +extern void sub_8041E3C(struct Entity *); extern void sub_803F580(u32); -extern void sub_8041E1C(struct DungeonEntity *); -extern void nullsub_89(struct DungeonEntity *); -extern void nullsub_88(struct DungeonEntity *); -extern void nullsub_87(struct DungeonEntity *); -extern void nullsub_86(struct DungeonEntity *); -extern void sub_8041E0C(struct DungeonEntity *); -extern void sub_8041DD8(struct DungeonEntity *r0, s32 r1); // NOTE: is s16 in another file +extern void sub_8041E1C(struct Entity *); +extern void nullsub_89(struct Entity *); +extern void nullsub_88(struct Entity *); +extern void nullsub_87(struct Entity *); +extern void nullsub_86(struct Entity *); +extern void sub_8041E0C(struct Entity *); +extern void sub_8041DD8(struct Entity *r0, s32 r1); // NOTE: is s16 in another file extern s32 sub_803D870(void *, u32); -extern void sub_806CF98(struct DungeonEntity *); +extern void sub_806CF98(struct Entity *); extern bool8 sub_806AA0C(s32, u32); u32 ExtractSpeciesIndex(struct PokemonStruct **r0); // TODO: look more into this and fix it. -void MuzzleTarget(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void MuzzleTarget(struct Entity *pokemon, struct Entity *target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if ((EntityExists(target)) && (!HasSafeguardStatus(pokemon, target, TRUE))) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->muzzledStatus != MUZZLED_STATUS_MUZZLED) { - entityData->muzzledStatus = MUZZLED_STATUS_MUZZLED; - entityData->muzzledTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4F1C, TRUE) + 1; + if (entityData->muzzled != TRUE) { + entityData->muzzled = TRUE; + entityData->muzzledTurns = CalculateStatusTurns(target,gUnknown_80F4F1C, TRUE) + 1; nullsub_86(target); sub_80522F4(pokemon, target, *gUnknown_80FBF68); } @@ -236,21 +236,21 @@ void MuzzleTarget(struct DungeonEntity *pokemon, struct DungeonEntity *target) } // TODO: still gross but does match -void sub_8078E18(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void sub_8078E18(struct Entity * pokemon, struct Entity * target) { s16 species; s32 iVar5; - s32 transformSpecies; - s16 transformSpecies_s16; + s32 apparentID; + s16 apparentID_s16; s32 index; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; s32 iVar9; struct PokemonStruct *auStack544[128]; if (EntityExists(target)) { - entityData = target->entityData; - if (entityData->transformStatus == TRANSFORM_STATUS_TRANSFORMED) { + entityData = target->info; + if (entityData->transformStatus == STATUS_TRANSFORMED) { sub_80522F4(pokemon,target,*gUnknown_80FBF04); } else { @@ -265,11 +265,11 @@ void sub_8078E18(struct DungeonEntity * pokemon, struct DungeonEntity * target) for(index = 0; index < DUNGEON_MAX_POKEMON; index++) { - species = ExtractSpeciesIndex(&auStack544[DungeonRandomCapped(iVar5) << 1]); - transformSpecies_s16 = sub_8069F54(target, species); - transformSpecies = transformSpecies_s16; - if (((transformSpecies != entityData->transformSpecies) && (sub_806AA0C(transformSpecies, 1))) && - (iVar9 = sub_80687D0(transformSpecies), iVar9 != 0)) break; + species = ExtractSpeciesIndex(&auStack544[DungeonRandInt(iVar5) << 1]); + apparentID_s16 = sub_8069F54(target, species); + apparentID = apparentID_s16; + if (((apparentID != entityData->apparentID) && (sub_806AA0C(apparentID, 1))) && + (iVar9 = sub_80687D0(apparentID), iVar9 != 0)) break; } if ((index == DUNGEON_MAX_POKEMON) || (iVar9 == 0)) { print: @@ -277,14 +277,14 @@ print: } else { - entityData->transformSpecies = transformSpecies; + entityData->apparentID = apparentID; target->unk64 = iVar9; - entityData->transformStatus = TRANSFORM_STATUS_TRANSFORMED; - entityData->transformStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4EFC,TRUE) + 1; + entityData->transformStatus = STATUS_TRANSFORMED; + entityData->transformStatusTurns = CalculateStatusTurns(target,gUnknown_80F4EFC,TRUE) + 1; sub_806CF98(target); nullsub_87(target); sub_806CCB4(target, sub_806CEBC(target)); - CopyCyanSpeciesNametoBuffer(gUnknown_202DFE8, entityData->transformSpecies); + CopyCyanMonsterNametoBuffer(gUnknown_202DFE8, entityData->apparentID); sub_80522F4(pokemon,target,*gUnknown_80FBEC0); DungeonEntityUpdateStatusSprites(target); } @@ -293,23 +293,23 @@ print: } } -void sub_8078F50(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void sub_8078F50(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData_1; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData_1; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData_1 = target->entityData; + entityData_1 = target->info; entityData = entityData_1; - if (entityData->transformStatus == TRANSFORM_STATUS_TRANSFORMED) { + if (entityData->transformStatus == STATUS_TRANSFORMED) { SendTransformEndMessage(pokemon,target); } SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->transformStatus != TRANSFORM_STATUS_MOBILE) { - entityData->transformStatus = TRANSFORM_STATUS_MOBILE; - entityData->transformStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4F04, FALSE) + 1; + if (entityData->transformStatus != STATUS_MOBILE) { + entityData->transformStatus = STATUS_MOBILE; + entityData->transformStatusTurns = CalculateStatusTurns(target,gUnknown_80F4F04, FALSE) + 1; nullsub_88(target); sub_80522F4(pokemon,target,*gUnknown_80FBF28); } @@ -320,9 +320,9 @@ void sub_8078F50(struct DungeonEntity * pokemon, struct DungeonEntity * target) } } -void ExposeStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s16 param_3) +void ExposeStatusTarget(struct Entity * pokemon, struct Entity * target, s16 param_3) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; s32 param_3_s16; s32 param_3_s16_2; bool32 flag; @@ -334,10 +334,10 @@ void ExposeStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * t flag2 = FALSE; if ((EntityExists(target)) && (!HasSafeguardStatus(pokemon,target,TRUE))) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->accuracyStages[1] > 10) { - entityData->accuracyStages[1] = 10; + if (entityData->hitChancesStages[1] > 10) { + entityData->hitChancesStages[1] = 10; flag = TRUE; } if(flag) @@ -346,7 +346,7 @@ void ExposeStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * t sub_80522F4(pokemon,target,*gUnknown_80FC000); flag2 = TRUE; } - if (entityData->exposedStatus) { + if (entityData->exposed) { sub_80522F4(pokemon,target,*gUnknown_80FBFB8); } else @@ -354,11 +354,11 @@ void ExposeStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * t if (!flag2) { sub_8041DD8(target,param_3_s16_2); } - if (!HasType(target, TYPE_GHOST)) { + if (!MonsterIsType(target, TYPE_GHOST)) { sub_80522F4(pokemon,target,*gUnknown_80FBFD8); } else { - entityData->exposedStatus = TRUE; + entityData->exposed = TRUE; sub_80522F4(pokemon,target,*gUnknown_80FBF9C); } DungeonEntityUpdateStatusSprites(target); @@ -366,15 +366,15 @@ void ExposeStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * t } } -void IdentityItemHolders(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void IdentityItemHolders(struct Entity *pokemon, struct Entity *target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if ((EntityExists(target)) && (!HasSafeguardStatus(pokemon, target, TRUE))) { - entityData = target->entityData; - if (!gDungeonGlobalData->itemHoldersIdentified) { + entityData = target->info; + if (!gDungeon->itemHoldersIdentified) { nullsub_89(target); - gDungeonGlobalData->itemHoldersIdentified = TRUE; + gDungeon->itemHoldersIdentified = TRUE; DungeonEntityUpdateStatusSprites(target); sub_80522F4(pokemon,target,*gUnknown_80FC028); } @@ -385,16 +385,16 @@ void IdentityItemHolders(struct DungeonEntity *pokemon, struct DungeonEntity *ta } } -void BlindTarget(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void BlindTarget(struct Entity *pokemon, struct Entity *target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if ((EntityExists(target)) && (!HasSafeguardStatus(pokemon, target, TRUE))) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->eyesightStatus != EYESIGHT_STATUS_BLINKER) { - entityData->eyesightStatus = EYESIGHT_STATUS_BLINKER; - entityData->eyesightStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4F08, TRUE) + 1; + if (entityData->eyesightStatus != STATUS_BLINKER) { + entityData->eyesightStatus = STATUS_BLINKER; + entityData->eyesightStatusTurns = CalculateStatusTurns(target,gUnknown_80F4F08, TRUE) + 1; sub_8041E0C(target); sub_80522F4(pokemon,target,*gUnknown_80FB7F4); sub_803E46C(0x31); @@ -409,21 +409,21 @@ void BlindTarget(struct DungeonEntity *pokemon, struct DungeonEntity *target) } } -void CrossEyeVisionTarget(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void CrossEyeVisionTarget(struct Entity *pokemon, struct Entity *target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { if(!HasSafeguardStatus(pokemon, target, TRUE)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->eyesightStatus != EYESIGHT_STATUS_CROSS_EYED) { + if (entityData->eyesightStatus != STATUS_CROSS_EYED) { sub_8041E1C(target); sub_80522F4(pokemon,target,*gUnknown_80FB834); - entityData->eyesightStatus = EYESIGHT_STATUS_CROSS_EYED; - entityData->eyesightStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4F0C, TRUE) + 1; + entityData->eyesightStatus = STATUS_CROSS_EYED; + entityData->eyesightStatusTurns = CalculateStatusTurns(target,gUnknown_80F4F0C, TRUE) + 1; sub_803F580(0x1); sub_8049ED4(); sub_8040A84(); @@ -437,17 +437,17 @@ void CrossEyeVisionTarget(struct DungeonEntity *pokemon, struct DungeonEntity *t } } -void RestoreVisionTarget(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void RestoreVisionTarget(struct Entity *pokemon, struct Entity *target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->eyesightStatus != EYESIGHT_STATUS_EYEDROPS) { - entityData->eyesightStatus = EYESIGHT_STATUS_EYEDROPS; - entityData->eyesightStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4F10, FALSE) + 1; + if (entityData->eyesightStatus != STATUS_EYEDROPS) { + entityData->eyesightStatus = STATUS_EYEDROPS; + entityData->eyesightStatusTurns = CalculateStatusTurns(target,gUnknown_80F4F10, FALSE) + 1; sub_8041E3C(target); sub_80522F4(pokemon,target,*gUnknown_80FB880); sub_803E46C(0x31); @@ -462,19 +462,19 @@ void RestoreVisionTarget(struct DungeonEntity *pokemon, struct DungeonEntity *ta } } -void RestorePPTarget(struct DungeonEntity * pokemon,struct DungeonEntity * target, s32 param_3) +void RestorePPTarget(struct Entity * pokemon,struct Entity * target, s32 param_3) { volatile s32 PP; - volatile s32 maxPP; - struct PokemonMove *movePtr; - struct PokemonMove *movePtr1; + volatile s32 basePP; + struct Move *movePtr; + struct Move *movePtr1; s32 index; bool8 PPChanged; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; PPChanged = FALSE; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; for(index = 0; index < MAX_MON_MOVES; index++) { @@ -482,11 +482,11 @@ void RestorePPTarget(struct DungeonEntity * pokemon,struct DungeonEntity * targe movePtr1 = movePtr; if ((movePtr->moveFlags & MOVE_FLAG_EXISTS) != 0) { PP = movePtr->PP; - maxPP = GetMoveMaxPP(movePtr1); - if (PP < maxPP) { + basePP = GetMoveBasePP(movePtr1); + if (PP < basePP) { PP += param_3; - if (PP > maxPP) { - PP = maxPP; + if (PP > basePP) { + PP = basePP; } movePtr->PP = PP; PPChanged = TRUE; @@ -504,28 +504,28 @@ void RestorePPTarget(struct DungeonEntity * pokemon,struct DungeonEntity * targe } } -void sub_80793B0(struct DungeonEntity * pokemon, struct DungeonEntity *target, s32 param_3) +void sub_80793B0(struct Entity * pokemon, struct Entity *target, s32 param_3) { u32 oldStat; u32 oldStat1; s32 newStat; - struct DungeonEntityData *entityData; - struct DungeonEntityData *entityData1; + struct EntityInfo *entityData; + struct EntityInfo *entityData1; if (EntityExists(target)) { SetMessageArgument(gAvailablePokemonNames,target,0); // NOTE: had to have duplicates to match.. - entityData = target->entityData; + entityData = target->info; entityData1 = entityData; - oldStat = entityData->attack; + oldStat = entityData->atk; oldStat1 = oldStat; - newStat = entityData->attack + param_3; + newStat = entityData->atk + param_3; if (0xfe < newStat) { newStat = 0xff; } - entityData1->attack = newStat; + entityData1->atk = newStat; if (oldStat1 < (u8)newStat) { sub_8041E60(target); sub_80522F4(pokemon,target,*gUnknown_80FC33C); @@ -537,28 +537,28 @@ void sub_80793B0(struct DungeonEntity * pokemon, struct DungeonEntity *target, s } } -void sub_8079420(struct DungeonEntity * pokemon, struct DungeonEntity *target, s32 param_3) +void sub_8079420(struct Entity * pokemon, struct Entity *target, s32 param_3) { u32 oldStat; u32 oldStat1; s32 newStat; - struct DungeonEntityData *entityData; - struct DungeonEntityData *entityData1; + struct EntityInfo *entityData; + struct EntityInfo *entityData1; if (EntityExists(target)) { SetMessageArgument(gAvailablePokemonNames,target,0); // NOTE: had to have duplicates to match.. - entityData = target->entityData; + entityData = target->info; entityData1 = entityData; - oldStat = entityData->specialAttack; + oldStat = entityData->spAtk; oldStat1 = oldStat; - newStat = entityData->specialAttack + param_3; + newStat = entityData->spAtk + param_3; if (0xfe < newStat) { newStat = 0xff; } - entityData1->specialAttack = newStat; + entityData1->spAtk = newStat; if (oldStat1 < (u8)newStat) { sub_8041E74(target); sub_80522F4(pokemon,target,*gUnknown_80FC388); @@ -570,28 +570,28 @@ void sub_8079420(struct DungeonEntity * pokemon, struct DungeonEntity *target, s } } -void sub_8079490(struct DungeonEntity * pokemon, struct DungeonEntity *target, s32 param_3) +void sub_8079490(struct Entity * pokemon, struct Entity *target, s32 param_3) { u32 oldStat; u32 oldStat1; s32 newStat; - struct DungeonEntityData *entityData; - struct DungeonEntityData *entityData1; + struct EntityInfo *entityData; + struct EntityInfo *entityData1; if (EntityExists(target)) { SetMessageArgument(gAvailablePokemonNames,target,0); // NOTE: had to have duplicates to match.. - entityData = target->entityData; + entityData = target->info; entityData1 = entityData; - oldStat = entityData->defense; + oldStat = entityData->def; oldStat1 = oldStat; - newStat = entityData->defense + param_3; + newStat = entityData->def + param_3; if (0xfe < newStat) { newStat = 0xff; } - entityData1->defense = newStat; + entityData1->def = newStat; if (oldStat1 < (u8)newStat) { sub_8041E84(target); sub_80522F4(pokemon,target,*gUnknown_80FC3D8); @@ -603,28 +603,28 @@ void sub_8079490(struct DungeonEntity * pokemon, struct DungeonEntity *target, s } } -void sub_8079500(struct DungeonEntity * pokemon, struct DungeonEntity *target, s32 param_3) +void sub_8079500(struct Entity * pokemon, struct Entity *target, s32 param_3) { u32 oldStat; u32 oldStat1; s32 newStat; - struct DungeonEntityData *entityData; - struct DungeonEntityData *entityData1; + struct EntityInfo *entityData; + struct EntityInfo *entityData1; if (EntityExists(target)) { SetMessageArgument(gAvailablePokemonNames,target,0); // NOTE: had to have duplicates to match.. - entityData = target->entityData; + entityData = target->info; entityData1 = entityData; - oldStat = entityData->specialDefense; + oldStat = entityData->spDef; oldStat1 = oldStat; - newStat = entityData->specialDefense + param_3; + newStat = entityData->spDef + param_3; if (0xfe < newStat) { newStat = 0xff; } - entityData1->specialDefense = newStat; + entityData1->spDef = newStat; if (oldStat1 < (u8)newStat) { sub_8041E94(target); sub_80522F4(pokemon,target,*gUnknown_80FC428); @@ -636,14 +636,14 @@ void sub_8079500(struct DungeonEntity * pokemon, struct DungeonEntity *target, s } } -void LongTossStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void LongTossStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gUnknown_202DFE8,target,0); - if (entityData->itemStatus != ITEM_STATUS_LONG_TOSS) { - entityData->itemStatus = ITEM_STATUS_LONG_TOSS; + if (entityData->itemStatus != STATUS_LONG_TOSS) { + entityData->itemStatus = STATUS_LONG_TOSS; sub_8041EA4(target); sub_80522F4(pokemon,target,*gUnknown_80FD20C); } @@ -653,14 +653,14 @@ void LongTossStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * DungeonEntityUpdateStatusSprites(target); } -void PierceStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void PierceStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gUnknown_202DFE8,target,0); - if (entityData->itemStatus != ITEM_STATUS_PIERCE) { - entityData->itemStatus = ITEM_STATUS_PIERCE; + if (entityData->itemStatus != STATUS_PIERCE) { + entityData->itemStatus = STATUS_PIERCE; sub_8041EB4(target); sub_80522F4(pokemon,target,*gUnknown_80FD254); } @@ -670,20 +670,20 @@ void PierceStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * t DungeonEntityUpdateStatusSprites(target); } -void sub_8079618(struct DungeonEntity *pokemon, struct DungeonEntity *target, u8 newStatus, struct PokemonMove *move, u8 *message) +void sub_8079618(struct Entity *pokemon, struct Entity *target, u8 newStatus, struct Move *move, u8 *message) { bool8 bVar2; - struct PokemonMove *movePtr; + struct Move *movePtr; s32 index; bool8 uVar5; s32 iVar7; s32 iVar8; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if ((entityData->chargingStatus == newStatus) && (newStatus == CHARGING_STATUS_RAGE)) { + if ((entityData->chargingStatus == newStatus) && (newStatus == STATUS_ENRAGED)) { sub_80522F4(pokemon,target,*gUnknown_80FC074); } else { @@ -708,12 +708,12 @@ void sub_8079618(struct DungeonEntity *pokemon, struct DungeonEntity *target, u8 else if ((u8)(newStatus - 9) < 2) { entityData->unkFF = 2; } - if (newStatus == CHARGING_STATUS_BIDE) { - entityData->chargingStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4E9C, FALSE) + 1; + if (newStatus == STATUS_BIDE) { + entityData->chargingStatusTurns = CalculateStatusTurns(target,gUnknown_80F4E9C, FALSE) + 1; entityData->unkA0 = 0; } - if (newStatus == CHARGING_STATUS_RAGE) { - entityData->chargingStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4EA0, FALSE) + 1; + if (newStatus == STATUS_ENRAGED) { + entityData->chargingStatusTurns = CalculateStatusTurns(target,gUnknown_80F4EA0, FALSE) + 1; } sub_8041BD0(target,uVar5); sub_80522F4(pokemon,target,message); @@ -736,14 +736,14 @@ void sub_8079618(struct DungeonEntity *pokemon, struct DungeonEntity *target, u8 } } -void sub_8079764(struct DungeonEntity * pokemon) +void sub_8079764(struct Entity * pokemon) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(pokemon)) { - entityData = pokemon->entityData; - if ((entityData->chargingStatus != CHARGING_STATUS_BIDE) && (entityData->chargingStatus != CHARGING_STATUS_RAGE)) { - entityData->chargingStatus = CHARGING_STATUS_NONE; + entityData = pokemon->info; + if ((entityData->chargingStatus != STATUS_BIDE) && (entityData->chargingStatus != STATUS_ENRAGED)) { + entityData->chargingStatus = STATUS_NONE; entityData->unk14A = 0; entityData->unkFF = 0; } @@ -751,20 +751,20 @@ void sub_8079764(struct DungeonEntity * pokemon) } } -void sub_80797A0(struct DungeonEntity * pokemon, struct DungeonEntity * target, u8 newStatus) +void sub_80797A0(struct Entity * pokemon, struct Entity * target, u8 newStatus) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); if (entityData->protectionStatus == newStatus) { sub_80522F4(pokemon,target,*gUnknown_80FB10C); } else { nullsub_57(target); - if ((entityData->protectionStatus != PROTECTION_STATUS_COUNTER) && (entityData->protectionStatus != PROTECTION_STATUS_MINI_COUNTER)) { - entityData->protectionStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4E98, FALSE) + 1; + if ((entityData->protectionStatus != STATUS_COUNTER) && (entityData->protectionStatus != STATUS_MINI_COUNTER)) { + entityData->protectionStatusTurns = CalculateStatusTurns(target,gUnknown_80F4E98, FALSE) + 1; } entityData->protectionStatus = newStatus; sub_80522F4(pokemon,target,*gUnknown_80FB0E0); @@ -773,16 +773,16 @@ void sub_80797A0(struct DungeonEntity * pokemon, struct DungeonEntity * target, } } -void SafeguardStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void SafeguardStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->protectionStatus != PROTECTION_STATUS_SAFEGUARD) { - entityData->protectionStatus = PROTECTION_STATUS_SAFEGUARD; - entityData->protectionStatusTurnsLeft = CalculateStatusTurns(target, gUnknown_80F4E88, FALSE) + 1; + if (entityData->protectionStatus != STATUS_SAFEGUARD) { + entityData->protectionStatus = STATUS_SAFEGUARD; + entityData->protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4E88, FALSE) + 1; nullsub_58(target); sub_80522F4(pokemon,target,*gUnknown_80FB048); } @@ -793,16 +793,16 @@ void SafeguardStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity } } -void MistStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void MistStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->protectionStatus != PROTECTION_STATUS_MIST) { - entityData->protectionStatus = PROTECTION_STATUS_MIST; - entityData->protectionStatusTurnsLeft = CalculateStatusTurns(target, gUnknown_80F4E8C, FALSE) + 1; + if (entityData->protectionStatus != STATUS_MIST) { + entityData->protectionStatus = STATUS_MIST; + entityData->protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4E8C, FALSE) + 1; nullsub_59(target); sub_80522F4(pokemon,target,*gUnknown_80FB09C); } @@ -813,16 +813,16 @@ void MistStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * tar } } -void WishStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void WishStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->protectionStatus != PROTECTION_STATUS_WISH) { - entityData->protectionStatus = PROTECTION_STATUS_WISH; - entityData->protectionStatusTurnsLeft = CalculateStatusTurns(target, gUnknown_80F4EB4, FALSE) + 1; + if (entityData->protectionStatus != STATUS_WISH) { + entityData->protectionStatus = STATUS_WISH; + entityData->protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4EB4, FALSE) + 1; sub_8041B34(target); sub_80522F4(pokemon,target,*gUnknown_80FAE1C); } @@ -833,16 +833,16 @@ void WishStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * tar } } -void MagicCoatStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void MagicCoatStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->protectionStatus != PROTECTION_STATUS_MAGIC_COAT) { - entityData->protectionStatus = PROTECTION_STATUS_MAGIC_COAT; - entityData->protectionStatusTurnsLeft = CalculateStatusTurns(target, gUnknown_80F4E90, FALSE) + 1; + if (entityData->protectionStatus != STATUS_MAGIC_COAT) { + entityData->protectionStatus = STATUS_MAGIC_COAT; + entityData->protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4E90, FALSE) + 1; nullsub_60(target); sub_80522F4(pokemon,target,*gUnknown_80FAF5C); } @@ -853,16 +853,16 @@ void MagicCoatStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity } } -void LightScreenStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void LightScreenStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->protectionStatus != PROTECTION_STATUS_LIGHT_SCREEN) { - entityData->protectionStatus = PROTECTION_STATUS_LIGHT_SCREEN; - entityData->protectionStatusTurnsLeft = CalculateStatusTurns(target, gUnknown_80F4E84, FALSE) + 1; + if (entityData->protectionStatus != STATUS_LIGHT_SCREEN) { + entityData->protectionStatus = STATUS_LIGHT_SCREEN; + entityData->protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4E84, FALSE) + 1; nullsub_61(target); sub_80522F4(pokemon,target,*gUnknown_80FB130); } @@ -873,16 +873,16 @@ void LightScreenStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntit } } -void ReflectStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void ReflectStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->protectionStatus != PROTECTION_STATUS_REFLECT) { - entityData->protectionStatus = PROTECTION_STATUS_REFLECT; - entityData->protectionStatusTurnsLeft = CalculateStatusTurns(target, gUnknown_80F4E80, FALSE) + 1; + if (entityData->protectionStatus != STATUS_REFLECT) { + entityData->protectionStatus = STATUS_REFLECT; + entityData->protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4E80, FALSE) + 1; nullsub_62(target); sub_80522F4(pokemon,target,*gUnknown_80FB17C); } @@ -893,16 +893,16 @@ void ReflectStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * } } -void ProtectStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void ProtectStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { nullsub_63(target); - entityData = target->entityData; - if (entityData->protectionStatus != PROTECTION_STATUS_PROTECT) { - entityData->protectionStatus = PROTECTION_STATUS_PROTECT; - entityData->protectionStatusTurnsLeft = CalculateStatusTurns(target, gUnknown_80F4ED4, FALSE) + 1; + entityData = target->info; + if (entityData->protectionStatus != STATUS_PROTECT) { + entityData->protectionStatus = STATUS_PROTECT; + entityData->protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4ED4, FALSE) + 1; SetMessageArgument(gAvailablePokemonNames,target,0); sub_80522F4(pokemon,target,*gUnknown_80FB9B0); } @@ -914,16 +914,16 @@ void ProtectStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * } } -void MirrorCoatStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void MirrorCoatStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->protectionStatus != PROTECTION_STATUS_MIRROR_COAT) { - entityData->protectionStatus = PROTECTION_STATUS_MIRROR_COAT; - entityData->protectionStatusTurnsLeft = CalculateStatusTurns(target, gUnknown_80F4EE8, FALSE) + 1; + if (entityData->protectionStatus != STATUS_MIRROR_COAT) { + entityData->protectionStatus = STATUS_MIRROR_COAT; + entityData->protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4EE8, FALSE) + 1; nullsub_64(target); sub_80522F4(pokemon,target,*gUnknown_80FBAC0); } @@ -934,16 +934,16 @@ void MirrorCoatStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity } } -void EndureStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void EndureStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->protectionStatus != PROTECTION_STATUS_ENDURE) { - entityData->protectionStatus = PROTECTION_STATUS_ENDURE; - entityData->protectionStatusTurnsLeft = CalculateStatusTurns(target, gUnknown_80F4EF8, FALSE) + 1; + if (entityData->protectionStatus != STATUS_ENDURING) { + entityData->protectionStatus = STATUS_ENDURING; + entityData->protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4EF8, FALSE) + 1; nullsub_65(target); sub_80522F4(pokemon,target,*gUnknown_80FBBF0); } @@ -954,16 +954,16 @@ void EndureStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * t } } -void MirrorMoveStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void MirrorMoveStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->protectionStatus != PROTECTION_STATUS_MIRROR_MOVE) { - entityData->protectionStatus = PROTECTION_STATUS_MIRROR_MOVE; - entityData->protectionStatusTurnsLeft = CalculateStatusTurns(target, gUnknown_80F4F18, FALSE) + 1; + if (entityData->protectionStatus != STATUS_MIRROR_MOVE) { + entityData->protectionStatus = STATUS_MIRROR_MOVE; + entityData->protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4F18, FALSE) + 1; nullsub_66(target); sub_80522F4(pokemon,target,*gUnknown_80FBC38); } @@ -974,21 +974,21 @@ void MirrorMoveStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity } } -void Conversion2StatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void Conversion2StatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; if(HasAbility(target, ABILITY_FORECAST)) sub_80522F4(pokemon,target,*gPtrForecastPreventsConversion2Message); else { SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->protectionStatus != PROTECTION_STATUS_CONVERSION_2) { - entityData->protectionStatus = PROTECTION_STATUS_CONVERSION_2; - entityData->protectionStatusTurnsLeft = CalculateStatusTurns(target, gUnknown_80F4F20, FALSE) + 1; + if (entityData->protectionStatus != STATUS_CONVERSION2) { + entityData->protectionStatus = STATUS_CONVERSION2; + entityData->protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4F20, FALSE) + 1; nullsub_67(target); sub_80522F4(pokemon,target,*gUnknown_80FBC7C); } @@ -1000,16 +1000,16 @@ void Conversion2StatusTarget(struct DungeonEntity * pokemon, struct DungeonEntit } } -void VitalThrowStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void VitalThrowStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->protectionStatus != PROTECTION_STATUS_VITAL_THROW) { - entityData->protectionStatus = PROTECTION_STATUS_VITAL_THROW; - entityData->protectionStatusTurnsLeft = CalculateStatusTurns(target, gUnknown_80F4F24, FALSE) + 1; + if (entityData->protectionStatus != STATUS_VITAL_THROW) { + entityData->protectionStatus = STATUS_VITAL_THROW; + entityData->protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4F24, FALSE) + 1; nullsub_68(target); sub_80522F4(pokemon,target,*gUnknown_80FBCC8); } @@ -1020,36 +1020,36 @@ void VitalThrowStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity } } -void sub_8079E34(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 param_3) +void sub_8079E34(struct Entity * pokemon, struct Entity * target, bool8 param_3) { bool8 statChanged; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; s32 index; statChanged = FALSE; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; for(index = 0; index < 2; index++) { - if (entityData->attackStages[index] != DEFAULT_STAT_STAGE) { - entityData->attackStages[index] = DEFAULT_STAT_STAGE; + if (entityData->offensiveStages[index] != DEFAULT_STAT_STAGE) { + entityData->offensiveStages[index] = DEFAULT_STAT_STAGE; statChanged = TRUE; } - if (entityData->defenseStages[index] != DEFAULT_STAT_STAGE) { - entityData->defenseStages[index] = DEFAULT_STAT_STAGE; + if (entityData->defensiveStages[index] != DEFAULT_STAT_STAGE) { + entityData->defensiveStages[index] = DEFAULT_STAT_STAGE; statChanged = TRUE; } - if (entityData->accuracyStages[index] != DEFAULT_STAT_STAGE) { - entityData->accuracyStages[index] = DEFAULT_STAT_STAGE; + if (entityData->hitChancesStages[index] != DEFAULT_STAT_STAGE) { + entityData->hitChancesStages[index] = DEFAULT_STAT_STAGE; statChanged = TRUE; } - if (entityData->attackMultipliers[index] != DEFAULT_STAT_MULTIPLIER) { - entityData->attackMultipliers[index] = DEFAULT_STAT_MULTIPLIER; + if (entityData->offensiveMultipliers[index] != DEFAULT_STAT_MULTIPLIER) { + entityData->offensiveMultipliers[index] = DEFAULT_STAT_MULTIPLIER; statChanged = TRUE; } - if (entityData->defenseMultipliers[index] != DEFAULT_STAT_MULTIPLIER) { - entityData->defenseMultipliers[index] = DEFAULT_STAT_MULTIPLIER; + if (entityData->defensiveMultipliers[index] != DEFAULT_STAT_MULTIPLIER) { + entityData->defensiveMultipliers[index] = DEFAULT_STAT_MULTIPLIER; statChanged = TRUE; } } @@ -1070,19 +1070,19 @@ void sub_8079E34(struct DungeonEntity * pokemon, struct DungeonEntity * target, } } -void sub_8079F20(struct DungeonEntity * pokemon, struct DungeonEntity * target, u8 param_3, u8 param_4) +void sub_8079F20(struct Entity * pokemon, struct Entity * target, u8 param_3, u8 param_4) { bool8 moveUnsealed; // r9 s32 moveSpeed; - struct PokemonMove *move; - struct DungeonEntityData *entityData; // r7 + struct Move *move; + struct EntityInfo *entityData; // r7 bool8 bVar8; // r8 s32 index; bVar8 = FALSE; moveUnsealed = FALSE; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; if (HasNegativeStatus(target)) { bVar8 = TRUE; SendSleepEndMessage(pokemon,target,0,0); @@ -1097,25 +1097,25 @@ void sub_8079F20(struct DungeonEntity * pokemon, struct DungeonEntity * target, SendMoveEndMessage(pokemon,target); SendEyesightEndMessage(pokemon,target); SendMuzzledEndMessage(pokemon,target); - if (entityData->perishSongTimer != 0) { - entityData->perishSongTimer = 0; + if (entityData->perishSongTurns != 0) { + entityData->perishSongTurns = 0; sub_80522F4(pokemon,target,*gUnknown_8100594); } - if (entityData->exposedStatus) { - entityData->exposedStatus = FALSE; + if (entityData->exposed) { + entityData->exposed = FALSE; sub_80522F4(pokemon,target,*gPtrExposedWoreOffMessage); } } - moveSpeed = GetMovementSpeed(target); + moveSpeed = GetSpeedStatus(target); for(index = 0; index < NUM_SPEED_TURN_COUNTERS; index++) { - entityData->slowTurnsLeft[index] = 0; + entityData->speedDownCounters[index] = 0; } - if (moveSpeed != GetMovementSpeed(target)) { + if (moveSpeed != GetSpeedStatus(target)) { bVar8 = TRUE; - sub_80522F4(pokemon,target,gUnknown_80FA124[entityData->movementSpeed]); + sub_80522F4(pokemon,target,gUnknown_80FA124[entityData->speedStage]); } for(index = 0; index < MAX_MON_MOVES; index++) @@ -1143,17 +1143,17 @@ void sub_8079F20(struct DungeonEntity * pokemon, struct DungeonEntity * target, } } -void sub_807A0CC(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void sub_807A0CC(struct Entity * pokemon, struct Entity * target) { - struct PokemonMove *move; - struct DungeonEntityData *entityData; + struct Move *move; + struct EntityInfo *entityData; s32 index; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; sub_806BFC0(entityData,0); - entityData->perishSongTimer = 0; - entityData->exposedStatus = FALSE; + entityData->perishSongTurns = 0; + entityData->exposed = FALSE; for(index = 0; index < MAX_MON_MOVES; index++) { @@ -1166,421 +1166,421 @@ void sub_807A0CC(struct DungeonEntity * pokemon, struct DungeonEntity * target) }; } -void SendSleepEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 param_3, bool8 param_4) +void SendSleepEndMessage(struct Entity * pokemon, struct Entity * target, bool8 param_3, bool8 param_4) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; bool8 isAsleep; isAsleep = FALSE; if (!EntityExists(target)) { return; } - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - switch(entityData->sleepStatus) { - case SLEEP_STATUS_NONE: + switch(entityData->sleep) { + case STATUS_NONE: case 6: break; - case SLEEP_STATUS_SLEEP: + case STATUS_SLEEP: isAsleep = TRUE; sub_80522F4(pokemon,target,*gUnknown_80FA6E8); break; - case SLEEP_STATUS_SLEEPLESS: + case STATUS_SLEEPLESS: sub_80522F4(pokemon,target,*gUnknown_80FA708); break; - case SLEEP_STATUS_NIGHTMARE: + case STATUS_NIGHTMARE: isAsleep = TRUE; sub_80522F4(pokemon,target,*gUnknown_80FA70C); if (param_4) { sub_806F324(target,gUnknown_80F4F78,8,0x20f); } break; - case SLEEP_STATUS_NAPPING: + case STATUS_NAPPING: isAsleep = TRUE; sub_80522F4(pokemon,target,*gUnknown_80FA710); HealTargetHP(pokemon,target,gUnknown_80F4F7A, 0, FALSE); - entityData->sleepStatus = 0; + entityData->sleep = 0; sub_8079F20(pokemon,target,1,1); break; - case SLEEP_STATUS_YAWNING: + case STATUS_YAWNING: if (param_3) { - entityData->sleepStatus = SLEEP_STATUS_NONE; + entityData->sleep = STATUS_NONE; sub_8075C58(pokemon,target,CalculateStatusTurns(target, gUnknown_80F4F2C, TRUE) + 1, TRUE); return; } sub_80522F4(pokemon,target,*gUnknown_80FA734); break; } - entityData->sleepStatus = SLEEP_STATUS_NONE; + entityData->sleep = STATUS_NONE; DungeonEntityUpdateStatusSprites(target); if (isAsleep) { sub_806CE68(target,8); } } -void SendNonVolatileEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void SendNonVolatileEndMessage(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (!EntityExists(target)) { return; } - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); switch(entityData->nonVolatileStatus) { - case NON_VOLATILE_STATUS_NONE: + case STATUS_NONE: case 5: break; - case NON_VOLATILE_STATUS_POISONED: - case NON_VOLATILE_STATUS_BADLY_POISONED: + case STATUS_POISONED: + case STATUS_BADLY_POISONED: sub_80522F4(pokemon,target,*gUnknown_80FA8A8); break; - case NON_VOLATILE_STATUS_PARALYZED: + case STATUS_PARALYSIS: sub_80522F4(pokemon,target,*gUnknown_80FA868); break; - case NON_VOLATILE_STATUS_BURNED: + case STATUS_BURN: sub_80522F4(pokemon,target,*gUnknown_80FA888); break; } - entityData->nonVolatileStatus = NON_VOLATILE_STATUS_NONE; + entityData->nonVolatileStatus = STATUS_NONE; DungeonEntityUpdateStatusSprites(target); } -void SendImmobilizeEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity *target) +void SendImmobilizeEndMessage(struct Entity * pokemon, struct Entity *target) { bool8 isFrozen; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; isFrozen = FALSE; if (!EntityExists(target)) { return; } - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); switch(entityData->immobilizeStatus) { - case IMMOBILIZE_STATUS_NONE: + case STATUS_NONE: case 8: break; - case IMMOBILIZE_STATUS_FROZEN: + case STATUS_FROZEN: sub_80522F4(pokemon,target,*gUnknown_80FA8BC); isFrozen = TRUE; break; - case IMMOBILIZE_STATUS_SQUEEZED: + case STATUS_CONSTRICTION: sub_80522F4(pokemon,target,*gUnknown_80FA820); break; - case IMMOBILIZE_STATUS_IMMOBILIZED: - case IMMOBILIZE_STATUS_INGRAIN: + case STATUS_SHADOW_HOLD: + case STATUS_INGRAIN: sub_80522F4(pokemon,target,*gUnknown_80FA824); break; - case IMMOBILIZE_STATUS_WRAPPED_AROUND_FOE: - case IMMOBILIZE_STATUS_WRAPPED_BY_FOE: + case STATUS_WRAP: + case STATUS_WRAPPED: sub_80522F4(pokemon,target,*gUnknown_80FA81C); sub_8076CB4(entityData->unk9C); break; - case IMMOBILIZE_STATUS_PETRIFIED: + case STATUS_PETRIFIED: sub_80522F4(pokemon,target,*gUnknown_80FABF8); break; } - entityData->immobilizeStatus = IMMOBILIZE_STATUS_NONE; + entityData->immobilizeStatus = STATUS_NONE; DungeonEntityUpdateStatusSprites(target); if (isFrozen) { sub_8042A74(target); } } -void SendVolatileEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity *target) +void SendVolatileEndMessage(struct Entity * pokemon, struct Entity *target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (!EntityExists(target)) { return; } - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); switch(entityData->volatileStatus) { - case VOLATILE_STATUS_NONE: + case STATUS_NONE: case 8: break; - case VOLATILE_STATUS_CONFUSED: + case STATUS_CONFUSED: sub_80522F4(pokemon,target,*gUnknown_80FA800); break; - case VOLATILE_STATUS_COWERING: + case STATUS_COWERING: sub_80522F4(pokemon,target,*gUnknown_80FA97C); break; - case VOLATILE_STATUS_TAUNTED: + case STATUS_TAUNTED: sub_80522F4(pokemon,target,*gUnknown_80FA9DC); break; - case VOLATILE_STATUS_PAUSED: + case STATUS_PAUSED: sub_80522F4(pokemon,target,*gUnknown_80FAC38); break; - case VOLATILE_STATUS_INFATUATED: + case STATUS_INFATUATED: sub_80522F4(pokemon,target,*gUnknown_80FAB90); break; - case VOLATILE_STATUS_ENCORE: + case STATUS_ENCORE: sub_80522F4(pokemon,target,*gUnknown_80FAAAC); break; - case VOLATILE_STATUS_CRINGING: + case STATUS_CRINGE: sub_80522F4(pokemon,target,*gUnknown_80FAC18); break; } - entityData->volatileStatus = VOLATILE_STATUS_NONE; + entityData->volatileStatus = STATUS_NONE; DungeonEntityUpdateStatusSprites(target); - GetMovementSpeed(target); + GetSpeedStatus(target); } -void SendProtectionEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity *target) +void SendProtectionEndMessage(struct Entity * pokemon, struct Entity *target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (!EntityExists(target)) { return; } - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); switch(entityData->protectionStatus) { - case PROTECTION_STATUS_NONE: + case STATUS_NONE: case 0xF: break; - case PROTECTION_STATUS_REFLECT: + case STATUS_REFLECT: SendMessage(target,*gUnknown_80FA638); break; - case PROTECTION_STATUS_SAFEGUARD: + case STATUS_SAFEGUARD: SendMessage(target,*gUnknown_80FA69C); break; - case PROTECTION_STATUS_LIGHT_SCREEN: + case STATUS_LIGHT_SCREEN: SendMessage(target,*gUnknown_80FA658); break; - case PROTECTION_STATUS_COUNTER: - case PROTECTION_STATUS_MINI_COUNTER: + case STATUS_COUNTER: + case STATUS_MINI_COUNTER: SendMessage(target,*gUnknown_80FA67C); break; - case PROTECTION_STATUS_MAGIC_COAT: + case STATUS_MAGIC_COAT: SendMessage(target,*gUnknown_80FA6BC); break; - case PROTECTION_STATUS_WISH: + case STATUS_WISH: SendMessage(target,*gUnknown_80FA6D4); break; - case PROTECTION_STATUS_PROTECT: + case STATUS_PROTECT: SendMessage(target,*gUnknown_80FA9C0); break; - case PROTECTION_STATUS_MIRROR_COAT: + case STATUS_MIRROR_COAT: SendMessage(target,*gUnknown_80FAA68); break; - case PROTECTION_STATUS_ENDURE: + case STATUS_ENDURING: SendMessage(target,*gUnknown_80FAAC8); break; - case PROTECTION_STATUS_MIRROR_MOVE: + case STATUS_MIRROR_MOVE: SendMessage(target,*gUnknown_80FAAE8); break; - case PROTECTION_STATUS_CONVERSION_2: + case STATUS_CONVERSION2: SendMessage(target,*gUnknown_80FAB08); break; - case PROTECTION_STATUS_VITAL_THROW: + case STATUS_VITAL_THROW: SendMessage(target,*gUnknown_80FAB28); break; - case PROTECTION_STATUS_MIST: + case STATUS_MIST: SendMessage(target,*gUnknown_80FAB40); break; } - entityData->protectionStatus = PROTECTION_STATUS_NONE; + entityData->protectionStatus = STATUS_NONE; DungeonEntityUpdateStatusSprites(target); } -void SendWaitingEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity * target, u8 waitingStatus) +void SendWaitingEndMessage(struct Entity * pokemon, struct Entity * target, u8 waitingStatus) { u32 uVar3; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); switch(entityData->waitingStatus) { - case WAITING_STATUS_NONE: + case STATUS_NONE: case 4: break; - case WAITING_STATUS_CURSED: - if (waitingStatus != WAITING_STATUS_CURSED) { + case STATUS_CURSED: + if (waitingStatus != STATUS_CURSED) { SendMessage(target,*gUnknown_80FA7BC); } break; - case WAITING_STATUS_SNATCH: - if (waitingStatus != WAITING_STATUS_SNATCH) { + case STATUS_SNATCH: + if (waitingStatus != STATUS_SNATCH) { SendMessage(target,*gUnknown_80FA7DC); } - gDungeonGlobalData->snatchPokemon = NULL; - gDungeonGlobalData->unk17B3C = 0; + gDungeon->snatchPokemon = NULL; + gDungeon->unk17B3C = 0; break; - case WAITING_STATUS_DECOY: - entityData->waitingStatus = WAITING_STATUS_NONE; + case STATUS_DECOY: + entityData->waitingStatus = STATUS_NONE; uVar3 = sub_806CEBC(target); sub_806CCB4(target,uVar3); - gDungeonGlobalData->decoyActive = FALSE; - if (waitingStatus != WAITING_STATUS_DECOY) { + gDungeon->decoyActive = FALSE; + if (waitingStatus != STATUS_DECOY) { SetMessageArgument(gAvailablePokemonNames,target,0); SendMessage(target,*gUnknown_80FA9A0); } break; } - entityData->waitingStatus = WAITING_STATUS_NONE; + entityData->waitingStatus = STATUS_NONE; DungeonEntityUpdateStatusSprites(target); } } -void SendLinkedEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void SendLinkedEndMessage(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); switch(entityData->linkedStatus) { - case LINKED_STATUS_NONE: + case STATUS_NONE: break; - case LINKED_STATUS_LEECH_SEED: + case STATUS_LEECH_SEED: SendMessage(target,*gUnknown_80FA79C); break; - case LINKED_STATUS_DESTINY_BOND: + case STATUS_DESTINY_BOND: SendMessage(target,*gUnknown_80FAA8C); break; } - entityData->linkedStatus = LINKED_STATUS_NONE; + entityData->linkedStatus = STATUS_NONE; entityData->unkD8 = 0xff; DungeonEntityUpdateStatusSprites(target); } } -void SendMoveEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void SendMoveEndMessage(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData * entityData; + struct EntityInfo * entityData; if (!EntityExists(target)) { return; } - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); switch(entityData->moveStatus) { - case MOVE_STATUS_NONE: + case STATUS_NONE: case 5: break; - case MOVE_STATUS_SURE_SHOT: + case STATUS_SURE_SHOT: SendMessage(target,*gUnknown_80FA8E0); break; - case MOVE_STATUS_WHIFFER: + case STATUS_WHIFFER: SendMessage(target,*gUnknown_80FA90C); break; - case MOVE_STATUS_SET_DAMAGE: + case STATUS_SET_DAMAGE: SendMessage(target,*gUnknown_80FA934); break; - case MOVE_STATUS_FOCUS_ENERGY: + case STATUS_FOCUS_ENERGY: SendMessage(target,*gUnknown_80FA95C); break; } - entityData->moveStatus = MOVE_STATUS_NONE; + entityData->moveStatus = STATUS_NONE; DungeonEntityUpdateStatusSprites(target); } -void SendTransformEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity *target) +void SendTransformEndMessage(struct Entity * pokemon, struct Entity *target) { bool8 isInvisible; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; u32 uVar3; isInvisible = FALSE; if (!EntityExists(target)) { return; } - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); switch(entityData->transformStatus) { - case TRANSFORM_STATUS_NONE: + case STATUS_NONE: case 4: break; - case TRANSFORM_STATUS_INVISIBLE: + case STATUS_INVISIBLE: isInvisible = TRUE; SendMessage(target,*gUnknown_80FA9F4); break; - case TRANSFORM_STATUS_MOBILE: + case STATUS_MOBILE: SendMessage(target,*gUnknown_80FABBC); break; - case TRANSFORM_STATUS_TRANSFORMED: - entityData->transformSpecies = sub_8069F54(target, entityData->entityID); - target->unk64 = sub_80687D0(entityData->transformSpecies); + case STATUS_TRANSFORMED: + entityData->apparentID = sub_8069F54(target, entityData->id); + target->unk64 = sub_80687D0(entityData->apparentID); uVar3 = sub_806CEBC(target); sub_806CCB4(target,uVar3); SendMessage(target,*gUnknown_80FAB6C); break; } - entityData->transformStatus = TRANSFORM_STATUS_NONE; + entityData->transformStatus = STATUS_NONE; DungeonEntityUpdateStatusSprites(target); if (isInvisible) { sub_807EC28(1); } } -void SendEyesightEndMessage(struct DungeonEntity * pokemon,struct DungeonEntity * target) +void SendEyesightEndMessage(struct Entity * pokemon,struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (!EntityExists(target)) { return; } - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); switch(entityData->eyesightStatus) { - case EYESIGHT_STATUS_NONE: + case STATUS_NONE: case 4: break; - case EYESIGHT_STATUS_BLINKER: + case STATUS_BLINKER: SendMessage(target,*gUnknown_80FAA0C); break; - case EYESIGHT_STATUS_CROSS_EYED: + case STATUS_CROSS_EYED: SendMessage(target,*gUnknown_80FAA2C); break; - case EYESIGHT_STATUS_EYEDROPS: + case STATUS_EYEDROPS: SendMessage(target,*gUnknown_80FAA48); break; } - entityData->eyesightStatus = EYESIGHT_STATUS_NONE; + entityData->eyesightStatus = STATUS_NONE; DungeonEntityUpdateStatusSprites(target); - if (entityData->isLeader) { + if (entityData->isTeamLeader) { sub_803E46C(0x31); sub_8049ED4(); sub_8040A84(); } } -void SendMuzzledEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void SendMuzzledEndMessage(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (!EntityExists(target)) { return; } - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - switch(entityData->muzzledStatus) { - case MUZZLED_STATUS_NONE: + switch(entityData->muzzled) { + case FALSE: case 2: break; - case MUZZLED_STATUS_MUZZLED: + case TRUE: SendMessage(target,*gUnknown_80FABC0); break; } - entityData->muzzledStatus = MUZZLED_STATUS_NONE; + entityData->muzzled = FALSE; DungeonEntityUpdateStatusSprites(target); } -// TODO: this involves a union for sleepStatus/sleepStatusTurnsLeft that I don't want to deal with right now +// TODO: this involves a union for sleep/sleepTurns that I don't want to deal with right now /* - bool32 sub_807A96C(struct DungeonEntity * pokemon, struct DungeonEntity * target) + bool32 sub_807A96C(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; - struct DungeonEntityData *entityData_1; + struct EntityInfo *entityData; + struct EntityInfo *entityData_1; register bool32 bVar3 asm("r2"); - entityData = target->entityData; + entityData = target->info; entityData_1 = entityData; bVar3 = FALSE; if (entityData->immobilizeStatus == 6) { @@ -1596,7 +1596,7 @@ void SendMuzzledEndMessage(struct DungeonEntity * pokemon, struct DungeonEntity } */ NAKED -void sub_807A96C(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void sub_807A96C(struct Entity *pokemon, struct Entity *target) { asm_unified( "\tpush {r4-r6,lr}\n" @@ -1634,27 +1634,27 @@ void sub_807A96C(struct DungeonEntity *pokemon, struct DungeonEntity *target) "_0807A9AC: .4byte 0x00007f01"); } -void sub_807A9B0(struct DungeonEntity * pokemon) +void sub_807A9B0(struct Entity * pokemon) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; - entityData = pokemon->entityData; - entityData->sleepStatus = SLEEP_STATUS_NONE; - entityData->sleepStatusTurnsLeft = 0; + entityData = pokemon->info; + entityData->sleep = STATUS_NONE; + entityData->sleepTurns = 0; sub_806A898(pokemon, 1, 1); DungeonEntityUpdateStatusSprites(pokemon); } -void SendThawedMessage(struct DungeonEntity *pokemon, struct DungeonEntity *target) +void SendThawedMessage(struct Entity *pokemon, struct Entity *target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; - if (entityData->immobilizeStatus == IMMOBILIZE_STATUS_FROZEN) { - entityData->immobilizeStatus = IMMOBILIZE_STATUS_NONE; - entityData->immobilizeStatusTurnsLeft = 0; - entityData->immobilizeStatusDamageTimer = 0; + entityData = target->info; + if (entityData->immobilizeStatus == STATUS_FROZEN) { + entityData->immobilizeStatus = STATUS_NONE; + entityData->immobilizeStatusTurns = 0; + entityData->immobilizeStatusDamageCountdown = 0; SetMessageArgument(gAvailablePokemonNames,target,0); sub_80522F4(pokemon,target,*gUnknown_80FA8BC); // $m0 thawed out! DungeonEntityUpdateStatusSprites(target); @@ -1666,35 +1666,35 @@ void sub_807AA30(void) { bool32 adjacentCheck; bool32 forceWakeup; - u8 roomIndex; + u8 room; s32 xDiff; s32 wildIndex; s32 yDiff; - struct DungeonEntity *teamEntity; - struct DungeonEntity *wildEntity; - struct DungeonEntityData *entityData; + struct Entity *teamEntity; + struct Entity *wildEntity; + struct EntityInfo *entityData; s32 teamIndex; for(wildIndex = 0; wildIndex < DUNGEON_MAX_WILD_POKEMON; wildIndex++) { - wildEntity = gDungeonGlobalData->wildPokemon[wildIndex]; + wildEntity = gDungeon->wildPokemon[wildIndex]; if (EntityExists(wildEntity) && - (entityData = wildEntity->entityData, entityData->sleepStatus == SLEEP_STATUS_SLEEP) && - (entityData->sleepStatusTurnsLeft == 0x7F)) { + (entityData = wildEntity->info, entityData->sleep == STATUS_SLEEP) && + (entityData->sleepTurns == 0x7F)) { adjacentCheck = FALSE; forceWakeup = FALSE; - roomIndex = GetEntityRoomIndex(wildEntity); + room = GetEntityRoom(wildEntity); for(teamIndex = 0; teamIndex < MAX_TEAM_MEMBERS; teamIndex++) { - teamEntity = gDungeonGlobalData->teamPokemon[teamIndex]; - if (EntityExists(teamEntity) && !HasItem(teamEntity, ITEM_ID_SNEAK_SCARF)) { - xDiff = teamEntity->posWorld.x - wildEntity->posWorld.x; + teamEntity = gDungeon->teamPokemon[teamIndex]; + if (EntityExists(teamEntity) && !HasHeldItem(teamEntity, ITEM_SNEAK_SCARF)) { + xDiff = teamEntity->pos.x - wildEntity->pos.x; if (xDiff < 0) { xDiff = -xDiff; } if (xDiff < 2) { - yDiff = teamEntity->posWorld.y- wildEntity->posWorld.y; + yDiff = teamEntity->pos.y- wildEntity->pos.y; if (yDiff < 0) { yDiff = -yDiff; } @@ -1703,7 +1703,7 @@ void sub_807AA30(void) break; } } - if (HasItem(teamEntity, ITEM_ID_RACKET_BAND) && (roomIndex == GetEntityRoomIndex(teamEntity))) + if (HasHeldItem(teamEntity, ITEM_RACKET_BAND) && (room == GetEntityRoom(teamEntity))) goto _WakeUp; } } diff --git a/src/code_807E5AC.c b/src/code_807E5AC.c index a183937b8..c32e0d73c 100644 --- a/src/code_807E5AC.c +++ b/src/code_807E5AC.c @@ -3,9 +3,9 @@ void sub_807FC3C(struct Position *pos, u32 param_2, u32 param_3) { - gDungeonGlobalData->unk13574 = pos->x; - gDungeonGlobalData->unk13576 = pos->y; - gDungeonGlobalData->unk13578 = param_2; - gDungeonGlobalData->unk13579 = param_3; - gDungeonGlobalData->unk13570 = 1; + gDungeon->unk13574 = pos->x; + gDungeon->unk13576 = pos->y; + gDungeon->unk13578 = param_2; + gDungeon->unk13579 = param_3; + gDungeon->unk13570 = 1; } diff --git a/src/code_808417C.c b/src/code_808417C.c index eb8a9dd34..a1e6e529f 100644 --- a/src/code_808417C.c +++ b/src/code_808417C.c @@ -6,13 +6,13 @@ #include "dungeon_random.h" #include "dungeon_util.h" -s32 CalculateStatusTurns(struct DungeonEntity *target, s16 *turnRange, bool8 factorCurerSkills) +s32 CalculateStatusTurns(struct Entity *target, s16 *turnRange, bool8 factorCurerSkills) { s32 numTurns; - numTurns = DungeonRandomRange(turnRange[0],turnRange[1]); - if (EntityExists(target) && (GetEntityType(target) == ENTITY_POKEMON) && (factorCurerSkills)) { - if (HasIQSkill(target, IQ_SKILL_SELF_CURER) && (numTurns != 0x7f)) { + numTurns = DungeonRandRange(turnRange[0],turnRange[1]); + if (EntityExists(target) && (GetEntityType(target) == ENTITY_MONSTER) && (factorCurerSkills)) { + if (IQSkillIsEnabled(target, IQ_SELF_CURER) && (numTurns != 0x7f)) { numTurns /= 2; } if (HasAbility(target, ABILITY_NATURAL_CURE) && (numTurns != 0x7f) && (4 < numTurns)) { diff --git a/src/code_80848F0.c b/src/code_80848F0.c index 6695f7bf5..44a3c8141 100644 --- a/src/code_80848F0.c +++ b/src/code_80848F0.c @@ -71,7 +71,7 @@ extern void sub_80878F4(u32,u8); extern void sub_8088088(u32,u8); extern void sub_8088818(u32,u8); extern void sub_80893B4(u32,u8); -extern void sub_8089788(struct DungeonEntity *,u32,u8); +extern void sub_8089788(struct Entity *,u32,u8); extern void sub_8089A00(u32,u8); extern void sub_8089CFC(u32,u8); extern void sub_8089FF0(u32,u8); @@ -86,7 +86,7 @@ extern void sub_808BE70(u32,u8,u8); extern void sub_808C1A4(u32,u8,u8); extern void sub_808C414(u32,u8,u8); extern void nullsub_100(u32,u8,u8); -extern void sub_808C948(struct DungeonEntity *,u8); +extern void sub_808C948(struct Entity *,u8); extern void sub_808AFB0(u8); extern void sub_808B030(u8); @@ -151,29 +151,29 @@ extern void sub_807E5E4(u32); void sub_8084854(u8 *param_1) { - if (gDungeonGlobalData->unk678 != 0) { - gDungeonGlobalData->unk3A0D = param_1[5]; + if (gDungeon->unk678 != 0) { + gDungeon->unk3A0D = param_1[5]; } else { if (sub_8098100(param_1[4]) != 0) { - gDungeonGlobalData->unk3A0D = param_1[5]; + gDungeon->unk3A0D = param_1[5]; } else { if (sub_8098100(param_1[2]) != 0) { - gDungeonGlobalData->unk3A0D = param_1[3]; + gDungeon->unk3A0D = param_1[3]; } else { - gDungeonGlobalData->unk3A0D = param_1[1]; + gDungeon->unk3A0D = param_1[1]; if (param_1[2] != 0x40) { sub_8097FA8(); } } } } - gDungeonGlobalData->unk675 = 1; + gDungeon->unk675 = 1; sub_807E5E4(0); } @@ -184,11 +184,11 @@ u32 sub_80848EC(void) void sub_80848F0(void) { - gDungeonGlobalData->unk1356C = 1; - switch(gDungeonGlobalData->unk3A0D) { + gDungeon->unk1356C = 1; + switch(gDungeon->unk3A0D) { case 0: case 0x3c: - gDungeonGlobalData->unk1356C = 0; + gDungeon->unk1356C = 0; break; case 1: case 2: @@ -358,7 +358,7 @@ void sub_80848F0(void) void DisplayPreFightDialogue(void) { - switch(gDungeonGlobalData->unk3A0D) { + switch(gDungeon->unk3A0D) { case 0: break; case 1: @@ -541,110 +541,110 @@ void DisplayPreFightDialogue(void) } sub_8085764(); sub_80857B8(); - gDungeonGlobalData->unk1356C = 0; + gDungeon->unk1356C = 0; sub_8097FF8(); } -void sub_8084E00(struct DungeonEntity *param_1,char param_2,char param_3) +void sub_8084E00(struct Entity *param_1,char param_2,char param_3) { if (param_2 != '\0') { - switch(gDungeonGlobalData->unk3A0D) { + switch(gDungeon->unk3A0D) { case 0: break; case 1: case 2: - sub_8086BDC(param_2,gDungeonGlobalData->unk3A0D); + sub_8086BDC(param_2,gDungeon->unk3A0D); break; case 4: case 5: - sub_8086F54(param_2,gDungeonGlobalData->unk3A0D); + sub_8086F54(param_2,gDungeon->unk3A0D); break; case 7: case 8: case 9: - sub_8087334(param_2,gDungeonGlobalData->unk3A0D); + sub_8087334(param_2,gDungeon->unk3A0D); break; case 10: case 0xb: case 0xc: - sub_80878F4(param_2,gDungeonGlobalData->unk3A0D); + sub_80878F4(param_2,gDungeon->unk3A0D); break; case 0xd: case 0xe: case 0xf: - sub_8088088(param_2,gDungeonGlobalData->unk3A0D); + sub_8088088(param_2,gDungeon->unk3A0D); break; case 0x12: case 0x13: case 0x14: - sub_8088818(param_2,gDungeonGlobalData->unk3A0D); + sub_8088818(param_2,gDungeon->unk3A0D); break; case 0x17: case 0x18: case 0x19: - sub_80893B4(param_2,gDungeonGlobalData->unk3A0D); + sub_80893B4(param_2,gDungeon->unk3A0D); break; case 0x1a: case 0x1b: - sub_8089788(param_1,param_2,gDungeonGlobalData->unk3A0D); + sub_8089788(param_1,param_2,gDungeon->unk3A0D); break; case 0x1d: case 0x1e: case 0x1f: - sub_8089A00(param_2,gDungeonGlobalData->unk3A0D); + sub_8089A00(param_2,gDungeon->unk3A0D); break; case 0x20: case 0x21: case 0x22: - sub_8089CFC(param_2,gDungeonGlobalData->unk3A0D); + sub_8089CFC(param_2,gDungeon->unk3A0D); break; case 0x23: case 0x24: case 0x25: - sub_8089FF0(param_2,gDungeonGlobalData->unk3A0D); + sub_8089FF0(param_2,gDungeon->unk3A0D); break; case 0x26: case 0x27: case 0x28: - sub_808A36C(param_2,gDungeonGlobalData->unk3A0D); + sub_808A36C(param_2,gDungeon->unk3A0D); break; case 0x29: case 0x2a: - sub_808A6E8(param_2,gDungeonGlobalData->unk3A0D); + sub_808A6E8(param_2,gDungeon->unk3A0D); break; case 0x2b: case 0x2c: case 0x2d: - sub_808AAF0(param_2,gDungeonGlobalData->unk3A0D); + sub_808AAF0(param_2,gDungeon->unk3A0D); break; case 0x2e: - sub_808AE54(param_2,gDungeonGlobalData->unk3A0D,¶m_1->posWorld.x); + sub_808AE54(param_2,gDungeon->unk3A0D,¶m_1->pos.x); break; case 0x2f: - sub_808AEC8(param_2,gDungeonGlobalData->unk3A0D,¶m_1->posWorld.x); + sub_808AEC8(param_2,gDungeon->unk3A0D,¶m_1->pos.x); break; case 0x30: - sub_808AF3C(param_2,gDungeonGlobalData->unk3A0D,¶m_1->posWorld.x); + sub_808AF3C(param_2,gDungeon->unk3A0D,¶m_1->pos.x); break; case 0x31: case 0x32: - sub_808B3E4(param_2,gDungeonGlobalData->unk3A0D,param_3); + sub_808B3E4(param_2,gDungeon->unk3A0D,param_3); break; case 0x33: - sub_808BE70(param_2,gDungeonGlobalData->unk3A0D,param_3); + sub_808BE70(param_2,gDungeon->unk3A0D,param_3); break; case 0x34: - sub_808C1A4(param_2,gDungeonGlobalData->unk3A0D,param_3); + sub_808C1A4(param_2,gDungeon->unk3A0D,param_3); break; case 0x35: - sub_808C414(param_2,gDungeonGlobalData->unk3A0D,param_3); + sub_808C414(param_2,gDungeon->unk3A0D,param_3); break; case 0x36: - nullsub_100(param_2,gDungeonGlobalData->unk3A0D,param_3); + nullsub_100(param_2,gDungeon->unk3A0D,param_3); break; case 0x37: - sub_808C948(param_1,gDungeonGlobalData->unk3A0D); + sub_808C948(param_1,gDungeon->unk3A0D); break; case 0x38: case 0x39: @@ -653,7 +653,7 @@ void sub_8084E00(struct DungeonEntity *param_1,char param_2,char param_3) case 0x3C: break; } - if ((param_3 == '\0') && (gDungeonGlobalData->unk2 != '\0')) { + if ((param_3 == '\0') && (gDungeon->unk2 != '\0')) { DungeonStartNewBGM(999); } } @@ -661,7 +661,7 @@ void sub_8084E00(struct DungeonEntity *param_1,char param_2,char param_3) void sub_8085140(void) { - switch(gDungeonGlobalData->unk3A0D) { + switch(gDungeon->unk3A0D) { // NOTE: shortcut way to generate all cases from 0 - 0x3C properly default: case 0: @@ -669,13 +669,13 @@ void sub_8085140(void) case 0x3C: break; case 0x2e: - sub_808AFB0(gDungeonGlobalData->unk3A0D); + sub_808AFB0(gDungeon->unk3A0D); break; case 0x2f: - sub_808B030(gDungeonGlobalData->unk3A0D); + sub_808B030(gDungeon->unk3A0D); break; case 0x30: - sub_808B0B0(gDungeonGlobalData->unk3A0D); + sub_808B0B0(gDungeon->unk3A0D); break; } } diff --git a/src/code_80869E4.c b/src/code_80869E4.c index 88847fca4..80b379982 100644 --- a/src/code_80869E4.c +++ b/src/code_80869E4.c @@ -18,14 +18,14 @@ EWRAM_DATA struct unkStruct_202F3D0 gUnknown_202F3D0; s8 sub_8002984(s8, u8); void sub_803E708(u32, u32); -void sub_80869E4(struct DungeonEntity *entity, u32, u8, s8); +void sub_80869E4(struct Entity *entity, u32, u8, s8); extern void sub_80859F0(u32); extern void sub_803E46C(u32); extern void sub_803E9D0(void); extern void SetDungeonBGColorRGB(u32, u32, u32, u32, u32); extern void PlaySoundEffect(u32); -extern struct DungeonEntity *xxx_call_GetLeaderEntity(void); -void SpriteLookAroundEffect(struct DungeonEntity *entity); +extern struct Entity *xxx_call_GetLeader(void); +void SpriteLookAroundEffect(struct Entity *entity); extern void DisplayDungeonDialogue(u32); void sub_8086494(); @@ -39,109 +39,109 @@ extern void sub_80855E4(void *); extern s32 GetCameraXPos(void); extern s32 GetCameraYPos(void); extern void sub_803F878(u32, u32); -extern void sub_8086384(struct DungeonEntity *entity); +extern void sub_8086384(struct Entity *entity); extern void sub_8085930(u32); -extern void sub_804539C(struct DungeonEntity *, u32, u32); -extern void sub_806CE68(struct DungeonEntity *, u32); -extern void sub_806CDD4(struct DungeonEntity *, u8, u32); -extern void sub_804535C(struct DungeonEntity *, u32 *); -extern void sub_8086A54(struct DungeonEntity *); -extern void sub_8086A3C(struct DungeonEntity *); +extern void sub_804539C(struct Entity *, u32, u32); +extern void sub_806CE68(struct Entity *, u32); +extern void sub_806CDD4(struct Entity *, u8, u32); +extern void sub_804535C(struct Entity *, u32 *); +extern void sub_8086A54(struct Entity *); +extern void sub_8086A3C(struct Entity *); extern void PlaySoundEffect(u32); -extern void sub_80861F8(u32, struct DungeonEntity *, u32); +extern void sub_80861F8(u32, struct Entity *, u32); -void SpriteShockEffect(struct DungeonEntity *entity) +void SpriteShockEffect(struct Entity *entity) { PlaySoundEffect(0xE8 << 1); sub_80861F8(0x143, entity, 0); } -void sub_80862DC(struct DungeonEntity *entity) +void sub_80862DC(struct Entity *entity) { u32 array[2]; - array[0] = entity->posPixel.x; - array[1] = entity->posPixel.y + (0xE0 << 6); + array[0] = entity->pixelPos.x; + array[1] = entity->pixelPos.y + (0xE0 << 6); sub_804535C(entity, array); sub_806CDD4(entity, 0, DIRECTION_NORTH); sub_8086A54(entity); } -void sub_8086310(struct DungeonEntity *entity) +void sub_8086310(struct Entity *entity) { u32 array[2]; - array[0] = entity->posPixel.x; - array[1] = entity->posPixel.y + (0x90 << 8); + array[0] = entity->pixelPos.x; + array[1] = entity->pixelPos.y + (0x90 << 8); sub_804535C(entity, array); sub_806CE68(entity, DIRECTION_SOUTH); sub_8086A3C(entity); - entity->visible = 0; + entity->isVisible = 0; } -void sub_8086348(struct DungeonEntity *entity) +void sub_8086348(struct Entity *entity) { u32 array[2]; - array[0] = entity->posPixel.x + (0xF0 << 7); - array[1] = entity->posPixel.y + 0xffffe000; + array[0] = entity->pixelPos.x + (0xF0 << 7); + array[1] = entity->pixelPos.y + 0xffffe000; sub_804535C(entity, array); sub_806CDD4(entity, 0, DIRECTION_WEST); sub_8086A54(entity); } -void sub_8086384(struct DungeonEntity *entity) +void sub_8086384(struct Entity *entity) { u32 array[2]; - array[0] = entity->posPixel.x + (0xF0 << 7); - array[1] = entity->posPixel.y; + array[0] = entity->pixelPos.x + (0xF0 << 7); + array[1] = entity->pixelPos.y; sub_804535C(entity, array); sub_806CDD4(entity, 0, DIRECTION_WEST); sub_8086A54(entity); } -void sub_80863B8(struct DungeonEntity *entity) +void sub_80863B8(struct Entity *entity) { sub_806CDD4(entity, 0, DIRECTION_NORTH); } -void sub_80863C8(struct DungeonEntity *entity) +void sub_80863C8(struct Entity *entity) { sub_806CDD4(entity, 0, DIRECTION_SOUTH); } -void sub_80863D8(struct DungeonEntity *entity) +void sub_80863D8(struct Entity *entity) { sub_806CDD4(entity, 0, DIRECTION_WEST); } -void sub_80863E8(struct DungeonEntity *entity) +void sub_80863E8(struct Entity *entity) { sub_806CDD4(entity, 6, DIRECTION_NORTH); } -void sub_80863F8(struct DungeonEntity *entity) +void sub_80863F8(struct Entity *entity) { sub_806CE68(entity, DIRECTION_NORTH); } -void sub_8086404(struct DungeonEntity *entity) +void sub_8086404(struct Entity *entity) { sub_806CE68(entity, DIRECTION_WEST); } -void sub_8086410(struct DungeonEntity *entity) +void sub_8086410(struct Entity *entity) { sub_804539C(entity, 0, 0xffffff00); } -void sub_8086424(struct DungeonEntity *entity) +void sub_8086424(struct Entity *entity) { sub_804539C(entity, 0, 0x80 << 1); } -void sub_8086434(struct DungeonEntity *entity) +void sub_8086434(struct Entity *entity) { sub_804539C(entity, 0xffffff00, 0); } @@ -309,12 +309,12 @@ void sub_8086690(void) void sub_80866C4(u32 entity) { - SpriteLookAroundEffect(xxx_call_GetLeaderEntity()); + SpriteLookAroundEffect(xxx_call_GetLeader()); sub_803E708(0xA, 0x46); DisplayDungeonDialogue(entity); sub_803E708(0xA, 0x46); sub_8086494(); - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } void sub_80866FC(void) @@ -375,7 +375,7 @@ void sub_8086794(void) } } sub_803E46C(0x46); - gDungeonGlobalData->unk7 = 0; + gDungeon->unk7 = 0; } void sub_80867F4(void) @@ -426,8 +426,8 @@ void sub_8086854(void) } else { - gUnknown_202F3D0.unk4 = RandomCapped(0x6) + 2; - gUnknown_202F3D0.unk5 = RandomCapped(0x6) + 2; + gUnknown_202F3D0.unk4 = RandInt(0x6) + 2; + gUnknown_202F3D0.unk5 = RandInt(0x6) + 2; } if(gUnknown_202F3D0.unk3 != 0) PlaySoundEffect(0x1F9); @@ -438,24 +438,24 @@ void sub_8086854(void) } if(gUnknown_202F3D0.unk5 != 0) gUnknown_202F3D0.unk5--; - gDungeonGlobalData->unk181FC = gUnknown_8107314[gUnknown_202F3D0.unk5]; + gDungeon->unk181FC = gUnknown_8107314[gUnknown_202F3D0.unk5]; } else { - gDungeonGlobalData->unk181FC = 0; + gDungeon->unk181FC = 0; } } -void sub_80868F4(struct DungeonEntity *entity) +void sub_80868F4(struct Entity *entity) { - entity->entityData->unk15C = 1; - entity->entityData->unk15D = 1; + entity->info->unk15C = 1; + entity->info->unk15D = 1; } -void sub_8086910(struct DungeonEntity *entity) +void sub_8086910(struct Entity *entity) { - entity->entityData->unk15C = 0; - entity->entityData->unk15D = 0; + entity->info->unk15C = 0; + entity->info->unk15D = 0; } void sub_808692C(void) @@ -473,12 +473,12 @@ void sub_808692C(void) sub_803E708(0x4, 0x46); } -void SpriteLookAroundEffect(struct DungeonEntity *entity) +void SpriteLookAroundEffect(struct Entity *entity) { s8 r4; s8 r3; - r4 = sub_8002984(entity->entityData->action.facingDir, 4); + r4 = sub_8002984(entity->info->action.direction, 4); sub_80869E4(entity, 4, 2, r4); diff --git a/src/code_8086A3C.c b/src/code_8086A3C.c index f7e9b7a93..63a538534 100644 --- a/src/code_8086A3C.c +++ b/src/code_8086A3C.c @@ -7,9 +7,9 @@ #include "pokemon.h" #include "dungeon_util_1.h" -extern void LoadIQSkills(struct DungeonEntity *); -extern struct DungeonEntity *GetPartnerEntity(); -extern struct DungeonEntity *xxx_call_GetLeaderEntity(void); +extern void LoadIQSkills(struct Entity *); +extern struct Entity *GetPartnerEntity(); +extern struct Entity *xxx_call_GetLeader(void); extern void SetDefaultIQSkills(u8 *param_1, u8 param_2); extern void sub_8097FF8(void); extern u8 sub_8044B28(void); @@ -18,17 +18,17 @@ extern u8 gUnknown_202E038[]; extern void sub_8085374(); extern void sub_80854D4(); extern void sub_80855E4(void *); -extern void sub_8068FE0(struct DungeonEntity *, u32, u32); +extern void sub_8068FE0(struct Entity *, u32, u32); extern void sub_8097FA8(u32); extern void DisplayDungeonDialogue(u8 *); -extern void sub_806CDD4(struct DungeonEntity *, u32, u32); -extern void sub_80869E4(struct DungeonEntity *, u32, u32, u32); +extern void sub_806CDD4(struct Entity *, u32, u32); +extern void sub_80869E4(struct Entity *, u32, u32, u32); extern void sub_803E708(u32, u32); extern void sub_8086448(void); -extern void SpriteShockEffect(struct DungeonEntity *); -extern void SkarmoryEntry(struct DungeonEntity *); -extern void SpriteLookAroundEffect(struct DungeonEntity *); -extern void sub_8086A54(struct DungeonEntity *); +extern void SpriteShockEffect(struct Entity *); +extern void SkarmoryEntry(struct Entity *); +extern void SpriteLookAroundEffect(struct Entity *); +extern void sub_8086A54(struct Entity *); extern void sub_808563C(void *); extern u8 gSkarmoryPreFightDialogue_1; @@ -45,49 +45,49 @@ extern u8 gSkarmoryReFightDialogue_2; extern u8 gSkarmoryReFightDialogue_3; extern u8 gUnknown_8100D3C; -void sub_8086A3C(struct DungeonEntity *pokemon) +void sub_8086A3C(struct Entity *pokemon) { - pokemon->entityData->unk15C = 1; - pokemon->entityData->unk15E = 1; + pokemon->info->unk15C = 1; + pokemon->info->unk15E = 1; } -void sub_8086A54(struct DungeonEntity *pokemon) +void sub_8086A54(struct Entity *pokemon) { - pokemon->entityData->unk15C = 1; - pokemon->entityData->unk15E = 0; + pokemon->info->unk15C = 1; + pokemon->info->unk15E = 0; } -void SetupBossFightHP(struct DungeonEntity *pokemon, s32 newHP, u16 param_3) +void SetupBossFightHP(struct Entity *pokemon, s32 newHP, u16 param_3) { // NOTE: needed two of these to match.. very dumb - struct DungeonEntityData *entityData; - struct DungeonEntityData *enityData_1; + struct EntityInfo *entityData; + struct EntityInfo *enityData_1; - entityData = pokemon->entityData; - enityData_1 = pokemon->entityData; + entityData = pokemon->info; + enityData_1 = pokemon->info; - entityData->isBoss = TRUE; + entityData->bossFlag = TRUE; // BUG: Source of the Reviver Seed Boss Glitch // // Video to demonstration: // https://www.youtube.com/watch?v=rHu7EehrZ68 - entityData->originalHP = entityData->maxHP; + entityData->originalHP = entityData->maxHPStat; if (newHP != 0) { - entityData->maxHP = newHP; + entityData->maxHPStat = newHP; entityData->HP = newHP; } - gDungeonGlobalData->unk66A = param_3; - SetDefaultIQSkills(enityData_1->IQSkillsSelected, enityData_1->isBoss); + gDungeon->unk66A = param_3; + SetDefaultIQSkills(enityData_1->IQSkillMenuFlags, enityData_1->bossFlag); LoadIQSkills(pokemon); } void sub_8086AC0(void) { if(!sub_8044B28()) - if(gDungeonGlobalData->unk2 == 0) + if(gDungeon->unk2 == 0) sub_8097FF8(); } @@ -95,7 +95,7 @@ u8 sub_8086AE4(s16 _index) { s32 pokeIndex = _index; - if(gDungeonGlobalData->unk65C == 0) + if(gDungeon->unk65C == 0) return 1; else return HasRecruitedMon(pokeIndex); @@ -103,11 +103,11 @@ u8 sub_8086AE4(s16 _index) void sub_8086B14(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * DiglettEntity; - struct DungeonEntity * SkarmoryEntity; + struct Entity * LeaderEntity; + struct Entity * DiglettEntity; + struct Entity * SkarmoryEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); DiglettEntity = GetEntityFromClientType(4); SkarmoryEntity = GetEntityFromClientType(3); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); @@ -116,19 +116,19 @@ void sub_8086B14(void) sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); sub_8086A3C(SkarmoryEntity); - DiglettEntity->entityData->unk15C = 1; - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y + -2); - CopySpeciesNametoBuffer(gUnknown_202E038,SPECIES_DIGLETT); - CopySpeciesNametoBuffer(gUnknown_202E038 + 0x50, SPECIES_SKARMORY); + DiglettEntity->info->unk15C = 1; + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y + -2); + CopyMonsterNametoBuffer(gUnknown_202E038,MONSTER_DIGLETT); + CopyMonsterNametoBuffer(gUnknown_202E038 + 0x50, MONSTER_SKARMORY); } void sub_8086B94(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * DiglettEntity; - struct DungeonEntity * SkarmoryEntity; + struct Entity * LeaderEntity; + struct Entity * DiglettEntity; + struct Entity * SkarmoryEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); DiglettEntity = GetEntityFromClientType(4); SkarmoryEntity = GetEntityFromClientType(3); @@ -136,37 +136,37 @@ void sub_8086B94(void) sub_8068FE0(DiglettEntity,0x21c,0); sub_80854D4(); sub_8085930(DIRECTION_NORTH); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y); } void sub_8086BDC(char param_1, s32 param_2) { if ((((param_2 * 0x1000000) - 0x1000000U) >> 0x18 < 2) && (param_1 == 3)) { sub_8097FA8(1); - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } } void SkarmoryPreFightDialogue(void) { - struct DungeonEntity *LeaderEntity; - struct DungeonEntity *PartnerEntity; - struct DungeonEntity * DiglettEntity; - struct DungeonEntity * SkarmoryEntity; + struct Entity *LeaderEntity; + struct Entity *PartnerEntity; + struct Entity * DiglettEntity; + struct Entity * SkarmoryEntity; struct Position32 pos1; struct Position32 pos2; - LeaderEntity = xxx_call_GetLeaderEntity(); // Player + LeaderEntity = xxx_call_GetLeader(); // Player PartnerEntity = GetPartnerEntity(); // Partner DiglettEntity = GetEntityFromClientType(4); // Diglett SkarmoryEntity = GetEntityFromClientType(3); // Skarmory - pos1.x = DiglettEntity->posPixel.x; - pos1.y = DiglettEntity->posPixel.y + 0x3000; + pos1.x = DiglettEntity->pixelPos.x; + pos1.y = DiglettEntity->pixelPos.y + 0x3000; - pos2.x = SkarmoryEntity->posPixel.x; - pos2.y = SkarmoryEntity->posPixel.y + 0x2000; + pos2.x = SkarmoryEntity->pixelPos.x; + pos2.y = SkarmoryEntity->pixelPos.y + 0x2000; sub_8086448(); sub_803E708(10,0x46); @@ -179,7 +179,7 @@ void SkarmoryPreFightDialogue(void) ShiftCameraToPosition(&pos2,0x30); DisplayDungeonDialogue(&gSkarmoryPreFightDialogue_2); sub_803E708(10,0x46); - DiglettEntity->entityData->unk15D = 1; + DiglettEntity->info->unk15D = 1; ShiftCameraToPosition(&pos1,0x30); DisplayDungeonDialogue(&gSkarmoryPreFightDialogue_3); // Diglett: ...I...\nI'm scared. sub_803E708(10,0x46); @@ -204,19 +204,19 @@ void SkarmoryPreFightDialogue(void) sub_80869E4(LeaderEntity,4,1,4); sub_803E708(10,0x46); DungeonStartNewBGM(MUS_BOSS_BATTLE); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); } void SkarmoryReFightDialogue(void) { - struct DungeonEntity * LeaderEntity; - struct DungeonEntity * SkarmoryEntity; + struct Entity * LeaderEntity; + struct Entity * SkarmoryEntity; struct Position32 pos; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); SkarmoryEntity = GetEntityFromClientType(3); - pos.x = SkarmoryEntity->posPixel.x; - pos.y = SkarmoryEntity->posPixel.y + 0x2000; + pos.x = SkarmoryEntity->pixelPos.x; + pos.y = SkarmoryEntity->pixelPos.y + 0x2000; sub_8086448(); sub_803E708(10,0x46); SkarmoryEntry(SkarmoryEntity); @@ -228,20 +228,20 @@ void SkarmoryReFightDialogue(void) sub_806CDD4(SkarmoryEntity,0xd,0); DisplayDungeonDialogue(&gSkarmoryReFightDialogue_3); sub_803E708(10,0x46); - ShiftCameraToPosition(&LeaderEntity->posPixel,0x10); + ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10); DungeonStartNewBGM(MUS_BOSS_BATTLE); } void sub_8086E40(void) { - SpriteLookAroundEffect(xxx_call_GetLeaderEntity()); + SpriteLookAroundEffect(xxx_call_GetLeader()); sub_803E708(10,0x46); DisplayDungeonDialogue(&gUnknown_8100D3C); sub_803E708(10,0x46); - gDungeonGlobalData->unk2 = 1; + gDungeon->unk2 = 1; } -void SkarmoryEntry(struct DungeonEntity * skarmoryEntity) +void SkarmoryEntry(struct Entity * skarmoryEntity) { sub_806CDD4(skarmoryEntity,0xf,0); sub_8086A54(skarmoryEntity); @@ -251,31 +251,31 @@ void SkarmoryEntry(struct DungeonEntity * skarmoryEntity) void sub_8086E9C(void) { - struct DungeonEntity * LeaderEntity; + struct Entity * LeaderEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); DungeonStartNewBGM(MUS_IN_THE_DEPTHS_OF_THE_PIT); sub_8085374(); sub_80854D4(); sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); sub_808563C(sub_8086A3C); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y - 3); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_METAPOD); - CopySpeciesNametoBuffer(gUnknown_202E038 + 0x50, SPECIES_GENGAR); - CopySpeciesNametoBuffer(gUnknown_202E038 + 0xA0, SPECIES_CATERPIE); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y - 3); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_METAPOD); + CopyMonsterNametoBuffer(gUnknown_202E038 + 0x50, MONSTER_GENGAR); + CopyMonsterNametoBuffer(gUnknown_202E038 + 0xA0, MONSTER_CATERPIE); } void sub_8086F00(void) { - struct DungeonEntity * LeaderEntity; + struct Entity * LeaderEntity; - LeaderEntity = xxx_call_GetLeaderEntity(); + LeaderEntity = xxx_call_GetLeader(); sub_80854D4(); sub_8085930(DIRECTION_NORTH); sub_80855E4(sub_8086A3C); - sub_8085860(LeaderEntity->posWorld.x,LeaderEntity->posWorld.y - 3); - CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_METAPOD); - CopySpeciesNametoBuffer(gUnknown_202E038 + 0x50, SPECIES_GENGAR); - CopySpeciesNametoBuffer(gUnknown_202E038 + 0xA0, SPECIES_CATERPIE); + sub_8085860(LeaderEntity->pos.x,LeaderEntity->pos.y - 3); + CopyMonsterNametoBuffer(gUnknown_202E038, MONSTER_METAPOD); + CopyMonsterNametoBuffer(gUnknown_202E038 + 0x50, MONSTER_GENGAR); + CopyMonsterNametoBuffer(gUnknown_202E038 + 0xA0, MONSTER_CATERPIE); } diff --git a/src/code_8092334.c b/src/code_8092334.c index 16d2424dd..51f47ceef 100644 --- a/src/code_8092334.c +++ b/src/code_8092334.c @@ -4,11 +4,11 @@ #include "item.h" -s16 sub_8094828(u16 r0, u8 itemIndex) +s16 sub_8094828(u16 r0, u8 id) { - if(itemIndex != 0) + if(id != 0) { - if(GetItemType(itemIndex) == ITEM_TYPE_ORB) + if(GetItemCategory(id) == CATEGORY_ORBS) return 0x223; else return 0x224; diff --git a/src/code_809447C.c b/src/code_809447C.c index 816bf7865..1191470b8 100644 --- a/src/code_809447C.c +++ b/src/code_809447C.c @@ -22,7 +22,7 @@ struct unkStruct_80928C0 u8 unk9; }; -void sub_80928C0(u8 *buffer, struct PokemonMove *move, struct unkStruct_80928C0 *param_3); +void sub_80928C0(u8 *buffer, struct Move *move, struct unkStruct_80928C0 *param_3); extern void xxx_format_string(const char *, u8 *, void *, u32); void sub_809447C(struct unkStruct_8094924 *r0, u8 *r1) @@ -41,7 +41,7 @@ void sub_80944BC(s16 moveID, u8 *arg2) { u16 moveID_u16; s32 moveID_s32 = moveID; - struct PokemonMove stack; + struct Move stack; if (moveID_s32 < 0x1F4) { // Needed this cast/variable to match diff --git a/src/code_8095824.c b/src/code_8095824.c index 803e9ce8d..f17817f45 100644 --- a/src/code_8095824.c +++ b/src/code_8095824.c @@ -10,8 +10,8 @@ extern void SaveDungeonLocation(struct unkStruct_8094924*, struct DungeonLocatio extern void RestoreDungeonLocation(struct unkStruct_8094924*, struct DungeonLocation*); extern void xxx_save_poke_sub_c_808F41C(struct unkStruct_8094924* a1, struct unkPokeSubStruct_C* unkC); extern void xxx_restore_poke_sub_c_808F410(struct unkStruct_8094924*, struct unkPokeSubStruct_C*); -extern void SavePokemonMoves(struct unkStruct_8094924 *r0, struct PokemonMove *moveSet); -extern void RestorePokemonMoves(struct unkStruct_8094924 *r0, struct PokemonMove *moveSet); +extern void SavePokemonMoves(struct unkStruct_8094924 *r0, struct Move *moveSet); +extern void RestorePokemonMoves(struct unkStruct_8094924 *r0, struct Move *moveSet); void sub_8095824(struct unkStruct_8094924 * a, struct unkStruct_203B480 *b); void sub_8095774(struct unkStruct_8094924 * a, struct unkStruct_203B480 *b); @@ -40,7 +40,7 @@ u32 sub_80954CC(u8 *a, u32 b) temp = &gUnknown_203B484->unk4; memset(temp, 0, sizeof(struct PokemonStruct)); RestoreIntegerBits(&backup, &temp->unk0, 2); - RestoreIntegerBits(&backup, &temp->isLeader, 1); + RestoreIntegerBits(&backup, &temp->isTeamLeader, 1); RestoreIntegerBits(&backup, &temp->unkHasNextStage, 7); RestoreDungeonLocation(&backup, &temp->dungeonLocation); RestoreIntegerBits(&backup, &temp->speciesNum, 9); @@ -82,7 +82,7 @@ u32 sub_8095624(u8 *a, u32 b) SaveIntegerBits(&backup, &gUnknown_203B484->unk0, 0x20); temp = &gUnknown_203B484->unk4; SaveIntegerBits(&backup, &temp->unk0, 2); - SaveIntegerBits(&backup, &temp->isLeader, 1); + SaveIntegerBits(&backup, &temp->isTeamLeader, 1); SaveIntegerBits(&backup, &temp->unkHasNextStage, 7); SaveDungeonLocation(&backup, &temp->dungeonLocation); SaveIntegerBits(&backup, &temp->speciesNum, 9); diff --git a/src/code_80958E8.c b/src/code_80958E8.c index 071e468cd..60dd21be0 100644 --- a/src/code_80958E8.c +++ b/src/code_80958E8.c @@ -90,29 +90,29 @@ bool8 ValidateWonderMail(struct WonderMail *data) return FALSE; else { - if(data->missionType == WONDER_MAIL_MISSION_TYPE_DELIVER_ITEM && GetMaxItemCount(data->dungeon.dungeonIndex) == 0) + if(data->missionType == WONDER_MAIL_MISSION_TYPE_DELIVER_ITEM && GetMaxItemCount(data->dungeon.id) == 0) return FALSE; if(data->unk2 > 9) return FALSE; - if(sub_809095C(data->dungeon.dungeonIndex)) + if(sub_809095C(data->dungeon.id)) return FALSE; - if(data->dungeon.dungeonFloor >= GetDungeonFloorCount(data->dungeon.dungeonIndex)) + if(data->dungeon.floor >= GetDungeonFloorCount(data->dungeon.id)) return FALSE; if(sub_809017C(&data->dungeon)) return FALSE; - if(data->clientSpecies == SPECIES_NONE) + if(data->clientSpecies == MONSTER_NONE) return FALSE; - if(data->clientSpecies > SPECIES_RAYQUAZA_CUTSCENE) + if(data->clientSpecies > MONSTER_RAYQUAZA_CUTSCENE) return FALSE; if(data->clientSpecies != GetBaseSpecies(data->clientSpecies)) return FALSE; if(!sub_803C0DC(data->clientSpecies)) return FALSE; - if(data->targetSpecies > SPECIES_RAYQUAZA_CUTSCENE) + if(data->targetSpecies > MONSTER_RAYQUAZA_CUTSCENE) return FALSE; if(data->targetSpecies != GetBaseSpecies(data->targetSpecies)) return FALSE; @@ -132,7 +132,7 @@ bool8 ValidateWonderMail(struct WonderMail *data) return FALSE; // Item finding - if(data->missionType == WONDER_MAIL_MISSION_TYPE_FIND_ITEM && xxx_bit_lut_lookup_8091E50(data->dungeon.dungeonIndex, data->targetItem) == 0) + if(data->missionType == WONDER_MAIL_MISSION_TYPE_FIND_ITEM && xxx_bit_lut_lookup_8091E50(data->dungeon.id, data->targetItem) == 0) return FALSE; if(data->rewardType == BLANK_4 || data->rewardType == END_REWARDS || data->rewardType > END_REWARDS) diff --git a/src/code_80972F4.c b/src/code_80972F4.c index f36a09fd2..0d15e666c 100644 --- a/src/code_80972F4.c +++ b/src/code_80972F4.c @@ -47,8 +47,8 @@ bool8 sub_8096F50(struct WonderMail *r0) for(index = 0; index < 0x10; index++) { temp = &gUnknown_203B490->unk230[index]; - if(temp->dungeon.dungeonIndex == r0->dungeon.dungeonIndex) - if(temp->dungeon.dungeonFloor == r0->dungeon.dungeonFloor) + if(temp->dungeon.id == r0->dungeon.id) + if(temp->dungeon.floor == r0->dungeon.floor) if(temp->unk4 == r0->unk8) if(temp->unk8 == temp2) return TRUE; diff --git a/src/code_8097670.c b/src/code_8097670.c index e2b37231d..f07aabd0e 100644 --- a/src/code_8097670.c +++ b/src/code_8097670.c @@ -35,8 +35,8 @@ struct unkStruct_203B494 *sub_8097680(void) void SetDungeonLocationInfo(struct DungeonLocation *r0) { - gUnknown_203B494->dungeonLocation.dungeonIndex = r0->dungeonIndex; - gUnknown_203B494->dungeonLocation.dungeonFloor = r0->dungeonFloor; + gUnknown_203B494->dungeonLocation.id = r0->id; + gUnknown_203B494->dungeonLocation.floor = r0->floor; } struct DungeonLocation *GetDungeonLocationInfo(void) diff --git a/src/debug_menu.c b/src/debug_menu.c index 980b56bd5..c0c41bf51 100644 --- a/src/debug_menu.c +++ b/src/debug_menu.c @@ -187,7 +187,7 @@ void sub_803A3BC(void) speciesIndex = index * 0x10000 >> 0x10; // dumb way to force s16 memset(r7,0,8); r7[0] = 0x27; - CopySpeciesNametoBuffer(buffer, speciesIndex); + CopyMonsterNametoBuffer(buffer, speciesIndex); CopyStringtoBuffer(buffer, buffer); buffer[0] = 0x40; sub_808CFD0(sp_0x8,speciesIndex,buffer,0x43,&sp_0x7C,r7); diff --git a/src/debug_menu_mid.c b/src/debug_menu_mid.c index 8e47a1901..27c8bcf6f 100644 --- a/src/debug_menu_mid.c +++ b/src/debug_menu_mid.c @@ -10,7 +10,7 @@ struct unkStruct_203B3F0 { // size: 0x138 u32 state; - u8 itemIndex; + u8 id; u8 fill5[0x8 - 5]; u32 unk8; struct MenuItem menuItems[8]; @@ -47,7 +47,7 @@ struct unkStruct_203B3F4 extern struct unkStruct_203B3F4 *gUnknown_203B3F4; -extern void sub_801B3C0(struct ItemSlot *); +extern void sub_801B3C0(struct Item *); extern void sub_8013AA0(u32 *); extern struct UnkTextStruct2 gUnknown_80E7E34; @@ -185,7 +185,7 @@ void sub_803A51C(void) void sub_803A5A0(void) { - struct ItemSlot item; + struct Item item; switch(gUnknown_203B3F0->state) { case 0: @@ -203,7 +203,7 @@ void sub_803A5A0(void) gUnknown_203B3F0->unkAC = 3; gUnknown_203B3F0->unkA4 = 0; gUnknown_203B3F0->unkA8 = 0x3e7; - gUnknown_203B3F0->unkA0 = gTeamInventory_203B460->teamStorage[gUnknown_203B3F0->itemIndex]; + gUnknown_203B3F0->unkA0 = gTeamInventory_203B460->teamStorage[gUnknown_203B3F0->id]; gUnknown_203B3F0->unkB0 = 1; gUnknown_203B3F0->unkB4 = &gUnknown_203B3F0->unkD8[1]; gUnknown_203B3F0->unkB8 = 0x2C; @@ -212,7 +212,7 @@ void sub_803A5A0(void) sub_803A690(); break; case 4: - xxx_init_itemslot_8090A8C(&item,gUnknown_203B3F0->itemIndex,0); + xxx_init_itemslot_8090A8C(&item,gUnknown_203B3F0->id,0); sub_801B3C0(&item); break; case 5: @@ -239,7 +239,7 @@ void sub_803A6F0(void) gUnknown_203B3F0->menuItems[0].text = &gDebug_NumberText; gUnknown_203B3F0->menuItems[0].menuAction = 2; gUnknown_203B3F0->unk8 = 2; - if (!IsNotMoneyOrUsedTMItem(gUnknown_203B3F0->itemIndex)) { + if (!IsNotMoneyOrUsedTMItem(gUnknown_203B3F0->id)) { gUnknown_203B3F0->menuItems[0].menuAction = -1; gUnknown_203B3F0->unk8 = 3; } @@ -259,11 +259,11 @@ void sub_803A740(void) case 1: break; case 3: - gUnknown_203B3F0->itemIndex = sub_801CB24(); + gUnknown_203B3F0->id = sub_801CB24(); sub_803A504(2); break; case 4: - gUnknown_203B3F0->itemIndex = sub_801CB24(); + gUnknown_203B3F0->id = sub_801CB24(); sub_803A504(4); break; case 2: @@ -304,7 +304,7 @@ void sub_803A810(void) switch(sub_8013BBC(&gUnknown_203B3F0->unk9C)) { case 3: - gTeamInventory_203B460->teamStorage[gUnknown_203B3F0->itemIndex] = gUnknown_203B3F0->unk9C; + gTeamInventory_203B460->teamStorage[gUnknown_203B3F0->id] = gUnknown_203B3F0->unk9C; // Fallthrough needed to match case 2: sub_803A504(1); diff --git a/src/dungeon_2.c b/src/dungeon_2.c index 8308e340e..408405bac 100644 --- a/src/dungeon_2.c +++ b/src/dungeon_2.c @@ -13,9 +13,9 @@ extern u8 gUnknown_81077E8[]; void sub_80901D8(struct DungeonLocation *param_1,struct DungeonLocation *param_2) { - if ((u8)(param_2->dungeonIndex - DUNGEON_NORMAL_MAZE_2) < NUM_DUNGEON_MAZE) { - param_1->dungeonIndex = DUNGEON_NORMAL_MAZE; - param_1->dungeonFloor = (param_2->dungeonIndex - DUNGEON_NORMAL_MAZE_2) * 3 + param_2->dungeonFloor; + if ((u8)(param_2->id - DUNGEON_NORMAL_MAZE_2) < NUM_DUNGEON_MAZE) { + param_1->id = DUNGEON_NORMAL_MAZE; + param_1->floor = (param_2->id - DUNGEON_NORMAL_MAZE_2) * 3 + param_2->floor; } else { *param_1 = *param_2; @@ -24,23 +24,23 @@ void sub_80901D8(struct DungeonLocation *param_1,struct DungeonLocation *param_2 void PrintYellowDungeonNametoBuffer(u8 *buffer, struct DungeonLocation *dungeonLocation) { - sprintf_2(buffer, gUnknown_8108F10, gDungeonNames[dungeonLocation->dungeonIndex].name1); // {COLOR_2 YELLOW_4}%s{END_COLOR_TEXT_2} (normal floor print (no B) + sprintfStatic(buffer, gUnknown_8108F10, gDungeonNames[dungeonLocation->id].name1); // {COLOR_2 YELLOW_4}%s{END_COLOR_TEXT_2} (normal floor print (no B) } void PrintDungeonLocationtoBuffer(u8 *buffer, struct DungeonLocation *dungeonLocation) { - if(gDungeons[dungeonLocation->dungeonIndex].stairDirection != 0){ - sprintf_2(buffer, gUnknown_8108F18, gDungeonNames[dungeonLocation->dungeonIndex].name1, dungeonLocation->dungeonFloor); //_F + if(gDungeons[dungeonLocation->id].stairDirection != 0){ + sprintfStatic(buffer, gUnknown_8108F18, gDungeonNames[dungeonLocation->id].name1, dungeonLocation->floor); //_F } else { - sprintf_2(buffer, gUnknown_8108F2C, gDungeonNames[dungeonLocation->dungeonIndex].name1, dungeonLocation->dungeonFloor); // B _F + sprintfStatic(buffer, gUnknown_8108F2C, gDungeonNames[dungeonLocation->id].name1, dungeonLocation->floor); // B _F } } void CopyDungeonName1toBuffer(u8 *buffer, struct DungeonLocation *dungeonLocation) { - strncpy(buffer, gDungeonNames[dungeonLocation->dungeonIndex].name1, 0x50); + strncpy(buffer, gDungeonNames[dungeonLocation->id].name1, 0x50); } s32 GetDungeonFloorCount(u8 dungeon) @@ -65,16 +65,16 @@ u8 sub_80902C8(u8 dungeon) void SaveDungeonLocation(struct unkStruct_8094924* r0, struct DungeonLocation* r1) { - SaveIntegerBits(r0, &r1->dungeonIndex, 0x7); - SaveIntegerBits(r0, &r1->dungeonFloor, 0x7); + SaveIntegerBits(r0, &r1->id, 0x7); + SaveIntegerBits(r0, &r1->floor, 0x7); } void RestoreDungeonLocation(struct unkStruct_8094924* r0, struct DungeonLocation* r1) { - r1->dungeonIndex = 0; - r1->dungeonFloor = 0; - RestoreIntegerBits(r0, &r1->dungeonIndex, 0x7); - RestoreIntegerBits(r0, &r1->dungeonFloor, 0x7); + r1->id = 0; + r1->floor = 0; + RestoreIntegerBits(r0, &r1->id, 0x7); + RestoreIntegerBits(r0, &r1->floor, 0x7); } u8 GetDungeonUnk1(u8 dungeon) diff --git a/src/dungeon_2_1.c b/src/dungeon_2_1.c index 899447068..1c641a0c4 100644 --- a/src/dungeon_2_1.c +++ b/src/dungeon_2_1.c @@ -14,8 +14,8 @@ s32 sub_8091E94(s32 a1, s32 a2, s32 a3); // items.c u32 sub_80908D8(struct DungeonLocation *dungeon) { - if ((dungeon->dungeonIndex < DUNGEON_OUT_ON_RESCUE) && (dungeon->dungeonFloor < gDungeonFloorCount[dungeon->dungeonIndex])) { - return gUnknown_8108084[dungeon->dungeonIndex][dungeon->dungeonFloor]; + if ((dungeon->id < DUNGEON_OUT_ON_RESCUE) && (dungeon->floor < gDungeonFloorCount[dungeon->id])) { + return gUnknown_8108084[dungeon->id][dungeon->floor]; } else { return 1; @@ -27,9 +27,9 @@ u8 sub_8090910(struct DungeonLocation *dungeon, u32 param_2) u32 rand1; u32 rand2; - rand1 = RandomCapped(9999); - rand2 = RandomCapped(9999); - if ((dungeon->dungeonIndex < DUNGEON_OUT_ON_RESCUE) && (dungeon->dungeonFloor < gDungeonFloorCount[dungeon->dungeonIndex])) { + rand1 = RandInt(9999); + rand2 = RandInt(9999); + if ((dungeon->id < DUNGEON_OUT_ON_RESCUE) && (dungeon->floor < gDungeonFloorCount[dungeon->id])) { return sub_8091E94(param_2, rand1, rand2); } else { diff --git a/src/dungeon_action.c b/src/dungeon_action.c index 03a99de13..e87abf3ac 100644 --- a/src/dungeon_action.c +++ b/src/dungeon_action.c @@ -36,43 +36,43 @@ extern void UseAttack(u32); extern void sub_8071B48(void); extern void TriggerWeatherAbilities(void); -extern void sub_8074094(struct DungeonEntity *); -extern void sub_8071DA4(struct DungeonEntity *); -extern u8 sub_8072CF4(struct DungeonEntity *); -extern void TickStatusHeal(struct DungeonEntity *); +extern void sub_8074094(struct Entity *); +extern void sub_8071DA4(struct Entity *); +extern u8 sub_8072CF4(struct Entity *); +extern void TickStatusHeal(struct Entity *); void sub_8044820(void) { s32 movSpeed; - struct DungeonEntityData *entityData; - struct DungeonEntityData *entityData2; - struct DungeonEntity * entity; - struct DungeonEntity * entity2; + struct EntityInfo *entityData; + struct EntityInfo *entityData2; + struct Entity * entity; + struct Entity * entity2; s32 index; for (index = 0; index < DUNGEON_MAX_WILD_POKEMON; index++) { - entity = gDungeonGlobalData->wildPokemon[index]; + entity = gDungeon->wildPokemon[index]; if (EntityExists(entity)) { if (sub_8044B28()) break; - entityData = entity->entityData; - gDungeonGlobalData->unkB8 = entity; + entityData = entity->info; + gDungeon->unkB8 = entity; TriggerWeatherAbilities(); - if ((entityData->flags & MOVEMENT_FLAG_SWAPPED_PLACES_PETRIFIED) == 0) { + if ((entityData->flags & MOVEMENT_FLAG_SWAPPING_PLACES_PETRIFIED_ALLY) == 0) { if ((u16)(entityData->flags & MOVEMENT_FLAG_UNK_14) != 0) { entityData->flags &= ~(MOVEMENT_FLAG_UNK_14); } else { - entityData->movingIntoTarget = FALSE; - movSpeed = GetMovementSpeed(entity); - if (gSpeedTurns[movSpeed][gDungeonGlobalData->speedTurnCounter] != 0) { + entityData->aiNextToTarget = FALSE; + movSpeed = GetSpeedStatus(entity); + if (gSpeedTurns[movSpeed][gDungeon->fractionalTurn] != 0) { if (!entityData->attacking) { - entityData->flags &= ~(MOVEMENT_FLAG_UNK_14 | MOVEMENT_FLAG_SWAPPED_PLACES_PETRIFIED); + entityData->flags &= ~(MOVEMENT_FLAG_UNK_14 | MOVEMENT_FLAG_SWAPPING_PLACES_PETRIFIED_ALLY); entityData->recalculateFollow = FALSE; TickStatusHeal(entity); if (EntityExists(entity)) { sub_8071DA4(entity); - DecideAction(entity, 0); + RunMonsterAI(entity, 0); if (sub_8044B28()) break; sub_8072CF4(entity); sub_8086AC0(); @@ -88,45 +88,45 @@ void sub_8044820(void) if (sub_8044B28() == 0) { for(index = 0; index < DUNGEON_MAX_WILD_POKEMON; index++) { - entity2 = gDungeonGlobalData->wildPokemon[index]; - if ((EntityExists(entity2)) && (entityData2 = entity2->entityData, entityData2->movingIntoTarget)) + entity2 = gDungeon->wildPokemon[index]; + if ((EntityExists(entity2)) && (entityData2 = entity2->info, entityData2->aiNextToTarget)) { sub_8074094(entity2); if (EntityExists(entity2)) { sub_8071DA4(entity2); - entityData2->movingIntoTarget = FALSE; + entityData2->aiNextToTarget = FALSE; } } } } } -void CheckElectricAbilities(void) +void TrySpawnMonsterAndActivatePlusMinus(void) { - struct DungeonEntityData * entityData; - struct DungeonEntityData * entityData2; - struct DungeonEntity *entity; + struct EntityInfo * entityData; + struct EntityInfo * entityData2; + struct Entity *entity; u32 isNotEnemy; s32 index; - if (gSpeedTurns[1][gDungeonGlobalData->speedTurnCounter] != 0) { + if (gSpeedTurns[1][gDungeon->fractionalTurn] != 0) { sub_8071B48(); - gDungeonGlobalData->hasPlus[0] = FALSE; - gDungeonGlobalData->hasPlus[1] = FALSE; - gDungeonGlobalData->hasMinus[0] = FALSE; - gDungeonGlobalData->hasMinus[1] = FALSE; - gDungeonGlobalData->lightningRodPokemon = NULL; - gDungeonGlobalData->unk17B38 = 2; + gDungeon->plusIsActive[0] = FALSE; + gDungeon->plusIsActive[1] = FALSE; + gDungeon->minusIsActive[0] = FALSE; + gDungeon->minusIsActive[1] = FALSE; + gDungeon->lightningRodPokemon = NULL; + gDungeon->unk17B38 = 2; for(index = 0; index < DUNGEON_MAX_POKEMON; index++) { - entity = gDungeonGlobalData->allPokemon[index]; + entity = gDungeon->allPokemon[index]; if (EntityExists(entity)) { - entityData = entity->entityData; + entityData = entity->info; entityData2 = entityData; entityData->attacking = FALSE; - if(entityData->isEnemy) + if(entityData->isNotTeamMember) { isNotEnemy = FALSE; } @@ -135,14 +135,14 @@ void CheckElectricAbilities(void) } if (HasAbility(entity, ABILITY_LIGHTNINGROD)) { - gDungeonGlobalData->lightningRodPokemon = entity; - gDungeonGlobalData->unk17B38 = entityData2->unk98; + gDungeon->lightningRodPokemon = entity; + gDungeon->unk17B38 = entityData2->unk98; } if (HasAbility(entity, ABILITY_MINUS)) { - gDungeonGlobalData->hasMinus[isNotEnemy] = TRUE; + gDungeon->minusIsActive[isNotEnemy] = TRUE; } if (HasAbility(entity, ABILITY_PLUS)) { - gDungeonGlobalData->hasPlus[isNotEnemy] = TRUE; + gDungeon->plusIsActive[isNotEnemy] = TRUE; } } } @@ -154,9 +154,9 @@ void sub_8044AB4(void) { s32 index; - if (gSpeedTurns[1][gDungeonGlobalData->speedTurnCounter + 1] != 0) { + if (gSpeedTurns[1][gDungeon->fractionalTurn + 1] != 0) { for (index = 0; index < DUNGEON_MAX_POKEMON; index++) { - if (EntityExists(gDungeonGlobalData->allPokemon[index])) { + if (EntityExists(gDungeon->allPokemon[index])) { UseAttack(0); break; } @@ -169,18 +169,18 @@ void sub_8044AB4(void) bool8 sub_8044B28(void) { - if (gDungeonGlobalData->unk4 == 0) { - if (GetLeaderEntity() == NULL) { - gDungeonGlobalData->unk654 = 1; + if (gDungeon->unk4 == 0) { + if (GetLeader() == NULL) { + gDungeon->unk654 = 1; } - else if (gDungeonGlobalData->unk2 == 1) { - gDungeonGlobalData->unk654 = 2; + else if (gDungeon->unk2 == 1) { + gDungeon->unk654 = 2; } - else if (gDungeonGlobalData->unk2 != 2) { + else if (gDungeon->unk2 != 2) { return FALSE; } else { - gDungeonGlobalData->unk654 = 2; + gDungeon->unk654 = 2; } } return TRUE; @@ -188,7 +188,7 @@ bool8 sub_8044B28(void) bool8 sub_8044B84(void) { - if(gDungeonGlobalData->unk10 != 0) + if(gDungeon->unk10 != 0) { return TRUE; } @@ -197,7 +197,7 @@ bool8 sub_8044B84(void) } } -u8 *sub_8044BA8(u16 param_1, u8 itemIndex) +u8 *sub_8044BA8(u16 param_1, u8 id) { u32 uVar3; u32 uVar4; @@ -211,7 +211,7 @@ u8 *sub_8044BA8(u16 param_1, u8 itemIndex) uVar4 = 1; } if ((u8)(uVar4) == 0) { - return gActions[GetItemCategory(itemIndex)].useText; + return gActions[GetItemActionType(id)].useText; } else { @@ -222,9 +222,9 @@ u8 *sub_8044BA8(u16 param_1, u8 itemIndex) void sub_8044C10(u8 param_1) { - struct DungeonEntityData * entityData = GetLeaderEntityData(); + struct EntityInfo * entityData = GetLeaderMonster(); - entityData->action.action = DUNGEON_ACTION_NONE; + entityData->action.action = ACTION_NOTHING; if(param_1) { @@ -237,7 +237,7 @@ void sub_8044C10(u8 param_1) void sub_8044C50(u16 action) { - struct DungeonEntityData * entityData = GetLeaderEntityData(); + struct EntityInfo * entityData = GetLeaderMonster(); entityData->action.action = action; entityData->action.actionUseIndex = 0; @@ -246,29 +246,29 @@ void sub_8044C50(u16 action) entityData->action.itemTargetPosition.y = -1; } -void ResetAction(struct DungeonActionContainer *actionPointer) +void ClearMonsterActionFields(struct DungeonActionContainer *actionPointer) { - actionPointer->action = DUNGEON_ACTION_NONE; + actionPointer->action = ACTION_NOTHING; actionPointer->actionUseIndex = 0; actionPointer->unkC = 0; } -void SetAction(struct DungeonActionContainer *actionPointer, u16 action) +void SetMonsterActionFields(struct DungeonActionContainer *actionPointer, u16 action) { actionPointer->action = action; actionPointer->actionUseIndex = 0; actionPointer->unkC = 0; } -void SetWalkAction(struct DungeonActionContainer *actionPointer, s16 species) +void SetActionPassTurnOrWalk(struct DungeonActionContainer *actionPointer, s16 species) { - if (GetIsMoving(species)) + if (CanMove(species)) { - actionPointer->action = DUNGEON_ACTION_WALK; + actionPointer->action = ACTION_WALK; } else { - actionPointer->action = DUNGEON_ACTION_WAIT; + actionPointer->action = ACTION_PASS_TURN; } actionPointer->actionUseIndex = 0; actionPointer->unkC = 0; diff --git a/src/dungeon_ai.c b/src/dungeon_ai.c index fbc18f0ce..4d7ddbbbf 100644 --- a/src/dungeon_ai.c +++ b/src/dungeon_ai.c @@ -37,36 +37,36 @@ extern char gAvailablePokemonNames[]; extern char *gPtrCouldntBeUsedMessage; extern char *gPtrItsaMonsterHouseMessage; -extern void SetMessageArgument(char[], struct DungeonEntity*, u32); +extern void SetMessageArgument(char[], struct Entity*, u32); extern u8 sub_8044B28(void); -extern void sub_807AB38(struct DungeonEntity *, u32); +extern void sub_807AB38(struct Entity *, u32); extern void sub_8041888(u32); extern u8 sub_803F428(s16 *); extern void sub_803E708(u32, u32); -u32 sub_8075818(struct DungeonEntity *entity) +u32 sub_8075818(struct Entity *entity) { - struct MapTile *tile; - struct DungeonEntityData *entityData; - struct DungeonEntity *subEntity; - struct ItemSlot *item; + struct Tile *tile; + struct EntityInfo *entityData; + struct Entity *subEntity; + struct Item *item; u8 *trapData; // TODO: turn into struct when more research is done.. u8 r1; - entityData = entity->entityData; + entityData = entity->info; if(EntityExists(entity)) { - tile = GetMapTileForDungeonEntity_2(entity); - if(HasIQSkill(entity, IQ_SKILL_SUPER_MOBILE)) - if(!(tile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID))) + tile = GetTileAtEntitySafe(entity); + if(IQSkillIsEnabled(entity, IQ_SUPER_MOBILE)) + if(!(tile->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY))) return 1; - subEntity = tile->mapObject; + subEntity = tile->object; if(subEntity != NULL) { switch(GetEntityType(subEntity)) { - case ENTITY_NONE: - case ENTITY_POKEMON: + case ENTITY_NOTHING: + case ENTITY_MONSTER: case ENTITY_UNK_4: case ENTITY_UNK_5: break; @@ -75,21 +75,21 @@ u32 sub_8075818(struct DungeonEntity *entity) r1 = 0; if(trapData[1] == 0) { - if(!subEntity->visible || entityData->isEnemy) + if(!subEntity->isVisible || entityData->isNotTeamMember) goto flag_check; else goto error; } else if(trapData[1] == 1) { - if(!entityData->isEnemy) + if(!entityData->isNotTeamMember) goto flag_check; else goto error; } else if(trapData[1] == 2) { - if(!entityData->isEnemy) + if(!entityData->isNotTeamMember) r1 = 1; } flag_check: @@ -98,18 +98,18 @@ flag_check: else goto error; case ENTITY_ITEM: - if(!entityData->isLeader) + if(!entityData->isTeamLeader) { - if(!(entityData->heldItem.itemFlags & ITEM_FLAG_EXISTS)) + if(!(entityData->heldItem.flags & ITEM_FLAG_EXISTS)) { - if(!(tile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID))) + if(!(tile->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY))) { - if(entityData->isEnemy) + if(entityData->isNotTeamMember) break; else { item = GetItemData(subEntity); - if(!(item->itemFlags & ITEM_FLAG_FOR_SALE)) + if(!(item->flags & ITEM_FLAG_IN_SHOP)) { return 1; } @@ -118,7 +118,7 @@ flag_check: else { item = GetItemData(subEntity); - if(!(item->itemFlags & ITEM_FLAG_FOR_SALE)) + if(!(item->flags & ITEM_FLAG_IN_SHOP)) { error: return 1; @@ -133,24 +133,24 @@ error: return 0; } -void sub_8075900(struct DungeonEntity *pokemon, u8 r1) +void sub_8075900(struct Entity *pokemon, u8 r1) { if(EntityExists(pokemon)) { - if(!pokemon->entityData->isEnemy) + if(!pokemon->info->isNotTeamMember) { if(!sub_8044B28()) { - if(!gDungeonGlobalData->monsterHouseActive) + if(!gDungeon->monsterHouseTriggered) { - if((GetMapTileForDungeonEntity_2(pokemon)->tileType & TILE_TYPE_MONSTER_HOUSE)) + if((GetTileAtEntitySafe(pokemon)->terrainType & TERRAIN_TYPE_IN_MONSTER_HOUSE)) { // It's a monster house! - SendMessage(GetLeaderEntity(), gPtrItsaMonsterHouseMessage); - gDungeonGlobalData->unk672 = 1; + SendMessage(GetLeader(), gPtrItsaMonsterHouseMessage); + gDungeon->unk672 = 1; sub_807AB38(pokemon, r1); sub_8041888(0); - if(sub_803F428(&pokemon->posWorld.x) != 0) + if(sub_803F428(&pokemon->pos.x) != 0) sub_803E708(0x78, 0x39); } } @@ -159,87 +159,87 @@ void sub_8075900(struct DungeonEntity *pokemon, u8 r1) } } -void DecideAction(struct DungeonEntity *pokemon, u32 unused) +void RunMonsterAI(struct Entity *pokemon, u32 unused) { - struct DungeonEntityData *pokemonData = pokemon->entityData; - if (pokemonData->flags & MOVEMENT_FLAG_SWAPPED_PLACES_PETRIFIED) + struct EntityInfo *pokemonInfo = pokemon->info; + if (pokemonInfo->flags & MOVEMENT_FLAG_SWAPPING_PLACES_PETRIFIED_ALLY) { - if (pokemonData->immobilizeStatus == IMMOBILIZE_STATUS_PETRIFIED) + if (pokemonInfo->immobilizeStatus == STATUS_PETRIFIED) { SendImmobilizeEndMessage(pokemon, pokemon); } } else { - pokemonData->targetingDecoy = TARGETING_DECOY_NONE; - if (pokemonData->clientType == CLIENT_TYPE_NONE || IsMovingClient(pokemon)) + pokemonInfo->targetingDecoy = TARGETING_DECOY_NONE; + if (pokemonInfo->clientType == CLIENT_TYPE_NONE || IsMovingClient(pokemon)) { - if (pokemonData->clientType != CLIENT_TYPE_CLIENT && pokemonData->useHeldItem) + if (pokemonInfo->clientType != CLIENT_TYPE_CLIENT && pokemonInfo->useHeldItem) { if (CannotUseItems(pokemon)) { - pokemonData->useHeldItem = FALSE; + pokemonInfo->useHeldItem = FALSE; SetMessageArgument(gAvailablePokemonNames, pokemon, 0); SendMessage(pokemon, gPtrCouldntBeUsedMessage); return; } DecideUseItem(pokemon); - if (pokemonData->action.action != DUNGEON_ACTION_NONE) + if (pokemonInfo->action.action != ACTION_NOTHING) { return; } } if (!HasStatusAffectingActions(pokemon)) { - if (gDungeonGlobalData->decoyActive) + if (gDungeon->decoyActive) { s32 i; - struct DungeonEntity *target; + struct Entity *target; for (i = 0; i < DUNGEON_MAX_POKEMON; i++) { - target = gDungeonGlobalData->allPokemon[i]; + target = gDungeon->allPokemon[i]; if (EntityExists(target) && - target->entityData->waitingStatus == WAITING_STATUS_DECOY && - CanSee(pokemon, target)) + target->info->waitingStatus == STATUS_DECOY && + CanSeeTarget(pokemon, target)) { - bool8 enemyDecoy = target->entityData->enemyDecoy; + bool8 enemyDecoy = target->info->enemyDecoy; u8 targetingDecoy = TARGETING_DECOY_TEAM; if (enemyDecoy) { targetingDecoy = TARGETING_DECOY_WILD; } - pokemonData->targetingDecoy = targetingDecoy; + pokemonInfo->targetingDecoy = targetingDecoy; break; } } } - ResetAction(&pokemonData->action); - if (pokemonData->clientType == CLIENT_TYPE_CLIENT) + ClearMonsterActionFields(&pokemonInfo->action); + if (pokemonInfo->clientType == CLIENT_TYPE_CLIENT) { - SetWalkAction(&pokemonData->action, pokemonData->entityID); - pokemonData->action.facingDir = DungeonRandomCapped(NUM_DIRECTIONS); - pokemonData->targetPosition.x = pokemon->posWorld.x; - pokemonData->targetPosition.y = pokemon->posWorld.y - 1; + SetActionPassTurnOrWalk(&pokemonInfo->action, pokemonInfo->id); + pokemonInfo->action.direction = DungeonRandInt(NUM_DIRECTIONS); + pokemonInfo->targetPos.x = pokemon->pos.x; + pokemonInfo->targetPos.y = pokemon->pos.y - 1; } else { DecideUseItem(pokemon); - if (pokemonData->action.action == DUNGEON_ACTION_NONE) + if (pokemonInfo->action.action == ACTION_NOTHING) { - if (!HasIQSkill(pokemon, IQ_SKILL_DEDICATED_TRAVELER)) + if (!IQSkillIsEnabled(pokemon, IQ_DEDICATED_TRAVELER)) { DecideAttack(pokemon); - if (pokemonData->action.action != DUNGEON_ACTION_NONE) + if (pokemonInfo->action.action != ACTION_NOTHING) { return; } - if (pokemonData->volatileStatus == VOLATILE_STATUS_CONFUSED) + if (pokemonInfo->volatileStatus == STATUS_CONFUSED) { - SetWalkAction(&pokemonData->action, pokemonData->entityID); + SetActionPassTurnOrWalk(&pokemonInfo->action, pokemonInfo->id); } else { - if (!GetIsMoving(pokemonData->entityID)) + if (!CanMove(pokemonInfo->id)) { return; } @@ -248,28 +248,28 @@ void DecideAction(struct DungeonEntity *pokemon, u32 unused) } else { - if (pokemonData->volatileStatus == VOLATILE_STATUS_CONFUSED) + if (pokemonInfo->volatileStatus == STATUS_CONFUSED) { - SetWalkAction(&pokemonData->action, pokemonData->entityID); + SetActionPassTurnOrWalk(&pokemonInfo->action, pokemonInfo->id); } else { - if (GetIsMoving(pokemonData->entityID)) + if (CanMove(pokemonInfo->id)) { MoveIfPossible(pokemon, TRUE); } - if (pokemonData->action.action > DUNGEON_ACTION_WAIT) + if (pokemonInfo->action.action > ACTION_PASS_TURN) { return; } DecideAttack(pokemon); - if (pokemonData->action.action <= DUNGEON_ACTION_WAIT) + if (pokemonInfo->action.action <= ACTION_PASS_TURN) { return; } - pokemonData->notAdjacentToTarget = FALSE; - pokemonData->movingIntoTarget = FALSE; - pokemonData->waiting = FALSE; + pokemonInfo->aiNotNextToTarget = FALSE; + pokemonInfo->aiNextToTarget = FALSE; + pokemonInfo->waiting = FALSE; } } } diff --git a/src/dungeon_ai_attack.c b/src/dungeon_ai_attack.c index 715735634..3234f2e19 100644 --- a/src/dungeon_ai_attack.c +++ b/src/dungeon_ai_attack.c @@ -38,14 +38,14 @@ extern bool8 gCanAttackInDirection[NUM_DIRECTIONS]; extern s32 gNumPotentialTargets; extern s32 gPotentialAttackTargetWeights[NUM_DIRECTIONS]; extern u8 gPotentialAttackTargetDirections[NUM_DIRECTIONS]; -extern struct DungeonEntity *gPotentialTargets[NUM_DIRECTIONS]; +extern struct Entity *gPotentialTargets[NUM_DIRECTIONS]; -void DecideAttack(struct DungeonEntity *pokemon) +void DecideAttack(struct Entity *pokemon) { - struct DungeonEntityData *pokemonData = pokemon->entityData; + struct EntityInfo *pokemonInfo = pokemon->info; s32 i; - s32 chargeStatus = CHARGING_STATUS_CHARGE; - struct MoveTargetResults moveTargetResults[MAX_MON_MOVES + 1]; + s32 chargeStatus = STATUS_CHARGING; + struct AIPossibleMove aiPossibleMove[MAX_MON_MOVES + 1]; bool8 willNotUnlinkMove[MAX_MON_MOVES]; s32 randomWeight; bool8 hasPPChecker; @@ -57,34 +57,34 @@ void DecideAttack(struct DungeonEntity *pokemon) bool8 canTargetRegularAttack; s32 maxWeight; if (CannotAttack(pokemon, FALSE) || - ShouldAvoidEnemiesAndShowEffect(pokemon, TRUE) || + ShouldMonsterRunAwayAndShowEffect(pokemon, TRUE) || HasTactic(pokemon, TACTIC_KEEP_YOUR_DISTANCE) || - (pokemonData->volatileStatus == VOLATILE_STATUS_CONFUSED && RollPercentChance(gConfusedAttackChance))) + (pokemonInfo->volatileStatus == STATUS_CONFUSED && DungeonRandOutcome(gConfusedAttackChance))) { return; } - if (pokemonData->chargingStatus != CHARGING_STATUS_NONE) + if (pokemonInfo->chargingStatus != STATUS_NONE) { for (i = 0; i < MAX_MON_MOVES; i++) { - if (pokemonData->moves[i].moveFlags & MOVE_FLAG_EXISTS && - MoveMatchesChargingStatus(pokemon, &pokemonData->moves[i]) && - pokemonData->chargingStatusMoveIndex == i) + if (pokemonInfo->moves[i].moveFlags & MOVE_FLAG_EXISTS && + MoveMatchesChargingStatus(pokemon, &pokemonInfo->moves[i]) && + pokemonInfo->chargingStatusMoveIndex == i) { s32 chosenMoveIndex; - SetAction(&pokemonData->action, DUNGEON_ACTION_USE_MOVE_AI); + SetMonsterActionFields(&pokemonInfo->action, ACTION_USE_MOVE_AI); chosenMoveIndex = i; - if (i > 0 && pokemonData->moves[i].moveFlags & MOVE_FLAG_LINKED) + if (i > 0 && pokemonInfo->moves[i].moveFlags & MOVE_FLAG_SUBSEQUENT_IN_LINK_CHAIN) { while (--chosenMoveIndex > 0) { - if (!(pokemonData->moves[chosenMoveIndex].moveFlags & MOVE_FLAG_LINKED)) + if (!(pokemonInfo->moves[chosenMoveIndex].moveFlags & MOVE_FLAG_SUBSEQUENT_IN_LINK_CHAIN)) { break; } } } - pokemonData->action.actionUseIndex = chosenMoveIndex; + pokemonInfo->action.actionUseIndex = chosenMoveIndex; TargetTileInFront(pokemon); return; } @@ -94,10 +94,10 @@ void DecideAttack(struct DungeonEntity *pokemon) numUsableMoves = 0; for (i = 0; i < MAX_MON_MOVES; i++) { - struct PokemonMove *move = &pokemonData->moves[i]; - if (pokemonData->moves[i].moveFlags & MOVE_FLAG_EXISTS) + struct Move *move = &pokemonInfo->moves[i]; + if (pokemonInfo->moves[i].moveFlags & MOVE_FLAG_EXISTS) { - if (pokemonData->moves[i].moveFlags & MOVE_FLAG_ENABLED) + if (pokemonInfo->moves[i].moveFlags & MOVE_FLAG_ENABLED_FOR_AI) { numUsableMoves++; } @@ -106,19 +106,19 @@ void DecideAttack(struct DungeonEntity *pokemon) } if (total == 0) { - struct PokemonMove struggle; + struct Move struggle; InitPokemonMove(&struggle, MOVE_STRUGGLE); - FindMoveTarget(&moveTargetResults[0], pokemon, &struggle); - if (moveTargetResults[0].moveUsable) + AIConsiderMove(&aiPossibleMove[0], pokemon, &struggle); + if (aiPossibleMove[0].canBeUsed) { - SetAction(&pokemonData->action, DUNGEON_ACTION_STRUGGLE); - pokemonData->action.facingDir = moveTargetResults[0].targetDir & DIRECTION_MASK; + SetMonsterActionFields(&pokemonInfo->action, ACTION_STRUGGLE); + pokemonInfo->action.direction = aiPossibleMove[0].direction & DIRECTION_MASK; TargetTileInFront(pokemon); } return; } - hasWeakTypePicker = HasIQSkill(pokemon, IQ_SKILL_WEAK_TYPE_PICKER); - hasPPChecker = HasIQSkill(pokemon, IQ_SKILL_PP_CHECKER) != FALSE; + hasWeakTypePicker = IQSkillIsEnabled(pokemon, IQ_WEAK_TYPE_PICKER); + hasPPChecker = IQSkillIsEnabled(pokemon, IQ_PP_CHECKER) != FALSE; total = 0; for (i = 0; i < MAX_MON_MOVES; i++) { @@ -133,12 +133,12 @@ void DecideAttack(struct DungeonEntity *pokemon) // This requires a separate check from the 0-PP check used for unlinked moves. for (i = 0; i < MAX_MON_MOVES; i++) { - struct PokemonMove *move = &pokemonData->moves[i]; + struct Move *move = &pokemonInfo->moves[i]; if (!(move->moveFlags & MOVE_FLAG_EXISTS)) { break; } - if (i != 0 && !(move->moveFlags & MOVE_FLAG_LINKED)) + if (i != 0 && !(move->moveFlags & MOVE_FLAG_SUBSEQUENT_IN_LINK_CHAIN)) { if (linkedMoveStartIndex + 1 < i && minPP <= 1 && linkedMoveStartIndex + 1 <= i) { @@ -172,61 +172,61 @@ void DecideAttack(struct DungeonEntity *pokemon) } for (i = 0; i < MAX_MON_MOVES; i++) { - struct PokemonMove *move; - moveTargetResults[i].moveUsable = FALSE; - move = &pokemonData->moves[i]; + struct Move *move; + aiPossibleMove[i].canBeUsed = FALSE; + move = &pokemonInfo->moves[i]; if (move->moveFlags & MOVE_FLAG_EXISTS && willNotUnlinkMove[i] && - IsMoveIndexUsable(pokemon, i, hasPPChecker) && - move->moveFlags & MOVE_FLAG_ENABLED) + CanAIUseMove(pokemon, i, hasPPChecker) && + move->moveFlags & MOVE_FLAG_ENABLED_FOR_AI) { - moveTargetResults[i].moveUsable = TRUE; - if (pokemonData->chargingStatus == chargeStatus) + aiPossibleMove[i].canBeUsed = TRUE; + if (pokemonInfo->chargingStatus == chargeStatus) { - if (move->moveID == MOVE_CHARGE) + if (move->id == MOVE_CHARGE) { - moveTargetResults[i].moveWeight = 0; + aiPossibleMove[i].weight = 0; continue; } - else if (GetMoveTypeForPokemon(pokemon, move) == TYPE_ELECTRIC) + else if (GetMoveTypeForMonster(pokemon, move) == TYPE_ELECTRIC) { - moveTargetResults[i].moveWeight = GetMoveWeight(move); + aiPossibleMove[i].weight = GetMoveAIWeight(move); } else { - moveTargetResults[i].moveWeight = 1; + aiPossibleMove[i].weight = 1; } } else if (hasWeakTypePicker) { - struct MoveTargetResults *results = &moveTargetResults[i]; - results->moveWeight = FindMoveTarget(results, pokemon, move); + struct AIPossibleMove *results = &aiPossibleMove[i]; + results->weight = AIConsiderMove(results, pokemon, move); } else { - moveTargetResults[i].moveWeight = GetMoveWeight(move); + aiPossibleMove[i].weight = GetMoveAIWeight(move); } - total += moveTargetResults[i].moveWeight; + total += aiPossibleMove[i].weight; } } - moveTargetResults[REGULAR_ATTACK_INDEX].moveWeight = 0; - if (!HasIQSkill(pokemon, IQ_SKILL_EXCLUSIVE_MOVE_USER) && pokemonData->chargingStatus != chargeStatus) + aiPossibleMove[REGULAR_ATTACK_INDEX].weight = 0; + if (!IQSkillIsEnabled(pokemon, IQ_EXCLUSIVE_MOVE_USER) && pokemonInfo->chargingStatus != chargeStatus) { - moveTargetResults[REGULAR_ATTACK_INDEX].moveUsable = TRUE; - if (pokemonData->chargingStatus == chargeStatus) + aiPossibleMove[REGULAR_ATTACK_INDEX].canBeUsed = TRUE; + if (pokemonInfo->chargingStatus == chargeStatus) { // Never reached? Charge already skips the regular attack in the outer block. - moveTargetResults[REGULAR_ATTACK_INDEX].moveWeight = 1; + aiPossibleMove[REGULAR_ATTACK_INDEX].weight = 1; } else if (hasWeakTypePicker) { - moveTargetResults[REGULAR_ATTACK_INDEX].moveWeight = 2; + aiPossibleMove[REGULAR_ATTACK_INDEX].weight = 2; } else { - moveTargetResults[REGULAR_ATTACK_INDEX].moveWeight = gRegularAttackWeights[numUsableMoves]; + aiPossibleMove[REGULAR_ATTACK_INDEX].weight = gRegularAttackWeights[numUsableMoves]; } - total += moveTargetResults[REGULAR_ATTACK_INDEX].moveWeight; + total += aiPossibleMove[REGULAR_ATTACK_INDEX].weight; } if (hasWeakTypePicker) { @@ -235,26 +235,26 @@ void DecideAttack(struct DungeonEntity *pokemon) total = 0; for (i = 0; i < MAX_MON_MOVES + 1; i++) { - if (!moveTargetResults[i].moveUsable) + if (!aiPossibleMove[i].canBeUsed) { - moveTargetResults[i].moveWeight = 0; + aiPossibleMove[i].weight = 0; } - else if (maxWeight < moveTargetResults[i].moveWeight) + else if (maxWeight < aiPossibleMove[i].weight) { - maxWeight = moveTargetResults[i].moveWeight; + maxWeight = aiPossibleMove[i].weight; } } for (i = 0; i < MAX_MON_MOVES + 1; i++) { - if (moveTargetResults[i].moveUsable) + if (aiPossibleMove[i].canBeUsed) { - if (maxWeight != moveTargetResults[i].moveWeight) + if (maxWeight != aiPossibleMove[i].weight) { // Only the move(s) with the highest weight can be used, instead of a weighted random. // This has the side effect of making the AI use a STAB ranged move consistently when at a distance. - moveTargetResults[i].moveWeight = 0; + aiPossibleMove[i].weight = 0; } - total += moveTargetResults[i].moveWeight; + total += aiPossibleMove[i].weight; } } } @@ -262,9 +262,9 @@ void DecideAttack(struct DungeonEntity *pokemon) { return; } - randomWeight = DungeonRandomCapped(total); + randomWeight = DungeonRandInt(total); weightCounter = 0; - if (!HasIQSkill(pokemon, IQ_SKILL_EXCLUSIVE_MOVE_USER)) + if (!IQSkillIsEnabled(pokemon, IQ_EXCLUSIVE_MOVE_USER)) { canTargetRegularAttack = TargetRegularAttack(pokemon, ®ularAttackTargetDir, TRUE); } @@ -275,40 +275,40 @@ void DecideAttack(struct DungeonEntity *pokemon) } for (i = 0; i <= REGULAR_ATTACK_INDEX; i++) { - if (moveTargetResults[i].moveUsable && moveTargetResults[i].moveWeight != 0) + if (aiPossibleMove[i].canBeUsed && aiPossibleMove[i].weight != 0) { - weightCounter += moveTargetResults[i].moveWeight; + weightCounter += aiPossibleMove[i].weight; if (weightCounter >= randomWeight) { if (i == REGULAR_ATTACK_INDEX) { if (canTargetRegularAttack) { - SetAction(&pokemonData->action, DUNGEON_ACTION_REGULAR_ATTACK); - pokemonData->action.facingDir = regularAttackTargetDir & DIRECTION_MASK; + SetMonsterActionFields(&pokemonInfo->action, ACTION_REGULAR_ATTACK); + pokemonInfo->action.direction = regularAttackTargetDir & DIRECTION_MASK; TargetTileInFront(pokemon); } } else { - FindMoveTarget(&moveTargetResults[i], pokemon, &pokemonData->moves[i]); - if (moveTargetResults[i].moveUsable) + AIConsiderMove(&aiPossibleMove[i], pokemon, &pokemonInfo->moves[i]); + if (aiPossibleMove[i].canBeUsed) { s32 chosenMoveIndex; - SetAction(&pokemonData->action, DUNGEON_ACTION_USE_MOVE_AI); + SetMonsterActionFields(&pokemonInfo->action, ACTION_USE_MOVE_AI); chosenMoveIndex = i; - if (i > 0 && pokemonData->moves[i].moveFlags & MOVE_FLAG_LINKED) + if (i > 0 && pokemonInfo->moves[i].moveFlags & MOVE_FLAG_SUBSEQUENT_IN_LINK_CHAIN) { while (--chosenMoveIndex > 0) { - if (!(pokemonData->moves[chosenMoveIndex].moveFlags & MOVE_FLAG_LINKED)) + if (!(pokemonInfo->moves[chosenMoveIndex].moveFlags & MOVE_FLAG_SUBSEQUENT_IN_LINK_CHAIN)) { break; } } } - pokemonData->action.facingDir = moveTargetResults[i].targetDir & DIRECTION_MASK; - pokemonData->action.actionUseIndex = chosenMoveIndex; + pokemonInfo->action.direction = aiPossibleMove[i].direction & DIRECTION_MASK; + pokemonInfo->action.actionUseIndex = chosenMoveIndex; TargetTileInFront(pokemon); } else @@ -322,17 +322,17 @@ void DecideAttack(struct DungeonEntity *pokemon) } if (canTargetRegularAttack) { - SetAction(&pokemonData->action, DUNGEON_ACTION_REGULAR_ATTACK); - pokemonData->action.facingDir = regularAttackTargetDir & DIRECTION_MASK; + SetMonsterActionFields(&pokemonInfo->action, ACTION_REGULAR_ATTACK); + pokemonInfo->action.direction = regularAttackTargetDir & DIRECTION_MASK; TargetTileInFront(pokemon); } } -s32 FindMoveTarget(struct MoveTargetResults *moveTargetResults, struct DungeonEntity *pokemon, struct PokemonMove *move) +s32 AIConsiderMove(struct AIPossibleMove *aiPossibleMove, struct Entity *pokemon, struct Move *move) { s32 targetingFlags; s32 moveWeight = 1; - struct DungeonEntityData *pokemonData = pokemon->entityData; + struct EntityInfo *pokemonInfo = pokemon->info; s32 numPotentialTargets = 0; s32 i; bool8 hasStatusChecker; @@ -342,10 +342,10 @@ s32 FindMoveTarget(struct MoveTargetResults *moveTargetResults, struct DungeonEn { gCanAttackInDirection[i] = FALSE; } - targetingFlags = GetMoveTargetingFlagsForPokemon(pokemon, move, TRUE); - hasStatusChecker = HasIQSkill(pokemon, IQ_SKILL_STATUS_CHECKER); - moveTargetResults->moveUsable = FALSE; - if ((pokemonData->volatileStatus == VOLATILE_STATUS_TAUNTED && !MoveDealsDirectDamage(move)) || + targetingFlags = GetMoveTargetAndRangeForPokemon(pokemon, move, TRUE); + hasStatusChecker = IQSkillIsEnabled(pokemon, IQ_STATUS_CHECKER); + aiPossibleMove->canBeUsed = FALSE; + if ((pokemonInfo->volatileStatus == STATUS_TAUNTED && !MovesIgnoresTaunted(move)) || (hasStatusChecker && !CanUseOnSelfWithStatusChecker(pokemon, move))) { return 1; @@ -355,10 +355,10 @@ s32 FindMoveTarget(struct MoveTargetResults *moveTargetResults, struct DungeonEn rangeTargetingFlags == TARGETING_FLAG_TARGET_FRONTAL_CONE || rangeTargetingFlags == TARGETING_FLAG_TARGET_AROUND) { - if (pokemonData->eyesightStatus == EYESIGHT_STATUS_BLINKER) + if (pokemonInfo->eyesightStatus == STATUS_BLINKER) { - u8 facingDir = pokemonData->action.facingDir; - i = facingDir; // Fixes a regswap. + u8 direction = pokemonInfo->action.direction; + i = direction; // Fixes a regswap. if (!gCanAttackInDirection[i]) { gCanAttackInDirection[i] = TRUE; @@ -374,20 +374,20 @@ s32 FindMoveTarget(struct MoveTargetResults *moveTargetResults, struct DungeonEn { // Double assignment to fix a regswap. s16 rangeTargetingFlags = rangeTargetingFlags2 = targetingFlags & 0xF0; - struct MapTile *adjacentTile = GetMapTile_1(pokemon->posWorld.x + gAdjacentTileOffsets[i].x, - pokemon->posWorld.y + gAdjacentTileOffsets[i].y); - struct DungeonEntity *adjacentPokemon = adjacentTile->pokemon; - if (adjacentPokemon != NULL && GetEntityType(adjacentPokemon) == ENTITY_POKEMON) + struct Tile *adjacentTile = GetTile(pokemon->pos.x + gAdjacentTileOffsets[i].x, + pokemon->pos.y + gAdjacentTileOffsets[i].y); + struct Entity *adjacentPokemon = adjacentTile->monster; + if (adjacentPokemon != NULL && GetEntityType(adjacentPokemon) == ENTITY_MONSTER) { if (rangeTargetingFlags != TARGETING_FLAG_TARGET_FRONTAL_CONE && rangeTargetingFlags != TARGETING_FLAG_TARGET_AROUND) { - if (!CanAttackInFront(pokemon, i)) + if (!CanAttackInDirection(pokemon, i)) { continue; } } - numPotentialTargets = WeightMoveIfUsable(numPotentialTargets, targetingFlags, pokemon, adjacentPokemon, move, hasStatusChecker); + numPotentialTargets = TryAddTargetToAITargetList(numPotentialTargets, targetingFlags, pokemon, adjacentPokemon, move, hasStatusChecker); } } } @@ -397,10 +397,10 @@ s32 FindMoveTarget(struct MoveTargetResults *moveTargetResults, struct DungeonEn s32 i; for (i = 0; i < DUNGEON_MAX_POKEMON; i++) { - struct DungeonEntity *target = gDungeonGlobalData->allPokemon[i]; - if (EntityExists(target) && CanSee(pokemon, target)) + struct Entity *target = gDungeon->allPokemon[i]; + if (EntityExists(target) && CanSeeTarget(pokemon, target)) { - numPotentialTargets = WeightMoveIfUsable(numPotentialTargets, targetingFlags, pokemon, target, move, hasStatusChecker); + numPotentialTargets = TryAddTargetToAITargetList(numPotentialTargets, targetingFlags, pokemon, target, move, hasStatusChecker); } } } @@ -408,26 +408,26 @@ s32 FindMoveTarget(struct MoveTargetResults *moveTargetResults, struct DungeonEn { for (i = 0; i < NUM_DIRECTIONS; i++) { - struct MapTile *targetTile = GetMapTile_1(pokemon->posWorld.x + gAdjacentTileOffsets[i].x, - pokemon->posWorld.y + gAdjacentTileOffsets[i].y); - if (CanAttackInFront(pokemon, i)) + struct Tile *targetTile = GetTile(pokemon->pos.x + gAdjacentTileOffsets[i].x, + pokemon->pos.y + gAdjacentTileOffsets[i].y); + if (CanAttackInDirection(pokemon, i)) { - struct DungeonEntity *targetPokemon = targetTile->pokemon; - if (targetPokemon != NULL && GetEntityType(targetPokemon) == ENTITY_POKEMON) + struct Entity *targetPokemon = targetTile->monster; + if (targetPokemon != NULL && GetEntityType(targetPokemon) == ENTITY_MONSTER) { s32 prevNumPotentialTargets = numPotentialTargets; - numPotentialTargets = WeightMoveIfUsable(numPotentialTargets, targetingFlags, pokemon, targetPokemon, move, hasStatusChecker); + numPotentialTargets = TryAddTargetToAITargetList(numPotentialTargets, targetingFlags, pokemon, targetPokemon, move, hasStatusChecker); if (prevNumPotentialTargets != numPotentialTargets) { continue; } } - targetTile = GetMapTile_1(pokemon->posWorld.x + gAdjacentTileOffsets[i].x * 2, - pokemon->posWorld.y + gAdjacentTileOffsets[i].y * 2); - targetPokemon = targetTile->pokemon; - if (targetPokemon != NULL && GetEntityType(targetPokemon) == ENTITY_POKEMON) + targetTile = GetTile(pokemon->pos.x + gAdjacentTileOffsets[i].x * 2, + pokemon->pos.y + gAdjacentTileOffsets[i].y * 2); + targetPokemon = targetTile->monster; + if (targetPokemon != NULL && GetEntityType(targetPokemon) == ENTITY_MONSTER) { - numPotentialTargets = WeightMoveIfUsable(numPotentialTargets, targetingFlags, pokemon, targetPokemon, move, hasStatusChecker); + numPotentialTargets = TryAddTargetToAITargetList(numPotentialTargets, targetingFlags, pokemon, targetPokemon, move, hasStatusChecker); } } } @@ -442,19 +442,19 @@ s32 FindMoveTarget(struct MoveTargetResults *moveTargetResults, struct DungeonEn } for (i = 0; i < DUNGEON_MAX_POKEMON; i++) { - struct DungeonEntity *target = gDungeonGlobalData->allPokemon[i]; + struct Entity *target = gDungeon->allPokemon[i]; if (EntityExists(target) && pokemon != target) { - s32 facingDir = CalculateFacingDir(&pokemon->posWorld, &target->posWorld); - if (!gCanAttackInDirection[facingDir] && - CanSee(pokemon, target) && + s32 direction = GetDirectionTowardsPosition(&pokemon->pos, &target->pos); + if (!gCanAttackInDirection[direction] && + CanSeeTarget(pokemon, target) && IsTargetInLineRange(pokemon, target, maxRange) && - CanUseStatusMove(targetingFlags, pokemon, target, move, hasStatusChecker) && - IsTargetStraightAhead(pokemon, target, facingDir, maxRange)) + IsAITargetEligible(targetingFlags, pokemon, target, move, hasStatusChecker) && + IsTargetInRange(pokemon, target, direction, maxRange)) { - gCanAttackInDirection[facingDir] = TRUE; - gPotentialAttackTargetDirections[numPotentialTargets] = facingDir; - gPotentialAttackTargetWeights[numPotentialTargets] = WeightMove(pokemon, targetingFlags, target, GetMoveTypeForPokemon(pokemon, move)); + gCanAttackInDirection[direction] = TRUE; + gPotentialAttackTargetDirections[numPotentialTargets] = direction; + gPotentialAttackTargetWeights[numPotentialTargets] = WeightMove(pokemon, targetingFlags, target, GetMoveTypeForMonster(pokemon, move)); gPotentialTargets[numPotentialTargets] = target; numPotentialTargets++; } @@ -466,20 +466,20 @@ s32 FindMoveTarget(struct MoveTargetResults *moveTargetResults, struct DungeonEn s32 i; for (i = 0; i < DUNGEON_MAX_POKEMON; i++) { - struct DungeonEntity *target = gDungeonGlobalData->allPokemon[i]; + struct Entity *target = gDungeon->allPokemon[i]; if (EntityExists(target)) { - numPotentialTargets = WeightMoveIfUsable(numPotentialTargets, targetingFlags, pokemon, target, move, hasStatusChecker); + numPotentialTargets = TryAddTargetToAITargetList(numPotentialTargets, targetingFlags, pokemon, target, move, hasStatusChecker); } } } else if (rangeTargetingFlags == TARGETING_FLAG_TARGET_SELF) { - numPotentialTargets = WeightMoveIfUsable(numPotentialTargets, targetingFlags, pokemon, pokemon, move, hasStatusChecker); + numPotentialTargets = TryAddTargetToAITargetList(numPotentialTargets, targetingFlags, pokemon, pokemon, move, hasStatusChecker); } if (numPotentialTargets == 0) { - moveTargetResults->moveUsable = FALSE; + aiPossibleMove->canBeUsed = FALSE; } else { @@ -506,7 +506,7 @@ s32 FindMoveTarget(struct MoveTargetResults *moveTargetResults, struct DungeonEn { totalWeight += gPotentialAttackTargetWeights[i]; } - weightCounter = DungeonRandomCapped(totalWeight); + weightCounter = DungeonRandInt(totalWeight); for (i = 0; i < numPotentialTargets; i++) { weightCounter -= gPotentialAttackTargetWeights[i]; @@ -515,23 +515,23 @@ s32 FindMoveTarget(struct MoveTargetResults *moveTargetResults, struct DungeonEn break; } } - moveTargetResults->moveUsable = TRUE; - moveTargetResults->targetDir = gPotentialAttackTargetDirections[i]; - moveTargetResults->moveWeight = 8; + aiPossibleMove->canBeUsed = TRUE; + aiPossibleMove->direction = gPotentialAttackTargetDirections[i]; + aiPossibleMove->weight = 8; } return moveWeight; } -bool8 IsTargetInLineRange(struct DungeonEntity *user, struct DungeonEntity *target, s32 range) +bool8 IsTargetInLineRange(struct Entity *user, struct Entity *target, s32 range) { - s32 distanceX = user->posWorld.x - target->posWorld.x; + s32 distanceX = user->pos.x - target->pos.x; s32 distanceY, distance; s32 direction; if (distanceX < 0) { distanceX = -distanceX; } - distanceY = user->posWorld.y - target->posWorld.y; + distanceY = user->pos.y - target->pos.y; if (distanceY < 0) { distanceY = -distanceY; @@ -548,33 +548,33 @@ bool8 IsTargetInLineRange(struct DungeonEntity *user, struct DungeonEntity *targ direction = -1; if (distanceX == distanceY) { - if (user->posWorld.x < target->posWorld.x && - (user->posWorld.y < target->posWorld.y || user->posWorld.y > target->posWorld.y)) + if (user->pos.x < target->pos.x && + (user->pos.y < target->pos.y || user->pos.y > target->pos.y)) { returnTrue: return TRUE; } - if (user->posWorld.x > target->posWorld.x); // Fixes register loading order. + if (user->pos.x > target->pos.x); // Fixes register loading order. direction = DIRECTION_SOUTHWEST; - if (user->posWorld.x <= target->posWorld.x || user->posWorld.y <= target->posWorld.y) + if (user->pos.x <= target->pos.x || user->pos.y <= target->pos.y) { goto checkDirectionSet; } goto returnTrue; } - else if (user->posWorld.x == target->posWorld.x && user->posWorld.y < target->posWorld.y) + else if (user->pos.x == target->pos.x && user->pos.y < target->pos.y) { return TRUE; } - else if (user->posWorld.x < target->posWorld.x && user->posWorld.y == target->posWorld.y) + else if (user->pos.x < target->pos.x && user->pos.y == target->pos.y) { return TRUE; } - else if (user->posWorld.x == target->posWorld.x && user->posWorld.y > target->posWorld.y) + else if (user->pos.x == target->pos.x && user->pos.y > target->pos.y) { return TRUE; } - else if (user->posWorld.x > target->posWorld.x && user->posWorld.y == target->posWorld.y) + else if (user->pos.x > target->pos.x && user->pos.y == target->pos.y) { direction = DIRECTION_WEST; } @@ -586,38 +586,38 @@ bool8 IsTargetInLineRange(struct DungeonEntity *user, struct DungeonEntity *targ return TRUE; } -s32 WeightMoveIfUsable(s32 numPotentialTargets, s32 targetingFlags, struct DungeonEntity *user, struct DungeonEntity *target, struct PokemonMove *move, bool32 hasStatusChecker) +s32 TryAddTargetToAITargetList(s32 numPotentialTargets, s32 targetingFlags, struct Entity *user, struct Entity *target, struct Move *move, bool32 hasStatusChecker) { - s32 facingDir; + s32 direction; s32 targetingFlags2 = (s16) targetingFlags; bool8 hasStatusChecker2 = hasStatusChecker; - struct DungeonEntityData *userData = user->entityData; - if ((user->posWorld.x == target->posWorld.x && user->posWorld.y == target->posWorld.y) || + struct EntityInfo *userData = user->info; + if ((user->pos.x == target->pos.x && user->pos.y == target->pos.y) || (targetingFlags2 & 0xF0) == TARGETING_FLAG_TARGET_ROOM || (targetingFlags2 & 0xF0) == TARGETING_FLAG_TARGET_FLOOR || (targetingFlags2 & 0xF0) == TARGETING_FLAG_TARGET_SELF) { - facingDir = userData->action.facingDir; + direction = userData->action.direction; } else { - facingDir = CalculateFacingDir(&user->posWorld, &target->posWorld); + direction = GetDirectionTowardsPosition(&user->pos, &target->pos); } - if (!gCanAttackInDirection[facingDir] && - CanUseStatusMove(targetingFlags2, user, target, move, hasStatusChecker2)) + if (!gCanAttackInDirection[direction] && + IsAITargetEligible(targetingFlags2, user, target, move, hasStatusChecker2)) { - gCanAttackInDirection[facingDir] = TRUE; - do { gPotentialAttackTargetDirections[numPotentialTargets] = facingDir; } while (0); - gPotentialAttackTargetWeights[numPotentialTargets] = WeightMove(user, targetingFlags2, target, GetMoveTypeForPokemon(user, move)); + gCanAttackInDirection[direction] = TRUE; + do { gPotentialAttackTargetDirections[numPotentialTargets] = direction; } while (0); + gPotentialAttackTargetWeights[numPotentialTargets] = WeightMove(user, targetingFlags2, target, GetMoveTypeForMonster(user, move)); gPotentialTargets[numPotentialTargets] = target; numPotentialTargets++; } return numPotentialTargets; } -bool8 CanUseStatusMove(s32 targetingFlags, struct DungeonEntity *user, struct DungeonEntity *target, struct PokemonMove *move, bool32 hasStatusChecker) +bool8 IsAITargetEligible(s32 targetingFlags, struct Entity *user, struct Entity *target, struct Move *move, bool32 hasStatusChecker) { - struct DungeonEntityData *targetData; + struct EntityInfo *targetData; s32 targetingFlags2 = (s16) targetingFlags; bool8 hasStatusChecker2 = hasStatusChecker; bool8 hasTarget = FALSE; @@ -636,19 +636,19 @@ bool8 CanUseStatusMove(s32 targetingFlags, struct DungeonEntity *user, struct Du } else if (categoryTargetingFlags == TARGETING_FLAG_LONG_RANGE) { - targetData = target->entityData; + targetData = target->info; goto checkThirdParty; } else if (categoryTargetingFlags == TARGETING_FLAG_ATTACK_ALL) { - targetData = target->entityData; + targetData = target->info; if (user == target) { goto returnFalse; } checkThirdParty: hasTarget = TRUE; - if (targetData->shopkeeperMode == SHOPKEEPER_FRIENDLY || + if (targetData->shopkeeper == SHOPKEEPER_MODE_SHOPKEEPER || targetData->clientType == CLIENT_TYPE_DONT_MOVE || targetData->clientType == CLIENT_TYPE_CLIENT) { @@ -687,7 +687,7 @@ bool8 CanUseStatusMove(s32 targetingFlags, struct DungeonEntity *user, struct Du } else if ((targetingFlags2 & 0xF00) == TARGETING_FLAG_HEAL_HP) { - if (!HasQuarterHPOrLess(target)) + if (!HasLowHealth(target)) { if (*categoryTargetingFlags2); goto returnFalse; @@ -711,8 +711,8 @@ bool8 CanUseStatusMove(s32 targetingFlags, struct DungeonEntity *user, struct Du } else if ((targetingFlags2 & 0xF00) == TARGETING_FLAG_EXPOSE) { - targetData = target->entityData; - if ((targetData->types[0] != TYPE_GHOST && targetData->types[1] != TYPE_GHOST) || targetData->exposedStatus) + targetData = target->info; + if ((targetData->types[0] != TYPE_GHOST && targetData->types[1] != TYPE_GHOST) || targetData->exposed) { if (*categoryTargetingFlags2); // Flips the conditional. goto returnFalse; @@ -720,7 +720,7 @@ bool8 CanUseStatusMove(s32 targetingFlags, struct DungeonEntity *user, struct Du } else if ((targetingFlags2 & 0xF00) == TARGETING_FLAG_HEAL_ALL) { - if (!HasNegativeStatus(target) && !HasQuarterHPOrLess(target)) + if (!HasNegativeStatus(target) && !HasLowHealth(target)) { if (*categoryTargetingFlags2); // Flips the conditional. goto returnFalse; @@ -731,8 +731,8 @@ bool8 CanUseStatusMove(s32 targetingFlags, struct DungeonEntity *user, struct Du { s32 useChance; rollMoveUseChance: - useChance = GetMoveAccuracy(move, ACCURACY_TYPE_USE_CHANCE); - if (DungeonRandomCapped(100) >= useChance) + useChance = GetMoveAccuracyOrAIChance(move, ACCURACY_AI_CONDITION_RANDOM_CHANCE); + if (DungeonRandInt(100) >= useChance) { goto returnFalse; } @@ -741,30 +741,30 @@ bool8 CanUseStatusMove(s32 targetingFlags, struct DungeonEntity *user, struct Du return hasTarget; } -s32 WeightMove(struct DungeonEntity *user, s32 targetingFlags, struct DungeonEntity *target, u32 moveType) +s32 WeightMove(struct Entity *user, s32 targetingFlags, struct Entity *target, u32 moveType) { #ifndef NONMATCHING - register struct DungeonEntityData *targetData asm("r4"); + register struct EntityInfo *targetData asm("r4"); #else - struct DungeonEntityData *targetData; + struct EntityInfo *targetData; #endif s32 targetingFlags2 = (s16) targetingFlags; u8 moveType2 = moveType; u8 weight = 1; - struct DungeonEntityData *targetData2; - targetData2 = targetData = target->entityData; - if (!targetData->isEnemy || (targetingFlags2 & 0xF) != TARGETING_FLAG_TARGET_OTHER) + struct EntityInfo *targetData2; + targetData2 = targetData = target->info; + if (!targetData->isNotTeamMember || (targetingFlags2 & 0xF) != TARGETING_FLAG_TARGET_OTHER) { return 1; } - else if (HasIQSkill(user, IQ_SKILL_EXP_GO_GETTER)) + else if (IQSkillIsEnabled(user, IQ_EXP_GO_GETTER)) { // BUG: expYieldRankings has lower values as the Pokémon's experience yield increases. // This causes Exp. Go-Getter to prioritize Pokémon worth less experience // instead of Pokémon worth more experience. - weight = gDungeonGlobalData->expYieldRankings[targetData->entityID]; + weight = gDungeon->expYieldRankings[targetData->id]; } - else if (HasIQSkill(user, IQ_SKILL_EFFICIENCY_EXPERT)) + else if (IQSkillIsEnabled(user, IQ_EFFICIENCY_EXPERT)) { weight = -12 - targetData2->HP; if (weight == 0) @@ -772,41 +772,41 @@ s32 WeightMove(struct DungeonEntity *user, s32 targetingFlags, struct DungeonEnt weight = 1; } } - else if (HasIQSkill(user, IQ_SKILL_WEAK_TYPE_PICKER)) + else if (IQSkillIsEnabled(user, IQ_WEAK_TYPE_PICKER)) { weight = WeightWeakTypePicker(user, target, moveType2) + 1; } return weight; } -bool8 TargetRegularAttack(struct DungeonEntity *pokemon, u32 *targetDir, bool8 checkPetrified) +bool8 TargetRegularAttack(struct Entity *pokemon, u32 *targetDir, bool8 checkPetrified) { - struct DungeonEntityData *pokemonData = pokemon->entityData; + struct EntityInfo *pokemonInfo = pokemon->info; s32 numPotentialTargets = 0; - s32 facingDir = pokemonData->action.facingDir; - s32 faceTurnLimit = pokemonData->eyesightStatus == EYESIGHT_STATUS_BLINKER ? 1 : 8; + s32 direction = pokemonInfo->action.direction; + s32 faceTurnLimit = pokemonInfo->eyesightStatus == STATUS_BLINKER ? 1 : 8; s32 i; s32 potentialAttackTargetDirections[NUM_DIRECTIONS]; s32 potentialAttackTargetWeights[NUM_DIRECTIONS]; - bool8 hasTargetingIQ = HasIQSkill(pokemon, IQ_SKILL_EXP_GO_GETTER) || HasIQSkill(pokemon, IQ_SKILL_EFFICIENCY_EXPERT); - bool8 hasStatusChecker = HasIQSkill(pokemon, IQ_SKILL_STATUS_CHECKER); - for (i = 0; i < faceTurnLimit; i++, facingDir++) + bool8 hasTargetingIQ = IQSkillIsEnabled(pokemon, IQ_EXP_GO_GETTER) || IQSkillIsEnabled(pokemon, IQ_EFFICIENCY_EXPERT); + bool8 hasStatusChecker = IQSkillIsEnabled(pokemon, IQ_STATUS_CHECKER); + for (i = 0; i < faceTurnLimit; i++, direction++) { - struct DungeonEntity *target; - facingDir &= DIRECTION_MASK; - target = GetMapTile_1(pokemon->posWorld.x + gAdjacentTileOffsets[facingDir].x, - pokemon->posWorld.y + gAdjacentTileOffsets[facingDir].y)->pokemon; + struct Entity *target; + direction &= DIRECTION_MASK; + target = GetTile(pokemon->pos.x + gAdjacentTileOffsets[direction].x, + pokemon->pos.y + gAdjacentTileOffsets[direction].y)->monster; if (target != NULL && - GetEntityType(target) == ENTITY_POKEMON && - CanAttackInFront(pokemon, facingDir) && + GetEntityType(target) == ENTITY_MONSTER && + CanAttackInDirection(pokemon, direction) && CanTarget(pokemon, target, FALSE, checkPetrified) == TARGET_CAPABILITY_CAN_TARGET && - (!hasStatusChecker || target->entityData->immobilizeStatus != IMMOBILIZE_STATUS_FROZEN)) + (!hasStatusChecker || target->info->immobilizeStatus != STATUS_FROZEN)) { - potentialAttackTargetDirections[numPotentialTargets] = facingDir; + potentialAttackTargetDirections[numPotentialTargets] = direction; potentialAttackTargetWeights[numPotentialTargets] = WeightMove(pokemon, TARGETING_FLAG_TARGET_OTHER, target, TYPE_NONE); if (!hasTargetingIQ) { - *targetDir = facingDir; + *targetDir = direction; return TRUE; } numPotentialTargets++; @@ -840,7 +840,7 @@ bool8 TargetRegularAttack(struct DungeonEntity *pokemon, u32 *targetDir, bool8 c { totalWeight += potentialAttackTargetWeights[i]; } - weightCounter = DungeonRandomCapped(totalWeight); + weightCounter = DungeonRandInt(totalWeight); for (i = 0; i < numPotentialTargets; i++) { weightCounter -= potentialAttackTargetWeights[i]; @@ -855,15 +855,15 @@ bool8 TargetRegularAttack(struct DungeonEntity *pokemon, u32 *targetDir, bool8 c } -bool8 IsTargetStraightAhead(struct DungeonEntity *pokemon, struct DungeonEntity *targetPokemon, s32 facingDir, s32 maxRange) +bool8 IsTargetInRange(struct Entity *pokemon, struct Entity *targetPokemon, s32 direction, s32 maxRange) { - s32 distanceX = pokemon->posWorld.x - targetPokemon->posWorld.x; + s32 distanceX = pokemon->pos.x - targetPokemon->pos.x; s32 effectiveMaxRange; if (distanceX < 0) { distanceX = -distanceX; } - effectiveMaxRange = pokemon->posWorld.y - targetPokemon->posWorld.y; + effectiveMaxRange = pokemon->pos.y - targetPokemon->pos.y; if (effectiveMaxRange < 0) { effectiveMaxRange = -effectiveMaxRange; @@ -876,7 +876,7 @@ bool8 IsTargetStraightAhead(struct DungeonEntity *pokemon, struct DungeonEntity { effectiveMaxRange = maxRange; } - if (!HasIQSkill(pokemon, IQ_SKILL_COURSE_CHECKER)) + if (!IQSkillIsEnabled(pokemon, IQ_COURSE_CHECKER)) { // BUG: effectiveMaxRange is already capped at maxRange, so this condition always evaluates to TRUE. // The AI also has range checks elsewhere, so this doesn't become an issue in most cases. @@ -889,14 +889,14 @@ bool8 IsTargetStraightAhead(struct DungeonEntity *pokemon, struct DungeonEntity } else { - s32 currentPosX = pokemon->posWorld.x; - s32 currentPosY = pokemon->posWorld.y; - s32 adjacentTileOffsetX = gAdjacentTileOffsets[facingDir].x; - s32 adjacentTileOffsetY = gAdjacentTileOffsets[facingDir].y; + s32 currentPosX = pokemon->pos.x; + s32 currentPosY = pokemon->pos.y; + s32 adjacentTileOffsetX = gAdjacentTileOffsets[direction].x; + s32 adjacentTileOffsetY = gAdjacentTileOffsets[direction].y; s32 i; for (i = 0; i <= effectiveMaxRange; i++) { - struct MapTile *mapTile; + struct Tile *mapTile; currentPosX += adjacentTileOffsetX; currentPosY += adjacentTileOffsetY; if (currentPosX <= 0 || currentPosY <= 0 || @@ -905,16 +905,16 @@ bool8 IsTargetStraightAhead(struct DungeonEntity *pokemon, struct DungeonEntity break; } while (0); // Extra label needed to swap branch locations in ASM. - mapTile = GetMapTile_1(currentPosX, currentPosY); - if (!(mapTile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID))) + mapTile = GetTile(currentPosX, currentPosY); + if (!(mapTile->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY))) { break; } - if (mapTile->pokemon == targetPokemon) + if (mapTile->monster == targetPokemon) { return TRUE; } - if (mapTile->pokemon != NULL) + if (mapTile->monster != NULL) { break; } diff --git a/src/dungeon_ai_item_weight.c b/src/dungeon_ai_item_weight.c index 597056b85..b023d40f5 100644 --- a/src/dungeon_ai_item_weight.c +++ b/src/dungeon_ai_item_weight.c @@ -11,32 +11,32 @@ #include "number_util.h" #include "status_checks_1.h" -u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemTargetFlags) +u32 EvaluateItem(struct Entity *targetPokemon, struct Item *item, u32 itemTargetFlags) { - struct DungeonEntityData *pokemonData = targetPokemon->entityData; + struct EntityInfo *pokemonInfo = targetPokemon->info; s32 itemWeight = 0; bool8 targetOther = itemTargetFlags & 1; u16 targetAlly = (itemTargetFlags >> 1) & 1; s32 i; - struct PokemonMove *move; - struct PokemonMove *move2; - switch (item->itemIndex) + struct Move *move; + struct Move *move2; + switch (item->id) { - case ITEM_ID_STICK: - case ITEM_ID_IRON_THORN: - case ITEM_ID_SILVER_SPIKE: - case ITEM_ID_GOLD_FANG: - case ITEM_ID_CACNEA_SPIKE: - case ITEM_ID_CORSOLA_TWIG: - case ITEM_ID_GRAVELEROCK: - case ITEM_ID_GEO_PEBBLE: + case ITEM_STICK: + case ITEM_IRON_THORN: + case ITEM_SILVER_SPIKE: + case ITEM_GOLD_FANG: + case ITEM_CACNEA_SPIKE: + case ITEM_CORSOLA_TWIG: + case ITEM_GRAVELEROCK: + case ITEM_GEO_PEBBLE: if (targetOther) { itemWeight = 70; } break; - case ITEM_ID_DIET_RIBBON: - if (targetOther && RoundUpFixedPoint(pokemonData->belly) > 0) + case ITEM_DIET_RIBBON: + if (targetOther && RoundUpFixedPoint(pokemonInfo->belly) > 0) { return 50; } @@ -45,8 +45,8 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemWeight = 0; } break; - case ITEM_ID_WHIFF_SPECS: - case ITEM_ID_NO_AIM_SCOPE: + case ITEM_WHIFF_SPECS: + case ITEM_NO_AIM_SCOPE: if (targetOther) { return 50; @@ -56,9 +56,9 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemWeight = 0; } break; - case ITEM_ID_ORAN_BERRY: - case ITEM_ID_SITRUS_BERRY: - if (pokemonData->HP < pokemonData->maxHP && pokemonData->HP <= pokemonData->maxHP / 4) + case ITEM_ORAN_BERRY: + case ITEM_SITRUS_BERRY: + if (pokemonInfo->HP < pokemonInfo->maxHPStat && pokemonInfo->HP <= pokemonInfo->maxHPStat / 4) { if (!targetOther) { @@ -77,9 +77,9 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 } } break; - case ITEM_ID_MAX_ELIXIR: + case ITEM_MAX_ELIXIR: itemWeight = 0; - move = pokemonData->moves; + move = pokemonInfo->moves; move2 = move; for (i = 0; i < MAX_MON_MOVES; move++, move2++, i++) { @@ -89,7 +89,7 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 { itemWeight += 30; } - if (move->PP != GetMoveMaxPP(move2)) + if (move->PP != GetMoveBasePP(move2)) { itemWeight += 6; } @@ -100,7 +100,7 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemWeight = 99; } break; - case ITEM_ID_HEAL_SEED: + case ITEM_HEAL_SEED: if (HasNegativeStatus(targetPokemon)) { itemWeight = 80; @@ -110,8 +110,8 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemWeight = 0; } break; - case ITEM_ID_PROTEIN: - if (pokemonData->attack > 249) + case ITEM_PROTEIN: + if (pokemonInfo->atk > 249) { itemWeight = 0; } @@ -120,8 +120,8 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemWeight = 100; } break; - case ITEM_ID_CALCIUM: - if (pokemonData->specialAttack > 249) + case ITEM_CALCIUM: + if (pokemonInfo->spAtk > 249) { itemWeight = 0; } @@ -130,8 +130,8 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemWeight = 100; } break; - case ITEM_ID_IRON: - if (pokemonData->defense > 249) + case ITEM_IRON: + if (pokemonInfo->def > 249) { itemWeight = 0; } @@ -140,8 +140,8 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemWeight = 100; } break; - case ITEM_ID_ZINC: - if (pokemonData->specialDefense > 249) + case ITEM_ZINC: + if (pokemonInfo->spDef > 249) { itemWeight = 0; } @@ -150,7 +150,7 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemWeight = 100; } break; - case ITEM_ID_LIFE_SEED: + case ITEM_LIFE_SEED: if (!targetOther) { if (CanTargetAdjacentPokemon(targetPokemon)) @@ -167,8 +167,8 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemWeight = 0; } break; - case ITEM_ID_EYEDROP_SEED: - if (!CanSeeInvisible(targetPokemon)) + case ITEM_EYEDROP_SEED: + if (!CanSeeInvisibleMonsters(targetPokemon)) { if (CanTargetAdjacentPokemon(targetPokemon)) { @@ -184,8 +184,8 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 return 0; } break; - case ITEM_ID_QUICK_SEED: - if (targetPokemon->entityData->movementSpeed < MAX_MOVEMENT_SPEED) + case ITEM_QUICK_SEED: + if (targetPokemon->info->speedStage < MAX_SPEED_STAGE) { if (CanTargetAdjacentPokemon(targetPokemon)) { @@ -201,8 +201,8 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 return 0; } break; - case ITEM_ID_ALLURE_SEED: - if (pokemonData->eyesightStatus != EYESIGHT_STATUS_CROSS_EYED) + case ITEM_ALLURE_SEED: + if (pokemonInfo->eyesightStatus != STATUS_CROSS_EYED) { if (CanTargetAdjacentPokemon(targetPokemon)) { @@ -218,8 +218,8 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 return 0; } break; - case ITEM_ID_CHERI_BERRY: - if (pokemonData->nonVolatileStatus != NON_VOLATILE_STATUS_PARALYZED) + case ITEM_CHERI_BERRY: + if (pokemonInfo->nonVolatileStatus != STATUS_PARALYSIS) { return 0; } @@ -232,8 +232,8 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemWeight = 30; } break; - case ITEM_ID_TOTTER_SEED: - if (pokemonData->volatileStatus != VOLATILE_STATUS_CONFUSED) + case ITEM_TOTTER_SEED: + if (pokemonInfo->volatileStatus != STATUS_CONFUSED) { if (CanTargetAdjacentPokemon(targetPokemon)) { @@ -249,9 +249,9 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 return 0; } break; - case ITEM_ID_PECHA_BERRY: - if (pokemonData->nonVolatileStatus != NON_VOLATILE_STATUS_POISONED && - pokemonData->nonVolatileStatus != NON_VOLATILE_STATUS_BADLY_POISONED) + case ITEM_PECHA_BERRY: + if (pokemonInfo->nonVolatileStatus != STATUS_POISONED && + pokemonInfo->nonVolatileStatus != STATUS_BADLY_POISONED) { return 0; } @@ -264,8 +264,8 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemWeight = 50; } break; - case ITEM_ID_BLINKER_SEED: - if (pokemonData->eyesightStatus != EYESIGHT_STATUS_BLINKER) + case ITEM_BLINKER_SEED: + if (pokemonInfo->eyesightStatus != STATUS_BLINKER) { if (CanTargetAdjacentPokemon(targetPokemon)) { @@ -281,7 +281,7 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 return 0; } break; - case ITEM_ID_WARP_SEED: + case ITEM_WARP_SEED: if (!targetAlly) { if (CanTargetAdjacentPokemon(targetPokemon)) @@ -293,7 +293,7 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemWeight = 5; } } - else if (pokemonData->HP < pokemonData->maxHP && pokemonData->HP < 20) + else if (pokemonInfo->HP < pokemonInfo->maxHPStat && pokemonInfo->HP < 20) { if (!targetOther) { @@ -312,13 +312,13 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 } } break; - case ITEM_ID_PATSY_BAND: + case ITEM_PATSY_BAND: itemWeight = 40; break; - case ITEM_ID_SLEEP_SEED: - if (pokemonData->sleepStatus != SLEEP_STATUS_SLEEP && - pokemonData->sleepStatus != SLEEP_STATUS_NAPPING && - pokemonData->sleepStatus != SLEEP_STATUS_NIGHTMARE) + case ITEM_SLEEP_SEED: + if (pokemonInfo->sleep != STATUS_SLEEP && + pokemonInfo->sleep != STATUS_NAPPING && + pokemonInfo->sleep != STATUS_NIGHTMARE) { if (CanTargetAdjacentPokemon(targetPokemon)) { @@ -334,8 +334,8 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 return 0; } break; - case ITEM_ID_CHESTO_BERRY: - if (pokemonData->sleepStatus != SLEEP_STATUS_SLEEPLESS) + case ITEM_CHESTO_BERRY: + if (pokemonInfo->sleep != STATUS_SLEEPLESS) { itemWeight = 5; } @@ -344,8 +344,8 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 return 0; } break; - case ITEM_ID_JOY_SEED: - if (pokemonData->level < 99) + case ITEM_JOY_SEED: + if (pokemonInfo->level < 99) { itemWeight = 80; } @@ -354,11 +354,11 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemWeight = 0; } break; - case ITEM_ID_GINSENG: + case ITEM_GINSENG: itemWeight = 80; break; - case ITEM_ID_RAWST_BERRY: - if (pokemonData->nonVolatileStatus == NON_VOLATILE_STATUS_BURNED) + case ITEM_RAWST_BERRY: + if (pokemonInfo->nonVolatileStatus == STATUS_BURN) { return 50; } @@ -367,8 +367,8 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemWeight = 0; } break; - case ITEM_ID_HUNGER_SEED: - if (RoundUpFixedPoint(pokemonData->belly) > 0) + case ITEM_HUNGER_SEED: + if (RoundUpFixedPoint(pokemonInfo->belly) > 0) { return 50; } @@ -377,8 +377,8 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemWeight = 0; } break; - case ITEM_ID_DOOM_SEED: - if (pokemonData->level > 1) + case ITEM_DOOM_SEED: + if (pokemonInfo->level > 1) { itemWeight = 80; } @@ -387,8 +387,8 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemWeight = 0; } break; - case ITEM_ID_STUN_SEED: - if (pokemonData->immobilizeStatus == IMMOBILIZE_STATUS_PETRIFIED) + case ITEM_STUN_SEED: + if (pokemonInfo->immobilizeStatus == STATUS_PETRIFIED) { return 0; } @@ -401,7 +401,7 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemWeight = 5; } break; - case ITEM_ID_BLAST_SEED: + case ITEM_BLAST_SEED: if (CanTargetAdjacentPokemon(targetPokemon)) { itemWeight = 80; @@ -411,10 +411,10 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemWeight = 30; } break; - case ITEM_ID_APPLE: - case ITEM_ID_BIG_APPLE: - case ITEM_ID_HUGE_APPLE: - if (RoundUpFixedPoint(pokemonData->belly) < 10) + case ITEM_APPLE: + case ITEM_BIG_APPLE: + case ITEM_HUGE_APPLE: + if (RoundUpFixedPoint(pokemonInfo->belly) < 10) { return 100; } @@ -423,11 +423,11 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemWeight = 0; } break; - case ITEM_ID_GRIMY_FOOD: + case ITEM_GRIMY_FOOD: itemWeight = 30; break; - case ITEM_ID_ROLLCALL_ORB: - move = pokemonData->moves; // Fixes a regswap. + case ITEM_ROLLCALL_ORB: + move = pokemonInfo->moves; // Fixes a regswap. if (targetOther) { itemWeight = 0; @@ -443,14 +443,14 @@ u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 return itemWeight; } -bool8 CanTargetAdjacentPokemon(struct DungeonEntity *pokemon) +bool8 CanTargetAdjacentPokemon(struct Entity *pokemon) { - s32 facingDir; - for (facingDir = 0; facingDir < NUM_DIRECTIONS; facingDir++) + s32 direction; + for (direction = 0; direction < NUM_DIRECTIONS; direction++) { - struct MapTile *mapTile = GetMapTile_1(pokemon->posWorld.x + gAdjacentTileOffsets[facingDir].x, pokemon->posWorld.y + gAdjacentTileOffsets[facingDir].y); - struct DungeonEntity *adjacentPokemon = mapTile->pokemon; - if (adjacentPokemon != NULL && GetEntityType(adjacentPokemon) != ENTITY_NONE && + struct Tile *mapTile = GetTile(pokemon->pos.x + gAdjacentTileOffsets[direction].x, pokemon->pos.y + gAdjacentTileOffsets[direction].y); + struct Entity *adjacentPokemon = mapTile->monster; + if (adjacentPokemon != NULL && GetEntityType(adjacentPokemon) != ENTITY_NOTHING && CanTarget(pokemon, adjacentPokemon, FALSE, TRUE) == TARGET_CAPABILITY_CAN_TARGET) { return TRUE; diff --git a/src/dungeon_ai_items.c b/src/dungeon_ai_items.c index f0d6d30ac..eda957ee1 100644 --- a/src/dungeon_ai_items.c +++ b/src/dungeon_ai_items.c @@ -41,43 +41,43 @@ extern u32 gPotentialItemTargetDirections[NUM_DIRECTIONS]; extern bool8 gTargetAhead[NUM_DIRECTIONS]; extern struct TeamInventory *gTeamInventory_203B460; -void sub_807360C(struct DungeonEntity *pokemon) +void sub_807360C(struct Entity *pokemon) { s32 iVar2; - struct DungeonEntity *entity; + struct Entity *entity; for(iVar2 = 0; iVar2 < DUNGEON_MAX_POKEMON; iVar2++) { - entity = gDungeonGlobalData->allPokemon[iVar2]; + entity = gDungeon->allPokemon[iVar2]; if(EntityExists(entity)) { - if(entity->entityData->unk152 != 0) + if(entity->info->unk152 != 0) { - entity->entityData->unk152 = 0; + entity->info->unk152 = 0; UpdateFlashFireBoost(entity, entity); } } } } -void DecideUseItem(struct DungeonEntity *pokemon) +void DecideUseItem(struct Entity *pokemon) { - struct DungeonEntityData *pokemonData = pokemon->entityData; + struct EntityInfo *pokemonInfo = pokemon->info; void *null; - struct ItemSlot *item; + struct Item *item; s32 toolboxIndex; u8 selectedToolboxIndex; u32 *potentialTargetWeights; if (CannotUseItems(pokemon)) { - pokemonData->useHeldItem = FALSE; + pokemonInfo->useHeldItem = FALSE; return; } null = NULL; - if (pokemonData->useHeldItem) + if (pokemonInfo->useHeldItem) { - item = &pokemonData->heldItem; - if ((item->itemFlags & ITEM_FLAG_EXISTS) == 0) + item = &pokemonInfo->heldItem; + if ((item->flags & ITEM_FLAG_EXISTS) == 0) { return; } @@ -85,84 +85,84 @@ void DecideUseItem(struct DungeonEntity *pokemon) { u8 itemType; selectedToolboxIndex = HELD_ITEM_TOOLBOX_INDEX; - itemType = GetItemType(item->itemIndex); - if (itemType == ITEM_TYPE_THROWABLE) + itemType = GetItemCategory(item->id); + if (itemType == CATEGORY_THROWN_LINE) { s32 targetIndex; FindStraightThrowableTargets(pokemon, 2, item, 1); for (targetIndex = 0; targetIndex < gNumPotentialTargets; targetIndex++) { - if (RollPercentChance(gPotentialItemTargetWeights[targetIndex])) + if (DungeonRandOutcome(gPotentialItemTargetWeights[targetIndex])) { - SetAction(&pokemonData->action, DUNGEON_ACTION_THROW_ITEM_AI); - pokemonData->action.actionUseIndex = selectedToolboxIndex; - pokemonData->action.lastItemThrowPosition.x = pokemon->posWorld.x; - pokemonData->action.lastItemThrowPosition.y = pokemon->posWorld.y; - pokemonData->action.facingDir = gPotentialItemTargetDirections[targetIndex] & DIRECTION_MASK; + SetMonsterActionFields(&pokemonInfo->action, ACTION_THROW_ITEM_AI); + pokemonInfo->action.actionUseIndex = selectedToolboxIndex; + pokemonInfo->action.lastItemThrowPosition.x = pokemon->pos.x; + pokemonInfo->action.lastItemThrowPosition.y = pokemon->pos.y; + pokemonInfo->action.direction = gPotentialItemTargetDirections[targetIndex] & DIRECTION_MASK; break; } } if (targetIndex == gNumPotentialTargets) { - SetAction(&pokemonData->action, DUNGEON_ACTION_HAVE_SECOND_THOUGHTS); + SetMonsterActionFields(&pokemonInfo->action, ACTION_SECOND_THOUGHTS); } } - else if (itemType == ITEM_TYPE_ROCK) + else if (itemType == CATEGORY_THROWN_ARC) { struct Position potentialTargetPositions[NUM_POTENTIAL_ROCK_TARGETS]; FindRockItemTargets(pokemon, item, potentialTargetPositions, TRUE); if (gNumPotentialTargets == 0) { - SetAction(&pokemonData->action, DUNGEON_ACTION_HAVE_SECOND_THOUGHTS); + SetMonsterActionFields(&pokemonInfo->action, ACTION_SECOND_THOUGHTS); } else { - u32 chosenTargetIndex = DungeonRandomCapped(gNumPotentialTargets); - SetAction(&pokemonData->action, DUNGEON_ACTION_THROW_ITEM_AI); - pokemonData->action.actionUseIndex = selectedToolboxIndex; - pokemonData->action.lastItemThrowPosition.x = pokemon->posWorld.x; - pokemonData->action.lastItemThrowPosition.y = pokemon->posWorld.y; - pokemonData->action.facingDir = CalculateFacingDir(&pokemon->posWorld, &potentialTargetPositions[chosenTargetIndex]) & DIRECTION_MASK; - pokemonData->action.itemTargetPosition = potentialTargetPositions[chosenTargetIndex]; + u32 chosenTargetIndex = DungeonRandInt(gNumPotentialTargets); + SetMonsterActionFields(&pokemonInfo->action, ACTION_THROW_ITEM_AI); + pokemonInfo->action.actionUseIndex = selectedToolboxIndex; + pokemonInfo->action.lastItemThrowPosition.x = pokemon->pos.x; + pokemonInfo->action.lastItemThrowPosition.y = pokemon->pos.y; + pokemonInfo->action.direction = GetDirectionTowardsPosition(&pokemon->pos, &potentialTargetPositions[chosenTargetIndex]) & DIRECTION_MASK; + pokemonInfo->action.itemTargetPosition = potentialTargetPositions[chosenTargetIndex]; } } else { u8 itemTypeCompare = itemType - 2; - if (itemTypeCompare < ITEM_TYPE_HOLD_ITEM - 2) + if (itemTypeCompare < CATEGORY_HELD_ITEMS - 2) { - SetAction(&pokemonData->action, DUNGEON_ACTION_CONSUME_ITEM_AI); - pokemonData->action.actionUseIndex = selectedToolboxIndex; - pokemonData->action.lastItemThrowPosition.x = pokemon->posWorld.x; - pokemonData->action.lastItemThrowPosition.y = pokemon->posWorld.y; + SetMonsterActionFields(&pokemonInfo->action, ACTION_EAT_AI); + pokemonInfo->action.actionUseIndex = selectedToolboxIndex; + pokemonInfo->action.lastItemThrowPosition.x = pokemon->pos.x; + pokemonInfo->action.lastItemThrowPosition.y = pokemon->pos.y; } else { - SetAction(&pokemonData->action, DUNGEON_ACTION_HAVE_SECOND_THOUGHTS); + SetMonsterActionFields(&pokemonInfo->action, ACTION_SECOND_THOUGHTS); } } } } - else if (HasIQSkill(pokemon, IQ_SKILL_ITEM_MASTER)) + else if (IQSkillIsEnabled(pokemon, IQ_ITEM_MASTER)) { for (toolboxIndex = 1; toolboxIndex < INVENTORY_SIZE + 2; toolboxIndex++) { if (toolboxIndex == 1) { - item = &pokemonData->heldItem; + item = &pokemonInfo->heldItem; selectedToolboxIndex = HELD_ITEM_TOOLBOX_INDEX; } else if (toolboxIndex == 0) { // This seems unused. toolboxIndex can never be 0. - struct MapTile *mapTile = GetMapTile_1(pokemon->posWorld.x, pokemon->posWorld.y); - struct DungeonEntity *mapObject = mapTile->mapObject; - if (mapObject != null) + struct Tile *mapTile = GetTile(pokemon->pos.x, pokemon->pos.y); + struct Entity *object = mapTile->object; + if (object != null) { - u32 mapObjectType = GetEntityType(mapObject); - if (mapObjectType == ENTITY_ITEM) + u32 objectType = GetEntityType(object); + if (objectType == ENTITY_ITEM) { - item = GetItemData(mapTile->mapObject); + item = GetItemData(mapTile->object); selectedToolboxIndex = GROUND_ITEM_TOOLBOX_INDEX; } else @@ -175,7 +175,7 @@ void DecideUseItem(struct DungeonEntity *pokemon) continue; } } - else if (pokemonData->isLeader) + else if (pokemonInfo->isTeamLeader) { item = &gTeamInventory_203B460->teamItems[toolboxIndex - 2]; selectedToolboxIndex = toolboxIndex - 1; @@ -184,29 +184,29 @@ void DecideUseItem(struct DungeonEntity *pokemon) { return; } - if (((item->itemFlags & ITEM_FLAG_EXISTS) != 0) && ((item->itemFlags & ITEM_FLAG_FOR_SALE) == 0)) + if (((item->flags & ITEM_FLAG_EXISTS) != 0) && ((item->flags & ITEM_FLAG_IN_SHOP) == 0)) { - if ((item->itemFlags & ITEM_FLAG_STICKY) == 0) + if ((item->flags & ITEM_FLAG_STICKY) == 0) { - if (GetItemAIFlag(item->itemIndex, ITEM_AI_FLAG_TARGET_SELF)) + if (GetItemAIFlag(item->id, ITEM_AI_FLAG_TARGET_SELF)) { u32 itemWeight = EvaluateItem(pokemon, item, ITEM_TARGET_ALLY); if (itemWeight != 0) { - u8 itemType = GetItemType(item->itemIndex); - if ((!((itemType == ITEM_TYPE_ORB) && (!pokemonData->isEnemy))) && RollPercentChance(itemWeight)) + u8 itemType = GetItemCategory(item->id); + if ((!((itemType == CATEGORY_ORBS) && (!pokemonInfo->isNotTeamMember))) && DungeonRandOutcome(itemWeight)) { - if (itemType == ITEM_TYPE_ORB) + if (itemType == CATEGORY_ORBS) { - SetAction(&pokemonData->action, DUNGEON_ACTION_USE_ORB); + SetMonsterActionFields(&pokemonInfo->action, ACTION_USE_ORB); } else { - SetAction(&pokemonData->action, DUNGEON_ACTION_CONSUME_ITEM_AI); + SetMonsterActionFields(&pokemonInfo->action, ACTION_EAT_AI); } - pokemonData->action.actionUseIndex = selectedToolboxIndex; - pokemonData->action.lastItemThrowPosition.x = pokemon->posWorld.x; - pokemonData->action.lastItemThrowPosition.y = pokemon->posWorld.y; + pokemonInfo->action.actionUseIndex = selectedToolboxIndex; + pokemonInfo->action.lastItemThrowPosition.x = pokemon->pos.x; + pokemonInfo->action.lastItemThrowPosition.y = pokemon->pos.y; return; } } @@ -221,28 +221,28 @@ void DecideUseItem(struct DungeonEntity *pokemon) { continue; } - if (ToolboxEnabled(pokemonData)) + if (ToolboxEnabled(pokemonInfo)) { s32 thrownAIFlag; for (thrownAIFlag = ITEM_AI_FLAG_TARGET_ALLY; thrownAIFlag <= ITEM_AI_FLAG_TARGET_ENEMY; thrownAIFlag++) { potentialTargetWeights = gPotentialItemTargetWeights; - if (GetItemAIFlag(item->itemIndex, thrownAIFlag)) + if (GetItemAIFlag(item->id, thrownAIFlag)) { - u8 itemType = GetItemType(item->itemIndex); - if (itemType == ITEM_TYPE_ROCK) + u8 itemType = GetItemCategory(item->id); + if (itemType == CATEGORY_THROWN_ARC) { struct Position potentialTargetPositions[NUM_POTENTIAL_ROCK_TARGETS]; FindRockItemTargets(pokemon, item, potentialTargetPositions, FALSE); if (gNumPotentialTargets != 0) { - u32 chosenTargetIndex = DungeonRandomCapped(gNumPotentialTargets); - SetAction(&pokemonData->action, DUNGEON_ACTION_THROW_ITEM_AI); - pokemonData->action.actionUseIndex = selectedToolboxIndex; - pokemonData->action.lastItemThrowPosition.x = pokemon->posWorld.x; - pokemonData->action.lastItemThrowPosition.y = pokemon->posWorld.y; - pokemonData->action.facingDir = CalculateFacingDir(&pokemon->posWorld, &potentialTargetPositions[chosenTargetIndex]) & DIRECTION_MASK; - pokemonData->action.itemTargetPosition = potentialTargetPositions[chosenTargetIndex]; + u32 chosenTargetIndex = DungeonRandInt(gNumPotentialTargets); + SetMonsterActionFields(&pokemonInfo->action, ACTION_THROW_ITEM_AI); + pokemonInfo->action.actionUseIndex = selectedToolboxIndex; + pokemonInfo->action.lastItemThrowPosition.x = pokemon->pos.x; + pokemonInfo->action.lastItemThrowPosition.y = pokemon->pos.y; + pokemonInfo->action.direction = GetDirectionTowardsPosition(&pokemon->pos, &potentialTargetPositions[chosenTargetIndex]) & DIRECTION_MASK; + pokemonInfo->action.itemTargetPosition = potentialTargetPositions[chosenTargetIndex]; return; } } @@ -252,13 +252,13 @@ void DecideUseItem(struct DungeonEntity *pokemon) FindStraightThrowableTargets(pokemon, thrownAIFlag, item, FALSE); for (targetIndex = 0; targetIndex < gNumPotentialTargets; targetIndex++) { - if (RollPercentChance(potentialTargetWeights[targetIndex])) + if (DungeonRandOutcome(potentialTargetWeights[targetIndex])) { - SetAction(&pokemonData->action, DUNGEON_ACTION_THROW_ITEM_AI); - pokemonData->action.actionUseIndex = selectedToolboxIndex; - pokemonData->action.lastItemThrowPosition.x = pokemon->posWorld.x; - pokemonData->action.lastItemThrowPosition.y = pokemon->posWorld.y; - pokemonData->action.facingDir = gPotentialItemTargetDirections[targetIndex] & DIRECTION_MASK; + SetMonsterActionFields(&pokemonInfo->action, ACTION_THROW_ITEM_AI); + pokemonInfo->action.actionUseIndex = selectedToolboxIndex; + pokemonInfo->action.lastItemThrowPosition.x = pokemon->pos.x; + pokemonInfo->action.lastItemThrowPosition.y = pokemon->pos.y; + pokemonInfo->action.direction = gPotentialItemTargetDirections[targetIndex] & DIRECTION_MASK; return; } } @@ -270,7 +270,7 @@ void DecideUseItem(struct DungeonEntity *pokemon) } } -void FindStraightThrowableTargets(struct DungeonEntity *pokemon, s32 thrownAIFlag, struct ItemSlot *item, bool8 ignoreRollChance) +void FindStraightThrowableTargets(struct Entity *pokemon, s32 thrownAIFlag, struct Item *item, bool8 ignoreRollChance) { s32 i; gNumPotentialTargets = 0; @@ -280,7 +280,7 @@ void FindStraightThrowableTargets(struct DungeonEntity *pokemon, s32 thrownAIFla } for (i = 0; i < DUNGEON_MAX_POKEMON; i++) { - struct DungeonEntity *targetPokemon = gDungeonGlobalData->allPokemon[i]; + struct Entity *targetPokemon = gDungeon->allPokemon[i]; if (EntityExists(targetPokemon) && pokemon != targetPokemon) { s32 targetingFlags; @@ -303,7 +303,7 @@ void FindStraightThrowableTargets(struct DungeonEntity *pokemon, s32 thrownAIFla { continue; } - if (CanSee(pokemon, targetPokemon)) + if (CanSeeTarget(pokemon, targetPokemon)) { TargetThrownItem(pokemon, targetPokemon, item, targetingFlags, ignoreRollChance); } @@ -311,24 +311,24 @@ void FindStraightThrowableTargets(struct DungeonEntity *pokemon, s32 thrownAIFla } } -void FindRockItemTargets(struct DungeonEntity *pokemon, struct ItemSlot *item, struct Position potentialTargets[], bool8 ignoreRollChance) +void FindRockItemTargets(struct Entity *pokemon, struct Item *item, struct Position potentialTargets[], bool8 ignoreRollChance) { s32 i; gNumPotentialTargets = 0; for (i = 0; i < DUNGEON_MAX_POKEMON; i++) { - struct DungeonEntity *targetPokemon = gDungeonGlobalData->allPokemon[i]; + struct Entity *targetPokemon = gDungeon->allPokemon[i]; if (EntityExists(targetPokemon) && pokemon != targetPokemon && - CanSee(pokemon, targetPokemon) && CanTarget(pokemon, targetPokemon, FALSE, TRUE) == TARGET_CAPABILITY_CAN_TARGET) + CanSeeTarget(pokemon, targetPokemon) && CanTarget(pokemon, targetPokemon, FALSE, TRUE) == TARGET_CAPABILITY_CAN_TARGET) { s32 distanceX; s32 distance; - distanceX = targetPokemon->posWorld.x - pokemon->posWorld.x; + distanceX = targetPokemon->pos.x - pokemon->pos.x; if (distanceX < 0) { distanceX = -distanceX; } - distance = targetPokemon->posWorld.y - pokemon->posWorld.y; + distance = targetPokemon->pos.y - pokemon->pos.y; if (distance < 0) { distance = -distance; @@ -343,29 +343,29 @@ void FindRockItemTargets(struct DungeonEntity *pokemon, struct ItemSlot *item, s if (!ignoreRollChance) { u32 itemWeight = EvaluateItem(targetPokemon, item, ITEM_TARGET_OTHER); - if (!RollPercentChance(itemWeight)) + if (!DungeonRandOutcome(itemWeight)) { continue; } } newPotentialTarget = &potentialTargets[gNumPotentialTargets]; - newPotentialTarget->x = targetPokemon->posWorld.x; - newPotentialTarget->y = targetPokemon->posWorld.y; + newPotentialTarget->x = targetPokemon->pos.x; + newPotentialTarget->y = targetPokemon->pos.y; gNumPotentialTargets++; } } } } -void TargetThrownItem(struct DungeonEntity *pokemon, struct DungeonEntity *targetPokemon, struct ItemSlot *item, s32 targetingFlags, bool8 ignoreRollChance) +void TargetThrownItem(struct Entity *pokemon, struct Entity *targetPokemon, struct Item *item, s32 targetingFlags, bool8 ignoreRollChance) { - s32 distanceX = pokemon->posWorld.x - targetPokemon->posWorld.x; + s32 distanceX = pokemon->pos.x - targetPokemon->pos.x; s32 distanceY; s32 targetDirection; distanceX = distanceX < 0 ? -distanceX : distanceX; - distanceY = pokemon->posWorld.y - targetPokemon->posWorld.y; + distanceY = pokemon->pos.y - targetPokemon->pos.y; distanceY = distanceY < 0 ? -distanceY : distanceY; - if (pokemon->entityData->itemStatus == ITEM_STATUS_NONE) + if (pokemon->info->itemStatus == STATUS_NONE) { s32 distance = distanceY < distanceX ? distanceX : distanceY; if (distance > RANGED_ATTACK_RANGE) @@ -376,15 +376,15 @@ void TargetThrownItem(struct DungeonEntity *pokemon, struct DungeonEntity *targe targetDirection = -1; if (distanceX == distanceY) { - if (pokemon->posWorld.x < targetPokemon->posWorld.x && pokemon->posWorld.y < targetPokemon->posWorld.y) + if (pokemon->pos.x < targetPokemon->pos.x && pokemon->pos.y < targetPokemon->pos.y) { targetDirection = DIRECTION_SOUTHEAST; } - else if (pokemon->posWorld.x < targetPokemon->posWorld.x && pokemon->posWorld.y > targetPokemon->posWorld.y) + else if (pokemon->pos.x < targetPokemon->pos.x && pokemon->pos.y > targetPokemon->pos.y) { targetDirection = DIRECTION_NORTHEAST; } - else if (pokemon->posWorld.x > targetPokemon->posWorld.x && pokemon->posWorld.y > targetPokemon->posWorld.y) + else if (pokemon->pos.x > targetPokemon->pos.x && pokemon->pos.y > targetPokemon->pos.y) { targetDirection = DIRECTION_NORTHWEST; } @@ -395,25 +395,25 @@ void TargetThrownItem(struct DungeonEntity *pokemon, struct DungeonEntity *targe } else { - if (pokemon->posWorld.x == targetPokemon->posWorld.x && pokemon->posWorld.y < targetPokemon->posWorld.y) + if (pokemon->pos.x == targetPokemon->pos.x && pokemon->pos.y < targetPokemon->pos.y) { targetDirection = DIRECTION_SOUTH; } - else if (pokemon->posWorld.x < targetPokemon->posWorld.x && pokemon->posWorld.y == targetPokemon->posWorld.y) + else if (pokemon->pos.x < targetPokemon->pos.x && pokemon->pos.y == targetPokemon->pos.y) { targetDirection = DIRECTION_EAST; } - else if (pokemon->posWorld.x == targetPokemon->posWorld.x && pokemon->posWorld.y > targetPokemon->posWorld.y) + else if (pokemon->pos.x == targetPokemon->pos.x && pokemon->pos.y > targetPokemon->pos.y) { targetDirection = DIRECTION_NORTH; } - else if (pokemon->posWorld.x > targetPokemon->posWorld.x && pokemon->posWorld.y == targetPokemon->posWorld.y) + else if (pokemon->pos.x > targetPokemon->pos.x && pokemon->pos.y == targetPokemon->pos.y) { targetDirection = DIRECTION_WEST; } } - if (targetDirection > -1 && !gTargetAhead[targetDirection] && IsTargetStraightAhead(pokemon, targetPokemon, targetDirection, RANGED_ATTACK_RANGE)) + if (targetDirection > -1 && !gTargetAhead[targetDirection] && IsTargetInRange(pokemon, targetPokemon, targetDirection, RANGED_ATTACK_RANGE)) { u32 itemWeight; u32 *targetWeight; diff --git a/src/dungeon_ai_leader.c b/src/dungeon_ai_leader.c index ebd78a85c..581905f4b 100644 --- a/src/dungeon_ai_leader.c +++ b/src/dungeon_ai_leader.c @@ -8,24 +8,24 @@ #include "dungeon_visibility.h" #include "pokemon_3.h" -bool8 TargetLeader(struct DungeonEntity *pokemon) +bool8 TargetLeader(struct Entity *pokemon) { - if (pokemon->entityData->isEnemy) + if (pokemon->info->isNotTeamMember) { return FALSE; } - return TacticsTargetLeader(pokemon->entityData->tactic); + return TacticsTargetLeader(pokemon->info->tactic); } -struct DungeonEntity* GetLeaderEntityIfVisible(struct DungeonEntity *pokemon) +struct Entity* GetLeaderIfVisible(struct Entity *pokemon) { - if (!pokemon->entityData->isEnemy) + if (!pokemon->info->isNotTeamMember) { - struct DungeonEntity *leader = GetLeaderEntity(); + struct Entity *leader = GetLeader(); if (leader && - leader->entityData->waitingStatus != WAITING_STATUS_DECOY && + leader->info->waitingStatus != STATUS_DECOY && CanTarget(pokemon, leader, FALSE, FALSE) == TARGET_CAPABILITY_CANNOT_ATTACK && - CanSee_2(pokemon, leader)) + CanTargetEntity(pokemon, leader)) { return leader; } diff --git a/src/dungeon_ai_movement.c b/src/dungeon_ai_movement.c index 0f0675eb7..ca2539946 100644 --- a/src/dungeon_ai_movement.c +++ b/src/dungeon_ai_movement.c @@ -30,47 +30,47 @@ extern bool8 IsTargetTwoTilesAway(struct Position *, struct Position *); const s32 gFaceDirectionIncrements[] = {0, 1, -1, 2, -2, 3, -3, 4, 0, -1, 1, -2, 2, -3, 3, 4}; -void MoveIfPossible(struct DungeonEntity *pokemon, bool8 showRunAwayEffect) +void MoveIfPossible(struct Entity *pokemon, bool8 showRunAwayEffect) { - struct DungeonEntityData *pokemonData = pokemon->entityData; - pokemonData->notAdjacentToTarget = FALSE; - pokemonData->hasTarget = FALSE; - pokemonData->turnAround = FALSE; + struct EntityInfo *pokemonInfo = pokemon->info; + pokemonInfo->aiNotNextToTarget = FALSE; + pokemonInfo->aiTargetingEnemy = FALSE; + pokemonInfo->aiTurningAround = FALSE; if (HasTactic(pokemon, TACTIC_BE_PATIENT)) { - u32 maxHP = pokemonData->maxHP; - maxHP += maxHP >> 0x1f; - if (pokemonData->HP <= (s16) (maxHP / 2)) + u32 maxHPStat = pokemonInfo->maxHPStat; + maxHPStat += maxHPStat >> 0x1f; + if (pokemonInfo->HP <= (s16) (maxHPStat / 2)) { - pokemonData->action.action = DUNGEON_ACTION_NONE; + pokemonInfo->action.action = ACTION_NOTHING; return; } } if (HasTactic(pokemon, TACTIC_WAIT_THERE)) { - pokemonData->action.action = DUNGEON_ACTION_NONE; + pokemonInfo->action.action = ACTION_NOTHING; } - else if (!pokemonData->isLeader && RoundUpFixedPoint(pokemonData->belly) == 0) + else if (!pokemonInfo->isTeamLeader && RoundUpFixedPoint(pokemonInfo->belly) == 0) { - pokemonData->action.action = DUNGEON_ACTION_NONE; + pokemonInfo->action.action = ACTION_NOTHING; } - else if (pokemonData->clientType == CLIENT_TYPE_CLIENT) + else if (pokemonInfo->clientType == CLIENT_TYPE_CLIENT) { - SetWalkAction(&pokemonData->action, pokemonData->entityID); - pokemonData->action.facingDir = DungeonRandomCapped(NUM_DIRECTIONS); - pokemonData->targetPosition.x = pokemon->posWorld.x; - pokemonData->targetPosition.y = pokemon->posWorld.y - 1; + SetActionPassTurnOrWalk(&pokemonInfo->action, pokemonInfo->id); + pokemonInfo->action.direction = DungeonRandInt(NUM_DIRECTIONS); + pokemonInfo->targetPos.x = pokemon->pos.x; + pokemonInfo->targetPos.y = pokemon->pos.y - 1; } else { bool8 hasAction; - if (ShouldAvoidEnemiesAndShowEffect(pokemon, showRunAwayEffect)) + if (ShouldMonsterRunAwayAndShowEffect(pokemon, showRunAwayEffect)) { hasAction = AvoidEnemies(pokemon); } else if (CanTakeItem(pokemon)) { - pokemonData->action.action = DUNGEON_ACTION_TAKE_ITEM_AI; + pokemonInfo->action.action = ACTION_PICK_UP_AI; return; } else @@ -79,7 +79,7 @@ void MoveIfPossible(struct DungeonEntity *pokemon, bool8 showRunAwayEffect) } if (!hasAction) { - pokemonData->action.action = DUNGEON_ACTION_NONE; + pokemonInfo->action.action = ACTION_NOTHING; } else { @@ -88,34 +88,34 @@ void MoveIfPossible(struct DungeonEntity *pokemon, bool8 showRunAwayEffect) } } -bool8 CanTakeItem(struct DungeonEntity *pokemon) +bool8 CanTakeItem(struct Entity *pokemon) { - struct DungeonEntityData *pokemonData = pokemon->entityData; - struct MapTile *mapTile; - struct DungeonEntity *mapObject; + struct EntityInfo *pokemonInfo = pokemon->info; + struct Tile *mapTile; + struct Entity *object; if (!EntityExists(pokemon) || CannotUseItems(pokemon)) { return FALSE; } - mapTile = GetMapTileForDungeonEntity_2(pokemon); - mapObject = mapTile->mapObject; - if (mapObject == NULL) + mapTile = GetTileAtEntitySafe(pokemon); + object = mapTile->object; + if (object == NULL) { return FALSE; } - switch (GetEntityType(mapObject)) + switch (GetEntityType(object)) { - case ENTITY_NONE: - case ENTITY_POKEMON: + case ENTITY_NOTHING: + case ENTITY_MONSTER: case ENTITY_TRAP: case ENTITY_UNK_4: case ENTITY_UNK_5: break; case ENTITY_ITEM: - if (!pokemonData->isLeader && - !(pokemonData->heldItem.itemFlags & ITEM_FLAG_EXISTS) && - ((mapTile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID)) || !pokemonData->isEnemy) && - !(GetItemData(mapObject)->itemFlags & ITEM_FLAG_FOR_SALE)) + if (!pokemonInfo->isTeamLeader && + !(pokemonInfo->heldItem.flags & ITEM_FLAG_EXISTS) && + ((mapTile->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY)) || !pokemonInfo->isNotTeamMember) && + !(GetItemData(object)->flags & ITEM_FLAG_IN_SHOP)) { return TRUE; } @@ -124,30 +124,30 @@ bool8 CanTakeItem(struct DungeonEntity *pokemon) return FALSE; } -bool8 ChooseTargetPosition(struct DungeonEntity *pokemon) +bool8 ChooseTargetPosition(struct Entity *pokemon) { - struct DungeonEntityData *pokemonData = pokemon->entityData; + struct EntityInfo *pokemonInfo = pokemon->info; if (!TargetLeader(pokemon)) { - struct DungeonEntity **possibleTargets; + struct Entity **possibleTargets; s32 maxPossibleTargets; s32 targetIndex; bool8 canCrossWalls; s32 targetDistance; s32 i; - if (gDungeonGlobalData->decoyActive) + if (gDungeon->decoyActive) { - possibleTargets = gDungeonGlobalData->allPokemon; + possibleTargets = gDungeon->allPokemon; maxPossibleTargets = DUNGEON_MAX_POKEMON; } - else if (pokemonData->isEnemy) + else if (pokemonInfo->isNotTeamMember) { - possibleTargets = gDungeonGlobalData->teamPokemon; + possibleTargets = gDungeon->teamPokemon; maxPossibleTargets = MAX_TEAM_MEMBERS; } else { - possibleTargets = gDungeonGlobalData->wildPokemon; + possibleTargets = gDungeon->wildPokemon; maxPossibleTargets = DUNGEON_MAX_WILD_POKEMON; } canCrossWalls = CanCrossWalls(pokemon); @@ -155,53 +155,53 @@ bool8 ChooseTargetPosition(struct DungeonEntity *pokemon) targetDistance = INFINITY; for (i = 0; i < maxPossibleTargets; i++) { - struct DungeonEntity *target = possibleTargets[i]; - if (EntityExists(target) && target->entityData->clientType == CLIENT_TYPE_NONE) + struct Entity *target = possibleTargets[i]; + if (EntityExists(target) && target->info->clientType == CLIENT_TYPE_NONE) { - if (gDungeonGlobalData->decoyActive) + if (gDungeon->decoyActive) { if (CanTarget(pokemon, target, FALSE, TRUE) != TARGET_CAPABILITY_CAN_TARGET) { continue; } } - else if (!pokemonData->isEnemy && target->entityData->immobilizeStatus == IMMOBILIZE_STATUS_PETRIFIED) + else if (!pokemonInfo->isNotTeamMember && target->info->immobilizeStatus == STATUS_PETRIFIED) { continue; } - if (target->entityData->shopkeeperMode != SHOPKEEPER_FRIENDLY) + if (target->info->shopkeeper != SHOPKEEPER_MODE_SHOPKEEPER) { s32 currentDistance; if (canCrossWalls) { - s32 distance = pokemon->posWorld.x - target->posWorld.x; + s32 distance = pokemon->pos.x - target->pos.x; if (distance < 0) { distance = -distance; } if (distance > CHECK_VISIBILITY_DISTANCE) { - goto checkCanSee; + goto checkCanSeeTarget; } - distance = pokemon->posWorld.y - target->posWorld.y; + distance = pokemon->pos.y - target->pos.y; if (distance < 0) { distance = -distance; } if (distance > CHECK_VISIBILITY_DISTANCE) { - goto checkCanSee; + goto checkCanSeeTarget; } } else { - checkCanSee: - if (!CanSee_2(pokemon, target)) + checkCanSeeTarget: + if (!CanTargetEntity(pokemon, target)) { continue; } } - currentDistance = GetDistance(&pokemon->posWorld, &target->posWorld); + currentDistance = GetChebyshevDistance(&pokemon->pos, &target->pos); if (targetDistance > currentDistance) { targetDistance = currentDistance; @@ -216,29 +216,29 @@ bool8 ChooseTargetPosition(struct DungeonEntity *pokemon) } if (targetIndex > -1) { - pokemonData->movementAction = MOVEMENT_ACTION_FOLLOW; - pokemonData->targetMovePosition = possibleTargets[targetIndex]->posWorld; - pokemonData->targetPokemon = possibleTargets[targetIndex]; - pokemonData->targetPokemonSpawnIndex = pokemonData->targetPokemon->spawnIndex; - pokemonData->hasTarget = TRUE; - pokemonData->moveRandomly = FALSE; + pokemonInfo->aiObjective = AI_CHASE_TARGET; + pokemonInfo->aiTargetPos = possibleTargets[targetIndex]->pos; + pokemonInfo->aiTarget = possibleTargets[targetIndex]; + pokemonInfo->aiTargetSpawnGenID = pokemonInfo->aiTarget->spawnGenID; + pokemonInfo->aiTargetingEnemy = TRUE; + pokemonInfo->moveRandomly = FALSE; if (HasTactic(pokemon, TACTIC_KEEP_YOUR_DISTANCE) && !CanSeeTeammate(pokemon)) { - s32 distanceX = pokemon->posWorld.x - possibleTargets[targetIndex]->posWorld.x; + s32 distanceX = pokemon->pos.x - possibleTargets[targetIndex]->pos.x; if (distanceX < 0) { distanceX = -distanceX; } if (distanceX < 2) { - s32 distanceY = pokemon->posWorld.y - possibleTargets[targetIndex]->posWorld.y; + s32 distanceY = pokemon->pos.y - possibleTargets[targetIndex]->pos.y; if (distanceY < 0) { distanceY = -distanceY; } if (distanceY < 2) { - pokemonData->turnAround = TRUE; + pokemonInfo->aiTurningAround = TRUE; } } } @@ -249,92 +249,92 @@ bool8 ChooseTargetPosition(struct DungeonEntity *pokemon) { do { - if (!pokemonData->isEnemy) + if (!pokemonInfo->isNotTeamMember) { - struct DungeonEntity *leader = GetLeaderEntityIfVisible(pokemon); + struct Entity *leader = GetLeaderIfVisible(pokemon); if (EntityExists(leader)) { - pokemonData->movementAction = MOVEMENT_ACTION_FOLLOW; - pokemonData->targetMovePosition = leader->posWorld; - pokemonData->targetPokemon = leader; - pokemonData->targetPokemonSpawnIndex = leader->spawnIndex; - pokemonData->moveRandomly = FALSE; + pokemonInfo->aiObjective = AI_CHASE_TARGET; + pokemonInfo->aiTargetPos = leader->pos; + pokemonInfo->aiTarget = leader; + pokemonInfo->aiTargetSpawnGenID = leader->spawnGenID; + pokemonInfo->moveRandomly = FALSE; return TRUE; } } } while (0); } - else if (pokemonData->isLeader) + else if (pokemonInfo->isTeamLeader) { // This item targeting code is never reached because the leader is never AI-controlled. - u8 roomIndex; + u8 room; s32 minX, minY, maxX, maxY, x, y, maxY2; - if (gDungeonGlobalData->visibility) { + if (gDungeon->visibilityRange) { // Dead code. u8 a = -a; } - roomIndex = GetMapTile_1(pokemon->posWorld.x, pokemon->posWorld.y)->roomIndex; - if (roomIndex == CORRIDOR_ROOM_INDEX) + room = GetTile(pokemon->pos.x, pokemon->pos.y)->room; + if (room == CORRIDOR_ROOM) { do { - minX = pokemon->posWorld.x - CORRIDOR_VISIBILITY; - minY = pokemon->posWorld.y - CORRIDOR_VISIBILITY; - maxX = pokemon->posWorld.x + CORRIDOR_VISIBILITY; - maxY = pokemon->posWorld.y + CORRIDOR_VISIBILITY; + minX = pokemon->pos.x - CORRIDOR_VISIBILITY; + minY = pokemon->pos.y - CORRIDOR_VISIBILITY; + maxX = pokemon->pos.x + CORRIDOR_VISIBILITY; + maxY = pokemon->pos.y + CORRIDOR_VISIBILITY; } while (0); } else { - struct MapRoom *room = &gDungeonGlobalData->roomData[roomIndex]; - minX = room->startX - 1; - minY = room->startY - 1; - maxX = room->endX + 1; - maxY = room->endY + 1; + struct RoomData *mapRoom = &gDungeon->roomData[room]; + minX = mapRoom->bottomRightCornerX - 1; + minY = mapRoom->bottomRightCornerY - 1; + maxX = mapRoom->topLeftCornerX + 1; + maxY = mapRoom->topLeftCornerY + 1; } maxY2 = maxY; for (y = minY; y <= maxY2; y++) { for (x = minX; x <= maxX; x++) { - struct DungeonEntity *mapObject = GetMapTile_2(x, y)->mapObject; - if (mapObject && GetEntityType(mapObject) == ENTITY_ITEM) + struct Entity *object = GetTileSafe(x, y)->object; + if (object && GetEntityType(object) == ENTITY_ITEM) { - pokemonData->movementAction = MOVEMENT_ACTION_TAKE_ITEM; - pokemonData->targetMovePosition.x = x; - pokemonData->targetMovePosition.y = y; - pokemonData->targetPokemon = NULL; - pokemonData->targetPokemonSpawnIndex = 0; - pokemonData->moveRandomly = FALSE; + pokemonInfo->aiObjective = AI_TAKE_ITEM; + pokemonInfo->aiTargetPos.x = x; + pokemonInfo->aiTargetPos.y = y; + pokemonInfo->aiTarget = NULL; + pokemonInfo->aiTargetSpawnGenID = 0; + pokemonInfo->moveRandomly = FALSE; return TRUE; } } } } - if ((u8) (pokemonData->movementAction - 1) <= 1) + if ((u8) (pokemonInfo->aiObjective - 1) <= 1) { - if (pokemonData->targetPokemon) + if (pokemonInfo->aiTarget) { - if (pokemonData->targetPokemon->spawnIndex == pokemonData->targetPokemonSpawnIndex) + if (pokemonInfo->aiTarget->spawnGenID == pokemonInfo->aiTargetSpawnGenID) { - struct DungeonEntityData *targetData = pokemonData->targetPokemon->entityData; + struct EntityInfo *targetData = pokemonInfo->aiTarget->info; s32 i; - for (i = 0; i < NUM_PREVIOUS_POSITIONS; i++) + for (i = 0; i < NUM_PREV_POS; i++) { - if (InSameRoom(pokemon, &targetData->previousPositions[i])) + if (CanTargetPosition(pokemon, &targetData->prevPos[i])) { - pokemonData->movementAction = MOVEMENT_ACTION_WANDER; - pokemonData->targetMovePosition = targetData->previousPositions[i]; - pokemonData->moveRandomly = FALSE; + pokemonInfo->aiObjective = AI_CHASE_REMEMBERED_TARGET; + pokemonInfo->aiTargetPos = targetData->prevPos[i]; + pokemonInfo->moveRandomly = FALSE; return TRUE; } } } else { - pokemonData->movementAction = MOVEMENT_ACTION_FACE_RANDOM_DIRECTION; - pokemonData->targetPokemon = NULL; - pokemonData->targetPokemonSpawnIndex = 0; + pokemonInfo->aiObjective = AI_STAND_STILL; + pokemonInfo->aiTarget = NULL; + pokemonInfo->aiTargetSpawnGenID = 0; } } } @@ -343,7 +343,7 @@ bool8 ChooseTargetPosition(struct DungeonEntity *pokemon) } NAKED -void DecideMovement(struct DungeonEntity *pokemon, bool8 showRunAwayEffect) +void DecideMovement(struct Entity *pokemon, bool8 showRunAwayEffect) { asm_unified("push {r4-r7,lr}\n" "mov r7, r10\n" @@ -371,7 +371,7 @@ void DecideMovement(struct DungeonEntity *pokemon, bool8 showRunAwayEffect) "adds r6, 0x4\n" "adds r0, r6, 0\n" "adds r1, r4, 0\n" -"bl CalculateFacingDir\n" +"bl GetDirectionTowardsPosition\n" "mov r8, r0\n" "adds r0, r5, 0\n" "adds r0, 0x7A\n" @@ -394,14 +394,14 @@ void DecideMovement(struct DungeonEntity *pokemon, bool8 showRunAwayEffect) "beq _0807B37C\n" "adds r0, r6, 0\n" "adds r1, r4, 0\n" -"bl GetDistance\n" +"bl GetChebyshevDistance\n" "cmp r0, 0x2\n" "bne _0807B354\n" "_0807B348:\n" "adds r0, r5, 0\n" "adds r0, 0x44\n" "movs r1, 0x1\n" -"bl SetAction\n" +"bl SetMonsterActionFields\n" "b _0807B5CE\n" "_0807B354:\n" "cmp r0, 0x1\n" @@ -430,7 +430,7 @@ void DecideMovement(struct DungeonEntity *pokemon, bool8 showRunAwayEffect) "mov r0, r9\n" "mov r1, r8\n" "adds r2, r4, 0\n" -"bl CanMoveForward\n" +"bl CanAIMonsterMoveInDirection\n" "lsls r0, 24\n" "cmp r0, 0\n" "beq _0807B3A8\n" @@ -438,7 +438,7 @@ void DecideMovement(struct DungeonEntity *pokemon, bool8 showRunAwayEffect) "adds r0, 0x44\n" "movs r2, 0x2\n" "ldrsh r1, [r5, r2]\n" -"bl SetWalkAction\n" +"bl SetActionPassTurnOrWalk\n" "movs r0, 0x7\n" "mov r3, r8\n" "ands r3, r0\n" @@ -469,7 +469,7 @@ void DecideMovement(struct DungeonEntity *pokemon, bool8 showRunAwayEffect) "adds r0, r5, 0\n" "adds r0, 0x44\n" "movs r1, 0x1\n" -"bl SetAction\n" +"bl SetMonsterActionFields\n" "ldr r3, _0807B3E4\n" "adds r0, r5, r3\n" "strb r4, [r0]\n" @@ -509,7 +509,7 @@ void DecideMovement(struct DungeonEntity *pokemon, bool8 showRunAwayEffect) "adds r0, r5, 0\n" "adds r0, 0x44\n" "movs r1, 0x1\n" -"bl SetAction\n" +"bl SetMonsterActionFields\n" "ldr r3, _0807B438\n" "adds r1, r5, r3\n" "movs r0, 0x1\n" @@ -600,7 +600,7 @@ void DecideMovement(struct DungeonEntity *pokemon, bool8 showRunAwayEffect) "mov r10, r1\n" "mov r0, r9\n" "adds r1, r7, 0\n" -"bl ShouldAvoidEnemiesAndShowEffect\n" +"bl ShouldMonsterRunAwayAndShowEffect\n" "lsls r0, 24\n" "cmp r0, 0\n" "bne _0807B4E4\n" @@ -638,7 +638,7 @@ void DecideMovement(struct DungeonEntity *pokemon, bool8 showRunAwayEffect) "mov r0, r9\n" "adds r2, r4, 0\n" "str r3, [sp, 0x38]\n" -"bl CanMoveForward\n" +"bl CanAIMonsterMoveInDirection\n" "strb r0, [r7, 0x1]\n" "lsls r0, 24\n" "ldr r3, [sp, 0x38]\n" @@ -688,7 +688,7 @@ void DecideMovement(struct DungeonEntity *pokemon, bool8 showRunAwayEffect) "_0807B56E:\n" "ldr r0, [sp, 0x34]\n" "movs r1, 0x1\n" -"bl SetAction\n" +"bl SetMonsterActionFields\n" "ldr r1, _0807B59C\n" "adds r0, r5, r1\n" "movs r1, 0\n" @@ -712,7 +712,7 @@ void DecideMovement(struct DungeonEntity *pokemon, bool8 showRunAwayEffect) "movs r3, 0x2\n" "ldrsh r1, [r5, r3]\n" "ldr r0, [sp, 0x34]\n" -"bl SetWalkAction\n" +"bl SetActionPassTurnOrWalk\n" "add r0, sp, 0x4\n" "adds r0, r4\n" "ldr r0, [r0]\n" @@ -743,90 +743,90 @@ void DecideMovement(struct DungeonEntity *pokemon, bool8 showRunAwayEffect) "bx r0"); } -bool8 AvoidEnemies(struct DungeonEntity *pokemon) +bool8 AvoidEnemies(struct Entity *pokemon) { bool8 pokemonInFront; - u8 closestTargetRoomIndex; + u8 closestTargetRoom; s32 closestTargetDistance = INFINITY_2; - struct DungeonEntity *closestTarget; - struct DungeonEntityData *pokemonData = pokemon->entityData; - u8 roomIndex = GetEntityRoomIndex(pokemon); - struct DungeonEntity **possibleTargets; + struct Entity *closestTarget; + struct EntityInfo *pokemonInfo = pokemon->info; + u8 room = GetEntityRoom(pokemon); + struct Entity **possibleTargets; s32 numPossibleTargets; s32 i; - if (gDungeonGlobalData->decoyActive) + if (gDungeon->decoyActive) { - possibleTargets = gDungeonGlobalData->allPokemon; + possibleTargets = gDungeon->allPokemon; numPossibleTargets = DUNGEON_MAX_POKEMON; } - else if (pokemonData->isEnemy) + else if (pokemonInfo->isNotTeamMember) { - possibleTargets = gDungeonGlobalData->teamPokemon; + possibleTargets = gDungeon->teamPokemon; numPossibleTargets = MAX_TEAM_MEMBERS; } else { - possibleTargets = gDungeonGlobalData->wildPokemon; + possibleTargets = gDungeon->wildPokemon; numPossibleTargets = DUNGEON_MAX_WILD_POKEMON; } closestTarget = NULL; - closestTargetRoomIndex = CORRIDOR_ROOM_INDEX; + closestTargetRoom = CORRIDOR_ROOM; for (i = 0; i < numPossibleTargets; i++) { - struct DungeonEntity *target = possibleTargets[i]; - if (EntityExists(target) && CanSee(pokemon, target)) + struct Entity *target = possibleTargets[i]; + if (EntityExists(target) && CanSeeTarget(pokemon, target)) { s32 distance; - if (gDungeonGlobalData->decoyActive && CanTarget(pokemon, target, FALSE, TRUE) != TARGET_CAPABILITY_CAN_TARGET) + if (gDungeon->decoyActive && CanTarget(pokemon, target, FALSE, TRUE) != TARGET_CAPABILITY_CAN_TARGET) { continue; } - distance = GetDistance(&pokemon->posWorld, &target->posWorld); + distance = GetChebyshevDistance(&pokemon->pos, &target->pos); if (closestTargetDistance > distance) { closestTargetDistance = distance; closestTarget = target; - closestTargetRoomIndex = GetEntityRoomIndex(target); - pokemonData->targetMovePosition = closestTarget->posWorld; - pokemonData->targetPosition = closestTarget->posWorld; + closestTargetRoom = GetEntityRoom(target); + pokemonInfo->aiTargetPos = closestTarget->pos; + pokemonInfo->targetPos = closestTarget->pos; } } } if (closestTargetDistance != INFINITY_2) { - if (roomIndex == closestTargetRoomIndex && roomIndex != CORRIDOR_ROOM_INDEX) + if (room == closestTargetRoom && room != CORRIDOR_ROOM) { - struct MapTile *tile = GetMapTile_1(pokemon->posWorld.x, pokemon->posWorld.y); - if (tile->tileType & TILE_TYPE_ROOM_EXIT) + struct Tile *tile = GetTile(pokemon->pos.x, pokemon->pos.y); + if (tile->terrainType & TERRAIN_TYPE_NATURAL_JUNCTION) { - struct Position targetMovePosition; + struct Position aiTargetPos; s32 targetDir; - targetMovePosition.x = pokemon->posWorld.x; - targetMovePosition.y = pokemon->posWorld.y; + aiTargetPos.x = pokemon->pos.x; + aiTargetPos.y = pokemon->pos.y; // Scan for a direction leading outside the room. for (targetDir = 0; targetDir < NUM_DIRECTIONS; targetDir++) { - struct MapTile *adjacentTile; - targetMovePosition.x = pokemon->posWorld.x + gAdjacentTileOffsets[targetDir].x; - targetMovePosition.y = pokemon->posWorld.y + gAdjacentTileOffsets[targetDir].y; - adjacentTile = GetMapTile_1(targetMovePosition.x, targetMovePosition.y); - if (adjacentTile->roomIndex != roomIndex && CanMoveForward(pokemon, targetDir, &pokemonInFront)) + struct Tile *adjacentTile; + aiTargetPos.x = pokemon->pos.x + gAdjacentTileOffsets[targetDir].x; + aiTargetPos.y = pokemon->pos.y + gAdjacentTileOffsets[targetDir].y; + adjacentTile = GetTile(aiTargetPos.x, aiTargetPos.y); + if (adjacentTile->room != room && CanAIMonsterMoveInDirection(pokemon, targetDir, &pokemonInFront)) { break; } } if (targetDir == NUM_DIRECTIONS) { - targetDir = DungeonRandomCapped(NUM_DIRECTIONS); - pokemonData->movementAction = MOVEMENT_ACTION_FACE_RANDOM_DIRECTION; - pokemonData->targetMovePosition.x = pokemon->posWorld.x + gAdjacentTileOffsets[targetDir].x; - pokemonData->targetMovePosition.y = pokemon->posWorld.y + gAdjacentTileOffsets[targetDir].y; + targetDir = DungeonRandInt(NUM_DIRECTIONS); + pokemonInfo->aiObjective = AI_STAND_STILL; + pokemonInfo->aiTargetPos.x = pokemon->pos.x + gAdjacentTileOffsets[targetDir].x; + pokemonInfo->aiTargetPos.y = pokemon->pos.y + gAdjacentTileOffsets[targetDir].y; return TRUE; } else { - pokemonData->movementAction = MOVEMENT_ACTION_RUN_AWAY_FROM_ENEMY; - pokemonData->targetMovePosition = targetMovePosition; + pokemonInfo->aiObjective = AI_RUN_AWAY; + pokemonInfo->aiTargetPos = aiTargetPos; return TRUE; } } @@ -835,22 +835,22 @@ bool8 AvoidEnemies(struct DungeonEntity *pokemon) // At this point, the Pokémon is running directly away from the target. // If there are any room exits that the Pokémon can head towards without moving // closer to the target, head towards the furthest eligible exit. - s32 numRoomExits; - struct Position *roomExits = gDungeonGlobalData->roomExits[roomIndex]; + s32 naturalJunctionListCounts; + struct Position *naturalJunctionList = gDungeon->naturalJunctionList[room]; s32 furthestTargetExitIndex; s32 furthestTargetToExitDistance; s32 distanceX; s32 pokemonToTargetDistance; s32 i; - numRoomExits = gDungeonGlobalData->numRoomExits[roomIndex]; + naturalJunctionListCounts = gDungeon->naturalJunctionListCounts[room]; furthestTargetToExitDistance = -INFINITY_2; furthestTargetExitIndex = 0; - distanceX = closestTarget->posWorld.x - pokemon->posWorld.x; + distanceX = closestTarget->pos.x - pokemon->pos.x; if (distanceX < 0) { distanceX = -distanceX; } - pokemonToTargetDistance = closestTarget->posWorld.y - pokemon->posWorld.y; + pokemonToTargetDistance = closestTarget->pos.y - pokemon->pos.y; if (pokemonToTargetDistance < 0) { pokemonToTargetDistance = -pokemonToTargetDistance; @@ -859,17 +859,17 @@ bool8 AvoidEnemies(struct DungeonEntity *pokemon) { pokemonToTargetDistance = distanceX; } - for (i = 0; i < numRoomExits; i++) + for (i = 0; i < naturalJunctionListCounts; i++) { s32 targetToExitDistance; s32 pokemonToExitSignX, pokemonToExitSignY; s32 adjacentToTargetDistanceX, adjacentToTargetDistance; - s32 distanceX = closestTarget->posWorld.x - roomExits[i].x; + s32 distanceX = closestTarget->pos.x - naturalJunctionList[i].x; if (distanceX < 0) { distanceX = -distanceX; } - targetToExitDistance = closestTarget->posWorld.y - roomExits[i].y; + targetToExitDistance = closestTarget->pos.y - naturalJunctionList[i].y; if (targetToExitDistance < 0) { targetToExitDistance = -targetToExitDistance; @@ -878,8 +878,8 @@ bool8 AvoidEnemies(struct DungeonEntity *pokemon) { targetToExitDistance = distanceX; } - pokemonToExitSignX = roomExits[i].x - pokemon->posWorld.x; - pokemonToExitSignY = roomExits[i].y - pokemon->posWorld.y; + pokemonToExitSignX = naturalJunctionList[i].x - pokemon->pos.x; + pokemonToExitSignY = naturalJunctionList[i].y - pokemon->pos.y; if (pokemonToExitSignX < -1) { pokemonToExitSignX = -1; @@ -896,12 +896,12 @@ bool8 AvoidEnemies(struct DungeonEntity *pokemon) { pokemonToExitSignY = 1; } - adjacentToTargetDistanceX = closestTarget->posWorld.x - (pokemon->posWorld.x + pokemonToExitSignX); + adjacentToTargetDistanceX = closestTarget->pos.x - (pokemon->pos.x + pokemonToExitSignX); if (adjacentToTargetDistanceX < 0) { adjacentToTargetDistanceX = -adjacentToTargetDistanceX; } - adjacentToTargetDistance = closestTarget->posWorld.y - (pokemon->posWorld.y + pokemonToExitSignY); + adjacentToTargetDistance = closestTarget->pos.y - (pokemon->pos.y + pokemonToExitSignY); if (adjacentToTargetDistance < 0) { adjacentToTargetDistance = -adjacentToTargetDistance; @@ -924,16 +924,16 @@ bool8 AvoidEnemies(struct DungeonEntity *pokemon) } if (furthestTargetToExitDistance >= 0) { - pokemonData->movementAction = MOVEMENT_ACTION_RUN_AWAY_FROM_ENEMY; - pokemonData->targetMovePosition.x = roomExits[furthestTargetExitIndex].x; - pokemonData->targetMovePosition.y = roomExits[furthestTargetExitIndex].y; + pokemonInfo->aiObjective = AI_RUN_AWAY; + pokemonInfo->aiTargetPos.x = naturalJunctionList[furthestTargetExitIndex].x; + pokemonInfo->aiTargetPos.y = naturalJunctionList[furthestTargetExitIndex].y; return TRUE; } } } - pokemonData->movementAction = MOVEMENT_ACTION_RUN_AWAY_FROM_ENEMY; - pokemonData->targetMovePosition.x = pokemon->posWorld.x - (closestTarget->posWorld.x - pokemon->posWorld.x); - pokemonData->targetMovePosition.y = pokemon->posWorld.y - (closestTarget->posWorld.y - pokemon->posWorld.y); + pokemonInfo->aiObjective = AI_RUN_AWAY; + pokemonInfo->aiTargetPos.x = pokemon->pos.x - (closestTarget->pos.x - pokemon->pos.x); + pokemonInfo->aiTargetPos.y = pokemon->pos.y - (closestTarget->pos.y - pokemon->pos.y); return TRUE; } else @@ -943,73 +943,73 @@ bool8 AvoidEnemies(struct DungeonEntity *pokemon) } #ifdef NONMATCHING -bool8 Wander(struct DungeonEntity *pokemon) +bool8 Wander(struct Entity *pokemon) { - struct DungeonEntityData *pokemonData = pokemon->entityData; - s32 roomIndex = GetEntityRoomIndex(pokemon); + struct EntityInfo *pokemonInfo = pokemon->info; + s32 room = GetEntityRoom(pokemon); s32 targetFacingDir; - if (roomIndex == CORRIDOR_ROOM_INDEX) + if (room == CORRIDOR_ROOM) { bool8 isAtJunction = FALSE; - s32 oppositeFacingDir = (pokemonData->action.facingDir + NUM_DIRECTIONS / 2) & DIRECTION_MASK; + s32 oppositeFacingDir = (pokemonInfo->action.direction + NUM_DIRECTIONS / 2) & DIRECTION_MASK; s32 targetFacingDir2; s32 i; if (IsAtJunction(pokemon)) { - pokemonData->action.facingDir = DungeonRandomCapped(NUM_DIRECTIONS); + pokemonInfo->action.direction = DungeonRandInt(NUM_DIRECTIONS); isAtJunction = TRUE; } for (i = 0; i < NUM_DIRECTIONS; i++) { bool8 pokemonInFront; - targetFacingDir = (pokemonData->action.facingDir + gFaceDirectionIncrements[i]) & DIRECTION_MASK; + targetFacingDir = (pokemonInfo->action.direction + gFaceDirectionIncrements[i]) & DIRECTION_MASK; if ((!isAtJunction || targetFacingDir != oppositeFacingDir) && - CanMoveForward(pokemon, targetFacingDir, &pokemonInFront)) + CanAIMonsterMoveInDirection(pokemon, targetFacingDir, &pokemonInFront)) { - pokemonData->movementAction = MOVEMENT_ACTION_WANDER_CORRIDOR; - pokemonData->targetMovePosition.x = pokemon->posWorld.x + gAdjacentTileOffsets[targetFacingDir].x; - pokemonData->targetMovePosition.y = pokemon->posWorld.y + gAdjacentTileOffsets[targetFacingDir].y; + pokemonInfo->aiObjective = AI_ROAM; + pokemonInfo->aiTargetPos.x = pokemon->pos.x + gAdjacentTileOffsets[targetFacingDir].x; + pokemonInfo->aiTargetPos.y = pokemon->pos.y + gAdjacentTileOffsets[targetFacingDir].y; return TRUE; } } - targetFacingDir2 = DungeonRandomCapped(NUM_DIRECTIONS); - pokemonData->movementAction = MOVEMENT_ACTION_FACE_RANDOM_DIRECTION; - pokemonData->targetMovePosition.x = pokemon->posWorld.x + gAdjacentTileOffsets[targetFacingDir2].x; - pokemonData->targetMovePosition.y = pokemon->posWorld.y + gAdjacentTileOffsets[targetFacingDir2].y; + targetFacingDir2 = DungeonRandInt(NUM_DIRECTIONS); + pokemonInfo->aiObjective = AI_STAND_STILL; + pokemonInfo->aiTargetPos.x = pokemon->pos.x + gAdjacentTileOffsets[targetFacingDir2].x; + pokemonInfo->aiTargetPos.y = pokemon->pos.y + gAdjacentTileOffsets[targetFacingDir2].y; } else { - s32 numRoomExits = gDungeonGlobalData->numRoomExits[roomIndex]; - struct Position *roomExits = gDungeonGlobalData->roomExits[roomIndex]; - if (pokemonData->moveRandomly) + s32 naturalJunctionListCounts = gDungeon->naturalJunctionListCounts[room]; + struct Position *naturalJunctionList = gDungeon->naturalJunctionList[room]; + if (pokemonInfo->moveRandomly) { - s32 targetFacingDir = DungeonRandomCapped(NUM_DIRECTIONS); - pokemonData->movementAction = MOVEMENT_ACTION_FACE_RANDOM_DIRECTION; - pokemonData->targetMovePosition.x = pokemon->posWorld.x + gAdjacentTileOffsets[targetFacingDir].x; - pokemonData->targetMovePosition.y = pokemon->posWorld.y + gAdjacentTileOffsets[targetFacingDir].y; + s32 targetFacingDir = DungeonRandInt(NUM_DIRECTIONS); + pokemonInfo->aiObjective = AI_STAND_STILL; + pokemonInfo->aiTargetPos.x = pokemon->pos.x + gAdjacentTileOffsets[targetFacingDir].x; + pokemonInfo->aiTargetPos.y = pokemon->pos.y + gAdjacentTileOffsets[targetFacingDir].y; } else { - if (pokemonData->movementAction != MOVEMENT_ACTION_EXIT_ROOM) + if (pokemonInfo->aiObjective != AI_LEAVE_ROOM) { s32 i; - if (numRoomExits == 0) + if (naturalJunctionListCounts == 0) { - targetFacingDir = DungeonRandomCapped(NUM_DIRECTIONS); - pokemonData->movementAction = MOVEMENT_ACTION_FACE_RANDOM_DIRECTION; - pokemonData->targetMovePosition.x = pokemon->posWorld.x + gAdjacentTileOffsets[targetFacingDir].x; - pokemonData->targetMovePosition.y = pokemon->posWorld.y + gAdjacentTileOffsets[targetFacingDir].y; + targetFacingDir = DungeonRandInt(NUM_DIRECTIONS); + pokemonInfo->aiObjective = AI_STAND_STILL; + pokemonInfo->aiTargetPos.x = pokemon->pos.x + gAdjacentTileOffsets[targetFacingDir].x; + pokemonInfo->aiTargetPos.y = pokemon->pos.y + gAdjacentTileOffsets[targetFacingDir].y; return TRUE; } for (i = 0; i < 10; i++) { - targetFacingDir = DungeonRandomCapped(numRoomExits); - if (pokemon->posWorld.x != roomExits[targetFacingDir].x || - pokemon->posWorld.y != roomExits[targetFacingDir].y) + targetFacingDir = DungeonRandInt(naturalJunctionListCounts); + if (pokemon->pos.x != naturalJunctionList[targetFacingDir].x || + pokemon->pos.y != naturalJunctionList[targetFacingDir].y) { - pokemonData->movementAction = MOVEMENT_ACTION_EXIT_ROOM; - pokemonData->targetMovePosition.x = roomExits[targetFacingDir].x; - pokemonData->targetMovePosition.y = roomExits[targetFacingDir].y; + pokemonInfo->aiObjective = AI_LEAVE_ROOM; + pokemonInfo->aiTargetPos.x = naturalJunctionList[targetFacingDir].x; + pokemonInfo->aiTargetPos.y = naturalJunctionList[targetFacingDir].y; return TRUE; } } @@ -1017,23 +1017,23 @@ bool8 Wander(struct DungeonEntity *pokemon) // it gives up and exits the way it came. // This occurs normally for one-exit rooms, but can happen rarely for multi-exit rooms. } - if (GetMapTile_1(pokemon->posWorld.x, pokemon->posWorld.y)->tileType & TILE_TYPE_ROOM_EXIT) + if (GetTile(pokemon->pos.x, pokemon->pos.y)->terrainType & TERRAIN_TYPE_NATURAL_JUNCTION) { s32 i; - targetFacingDir = DungeonRandomCapped(NUM_DIRECTIONS); + targetFacingDir = DungeonRandInt(NUM_DIRECTIONS); for (i = 0; i < NUM_DIRECTIONS; i++, targetFacingDir++) { bool8 pokemonInFront; s32 forwardX, forwardY; targetFacingDir &= DIRECTION_MASK; - forwardX = pokemon->posWorld.x + gAdjacentTileOffsets[targetFacingDir].x; - forwardY = pokemon->posWorld.y + gAdjacentTileOffsets[targetFacingDir].y; - if (GetMapTile_1(forwardX, forwardY)->roomIndex == CORRIDOR_ROOM_INDEX && - CanMoveForward(pokemon, targetFacingDir, &pokemonInFront)) + forwardX = pokemon->pos.x + gAdjacentTileOffsets[targetFacingDir].x; + forwardY = pokemon->pos.y + gAdjacentTileOffsets[targetFacingDir].y; + if (GetTile(forwardX, forwardY)->room == CORRIDOR_ROOM && + CanAIMonsterMoveInDirection(pokemon, targetFacingDir, &pokemonInFront)) { - pokemonData->movementAction = MOVEMENT_ACTION_WANDER_CORRIDOR; - pokemonData->targetMovePosition.x = forwardX; - pokemonData->targetMovePosition.y = forwardY; + pokemonInfo->aiObjective = AI_ROAM; + pokemonInfo->aiTargetPos.x = forwardX; + pokemonInfo->aiTargetPos.y = forwardY; return TRUE; } } @@ -1045,7 +1045,7 @@ bool8 Wander(struct DungeonEntity *pokemon) } #else NAKED -bool8 Wander(struct DungeonEntity *pokemon) +bool8 Wander(struct Entity *pokemon) { asm_unified("push {r4-r7,lr}\n" "mov r7, r10\n" @@ -1055,7 +1055,7 @@ bool8 Wander(struct DungeonEntity *pokemon) "sub sp, 0x10\n" "adds r6, r0, 0\n" "ldr r7, [r6, 0x70]\n" -"bl GetEntityRoomIndex\n" +"bl GetEntityRoom\n" "lsls r0, 24\n" "lsrs r3, r0, 24\n" "cmp r3, 0xFF\n" @@ -1078,7 +1078,7 @@ bool8 Wander(struct DungeonEntity *pokemon) "cmp r0, 0\n" "beq _0807B96C\n" "movs r0, 0x8\n" -"bl DungeonRandomCapped\n" +"bl DungeonRandInt\n" "strb r0, [r4]\n" "movs r2, 0x1\n" "str r2, [sp, 0x4]\n" @@ -1109,7 +1109,7 @@ bool8 Wander(struct DungeonEntity *pokemon) "adds r1, r4, 0\n" "mov r2, sp\n" "str r3, [sp, 0xC]\n" -"bl CanMoveForward\n" +"bl CanAIMonsterMoveInDirection\n" "lsls r0, 24\n" "ldr r3, [sp, 0xC]\n" "cmp r0, 0\n" @@ -1121,7 +1121,7 @@ bool8 Wander(struct DungeonEntity *pokemon) "cmp r3, 0x7\n" "ble _0807B97E\n" "movs r0, 0x8\n" -"bl DungeonRandomCapped\n" +"bl DungeonRandInt\n" "movs r1, 0x6\n" "mov r3, r10\n" "strb r1, [r3]\n" @@ -1160,7 +1160,7 @@ bool8 Wander(struct DungeonEntity *pokemon) "cmp r0, 0\n" "beq _0807BA40\n" "movs r0, 0x8\n" -"bl DungeonRandomCapped\n" +"bl DungeonRandInt\n" "adds r2, r7, 0\n" "adds r2, 0x78\n" "movs r1, 0x6\n" @@ -1181,7 +1181,7 @@ bool8 Wander(struct DungeonEntity *pokemon) "strh r0, [r1]\n" "b _0807BB60\n" ".align 2, 0\n" -"_0807BA30: .4byte gDungeonGlobalData\n" +"_0807BA30: .4byte gDungeon\n" "_0807BA34: .4byte 0x00010844\n" "_0807BA38: .4byte 0x00010884\n" "_0807BA3C: .4byte gAdjacentTileOffsets\n" @@ -1196,7 +1196,7 @@ bool8 Wander(struct DungeonEntity *pokemon) "cmp r4, 0\n" "bne _0807BA84\n" "movs r0, 0x8\n" -"bl DungeonRandomCapped\n" +"bl DungeonRandInt\n" "adds r4, r0, 0\n" "movs r0, 0x6\n" "mov r1, r10\n" @@ -1222,7 +1222,7 @@ bool8 Wander(struct DungeonEntity *pokemon) "movs r5, 0\n" "_0807BA86:\n" "mov r0, r8\n" -"bl DungeonRandomCapped\n" +"bl DungeonRandInt\n" "adds r4, r0, 0\n" "ldr r0, [r6, 0x4]\n" "lsls r1, r4, 2\n" @@ -1239,14 +1239,14 @@ bool8 Wander(struct DungeonEntity *pokemon) "ldrsh r0, [r6, r1]\n" "movs r2, 0x6\n" "ldrsh r1, [r6, r2]\n" -"bl GetMapTile_1\n" +"bl GetTile\n" "ldrh r1, [r0]\n" "movs r0, 0x8\n" "ands r0, r1\n" "cmp r0, 0\n" "beq _0807BB60\n" "movs r0, 0x8\n" -"bl DungeonRandomCapped\n" +"bl DungeonRandInt\n" "adds r4, r0, 0\n" "movs r3, 0\n" "mov r9, r3\n" @@ -1269,7 +1269,7 @@ bool8 Wander(struct DungeonEntity *pokemon) "adds r5, r2, r0\n" "mov r0, r8\n" "adds r1, r5, 0\n" -"bl GetMapTile_1\n" +"bl GetTile\n" "ldrb r0, [r0, 0x9]\n" "cmp r0, 0xFF\n" "bne _0807BB04\n" @@ -1277,7 +1277,7 @@ bool8 Wander(struct DungeonEntity *pokemon) "adds r1, r4, 0\n" "mov r2, sp\n" "adds r2, 0x1\n" -"bl CanMoveForward\n" +"bl CanAIMonsterMoveInDirection\n" "lsls r0, 24\n" "cmp r0, 0\n" "bne _0807BB2E\n" @@ -1346,13 +1346,13 @@ bool8 Wander(struct DungeonEntity *pokemon) } #endif -void sub_807BB78(struct DungeonEntity *pokemon) +void sub_807BB78(struct Entity *pokemon) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; - entityData = pokemon->entityData; - entityData->movementAction = 0; - entityData->targetMovePosition = pokemon->posWorld; - entityData->targetPokemon = 0; - entityData->targetPokemonSpawnIndex = 0; + entityData = pokemon->info; + entityData->aiObjective = 0; + entityData->aiTargetPos = pokemon->pos; + entityData->aiTarget = 0; + entityData->aiTargetSpawnGenID = 0; } diff --git a/src/dungeon_ai_targeting.c b/src/dungeon_ai_targeting.c index f08cf824d..e240b56b7 100644 --- a/src/dungeon_ai_targeting.c +++ b/src/dungeon_ai_targeting.c @@ -20,7 +20,7 @@ #include "map.h" #include "tile_types.h" -extern void ShowVisualFlags(struct DungeonEntity *r0); +extern void ShowVisualFlags(struct Entity *r0); const u8 gDirectionBitMasks_2[] = {0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80}; const u8 gDirectionBitMasks_3[] = {0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80}; @@ -62,30 +62,30 @@ const u8 gTargetingData[3][2][2][2] = { } }; -bool8 sub_8070F3C(struct DungeonEntity * pokemon, struct Position *pos, s32 direction) +bool8 sub_8070F3C(struct Entity * pokemon, struct Position *pos, s32 direction) { u8 terrain; - struct MapTile *tile; + struct Tile *tile; - terrain = GetCrossableTerrain(pokemon->entityData->entityID); + terrain = GetCrossableTerrain(pokemon->info->id); - tile = GetMapTile_1(pos->x + gAdjacentTileOffsets[direction].x, pos->y + gAdjacentTileOffsets[direction].y); - if ((!(tile->tileType & TILE_TYPE_MAP_EDGE)) && - (((tile->pokemon == NULL || (GetEntityType(tile->pokemon) == ENTITY_POKEMON))))) { - if (!IsFixedDungeon()) + tile = GetTile(pos->x + gAdjacentTileOffsets[direction].x, pos->y + gAdjacentTileOffsets[direction].y); + if ((!(tile->terrainType & TERRAIN_TYPE_IMPASSABLE_WALL)) && + (((tile->monster == NULL || (GetEntityType(tile->monster) == ENTITY_MONSTER))))) { + if (!IsCurrentFixedRoomBossFight()) { - if (pokemon->entityData->transformStatus == TRANSFORM_STATUS_MOBILE || - HasItem(pokemon, ITEM_ID_MOBILE_SCARF)) + if (pokemon->info->transformStatus == STATUS_MOBILE || + HasHeldItem(pokemon, ITEM_MOBILE_SCARF)) { terrain = CROSSABLE_TERRAIN_WALL; } - else if (HasIQSkill(pokemon, IQ_SKILL_ALL_TERRAIN_HIKER)) + else if (IQSkillIsEnabled(pokemon, IQ_ALL_TERRAIN_HIKER)) { // BUG: If the Pokémon is a Ghost type that can normally attack through walls, // All-Terrain Hiker/Super Mobile may make the AI think it can't attack through walls. terrain = CROSSABLE_TERRAIN_CREVICE; } - else if (HasIQSkill(pokemon, IQ_SKILL_SUPER_MOBILE)) + else if (IQSkillIsEnabled(pokemon, IQ_SUPER_MOBILE)) { if ((direction & 1) != 0) { @@ -98,57 +98,57 @@ bool8 sub_8070F3C(struct DungeonEntity * pokemon, struct Position *pos, s32 dire } } - tile = GetMapTile_1(pos->x, pos->y); + tile = GetTile(pos->x, pos->y); - if (((tile->canMoveAdjacent[terrain] & gDirectionBitMasks_2[direction & DIRECTION_MASK]))) { + if (((tile->walkableNeighborFlags[terrain] & gDirectionBitMasks_2[direction & DIRECTION_MASK]))) { return TRUE; } } return FALSE; } -bool8 sub_8070F14(struct DungeonEntity * pokemon, s32 direction) +bool8 sub_8070F14(struct Entity * pokemon, s32 direction) { - struct MapTile *tile; + struct Tile *tile; - tile = GetMapTile_1(pokemon->posWorld.x + gAdjacentTileOffsets[direction].x, pokemon->posWorld.y + gAdjacentTileOffsets[direction].y); - if ((!(tile->tileType & TILE_TYPE_MAP_EDGE)) && - (((tile->pokemon == NULL)))) { + tile = GetTile(pokemon->pos.x + gAdjacentTileOffsets[direction].x, pokemon->pos.y + gAdjacentTileOffsets[direction].y); + if ((!(tile->terrainType & TERRAIN_TYPE_IMPASSABLE_WALL)) && + (((tile->monster == NULL)))) { - tile = GetMapTile_1(pokemon->posWorld.x, pokemon->posWorld.y); + tile = GetTile(pokemon->pos.x, pokemon->pos.y); - if (((tile->canMoveAdjacent[0] & gDirectionBitMasks_3[direction & DIRECTION_MASK]))) { + if (((tile->walkableNeighborFlags[0] & gDirectionBitMasks_3[direction & DIRECTION_MASK]))) { return TRUE; } } return FALSE; } -bool8 sub_8070F80(struct DungeonEntity * pokemon, s32 direction) +bool8 sub_8070F80(struct Entity * pokemon, s32 direction) { u8 terrain; - struct MapTile *tile; + struct Tile *tile; - terrain = GetCrossableTerrain(pokemon->entityData->entityID); + terrain = GetCrossableTerrain(pokemon->info->id); - tile = GetMapTile_1(pokemon->posWorld.x + gAdjacentTileOffsets[direction].x, pokemon->posWorld.y + gAdjacentTileOffsets[direction].y); - if ((!(tile->tileType & TILE_TYPE_MAP_EDGE)) && - (((tile->pokemon == NULL || (GetEntityType(tile->pokemon) == ENTITY_POKEMON))))) { - if (!IsFixedDungeon()) + tile = GetTile(pokemon->pos.x + gAdjacentTileOffsets[direction].x, pokemon->pos.y + gAdjacentTileOffsets[direction].y); + if ((!(tile->terrainType & TERRAIN_TYPE_IMPASSABLE_WALL)) && + (((tile->monster == NULL || (GetEntityType(tile->monster) == ENTITY_MONSTER))))) { + if (!IsCurrentFixedRoomBossFight()) { - if (pokemon->entityData->transformStatus == TRANSFORM_STATUS_MOBILE || - HasItem(pokemon, ITEM_ID_MOBILE_SCARF)) + if (pokemon->info->transformStatus == STATUS_MOBILE || + HasHeldItem(pokemon, ITEM_MOBILE_SCARF)) { terrain = CROSSABLE_TERRAIN_WALL; } - else if (HasIQSkill(pokemon, IQ_SKILL_ALL_TERRAIN_HIKER)) + else if (IQSkillIsEnabled(pokemon, IQ_ALL_TERRAIN_HIKER)) { // BUG: If the Pokémon is a Ghost type that can normally attack through walls, // All-Terrain Hiker/Super Mobile may make the AI think it can't attack through walls. terrain = CROSSABLE_TERRAIN_CREVICE; } - else if (HasIQSkill(pokemon, IQ_SKILL_SUPER_MOBILE)) + else if (IQSkillIsEnabled(pokemon, IQ_SUPER_MOBILE)) { if ((direction & 1) != 0) { @@ -161,40 +161,40 @@ bool8 sub_8070F80(struct DungeonEntity * pokemon, s32 direction) } } - tile = GetMapTile_1(pokemon->posWorld.x, pokemon->posWorld.y); + tile = GetTile(pokemon->pos.x, pokemon->pos.y); - if (((tile->canMoveAdjacent[terrain] & gDirectionBitMasks_4[direction & DIRECTION_MASK]))) { + if (((tile->walkableNeighborFlags[terrain] & gDirectionBitMasks_4[direction & DIRECTION_MASK]))) { return TRUE; } } return FALSE; } -bool8 sub_8071058(struct DungeonEntity * pokemon, s32 direction) +bool8 sub_8071058(struct Entity * pokemon, s32 direction) { u8 terrain; - struct MapTile *tile; + struct Tile *tile; - terrain = GetCrossableTerrain(pokemon->entityData->entityID); + terrain = GetCrossableTerrain(pokemon->info->id); - tile = GetMapTile_1(pokemon->posWorld.x + gAdjacentTileOffsets[direction].x, pokemon->posWorld.y + gAdjacentTileOffsets[direction].y); - if ((!(tile->tileType & TILE_TYPE_MAP_EDGE)) && - (((tile->pokemon == NULL || (GetEntityType(tile->pokemon) == ENTITY_POKEMON)) || - (!tile->pokemon->entityData->isEnemy)))) { - if (!IsFixedDungeon()) + tile = GetTile(pokemon->pos.x + gAdjacentTileOffsets[direction].x, pokemon->pos.y + gAdjacentTileOffsets[direction].y); + if ((!(tile->terrainType & TERRAIN_TYPE_IMPASSABLE_WALL)) && + (((tile->monster == NULL || (GetEntityType(tile->monster) == ENTITY_MONSTER)) || + (!tile->monster->info->isNotTeamMember)))) { + if (!IsCurrentFixedRoomBossFight()) { - if (pokemon->entityData->transformStatus == TRANSFORM_STATUS_MOBILE || - HasItem(pokemon, ITEM_ID_MOBILE_SCARF)) + if (pokemon->info->transformStatus == STATUS_MOBILE || + HasHeldItem(pokemon, ITEM_MOBILE_SCARF)) { terrain = CROSSABLE_TERRAIN_WALL; } - else if (HasIQSkill(pokemon, IQ_SKILL_ALL_TERRAIN_HIKER)) + else if (IQSkillIsEnabled(pokemon, IQ_ALL_TERRAIN_HIKER)) { // BUG: If the Pokémon is a Ghost type that can normally attack through walls, // All-Terrain Hiker/Super Mobile may make the AI think it can't attack through walls. terrain = CROSSABLE_TERRAIN_CREVICE; } - else if (HasIQSkill(pokemon, IQ_SKILL_SUPER_MOBILE)) + else if (IQSkillIsEnabled(pokemon, IQ_SUPER_MOBILE)) { if ((direction & 1) != 0) { @@ -206,42 +206,42 @@ bool8 sub_8071058(struct DungeonEntity * pokemon, s32 direction) } } } - tile = GetMapTile_1(pokemon->posWorld.x, pokemon->posWorld.y); + tile = GetTile(pokemon->pos.x, pokemon->pos.y); - if (((tile->canMoveAdjacent[terrain] & gDirectionBitMasks_5[direction & DIRECTION_MASK]))) { + if (((tile->walkableNeighborFlags[terrain] & gDirectionBitMasks_5[direction & DIRECTION_MASK]))) { return TRUE; } } return FALSE; } -bool8 CanAttackInFront(struct DungeonEntity *pokemon, s32 direction) +bool8 CanAttackInDirection(struct Entity *pokemon, s32 direction) { - u8 crossableTerrain = GetCrossableTerrain(pokemon->entityData->entityID); - struct MapTile *tile; + u8 crossableTerrain = GetCrossableTerrain(pokemon->info->id); + struct Tile *tile; if (crossableTerrain < CROSSABLE_TERRAIN_CREVICE) { crossableTerrain = CROSSABLE_TERRAIN_CREVICE; } - tile = GetMapTile_1(pokemon->posWorld.x + gAdjacentTileOffsets[direction].x, - pokemon->posWorld.y + gAdjacentTileOffsets[direction].y); - if (!(tile->tileType & TILE_TYPE_MAP_EDGE) && - (tile->pokemon == NULL || GetEntityType(tile->pokemon) == ENTITY_POKEMON)) + tile = GetTile(pokemon->pos.x + gAdjacentTileOffsets[direction].x, + pokemon->pos.y + gAdjacentTileOffsets[direction].y); + if (!(tile->terrainType & TERRAIN_TYPE_IMPASSABLE_WALL) && + (tile->monster == NULL || GetEntityType(tile->monster) == ENTITY_MONSTER)) { - if (!IsFixedDungeon()) + if (!IsCurrentFixedRoomBossFight()) { - if (pokemon->entityData->transformStatus == TRANSFORM_STATUS_MOBILE || - HasItem(pokemon, ITEM_ID_MOBILE_SCARF)) + if (pokemon->info->transformStatus == STATUS_MOBILE || + HasHeldItem(pokemon, ITEM_MOBILE_SCARF)) { crossableTerrain = CROSSABLE_TERRAIN_WALL; } - else if (HasIQSkill(pokemon, IQ_SKILL_ALL_TERRAIN_HIKER)) + else if (IQSkillIsEnabled(pokemon, IQ_ALL_TERRAIN_HIKER)) { // BUG: If the Pokémon is a Ghost type that can normally attack through walls, // All-Terrain Hiker/Super Mobile may make the AI think it can't attack through walls. crossableTerrain = CROSSABLE_TERRAIN_CREVICE; } - else if (HasIQSkill(pokemon, IQ_SKILL_SUPER_MOBILE)) + else if (IQSkillIsEnabled(pokemon, IQ_SUPER_MOBILE)) { if ((direction & 1) != 0) { @@ -253,8 +253,8 @@ bool8 CanAttackInFront(struct DungeonEntity *pokemon, s32 direction) } } } - tile = GetMapTile_1(pokemon->posWorld.x, pokemon->posWorld.y); - if (tile->canMoveAdjacent[crossableTerrain] & gDirectionBitMasks_6[direction & DIRECTION_MASK]) + tile = GetTile(pokemon->pos.x, pokemon->pos.y); + if (tile->walkableNeighborFlags[crossableTerrain] & gDirectionBitMasks_6[direction & DIRECTION_MASK]) { return TRUE; } @@ -262,50 +262,50 @@ bool8 CanAttackInFront(struct DungeonEntity *pokemon, s32 direction) return FALSE; } -bool8 CanMoveForward(struct DungeonEntity *pokemon, s32 direction, bool8 *pokemonInFront) +bool8 CanAIMonsterMoveInDirection(struct Entity *pokemon, s32 direction, bool8 *pokemonInFront) { - u8 crossableTerrain = GetCrossableTerrain(pokemon->entityData->entityID); - struct MapTile *frontTile, *currentTile; + u8 crossableTerrain = GetCrossableTerrain(pokemon->info->id); + struct Tile *frontTile, *currentTile; *pokemonInFront = FALSE; - frontTile = GetMapTile_1(pokemon->posWorld.x + gAdjacentTileOffsets[direction].x, - pokemon->posWorld.y + gAdjacentTileOffsets[direction].y); - if (frontTile->tileType & TILE_TYPE_MAP_EDGE) + frontTile = GetTile(pokemon->pos.x + gAdjacentTileOffsets[direction].x, + pokemon->pos.y + gAdjacentTileOffsets[direction].y); + if (frontTile->terrainType & TERRAIN_TYPE_IMPASSABLE_WALL) { return FALSE; } - if (frontTile->tileType & TILE_TYPE_MONSTER_HOUSE && - !gDungeonGlobalData->monsterHouseActive && - HasIQSkill(pokemon, IQ_SKILL_HOUSE_AVOIDER)) + if (frontTile->terrainType & TERRAIN_TYPE_IN_MONSTER_HOUSE && + !gDungeon->monsterHouseTriggered && + IQSkillIsEnabled(pokemon, IQ_HOUSE_AVOIDER)) { return FALSE; } - if (frontTile->mapObject != NULL && - HasIQSkill(pokemon, IQ_SKILL_TRAP_AVOIDER) && - GetEntityType(frontTile->mapObject) == ENTITY_TRAP && - (frontTile->mapObject->visible || pokemon->entityData->eyesightStatus == EYESIGHT_STATUS_EYEDROPS)) + if (frontTile->object != NULL && + IQSkillIsEnabled(pokemon, IQ_TRAP_AVOIDER) && + GetEntityType(frontTile->object) == ENTITY_TRAP && + (frontTile->object->isVisible || pokemon->info->eyesightStatus == STATUS_EYEDROPS)) { return FALSE; } - if ((frontTile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID)) == TILE_TYPE_LIQUID && - gDungeonWaterType[gDungeonGlobalData->tileset] == DUNGEON_WATER_TYPE_LAVA && - HasIQSkill(pokemon, IQ_SKILL_LAVA_EVADER)) + if ((frontTile->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY)) == TERRAIN_TYPE_SECONDARY && + gDungeonWaterType[gDungeon->tileset] == DUNGEON_WATER_TYPE_LAVA && + IQSkillIsEnabled(pokemon, IQ_LAVA_EVADER)) { return FALSE; } - if (!IsFixedDungeon()) + if (!IsCurrentFixedRoomBossFight()) { - if (pokemon->entityData->transformStatus == TRANSFORM_STATUS_MOBILE || - HasItem(pokemon, ITEM_ID_MOBILE_SCARF)) + if (pokemon->info->transformStatus == STATUS_MOBILE || + HasHeldItem(pokemon, ITEM_MOBILE_SCARF)) { crossableTerrain = CROSSABLE_TERRAIN_WALL; } - else if (HasIQSkill(pokemon, IQ_SKILL_ALL_TERRAIN_HIKER)) + else if (IQSkillIsEnabled(pokemon, IQ_ALL_TERRAIN_HIKER)) { // BUG: If the Pokémon is a Ghost type that can normally move through walls, // All-Terrain Hiker/Super Mobile may make the AI think it can't move through walls. crossableTerrain = CROSSABLE_TERRAIN_CREVICE; } - else if (HasIQSkill(pokemon, IQ_SKILL_SUPER_MOBILE)) + else if (IQSkillIsEnabled(pokemon, IQ_SUPER_MOBILE)) { if ((direction & 1) != 0) { @@ -317,10 +317,10 @@ bool8 CanMoveForward(struct DungeonEntity *pokemon, s32 direction, bool8 *pokemo } } } - currentTile = GetMapTile_1(pokemon->posWorld.x, pokemon->posWorld.y); - if (currentTile->canMoveAdjacent[crossableTerrain] & gDirectionBitMasks_7[direction & DIRECTION_MASK]) + currentTile = GetTile(pokemon->pos.x, pokemon->pos.y); + if (currentTile->walkableNeighborFlags[crossableTerrain] & gDirectionBitMasks_7[direction & DIRECTION_MASK]) { - if (frontTile->pokemon == NULL) + if (frontTile->monster == NULL) { return TRUE; } @@ -332,49 +332,49 @@ bool8 CanMoveForward(struct DungeonEntity *pokemon, s32 direction, bool8 *pokemo return FALSE; } -bool8 IsAtJunction(struct DungeonEntity *pokemon) +bool8 IsAtJunction(struct Entity *pokemon) { - u32 crossableTerrain = GetCrossableTerrain(pokemon->entityData->entityID); - if (!IsFixedDungeon()) + u32 crossableTerrain = GetCrossableTerrain(pokemon->info->id); + if (!IsCurrentFixedRoomBossFight()) { - if (pokemon->entityData->transformStatus == TRANSFORM_STATUS_MOBILE || HasItem(pokemon, ITEM_ID_MOBILE_SCARF)) + if (pokemon->info->transformStatus == STATUS_MOBILE || HasHeldItem(pokemon, ITEM_MOBILE_SCARF)) { crossableTerrain = CROSSABLE_TERRAIN_WALL; } - else if (HasIQSkill(pokemon, IQ_SKILL_ALL_TERRAIN_HIKER)) + else if (IQSkillIsEnabled(pokemon, IQ_ALL_TERRAIN_HIKER)) { crossableTerrain = CROSSABLE_TERRAIN_CREVICE; } - else if (HasIQSkill(pokemon, IQ_SKILL_SUPER_MOBILE)) + else if (IQSkillIsEnabled(pokemon, IQ_SUPER_MOBILE)) { crossableTerrain = CROSSABLE_TERRAIN_WALL; } } if (crossableTerrain == CROSSABLE_TERRAIN_WALL) { - struct DungeonEntityData *pokemonData = pokemon->entityData; - pokemonData->mobileTurnTimer += DungeonRandomCapped(100); - if (pokemonData->mobileTurnTimer < 200) + struct EntityInfo *pokemonInfo = pokemon->info; + pokemonInfo->mobileTurnTimer += DungeonRandInt(100); + if (pokemonInfo->mobileTurnTimer < 200) { return FALSE; } else { - pokemonData->mobileTurnTimer = 0; + pokemonInfo->mobileTurnTimer = 0; } } else { - struct MapTile *mapTile; - char canMoveAdjacent; - if (gDungeonWaterType[gDungeonGlobalData->tileset] == DUNGEON_WATER_TYPE_LAVA + struct Tile *mapTile; + char walkableNeighborFlags; + if (gDungeonWaterType[gDungeon->tileset] == DUNGEON_WATER_TYPE_LAVA && crossableTerrain == CROSSABLE_TERRAIN_LIQUID - && HasIQSkill(pokemon, IQ_SKILL_LAVA_EVADER)) + && IQSkillIsEnabled(pokemon, IQ_LAVA_EVADER)) { crossableTerrain = CROSSABLE_TERRAIN_REGULAR; } - mapTile = GetMapTile_1(pokemon->posWorld.x, pokemon->posWorld.y); - canMoveAdjacent = mapTile->canMoveAdjacent[crossableTerrain]; + mapTile = GetTile(pokemon->pos.x, pokemon->pos.y); + walkableNeighborFlags = mapTile->walkableNeighborFlags[crossableTerrain]; /* Check for configurations of open tiles that are considered junctions; i.e., shaped like a 'T' or '+'. X=Wall, O=Open @@ -384,7 +384,7 @@ bool8 IsAtJunction(struct DungeonEntity *pokemon) OOO OOX OOO XOO OOO XXX XOX XOX XOX XOX */ - if (canMoveAdjacent != 0x54 && canMoveAdjacent != 0x51 && canMoveAdjacent != 0x45 && canMoveAdjacent != 0x15 && canMoveAdjacent != 0x55) + if (walkableNeighborFlags != 0x54 && walkableNeighborFlags != 0x51 && walkableNeighborFlags != 0x45 && walkableNeighborFlags != 0x15 && walkableNeighborFlags != 0x55) { return FALSE; } @@ -392,7 +392,7 @@ bool8 IsAtJunction(struct DungeonEntity *pokemon) return TRUE; } -bool8 ShouldAvoidFirstHit(struct DungeonEntity *pokemon, bool8 forceAvoid) +bool8 ShouldAvoidFirstHit(struct Entity *pokemon, bool8 forceAvoid) { if (!HasTactic(pokemon, TACTIC_AVOID_THE_FIRST_HIT)) return FALSE; @@ -401,7 +401,7 @@ bool8 ShouldAvoidFirstHit(struct DungeonEntity *pokemon, bool8 forceAvoid) return TRUE; } -bool8 ShouldAvoidEnemies(struct DungeonEntity *pokemon) +bool8 ShouldMonsterRunAway(struct Entity *pokemon) { if (!EntityExists(pokemon)) { @@ -409,25 +409,25 @@ bool8 ShouldAvoidEnemies(struct DungeonEntity *pokemon) } else { - struct DungeonEntityData *pokemonData = pokemon->entityData; - if (pokemonData->terrifiedTurnsLeft != 0) + struct EntityInfo *pokemonInfo = pokemon->info; + if (pokemonInfo->terrifiedTurns != 0) { return TRUE; } - if (pokemonData->isLeader) + if (pokemonInfo->isTeamLeader) { return FALSE; } if (HasAbility(pokemon, ABILITY_RUN_AWAY)) { - bool8 runAwayActive = pokemonData->HP < pokemonData->maxHP / 2; + bool8 runAwayActive = pokemonInfo->HP < pokemonInfo->maxHPStat / 2; if (runAwayActive) { return TRUE; } } if (HasTactic(pokemon, TACTIC_GET_AWAY) || - (HasTactic(pokemon, TACTIC_AVOID_TROUBLE) && pokemonData->HP <= pokemonData->maxHP / 2)) + (HasTactic(pokemon, TACTIC_AVOID_TROUBLE) && pokemonInfo->HP <= pokemonInfo->maxHPStat / 2)) { return TRUE; } @@ -435,9 +435,9 @@ bool8 ShouldAvoidEnemies(struct DungeonEntity *pokemon) } } -bool8 ShouldAvoidEnemiesAndShowEffect(struct DungeonEntity *pokemon, bool8 showRunAwayEffect) +bool8 ShouldMonsterRunAwayAndShowEffect(struct Entity *pokemon, bool8 showRunAwayEffect) { - if (ShouldAvoidEnemies(pokemon)) + if (ShouldMonsterRunAway(pokemon)) { CheckRunAwayVisualFlag(pokemon, showRunAwayEffect); return TRUE; @@ -445,25 +445,25 @@ bool8 ShouldAvoidEnemiesAndShowEffect(struct DungeonEntity *pokemon, bool8 showR return FALSE; } -void CheckRunAwayVisualFlag(struct DungeonEntity *pokemon, bool8 showRunAwayEffect) +void CheckRunAwayVisualFlag(struct Entity *pokemon, bool8 showRunAwayEffect) { bool8 cVar1; - struct DungeonEntityData *iVar2; - struct DungeonEntityData *iVar3; - iVar2 = pokemon->entityData; + struct EntityInfo *iVar2; + struct EntityInfo *iVar3; + iVar2 = pokemon->info; iVar3 = iVar2; - if (((!iVar2->isLeader) && HasAbility(pokemon,ABILITY_RUN_AWAY) && - (cVar1 = SetVisualFlags(iVar3,4,iVar2->HP <= iVar2->maxHP / 2), showRunAwayEffect)) && + if (((!iVar2->isTeamLeader) && HasAbility(pokemon,ABILITY_RUN_AWAY) && + (cVar1 = SetVisualFlags(iVar3,4,iVar2->HP <= iVar2->maxHPStat / 2), showRunAwayEffect)) && (cVar1)) { ShowVisualFlags(pokemon); } } -u8 CanTarget(struct DungeonEntity *pokemon, struct DungeonEntity *targetPokemon, bool8 ignoreInvisible, bool8 checkPetrified) +u8 CanTarget(struct Entity *pokemon, struct Entity *targetPokemon, bool8 ignoreInvisible, bool8 checkPetrified) { - struct DungeonEntityData *pokemonData = pokemon->entityData; - struct DungeonEntityData *targetData = targetPokemon->entityData; + struct EntityInfo *pokemonInfo = pokemon->info; + struct EntityInfo *targetData = targetPokemon->info; u8 targetingDecoy; u8 pokemonTargetingDecoy; bool8 pokemonIsEnemy; @@ -473,18 +473,18 @@ u8 CanTarget(struct DungeonEntity *pokemon, struct DungeonEntity *targetPokemon, { return TARGET_CAPABILITY_CANNOT_ATTACK; } - if (pokemonData->shopkeeperMode == SHOPKEEPER_FRIENDLY || - targetData->shopkeeperMode == SHOPKEEPER_FRIENDLY || - pokemonData->clientType == CLIENT_TYPE_DONT_MOVE || + if (pokemonInfo->shopkeeper == SHOPKEEPER_MODE_SHOPKEEPER || + targetData->shopkeeper == SHOPKEEPER_MODE_SHOPKEEPER || + pokemonInfo->clientType == CLIENT_TYPE_DONT_MOVE || targetData->clientType == CLIENT_TYPE_DONT_MOVE || - pokemonData->clientType == CLIENT_TYPE_CLIENT || + pokemonInfo->clientType == CLIENT_TYPE_CLIENT || targetData->clientType == CLIENT_TYPE_CLIENT || - (checkPetrified && !pokemonData->isEnemy && targetData->immobilizeStatus == IMMOBILIZE_STATUS_PETRIFIED) || - (!ignoreInvisible && targetData->transformStatus == TRANSFORM_STATUS_INVISIBLE && !CanSeeInvisible(pokemon))) + (checkPetrified && !pokemonInfo->isNotTeamMember && targetData->immobilizeStatus == STATUS_PETRIFIED) || + (!ignoreInvisible && targetData->transformStatus == STATUS_INVISIBLE && !CanSeeInvisibleMonsters(pokemon))) { return TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET; } - pokemonTargetingDecoy = pokemonData->targetingDecoy; + pokemonTargetingDecoy = pokemonInfo->targetingDecoy; targetingDecoy = TARGETING_DECOY_NONE; if (pokemonTargetingDecoy != TARGETING_DECOY_NONE) { @@ -494,70 +494,70 @@ u8 CanTarget(struct DungeonEntity *pokemon, struct DungeonEntity *targetPokemon, targetingDecoy = TARGETING_DECOY_TEAM; } } - if (pokemonData->shopkeeperMode != SHOPKEEPER_NONE) + if (pokemonInfo->shopkeeper != SHOPKEEPER_MODE_NORMAL) { pokemonIsEnemy = FALSE; - if (pokemonData->shopkeeperMode == SHOPKEEPER_AGGRESSIVE_TO_PLAYER) + if (pokemonInfo->shopkeeper == SHOPKEEPER_MODE_ATTACK_TEAM) { pokemonIsEnemy = TRUE; } } else { - pokemonIsEnemy = pokemonData->isEnemy ? TRUE : FALSE; + pokemonIsEnemy = pokemonInfo->isNotTeamMember ? TRUE : FALSE; } - if (targetData->shopkeeperMode != SHOPKEEPER_NONE) + if (targetData->shopkeeper != SHOPKEEPER_MODE_NORMAL) { targetIsEnemy = FALSE; - if (targetData->shopkeeperMode == SHOPKEEPER_AGGRESSIVE_TO_PLAYER) + if (targetData->shopkeeper == SHOPKEEPER_MODE_ATTACK_TEAM) { targetIsEnemy = TRUE; } } else { - targetIsEnemy = targetData->isEnemy ? TRUE : FALSE; + targetIsEnemy = targetData->isNotTeamMember ? TRUE : FALSE; } targetIsDecoy = FALSE; - if (targetData->waitingStatus == WAITING_STATUS_DECOY) + if (targetData->waitingStatus == STATUS_DECOY) { targetIsDecoy = TRUE; } return gTargetingData[targetingDecoy][pokemonIsEnemy][targetIsEnemy][targetIsDecoy]; } -static inline bool8 JoinLocationCannotUseItems_1(struct DungeonEntityData *pokemonData) +static inline bool8 JoinLocationCannotUseItems_1(struct EntityInfo *pokemonInfo) { - if (pokemonData->joinLocation == DUNGEON_JOIN_LOCATION_CLIENT_POKEMON) + if (pokemonInfo->joinedAt == DUNGEON_JOIN_LOCATION_CLIENT_POKEMON) { return TRUE; } - if (pokemonData->joinLocation == DUNGEON_RESCUE_TEAM_BASE) + if (pokemonInfo->joinedAt == DUNGEON_RESCUE_TEAM_BASE) { return TRUE; } return FALSE; } -u8 sub_807167C(struct DungeonEntity * pokemon, struct DungeonEntity * target) +u8 sub_807167C(struct Entity * pokemon, struct Entity * target) { bool8 cannotUseItems; - struct DungeonEntityData * targetEntityData; - struct DungeonEntityData * pokemonEntityData; + struct EntityInfo * targetEntityData; + struct EntityInfo * pokemonEntityData; - pokemonEntityData = pokemon->entityData; - targetEntityData = target->entityData; + pokemonEntityData = pokemon->info; + targetEntityData = target->info; if (pokemonEntityData->clientType != CLIENT_TYPE_CLIENT) { cannotUseItems = JoinLocationCannotUseItems_1(pokemonEntityData); - if (!cannotUseItems && (pokemonEntityData->shopkeeperMode == SHOPKEEPER_NONE) && (targetEntityData->clientType != CLIENT_TYPE_CLIENT)) { + if (!cannotUseItems && (pokemonEntityData->shopkeeper == SHOPKEEPER_MODE_NORMAL) && (targetEntityData->clientType != CLIENT_TYPE_CLIENT)) { cannotUseItems = JoinLocationCannotUseItems_1(targetEntityData); - if (cannotUseItems || (targetEntityData->shopkeeperMode != SHOPKEEPER_NONE)) { + if (cannotUseItems || (targetEntityData->shopkeeper != SHOPKEEPER_MODE_NORMAL)) { error: return TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET; } else { - if ((pokemonEntityData->isEnemy) != (targetEntityData->isEnemy)) { + if ((pokemonEntityData->isNotTeamMember) != (targetEntityData->isNotTeamMember)) { return TARGET_CAPABILITY_CAN_TARGET; } else { diff --git a/src/dungeon_capabilities.c b/src/dungeon_capabilities.c index 7a621495e..cd727a93e 100644 --- a/src/dungeon_capabilities.c +++ b/src/dungeon_capabilities.c @@ -3,20 +3,20 @@ #include "constants/status.h" -bool8 CannotMove(struct DungeonEntity *pokemon, bool8 checkBlinker) +bool8 CannotMove(struct Entity *pokemon, bool8 checkBlinker) { - struct DungeonEntityData *pokemonData = pokemon->entityData; - if ((checkBlinker && pokemonData->eyesightStatus == EYESIGHT_STATUS_BLINKER) - || pokemonData->sleepStatus == SLEEP_STATUS_SLEEP - || pokemonData->sleepStatus == SLEEP_STATUS_NAPPING - || pokemonData->sleepStatus == SLEEP_STATUS_NIGHTMARE - || pokemonData->volatileStatus == VOLATILE_STATUS_PAUSED - || pokemonData->volatileStatus == VOLATILE_STATUS_INFATUATED - || pokemonData->immobilizeStatus == IMMOBILIZE_STATUS_PETRIFIED) + struct EntityInfo *pokemonInfo = pokemon->info; + if ((checkBlinker && pokemonInfo->eyesightStatus == STATUS_BLINKER) + || pokemonInfo->sleep == STATUS_SLEEP + || pokemonInfo->sleep == STATUS_NAPPING + || pokemonInfo->sleep == STATUS_NIGHTMARE + || pokemonInfo->volatileStatus == STATUS_PAUSED + || pokemonInfo->volatileStatus == STATUS_INFATUATED + || pokemonInfo->immobilizeStatus == STATUS_PETRIFIED) { return TRUE; } - if (pokemonData->terrifiedTurnsLeft != 0) + if (pokemonInfo->terrifiedTurns != 0) { return TRUE; } diff --git a/src/dungeon_capabilities_1.c b/src/dungeon_capabilities_1.c index 79671f322..aeb8184f5 100644 --- a/src/dungeon_capabilities_1.c +++ b/src/dungeon_capabilities_1.c @@ -17,27 +17,27 @@ const u8 gDirectionBitMasks_1[] = {0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80}; -static inline bool8 JoinLocationCannotUseItems(struct DungeonEntityData *pokemonData) +static inline bool8 JoinLocationCannotUseItems(struct EntityInfo *pokemonInfo) { - if (pokemonData->joinLocation == DUNGEON_JOIN_LOCATION_CLIENT_POKEMON) + if (pokemonInfo->joinedAt == DUNGEON_JOIN_LOCATION_CLIENT_POKEMON) { return TRUE; } - if (pokemonData->joinLocation == DUNGEON_RESCUE_TEAM_BASE) + if (pokemonInfo->joinedAt == DUNGEON_RESCUE_TEAM_BASE) { return TRUE; } return FALSE; } -bool8 CannotUseItems(struct DungeonEntity *pokemon) +bool8 CannotUseItems(struct Entity *pokemon) { - struct DungeonEntityData *pokemonData = pokemon->entityData; - if (pokemonData->clientType == CLIENT_TYPE_CLIENT - || JoinLocationCannotUseItems(pokemonData) - || (!pokemonData->isLeader && ShouldAvoidEnemies(pokemon)) + struct EntityInfo *pokemonInfo = pokemon->info; + if (pokemonInfo->clientType == CLIENT_TYPE_CLIENT + || JoinLocationCannotUseItems(pokemonInfo) + || (!pokemonInfo->isTeamLeader && ShouldMonsterRunAway(pokemon)) || CannotMove(pokemon, FALSE) - || CannotAct(pokemon)) + || HasStatusThatPreventsActing(pokemon)) { return TRUE; } @@ -48,66 +48,66 @@ bool8 CannotUseItems(struct DungeonEntity *pokemon) return FALSE; } -bool8 CannotAct(struct DungeonEntity *pokemon) +bool8 HasStatusThatPreventsActing(struct Entity *pokemon) { - struct DungeonEntityData *pokemonData = pokemon->entityData; - if ((pokemonData->sleepStatus != SLEEP_STATUS_SLEEPLESS - && pokemonData->sleepStatus != SLEEP_STATUS_NONE) - || pokemonData->immobilizeStatus == IMMOBILIZE_STATUS_FROZEN - || pokemonData->immobilizeStatus == IMMOBILIZE_STATUS_PETRIFIED) + struct EntityInfo *pokemonInfo = pokemon->info; + if ((pokemonInfo->sleep != STATUS_SLEEPLESS + && pokemonInfo->sleep != STATUS_NONE) + || pokemonInfo->immobilizeStatus == STATUS_FROZEN + || pokemonInfo->immobilizeStatus == STATUS_PETRIFIED) { return TRUE; } - if (pokemonData->chargingStatus == CHARGING_STATUS_BIDE) + if (pokemonInfo->chargingStatus == STATUS_BIDE) { return TRUE; } return FALSE; } -bool8 CannotAttack(struct DungeonEntity *pokemon, bool8 skipSleep) +bool8 CannotAttack(struct Entity *pokemon, bool8 skipSleep) { - struct DungeonEntityData *pokemonData = pokemon->entityData; + struct EntityInfo *pokemonInfo = pokemon->info; if ((skipSleep || - pokemonData->sleepStatus == SLEEP_STATUS_SLEEPLESS || - pokemonData->sleepStatus == SLEEP_STATUS_YAWNING || - pokemonData->sleepStatus == SLEEP_STATUS_NONE) && - pokemonData->immobilizeStatus != IMMOBILIZE_STATUS_FROZEN && - pokemonData->immobilizeStatus != IMMOBILIZE_STATUS_WRAPPED_AROUND_FOE && - pokemonData->immobilizeStatus != IMMOBILIZE_STATUS_WRAPPED_BY_FOE && - pokemonData->immobilizeStatus != IMMOBILIZE_STATUS_PETRIFIED && - pokemonData->volatileStatus != VOLATILE_STATUS_CRINGING && - pokemonData->volatileStatus != VOLATILE_STATUS_PAUSED && - pokemonData->volatileStatus != VOLATILE_STATUS_INFATUATED && - pokemonData->nonVolatileStatus != NON_VOLATILE_STATUS_PARALYZED && - !ShouldAvoidEnemies(pokemon)) { + pokemonInfo->sleep == STATUS_SLEEPLESS || + pokemonInfo->sleep == STATUS_YAWNING || + pokemonInfo->sleep == STATUS_NONE) && + pokemonInfo->immobilizeStatus != STATUS_FROZEN && + pokemonInfo->immobilizeStatus != STATUS_WRAP && + pokemonInfo->immobilizeStatus != STATUS_WRAPPED && + pokemonInfo->immobilizeStatus != STATUS_PETRIFIED && + pokemonInfo->volatileStatus != STATUS_CRINGE && + pokemonInfo->volatileStatus != STATUS_PAUSED && + pokemonInfo->volatileStatus != STATUS_INFATUATED && + pokemonInfo->nonVolatileStatus != STATUS_PARALYSIS && + !ShouldMonsterRunAway(pokemon)) { return FALSE; } return TRUE; } -bool8 CanMoveInDirection(struct DungeonEntity *pokemon, u32 facingDir) +bool8 CanMoveInDirection(struct Entity *pokemon, u32 direction) { - u8 crossableTerrain = GetCrossableTerrain(pokemon->entityData->entityID); - struct MapTile *currentMapTile = GetMapTile_1(pokemon->posWorld.x + gAdjacentTileOffsets[facingDir].x, - pokemon->posWorld.y + gAdjacentTileOffsets[facingDir].y); - if (currentMapTile->tileType & TILE_TYPE_MAP_EDGE || currentMapTile->pokemon != NULL) + u8 crossableTerrain = GetCrossableTerrain(pokemon->info->id); + struct Tile *currentMapTile = GetTile(pokemon->pos.x + gAdjacentTileOffsets[direction].x, + pokemon->pos.y + gAdjacentTileOffsets[direction].y); + if (currentMapTile->terrainType & TERRAIN_TYPE_IMPASSABLE_WALL || currentMapTile->monster != NULL) { return FALSE; } - if (!IsFixedDungeon()) + if (!IsCurrentFixedRoomBossFight()) { - if (pokemon->entityData->transformStatus == TRANSFORM_STATUS_MOBILE || HasItem(pokemon, ITEM_ID_MOBILE_SCARF)) + if (pokemon->info->transformStatus == STATUS_MOBILE || HasHeldItem(pokemon, ITEM_MOBILE_SCARF)) { crossableTerrain = CROSSABLE_TERRAIN_WALL; } - else if (HasIQSkill(pokemon, IQ_SKILL_ALL_TERRAIN_HIKER)) + else if (IQSkillIsEnabled(pokemon, IQ_ALL_TERRAIN_HIKER)) { crossableTerrain = CROSSABLE_TERRAIN_CREVICE; } - else if (HasIQSkill(pokemon, IQ_SKILL_SUPER_MOBILE)) + else if (IQSkillIsEnabled(pokemon, IQ_SUPER_MOBILE)) { - if (facingDir & 1) + if (direction & 1) { // Super Mobile can't break walls diagonally. crossableTerrain = CROSSABLE_TERRAIN_CREVICE; @@ -118,8 +118,8 @@ bool8 CanMoveInDirection(struct DungeonEntity *pokemon, u32 facingDir) } } } - currentMapTile = GetMapTile_1(pokemon->posWorld.x, pokemon->posWorld.y); - if (!(currentMapTile->canMoveAdjacent[crossableTerrain] & gDirectionBitMasks_1[facingDir & DIRECTION_MASK])) + currentMapTile = GetTile(pokemon->pos.x, pokemon->pos.y); + if (!(currentMapTile->walkableNeighborFlags[crossableTerrain] & gDirectionBitMasks_1[direction & DIRECTION_MASK])) { return FALSE; } diff --git a/src/dungeon_engine.c b/src/dungeon_engine.c index 14e2600ce..a07bab8cc 100644 --- a/src/dungeon_engine.c +++ b/src/dungeon_engine.c @@ -11,17 +11,17 @@ extern s16 gSpeedTurns[2][25]; extern bool8 sub_8044B28(void); -extern void CheckElectricAbilities(void); +extern void TrySpawnMonsterAndActivatePlusMinus(void); extern void sub_807E378(void); extern void sub_8044574(void); extern void sub_8044820(void); extern void sub_8044AB4(void); extern u8 UseAttack(u32); -extern u8 sub_8072CF4(struct DungeonEntity *); -extern void TickStatusHeal(struct DungeonEntity *); +extern u8 sub_8072CF4(struct Entity *); +extern void TickStatusHeal(struct Entity *); extern void sub_8086AC0(void); extern void sub_8043ED0(u32); -extern void sub_8071DA4(struct DungeonEntity *); +extern void sub_8071DA4(struct Entity *); extern void TriggerWeatherAbilities(void); extern void sub_805D8C8(void); extern void sub_805F02C(void); @@ -31,38 +31,38 @@ static void sub_8044454(void); static bool8 xxx_dungeon_80442D0(bool8); -bool8 IsBossBattle() +bool8 IsBossFight() { - if (gDungeonGlobalData->bossBattleIndex != 0 && gDungeonGlobalData->bossBattleIndex <= 0x31) + if (gDungeon->bossBattleIndex != 0 && gDungeon->bossBattleIndex <= 0x31) { return TRUE; } return FALSE; } -bool8 IsFixedDungeon() +bool8 IsCurrentFixedRoomBossFight() { - if (gDungeonGlobalData->tileset > DUNGEON_OUT_ON_RESCUE) + if (gDungeon->tileset > DUNGEON_OUT_ON_RESCUE) { return TRUE; } return FALSE; } -bool8 IsDungeonMaze(void) +bool8 IsMakuhitaTrainingMaze(void) { - if( (u8)(gDungeonGlobalData->dungeonLocation.dungeonIndex - DUNGEON_NORMAL_MAZE_2) < NUM_DUNGEON_MAZE) + if( (u8)(gDungeon->dungeonLocation.id - DUNGEON_NORMAL_MAZE_2) < NUM_DUNGEON_MAZE) return TRUE; else return FALSE; } -void RunDungeon(bool8 param_1) +void RunFractionalTurn(bool8 param_1) { bool8 cVar2; if (!sub_8044B28()) { - CheckElectricAbilities(); + TrySpawnMonsterAndActivatePlusMinus(); if (!sub_8044B28()) { cVar2 = xxx_dungeon_80442D0(param_1); if (!sub_8044B28()) { @@ -78,9 +78,9 @@ void RunDungeon(bool8 param_1) sub_8044820(); if (!sub_8044B28()) { sub_8044AB4(); - gDungeonGlobalData->speedTurnCounter++; - if (gDungeonGlobalData->speedTurnCounter == 24) { - gDungeonGlobalData->speedTurnCounter = 0; + gDungeon->fractionalTurn++; + if (gDungeon->fractionalTurn == 24) { + gDungeon->fractionalTurn = 0; } } } @@ -92,44 +92,44 @@ void RunDungeon(bool8 param_1) static bool8 xxx_dungeon_80442D0(bool8 param_1) { - struct DungeonEntityData *entityData; - struct DungeonEntity *entity; + struct EntityInfo *entityData; + struct Entity *entity; s32 movSpeed; - entity = GetLeaderEntity(); + entity = GetLeader(); if (entity == NULL) { return FALSE; } else { TriggerWeatherAbilities(); - movSpeed = GetMovementSpeed(entity); - if (gSpeedTurns[movSpeed][gDungeonGlobalData->speedTurnCounter] == 0) { + movSpeed = GetSpeedStatus(entity); + if (gSpeedTurns[movSpeed][gDungeon->fractionalTurn] == 0) { return FALSE; } else { - if (entity->entityData->attacking) { + if (entity->info->attacking) { return FALSE; } else { while (1) { - if(entity = GetLeaderEntity(), entity == NULL) + if(entity = GetLeader(), entity == NULL) { return FALSE; } else { if ((UseAttack(0) == 0) && - ((gDungeonGlobalData->unk66C != 0 || - (gDungeonGlobalData->unk673 != 0)))) { + ((gDungeon->unk66C != 0 || + (gDungeon->unk673 != 0)))) { sub_803E46C(0xc); } - entity->entityData->movementSpeedChanged = FALSE; + entity->info->speedStageChanged = FALSE; if (sub_8044B28()) return FALSE; - gDungeonGlobalData->unkB8 = entity; - gDungeonGlobalData->unkBC = 0; + gDungeon->unkB8 = entity; + gDungeon->unkBC = 0; if (param_1) { param_1 = FALSE; } @@ -138,29 +138,29 @@ static bool8 xxx_dungeon_80442D0(bool8 param_1) } if (sub_8044B28()) return FALSE; sub_8071DA4(entity); - gDungeonGlobalData->inputAllowed = TRUE; + gDungeon->noActionInProgress = TRUE; sub_805D8C8(); - gDungeonGlobalData->inputAllowed = FALSE; + gDungeon->noActionInProgress = FALSE; if (sub_8044B28()) break; sub_8072CF4(entity); sub_8086AC0(); sub_8043ED0(0); if (sub_8044B28()) break; - entityData = entity->entityData; - if ((entityData->flags & MOVEMENT_FLAG_SWAPPED_PLACES_PETRIFIED)) { - entity->entityData->flags = (entityData->flags & ~(MOVEMENT_FLAG_SWAPPED_PLACES_PETRIFIED)) | MOVEMENT_FLAG_UNK_14; + entityData = entity->info; + if ((entityData->flags & MOVEMENT_FLAG_SWAPPING_PLACES_PETRIFIED_ALLY)) { + entity->info->flags = (entityData->flags & ~(MOVEMENT_FLAG_SWAPPING_PLACES_PETRIFIED_ALLY)) | MOVEMENT_FLAG_UNK_14; } if (sub_8044B28() ) break; sub_8044454(); if (sub_8044B28()) break; - if (gDungeonGlobalData->unkBC != 0) { + if (gDungeon->unkBC != 0) { sub_805F02C(); - gDungeonGlobalData->unkBC = 0; + gDungeon->unkBC = 0; param_1 = TRUE; } else { - if (!entity->entityData->movementSpeedChanged) break; - gDungeonGlobalData->speedTurnCounter = 0; + if (!entity->info->speedStageChanged) break; + gDungeon->fractionalTurn = 0; } } } @@ -172,47 +172,47 @@ static bool8 xxx_dungeon_80442D0(bool8 param_1) static void sub_8044454(void) { - struct DungeonEntity *entity; - struct DungeonEntityData *entityData; + struct Entity *entity; + struct EntityInfo *entityData; s32 index; - if (gDungeonGlobalData->unkE) { - gDungeonGlobalData->unkE = 0; + if (gDungeon->unkE) { + gDungeon->unkE = 0; for(index = 0; index < DUNGEON_MAX_POKEMON; index++) { - entity = gDungeonGlobalData->allPokemon[index]; - if ((EntityExists(entity)) && (entityData = entity->entityData, (entityData->flags & MOVEMENT_FLAG_SWAPPED_PLACES_PETRIFIED))) { + entity = gDungeon->allPokemon[index]; + if ((EntityExists(entity)) && (entityData = entity->info, (entityData->flags & MOVEMENT_FLAG_SWAPPING_PLACES_PETRIFIED_ALLY))) { if (sub_8044B28()) break; TickStatusHeal(entity); if (EntityExists(entity)) { sub_8071DA4(entity); - DecideAction(entity, 0); + RunMonsterAI(entity, 0); sub_8072CF4(entity); sub_8086AC0(); sub_8043ED0(0); - entityData->flags = (entityData->flags & ~(MOVEMENT_FLAG_SWAPPED_PLACES_PETRIFIED)) | MOVEMENT_FLAG_UNK_14; + entityData->flags = (entityData->flags & ~(MOVEMENT_FLAG_SWAPPING_PLACES_PETRIFIED_ALLY)) | MOVEMENT_FLAG_UNK_14; } } } } } -void sub_80444F4(struct DungeonEntity *pokemon) +void sub_80444F4(struct Entity *pokemon) { - struct DungeonEntity *entity; - struct DungeonEntityData *entityData; + struct Entity *entity; + struct EntityInfo *entityData; s32 index; - if (pokemon == GetLeaderEntity() && gDungeonGlobalData->unkE) { - gDungeonGlobalData->unkE = 0; + if (pokemon == GetLeader() && gDungeon->unkE) { + gDungeon->unkE = 0; for(index = 0; index < DUNGEON_MAX_POKEMON; index++) { - entity = gDungeonGlobalData->allPokemon[index]; - if ((EntityExists(entity)) && (pokemon != entity) && (entityData = entity->entityData, (entityData->flags & MOVEMENT_FLAG_SWAPPED_PLACES_PETRIFIED))) { + entity = gDungeon->allPokemon[index]; + if ((EntityExists(entity)) && (pokemon != entity) && (entityData = entity->info, (entityData->flags & MOVEMENT_FLAG_SWAPPING_PLACES_PETRIFIED_ALLY))) { if (sub_8044B28()) break; - DecideAction(entity, 0); + RunMonsterAI(entity, 0); sub_8072CF4(entity); sub_8086AC0(); sub_8043ED0(0); diff --git a/src/dungeon_items.c b/src/dungeon_items.c index 30ae45401..8c62101ed 100644 --- a/src/dungeon_items.c +++ b/src/dungeon_items.c @@ -22,10 +22,10 @@ extern s32 sub_8052B8C(u32, u8 *, u32); extern void sub_80861A8(void); extern void PrintFieldMessage(u32, u8 *, u32); extern void sub_803E708(u32, u32); -extern void sub_80869E4(struct DungeonEntity *, u32, u32, u32); +extern void sub_80869E4(struct Entity *, u32, u32, u32); extern void sub_80416E0(struct Position32 *r0, u32, u32); -extern void SetMessageArgument(u8 *r0, struct DungeonEntity *r1, u32); -extern void sub_80421C0(struct DungeonEntity *, u32); +extern void SetMessageArgument(u8 *r0, struct Entity *r1, u32); +extern void sub_80421C0(struct Entity *, u32); extern void sub_80855E4(void *); extern void PlaySoundEffect(u32); extern void sub_804178C(u32); @@ -33,19 +33,19 @@ extern void sub_8040A84(void); void MusicBoxCreation(void); -bool8 HasItem(struct DungeonEntity *pokemon, u8 itemIndex) +bool8 HasHeldItem(struct Entity *pokemon, u8 id) { // Weird assignment to fix a regswap. - struct DungeonEntityData *pokemonData = pokemonData = pokemon->entityData; - if (!(pokemonData->heldItem.itemFlags & ITEM_FLAG_EXISTS)) + struct EntityInfo *pokemonInfo = pokemonInfo = pokemon->info; + if (!(pokemonInfo->heldItem.flags & ITEM_FLAG_EXISTS)) { return FALSE; } - if (pokemonData->heldItem.itemFlags & ITEM_FLAG_STICKY) + if (pokemonInfo->heldItem.flags & ITEM_FLAG_STICKY) { return FALSE; } - if (pokemonData->heldItem.itemIndex != itemIndex) + if (pokemonInfo->heldItem.id != id) { return FALSE; } @@ -57,7 +57,7 @@ void sub_8046CE4(u8 *param_1,s32 param_2) s32 iVar1; s32 iVar2; - iVar1 = DungeonRandomCapped(100); + iVar1 = DungeonRandInt(100); for(iVar2 = 0; iVar2 < 200; iVar2++) { if (gUnknown_810A3F0[iVar1] <= param_2) { @@ -73,12 +73,12 @@ void sub_8046D20(void) { u8 cVar1; - cVar1 = gDungeonGlobalData->unk8; - gDungeonGlobalData->unk8 = sub_8046D70(); - if (((gDungeonGlobalData->unk8 == 1) && (cVar1 == 0)) && + cVar1 = gDungeon->unk8; + gDungeon->unk8 = sub_8046D70(); + if (((gDungeon->unk8 == 1) && (cVar1 == 0)) && (sub_8052B8C(0, *gUnknown_80FA408, 1) == 1)) { - gDungeonGlobalData->unk4 = 1; - gDungeonGlobalData->unk11 = 2; + gDungeon->unk4 = 1; + gDungeon->unk11 = 2; } else { MusicBoxCreation(); @@ -87,7 +87,7 @@ void sub_8046D20(void) u8 sub_8046D70(void) { - if(gDungeonGlobalData->unk68A) + if(gDungeon->unk68A) return 0; else return 0; @@ -98,9 +98,9 @@ void MusicBoxCreation(void) { bool8 musicBoxOnce; bool8 createMusicBox; - struct ItemSlot *pbVar3; // r2 + struct Item *pbVar3; // r2 s32 iVar4; - struct DungeonEntity *entity; + struct Entity *entity; s32 indexes[3]; @@ -113,14 +113,14 @@ void MusicBoxCreation(void) for(iVar4 = 0, pbVar3 = &gTeamInventory_203B460->teamItems[iVar4]; iVar4 < 20; pbVar3++, iVar4++) { - if (pbVar3->itemFlags & ITEM_FLAG_EXISTS) { - if (pbVar3->itemIndex == ITEM_ID_ROCK_PART) { + if (pbVar3->flags & ITEM_FLAG_EXISTS) { + if (pbVar3->id == ITEM_ROCK_PART) { indexes[0] = iVar4; } - if (pbVar3->itemIndex == ITEM_ID_ICE_PART) { + if (pbVar3->id == ITEM_ICE_PART) { indexes[1] = iVar4; } - if (pbVar3->itemIndex == ITEM_ID_STEEL_PART) { + if (pbVar3->id == ITEM_STEEL_PART) { indexes[2] = iVar4; } } @@ -129,44 +129,44 @@ void MusicBoxCreation(void) if ((indexes[0] >= 0) && (indexes[1] >= 0) && (indexes[2] >= 0)) { // NOTE: doesn't match here.. tried to register pin but still not perfect - register struct ItemSlot *pbVar4 asm("r1"); - register struct ItemSlot *pbVar5 asm("r0"); + register struct Item *pbVar4 asm("r1"); + register struct Item *pbVar5 asm("r0"); musicBoxOnce = TRUE; createMusicBox = TRUE; // clear out each of the parts pbVar4 = &gTeamInventory_203B460->teamItems[indexes[0]]; - pbVar4->itemIndex = 0; - pbVar4->numItems = 0; - pbVar4->itemFlags = 0; + pbVar4->id = 0; + pbVar4->quantity = 0; + pbVar4->flags = 0; pbVar5 = &gTeamInventory_203B460->teamItems[indexes[1]]; - pbVar5->itemIndex = 0; - pbVar5->numItems = 0; - pbVar5->itemFlags = 0; + pbVar5->id = 0; + pbVar5->quantity = 0; + pbVar5->flags = 0; pbVar5 = &gTeamInventory_203B460->teamItems[indexes[2]]; - pbVar5->itemIndex = 0; - pbVar5->numItems = 0; - pbVar5->itemFlags = 0; + pbVar5->id = 0; + pbVar5->quantity = 0; + pbVar5->flags = 0; // init the music box - xxx_init_itemslot_8090A8C(&gTeamInventory_203B460->teamItems[indexes[0]], ITEM_ID_MUSIC_BOX, 0); + xxx_init_itemslot_8090A8C(&gTeamInventory_203B460->teamItems[indexes[0]], ITEM_MUSIC_BOX, 0); } } while (musicBoxOnce); FillInventoryGaps(); if (createMusicBox) { - entity = GetLeaderEntity(); + entity = GetLeader(); sub_80855E4(sub_80861A8); - gDungeonGlobalData->unk1356C = 1; + gDungeon->unk1356C = 1; PrintFieldMessage(0,*gUnknown_810531C,1); sub_803E708(0x3c,0x41); PrintFieldMessage(0,*gUnknown_8105360,1); sub_80869E4(entity,4,10,0); - sub_80416E0(&entity->posPixel,0x10c,0); + sub_80416E0(&entity->pixelPos,0x10c,0); sub_80421C0(entity,0xd7); sub_803E708(0x3c,0x41); SetMessageArgument(gAvailablePokemonNames,entity,0); @@ -176,7 +176,7 @@ void MusicBoxCreation(void) PrintFieldMessage(0,*gUnknown_8105434,1); sub_803E708(10,0x41); sub_804178C(1); - gDungeonGlobalData->unk1356C = 0; + gDungeon->unk1356C = 0; sub_8040A84(); } } @@ -268,7 +268,7 @@ void MusicBoxCreation(void) "\tbl FillInventoryGaps\n" "\tcmp r6, 0\n" "\tbeq _08046ED4\n" - "\tbl GetLeaderEntity\n" + "\tbl GetLeader\n" "\tadds r4, r0, 0\n" "\tldr r0, _08046EE0\n" "\tbl sub_80855E4\n" @@ -344,7 +344,7 @@ void MusicBoxCreation(void) "\t.align 2, 0\n" "_08046EDC: .4byte gTeamInventory_203B460\n" "_08046EE0: .4byte sub_80861A8\n" -"_08046EE4: .4byte gDungeonGlobalData\n" +"_08046EE4: .4byte gDungeon\n" "_08046EE8: .4byte 0x0001356c\n" "_08046EEC: .4byte gUnknown_810531C\n" "_08046EF0: .4byte gUnknown_8105360\n" @@ -355,22 +355,22 @@ void MusicBoxCreation(void) } #endif -bool8 sub_8046F00(struct ItemSlot *item) +bool8 sub_8046F00(struct Item *item) { bool8 canLearnMove; bool8 cannotMove; u16 moveID; - struct DungeonEntity *entity; + struct Entity *entity; s32 index; - if (GetItemType(item->itemIndex) == ITEM_TYPE_TM) { - moveID = GetItemMove(item->itemIndex); - if (!IsHMItem(item->itemIndex)) { + if (GetItemCategory(item->id) == CATEGORY_TMS_HMS) { + moveID = GetItemMoveID(item->id); + if (!IsHMItem(item->id)) { for(index = 0; index < MAX_TEAM_MEMBERS; index++) { - entity = gDungeonGlobalData->teamPokemon[index]; + entity = gDungeon->teamPokemon[index]; if (EntityExists(entity)) { - canLearnMove = CanMonLearnMove(moveID, entity->entityData->entityID); + canLearnMove = CanMonLearnMove(moveID, entity->info->id); cannotMove = CannotMove(entity, FALSE); if (cannotMove) { canLearnMove = FALSE; @@ -387,32 +387,32 @@ bool8 sub_8046F00(struct ItemSlot *item) void sub_8046F84(s32 itemFlag) { - struct ItemSlot *item; - struct DungeonEntity *entity; - struct DungeonEntityData *entityData; + struct Item *item; + struct Entity *entity; + struct EntityInfo *entityData; s32 index; for(index = 0; index < INVENTORY_SIZE; index++) { item = &gTeamInventory_203B460->teamItems[index]; - if ((item->itemFlags & ITEM_FLAG_EXISTS) && (item->itemFlags & itemFlag)) { - item->itemIndex = 0; - item->numItems = 0; - item->itemFlags = 0; + if ((item->flags & ITEM_FLAG_EXISTS) && (item->flags & itemFlag)) { + item->id = 0; + item->quantity = 0; + item->flags = 0; } } FillInventoryGaps(); for(index = 0; index < 4; index++) { - entity = gDungeonGlobalData->teamPokemon[index]; + entity = gDungeon->teamPokemon[index]; if (EntityExists(entity)) { - entityData = entity->entityData; + entityData = entity->info; item = &entityData->heldItem; - if ((item->itemFlags & ITEM_FLAG_EXISTS) && (item->itemFlags & itemFlag)) { - item->itemIndex = 0; - item->numItems = 0; - item->itemFlags = 0; + if ((item->flags & ITEM_FLAG_EXISTS) && (item->flags & itemFlag)) { + item->id = 0; + item->quantity = 0; + item->flags = 0; } } } @@ -420,28 +420,28 @@ void sub_8046F84(s32 itemFlag) void sub_804700C(void) { - struct ItemSlot *item; - struct DungeonEntity *entity; - struct DungeonEntityData *entityData; + struct Item *item; + struct Entity *entity; + struct EntityInfo *entityData; s32 index; for(index = 0; index < INVENTORY_SIZE; index++) { item = &gTeamInventory_203B460->teamItems[index]; - if ((item->itemFlags & ITEM_FLAG_EXISTS)) { - xxx_init_itemslot_8090A8C(item, ITEM_ID_PLAIN_SEED, 0); + if ((item->flags & ITEM_FLAG_EXISTS)) { + xxx_init_itemslot_8090A8C(item, ITEM_PLAIN_SEED, 0); } } FillInventoryGaps(); for(index = 0; index < MAX_TEAM_MEMBERS; index++) { - entity = gDungeonGlobalData->teamPokemon[index]; + entity = gDungeon->teamPokemon[index]; if (EntityExists(entity)) { - entityData = entity->entityData; + entityData = entity->info; item = &entityData->heldItem; - if ((item->itemFlags & ITEM_FLAG_EXISTS)) { - xxx_init_itemslot_8090A8C(item, ITEM_ID_PLAIN_SEED, 0); + if ((item->flags & ITEM_FLAG_EXISTS)) { + xxx_init_itemslot_8090A8C(item, ITEM_PLAIN_SEED, 0); } } } @@ -449,9 +449,9 @@ void sub_804700C(void) bool8 sub_8047084(s32 itemFlag) { - struct ItemSlot *item; - struct DungeonEntity *entity; - struct DungeonEntityData *entityData; + struct Item *item; + struct Entity *entity; + struct EntityInfo *entityData; s32 index; // NEED THIS ORDERING TO MATCH @@ -460,7 +460,7 @@ bool8 sub_8047084(s32 itemFlag) for(index = 0; index < INVENTORY_SIZE; item++, index++) { - if ((item->itemFlags & ITEM_FLAG_EXISTS) && (item->itemFlags & itemFlag)) { + if ((item->flags & ITEM_FLAG_EXISTS) && (item->flags & itemFlag)) { return TRUE; } } @@ -468,11 +468,11 @@ bool8 sub_8047084(s32 itemFlag) for(index = 0; index < MAX_TEAM_MEMBERS; index++) { - entity = gDungeonGlobalData->teamPokemon[index]; + entity = gDungeon->teamPokemon[index]; if (EntityExists(entity)) { - entityData = entity->entityData; + entityData = entity->info; item = &entityData->heldItem; - if ((item->itemFlags & ITEM_FLAG_EXISTS) && (item->itemFlags & itemFlag)) { + if ((item->flags & ITEM_FLAG_EXISTS) && (item->flags & itemFlag)) { return TRUE; } } @@ -482,26 +482,26 @@ bool8 sub_8047084(s32 itemFlag) void sub_8047104(void) { - struct ItemSlot *item; + struct Item *item; s32 index; for(index = 0; index < INVENTORY_SIZE; index++) { item = &gTeamInventory_203B460->teamItems[index]; - if (item->itemFlags & ITEM_FLAG_EXISTS) + if (item->flags & ITEM_FLAG_EXISTS) { - if(item->itemIndex == ITEM_ID_POKE) + if(item->id == ITEM_POKE) { AddToTeamMoney(GetMoneyValue(item)); - item->itemIndex = 0; - item->numItems = 0; - item->itemFlags = 0; + item->id = 0; + item->quantity = 0; + item->flags = 0; } - if(item->itemFlags & ITEM_FLAG_FOR_SALE) + if(item->flags & ITEM_FLAG_IN_SHOP) { - item->itemIndex = 0; - item->numItems = 0; - item->itemFlags = 0; + item->id = 0; + item->quantity = 0; + item->flags = 0; } } } diff --git a/src/dungeon_leader.c b/src/dungeon_leader.c index 17a676aef..fa1f7f7c9 100644 --- a/src/dungeon_leader.c +++ b/src/dungeon_leader.c @@ -4,20 +4,20 @@ #include "dungeon_global_data.h" #include "dungeon_util.h" -extern struct DungeonEntity *gLeaderPokemon; +extern struct Entity *gLeaderPointer; -struct DungeonEntity* GetLeaderEntity() +struct Entity* GetLeader() { - struct DungeonEntity *leader = gLeaderPokemon; + struct Entity *leader = gLeaderPointer; if (leader == NULL) { s32 i; for (i = 0; i < MAX_TEAM_MEMBERS; i++) { - struct DungeonEntity *currentPokemon = gDungeonGlobalData->teamPokemon[i]; - if (EntityExists(currentPokemon) && currentPokemon->entityData->isLeader) + struct Entity *currentPokemon = gDungeon->teamPokemon[i]; + if (EntityExists(currentPokemon) && currentPokemon->info->isTeamLeader) { - gLeaderPokemon = currentPokemon; + gLeaderPointer = currentPokemon; return currentPokemon; } } @@ -26,7 +26,7 @@ struct DungeonEntity* GetLeaderEntity() return leader; } -struct DungeonEntityData* GetLeaderEntityData(void) +struct EntityInfo* GetLeaderMonster(void) { - return GetLeaderEntity()->entityData; + return GetLeader()->info; } diff --git a/src/dungeon_map_access.c b/src/dungeon_map_access.c index 785009808..30a42842c 100644 --- a/src/dungeon_map_access.c +++ b/src/dungeon_map_access.c @@ -30,24 +30,24 @@ extern u8 sub_8043CE4(u32); extern void sub_8004AA4(u8 *, struct OpenedFile *, u32); extern int sprintf(char *, const char *, ...); -struct MapTile* GetMapTile_1(s32 x, s32 y) +struct Tile* GetTile(s32 x, s32 y) { if (x >= 0 && y >= 0 && x < DUNGEON_MAX_SIZE_X && y < DUNGEON_MAX_SIZE_Y) { - return gDungeonGlobalData->mapTilePointers[y][x]; + return gDungeon->tilePointers[y][x]; } - return (struct MapTile*) gUnknown_203B430->unk0; + return (struct Tile*) gUnknown_203B430->unk0; } -struct MapTile* GetMapTile_2(s32 x, s32 y) +struct Tile* GetTileSafe(s32 x, s32 y) { if (x < 0 || y < 0 || x >= DUNGEON_MAX_SIZE_X || y >= DUNGEON_MAX_SIZE_Y) { - struct MapTile* tile = (struct MapTile*) gUnknown_202F190.unk0; + struct Tile* tile = (struct Tile*) gUnknown_202F190.unk0; gUnknown_202F190 = *gUnknown_203B430; return tile; } - return gDungeonGlobalData->mapTilePointers[y][x]; + return gDungeon->tilePointers[y][x]; } void sub_80495E4(void) @@ -59,12 +59,12 @@ void sub_80495E4(void) { for(XCoord = 0; XCoord < DUNGEON_MAX_SIZE_X; XCoord++) { - gDungeonGlobalData->mapTilePointers[YCoord][XCoord] = &gDungeonGlobalData->mapTiles[YCoord][XCoord]; + gDungeon->tilePointers[YCoord][XCoord] = &gDungeon->tiles[YCoord][XCoord]; } } - gDungeonGlobalData->tileset = 0; - gDungeonGlobalData->unk3A10 = 0; - gDungeonGlobalData->unk13570 = 0; + gDungeon->tileset = 0; + gDungeon->unk3A10 = 0; + gDungeon->unk13570 = 0; } void LoadDungeonTilesetAssets(void) @@ -73,48 +73,48 @@ void LoadDungeonTilesetAssets(void) struct OpenedFile *file_1; u8 fileName [12]; - sprintf(fileName,gUnknown_80F6A04,gUnknown_8108EC0[gDungeonGlobalData->tileset]); // b%02dfon + sprintf(fileName,gUnknown_80F6A04,gUnknown_8108EC0[gDungeon->tileset]); // b%02dfon file = OpenFileAndGetFileDataPtr(fileName,&gDungeonFileArchive); DecompressATGlobalFile((u32 *)0x06008000,0,file); CloseFile(file); - sprintf(fileName,gUnknown_80F6A10,gDungeonGlobalData->tileset); // b%02dpal + sprintf(fileName,gUnknown_80F6A10,gDungeon->tileset); // b%02dpal gDungeonPaletteFile = OpenFileAndGetFileDataPtr(fileName,&gDungeonFileArchive); - sprintf(fileName,gUnknown_80F6A1C,gUnknown_8108EC0[gDungeonGlobalData->tileset]); // b%02dcel + sprintf(fileName,gUnknown_80F6A1C,gUnknown_8108EC0[gDungeon->tileset]); // b%02dcel file_1 = OpenFileAndGetFileDataPtr(fileName,&gDungeonFileArchive); - DecompressATFile(gDungeonGlobalData->unk11884,0x1194,file_1); + DecompressATFile(gDungeon->unk11884,0x1194,file_1); CloseFile(file_1); - if (gDungeonGlobalData->tileset < 0x40) { - sprintf(fileName,gUnknown_80F6A28,gUnknown_8108EC0[gDungeonGlobalData->tileset]); // b%02dcex + if (gDungeon->tileset < 0x40) { + sprintf(fileName,gUnknown_80F6A28,gUnknown_8108EC0[gDungeon->tileset]); // b%02dcex file = OpenFileAndGetFileDataPtr(fileName,&gDungeonFileArchive); - DecompressATFile(gDungeonGlobalData->unk12C24,0x930,file); + DecompressATFile(gDungeon->unk12C24,0x930,file); CloseFile(file); } else { - sprintf(fileName,gUnknown_80F6A34,gDungeonGlobalData->tileset); // b%02demap0 + sprintf(fileName,gUnknown_80F6A34,gDungeon->tileset); // b%02demap0 file = OpenFileAndGetFileDataPtr(fileName,&gDungeonFileArchive); - DecompressATFile(gDungeonGlobalData->unk12C24,0x240,file); + DecompressATFile(gDungeon->unk12C24,0x240,file); CloseFile(file); } - sprintf(fileName,gUnknown_80F6A40,gDungeonGlobalData->tileset); // b%02dcanm + sprintf(fileName,gUnknown_80F6A40,gDungeon->tileset); // b%02dcanm gUnknown_202F18C = OpenFileAndGetFileDataPtr(fileName,&gDungeonFileArchive); sub_8004AA4(gUnknown_202EE8C,gUnknown_202F18C,0x20); gWalkableTileToCrossableTerrain[0] = CROSSABLE_TERRAIN_REGULAR; gWalkableTileToCrossableTerrain[1] = CROSSABLE_TERRAIN_LIQUID; - gWalkableTileToCrossableTerrain[WALKABLE_TILE_CHASM] = CROSSABLE_TERRAIN_CREVICE; - gWalkableTileToCrossableTerrain[WALKABLE_TILE_WALL] = CROSSABLE_TERRAIN_WALL; + gWalkableTileToCrossableTerrain[MOVEMENT_TYPE_CHASM] = CROSSABLE_TERRAIN_CREVICE; + gWalkableTileToCrossableTerrain[MOVEMENT_TYPE_WALL] = CROSSABLE_TERRAIN_WALL; - if(gDungeonWaterType[gDungeonGlobalData->tileset] == DUNGEON_WATER_TYPE_LAVA) + if(gDungeonWaterType[gDungeon->tileset] == DUNGEON_WATER_TYPE_LAVA) { - gWalkableTileToCrossableTerrain[WALKABLE_TILE_LAVA] = CROSSABLE_TERRAIN_LIQUID; - gWalkableTileToCrossableTerrain[WALKABLE_TILE_WATER] = CROSSABLE_TERRAIN_REGULAR; + gWalkableTileToCrossableTerrain[MOVEMENT_TYPE_LAVA] = CROSSABLE_TERRAIN_LIQUID; + gWalkableTileToCrossableTerrain[MOVEMENT_TYPE_WATER] = CROSSABLE_TERRAIN_REGULAR; } else { - gWalkableTileToCrossableTerrain[WALKABLE_TILE_LAVA] = CROSSABLE_TERRAIN_REGULAR; - gWalkableTileToCrossableTerrain[WALKABLE_TILE_WATER] = CROSSABLE_TERRAIN_LIQUID; + gWalkableTileToCrossableTerrain[MOVEMENT_TYPE_LAVA] = CROSSABLE_TERRAIN_REGULAR; + gWalkableTileToCrossableTerrain[MOVEMENT_TYPE_WATER] = CROSSABLE_TERRAIN_LIQUID; } } @@ -126,7 +126,7 @@ void sub_8049820(void) void sub_8049840(void) { - if (sub_8043CE4(gDungeonGlobalData->tileset) != 0) { + if (sub_8043CE4(gDungeon->tileset) != 0) { gUnknown_203B430 = &gUnknown_80F69EC; } else { diff --git a/src/dungeon_movement.c b/src/dungeon_movement.c index 0ff050981..249d46822 100644 --- a/src/dungeon_movement.c +++ b/src/dungeon_movement.c @@ -7,15 +7,15 @@ extern u8 gWalkableTileToCrossableTerrain[8]; u8 GetCrossableTerrain(s16 species) { - u8 walkableTiles = GetWalkableTiles(species); + u8 walkableTiles = GetMovementType(species); if (walkableTiles >= NUM_CROSSABLE_TERRAIN) { - // Pokémon that can cross water or lava have a walkable tile value of 4 (WALKABLE_TILE_LAVA) or 5 (WALKABLE_TILE_WATER), respectively. + // Pokémon that can cross water or lava have a walkable tile value of 4 (MOVEMENT_TYPE_LAVA) or 5 (MOVEMENT_TYPE_WATER), respectively. // Indices 4 and 5 in this array are assigned either CROSSABLE_TERRAIN_REGULAR or CROSSABLE_TERRAIN_LIQUID // depending on whether the dungeon's liquid is water or lava. // For example, a lava dungeon like Mt. Blaze would have these values: - // gWalkableTileToCrossableTerrain[WALKABLE_TILE_LAVA]: CROSSABLE_TERRAIN_LIQUID - // gWalkableTileToCrossableTerrain[WALKABLE_TILE_WATER]: CROSSABLE_TERRAIN_REGULAR + // gWalkableTileToCrossableTerrain[MOVEMENT_TYPE_LAVA]: CROSSABLE_TERRAIN_LIQUID + // gWalkableTileToCrossableTerrain[MOVEMENT_TYPE_WATER]: CROSSABLE_TERRAIN_REGULAR // This means a Fire-type can cross the dungeon's liquid, while a Water-type cannot. return gWalkableTileToCrossableTerrain[walkableTiles]; } diff --git a/src/dungeon_movement_1.c b/src/dungeon_movement_1.c index b1a57f06a..5b5b5545c 100644 --- a/src/dungeon_movement_1.c +++ b/src/dungeon_movement_1.c @@ -13,52 +13,52 @@ #include "dungeon_util.h" #include "map.h" -bool8 CanCrossWalls(struct DungeonEntity *pokemon) +bool8 CanCrossWalls(struct Entity *pokemon) { - struct DungeonEntityData *pokemonData = pokemon->entityData; - struct DungeonEntityData *pokemonData2 = pokemonData; - if (pokemonData2->transformStatus == TRANSFORM_STATUS_MOBILE) + struct EntityInfo *pokemonInfo = pokemon->info; + struct EntityInfo *pokemonInfo2 = pokemonInfo; + if (pokemonInfo2->transformStatus == STATUS_MOBILE) { return TRUE; } - if (HasItem(pokemon, ITEM_ID_MOBILE_SCARF)) + if (HasHeldItem(pokemon, ITEM_MOBILE_SCARF)) { return TRUE; } - if (GetCrossableTerrain(pokemonData2->entityID) == CROSSABLE_TERRAIN_WALL) + if (GetCrossableTerrain(pokemonInfo2->id) == CROSSABLE_TERRAIN_WALL) { return TRUE; } return FALSE; } -bool8 sub_807049C(struct DungeonEntity *pokemon, struct Position *pos) +bool8 sub_807049C(struct Entity *pokemon, struct Position *pos) { s32 crossableTerrain; - struct MapTile *tile; + struct Tile *tile; u16 tileFlags; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; - entityData = pokemon->entityData; - tile = GetMapTile_1(pos->x, pos->y); + entityData = pokemon->info; + tile = GetTile(pos->x, pos->y); if ((pos->x >= 0) && (pos->y >= 0) && (DUNGEON_MAX_SIZE_X > pos->x) && - (DUNGEON_MAX_SIZE_Y > pos->y && ((tile->tileType & TILE_TYPE_MAP_EDGE) == 0)) && - (tile->pokemon == NULL || (GetEntityType(tile->pokemon) == ENTITY_POKEMON))) { - if (IsFixedDungeon() || (entityData->transformStatus != TRANSFORM_STATUS_MOBILE && !HasItem(pokemon, ITEM_ID_MOBILE_SCARF))) { - crossableTerrain = GetCrossableTerrain(entityData->entityID); - tileFlags = tile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID); - if (HasIQSkill(pokemon, IQ_SKILL_ALL_TERRAIN_HIKER)) { + (DUNGEON_MAX_SIZE_Y > pos->y && ((tile->terrainType & TERRAIN_TYPE_IMPASSABLE_WALL) == 0)) && + (tile->monster == NULL || (GetEntityType(tile->monster) == ENTITY_MONSTER))) { + if (IsCurrentFixedRoomBossFight() || (entityData->transformStatus != STATUS_MOBILE && !HasHeldItem(pokemon, ITEM_MOBILE_SCARF))) { + crossableTerrain = GetCrossableTerrain(entityData->id); + tileFlags = tile->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY); + if (IQSkillIsEnabled(pokemon, IQ_ALL_TERRAIN_HIKER)) { crossableTerrain = CROSSABLE_TERRAIN_CREVICE; } - if (HasIQSkill(pokemon, IQ_SKILL_SUPER_MOBILE)) { + if (IQSkillIsEnabled(pokemon, IQ_SUPER_MOBILE)) { crossableTerrain = CROSSABLE_TERRAIN_WALL; } switch(crossableTerrain) { case CROSSABLE_TERRAIN_LIQUID: - if(tileFlags == TILE_TYPE_LIQUID) return FALSE; + if(tileFlags == TERRAIN_TYPE_SECONDARY) return FALSE; case CROSSABLE_TERRAIN_REGULAR: - if(tileFlags == TILE_TYPE_FLOOR) return FALSE; + if(tileFlags == TERRAIN_TYPE_NORMAL) return FALSE; break; case CROSSABLE_TERRAIN_WALL: default: diff --git a/src/dungeon_music.c b/src/dungeon_music.c index dc09c189e..59846d378 100644 --- a/src/dungeon_music.c +++ b/src/dungeon_music.c @@ -24,29 +24,29 @@ extern u8 gUnknown_810AC68; // 0x8 extern u8 gUnknown_810AC64; // 0x8 extern u8 gUnknown_810AC66; // 0x8 -extern void sub_80709C8(u8 *buffer, struct DungeonEntityData *entityData); +extern void sub_80709C8(u8 *buffer, struct EntityInfo *entityData); void FadeOutAllMusic(u16); void xxx_call_stop_bgm(void); -void sub_8083AB0(s16 param_0, struct DungeonEntity * target, struct DungeonEntity * enity) +void sub_8083AB0(s16 param_0, struct Entity * target, struct Entity * enity) { u8 *defPtr; u8 *attackPtr; u8 *spDefPtr; - struct DungeonEntityData * entityData; - struct DungeonEntityData * targetEntityData; + struct EntityInfo * entityData; + struct EntityInfo * targetEntityData; u8 *spAttPtr; u8 buffer [0x14]; struct unkDungeonGlobal_unk1CE98_sub *temp; - u8 *itemIndex; + u8 *id; s32 param_0_s32 = param_0; - temp = &gDungeonGlobalData->unk1CE98; + temp = &gDungeon->unk1CE98; targetEntityData = NULL; - if ((EntityExists(target)) && (GetEntityType(target) == ENTITY_POKEMON)) { - targetEntityData = target->entityData; + if ((EntityExists(target)) && (GetEntityType(target) == ENTITY_MONSTER)) { + targetEntityData = target->info; } - entityData = enity->entityData; + entityData = enity->info; if (targetEntityData != NULL) { sub_80709C8(buffer, targetEntityData); CopyStringtoBuffer(temp->buffer1, buffer); @@ -58,14 +58,14 @@ void sub_8083AB0(s16 param_0, struct DungeonEntity * target, struct DungeonEntit CopyStringtoBuffer(temp->buffer2, buffer); temp->unk14 = param_0_s32; temp->heldItem = entityData->heldItem; - temp->expPoints = entityData->expPoints; + temp->exp = entityData->exp; temp->level = entityData->level; - temp->maxHP = entityData->maxHP; - temp->attack = entityData->attack; - temp->specialAttack = entityData->specialAttack; - temp->defense = entityData->defense; - temp->specialDefense = entityData->specialDefense; - temp->dungeonLocation = gDungeonGlobalData->dungeonLocation; + temp->maxHPStat = entityData->maxHPStat; + temp->atk = entityData->atk; + temp->spAtk = entityData->spAtk; + temp->def = entityData->def; + temp->spDef = entityData->spDef; + temp->dungeonLocation = gDungeon->dungeonLocation; attackPtr = &temp->attBoost; *attackPtr = 0; spAttPtr = &temp->spAttBoost; @@ -74,24 +74,24 @@ void sub_8083AB0(s16 param_0, struct DungeonEntity * target, struct DungeonEntit *defPtr = 0; spDefPtr = &temp->spDefBoost; *spDefPtr = 0; - if ((entityData->heldItem.itemFlags & ITEM_FLAG_EXISTS) && !(entityData->heldItem.itemFlags & ITEM_FLAG_STICKY)) { - itemIndex = &entityData->heldItem.itemIndex; - if (*itemIndex == ITEM_ID_POWER_BAND) { + if ((entityData->heldItem.flags & ITEM_FLAG_EXISTS) && !(entityData->heldItem.flags & ITEM_FLAG_STICKY)) { + id = &entityData->heldItem.id; + if (*id == ITEM_POWER_BAND) { *attackPtr += gUnknown_810AC60; } - if (*itemIndex == ITEM_ID_MUNCH_BELT) { + if (*id == ITEM_MUNCH_BELT) { *attackPtr += gUnknown_810AC68; } - if (*itemIndex == ITEM_ID_SPECIAL_BAND) { + if (*id == ITEM_SPECIAL_BAND) { *spAttPtr += gUnknown_810AC62; } - if (*itemIndex == ITEM_ID_MUNCH_BELT) { + if (*id == ITEM_MUNCH_BELT) { *spAttPtr += gUnknown_810AC68; } - if (*itemIndex == ITEM_ID_DEF_SCARF) { + if (*id == ITEM_DEF_SCARF) { *defPtr += gUnknown_810AC64; } - if (*itemIndex == ITEM_ID_ZINC_BAND) { + if (*id == ITEM_ZINC_BAND) { *spDefPtr += gUnknown_810AC66; } } @@ -101,7 +101,7 @@ bool8 sub_8083C24(void) { struct unkDungeonGlobal_unk1CE98_sub *temp; - temp = &gDungeonGlobalData->unk1CE98; + temp = &gDungeon->unk1CE98; if (temp->unk14 < 0x226) { return TRUE; @@ -115,7 +115,7 @@ bool8 sub_8083C50(void) { struct unkDungeonGlobal_unk1CE98_sub *temp; - temp = &gDungeonGlobalData->unk1CE98; + temp = &gDungeon->unk1CE98; if ((temp->unk14 == 0x227) || (temp->unk14 == 0x22A) || (temp->unk14 == 0x228)) { return TRUE; @@ -129,10 +129,10 @@ bool8 sub_8083C88(u8 param_1) { struct unkDungeonGlobal_unk1CE98_sub *temp; - temp = &gDungeonGlobalData->unk1CE98; + temp = &gDungeon->unk1CE98; - if (((GetUnk9(gDungeonGlobalData->dungeonLocation.dungeonIndex) == 0) && - ((gDungeonGlobalData->unk65C != 0) || (param_1 != 0))) || + if (((GetUnk9(gDungeon->dungeonLocation.id) == 0) && + ((gDungeon->unk65C != 0) || (param_1 != 0))) || (temp->unk14 != 0x227)) { return TRUE; } @@ -191,19 +191,19 @@ void sub_8083D88(void) void sub_8083D98(void) { DungeonStartNewBGM(MUS_DUNGEON_FAIL); - gDungeonGlobalData->unk66F = 0; - gDungeonGlobalData->unk672 = 0; - gDungeonGlobalData->unk699 = 0; - gDungeonGlobalData->unk66A = 999; + gDungeon->unk66F = 0; + gDungeon->unk672 = 0; + gDungeon->unk699 = 0; + gDungeon->unk66A = 999; } void sub_8083DE0(void) { DungeonStartNewBGM(MUS_DUNGEON_COMPLETE); - gDungeonGlobalData->unk66F = 0; - gDungeonGlobalData->unk672 = 0; - gDungeonGlobalData->unk699 = 0; - gDungeonGlobalData->unk66A = 999; + gDungeon->unk66F = 0; + gDungeon->unk672 = 0; + gDungeon->unk699 = 0; + gDungeon->unk66A = 999; } void sub_8083E28(void) @@ -232,22 +232,22 @@ bool8 IsFanfareSEPlaying_2(u16 songIndex) void DungeonStartNewBGM(u16 songIndex) { - gDungeonGlobalData->musPlayer.queuedSongIndex = songIndex; - gDungeonGlobalData->musPlayer.fadeInSpeed = 0; + gDungeon->musPlayer.queuedSongIndex = songIndex; + gDungeon->musPlayer.fadeInSpeed = 0; } void DungeonFadeInNewBGM(u16 songIndex, u32 fadeInSpeed) { - gDungeonGlobalData->musPlayer.queuedSongIndex = 0x80 << 8 | songIndex; - gDungeonGlobalData->musPlayer.fadeInSpeed = fadeInSpeed; + gDungeon->musPlayer.queuedSongIndex = 0x80 << 8 | songIndex; + gDungeon->musPlayer.fadeInSpeed = fadeInSpeed; } void DungeonFadeOutBGM(u16 speed) { FadeOutAllMusic(speed); - gDungeonGlobalData->musPlayer.songIndex = 999; - gDungeonGlobalData->musPlayer.pastSongIndex = 999; - gDungeonGlobalData->musPlayer.queuedSongIndex = 999; + gDungeon->musPlayer.songIndex = 999; + gDungeon->musPlayer.pastSongIndex = 999; + gDungeon->musPlayer.queuedSongIndex = 999; } void DungeonStopBGM(void) @@ -263,7 +263,7 @@ u16 DungeonGetCurrentBGSong(void) void StopDungeonBGM(void) { - struct DungeonMusicPlayer *temp = &gDungeonGlobalData->musPlayer; + struct DungeonMusicPlayer *temp = &gDungeon->musPlayer; temp->state = 0; temp->fadeOutSpeed = 0; temp->songIndex = 999; @@ -283,18 +283,18 @@ void UpdateDungeonMusic(void) s32 songIndex1; struct DungeonMusicPlayer *musPlayer; - musPlayer = &gDungeonGlobalData->musPlayer; + musPlayer = &gDungeon->musPlayer; - uVar3 = &gDungeonGlobalData->unk66A; + uVar3 = &gDungeon->unk66A; songIndex1 = *uVar3; if (songIndex1 == 999) { - if (gDungeonGlobalData->unk66F != 0) { + if (gDungeon->unk66F != 0) { songIndex1 = MUS_STOP_THIEF; } - else if (gDungeonGlobalData->unk672 != 0) { + else if (gDungeon->unk672 != 0) { songIndex1 = MUS_MONSTER_HOUSE; } - else if (gDungeonGlobalData->unk699 != 0) { + else if (gDungeon->unk699 != 0) { songIndex1 = MUS_KECLEON_SHOP; } else { diff --git a/src/dungeon_pokemon_attributes.c b/src/dungeon_pokemon_attributes.c index bb31bc003..2d5827b05 100644 --- a/src/dungeon_pokemon_attributes.c +++ b/src/dungeon_pokemon_attributes.c @@ -22,13 +22,13 @@ extern u8 gAvailablePokemonNames[]; extern u32 gUnknown_80FC31C; extern u32 gUnknown_80FCEFC; extern u32 gUnknown_80FC2FC; -extern bool8 sub_805744C(struct DungeonEntity *, struct PokemonMove *, u32); -extern void SetMessageArgument(char[], struct DungeonEntity*, u32); -extern void sub_80522F4(struct DungeonEntity *r1, struct DungeonEntity *r2, u32); +extern bool8 sub_805744C(struct Entity *, struct Move *, u32); +extern void SetMessageArgument(char[], struct Entity*, u32); +extern void sub_80522F4(struct Entity *r1, struct Entity *r2, u32); -bool8 HasSafeguardStatus(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 displayMessage) +bool8 HasSafeguardStatus(struct Entity * pokemon, struct Entity * target, bool8 displayMessage) { - if (target->entityData->protectionStatus == PROTECTION_STATUS_SAFEGUARD) { + if (target->info->protectionStatus == STATUS_SAFEGUARD) { if (displayMessage) { SetMessageArgument(gAvailablePokemonNames,target,0); sub_80522F4(pokemon,target,gUnknown_80FC2FC); @@ -38,9 +38,9 @@ bool8 HasSafeguardStatus(struct DungeonEntity * pokemon, struct DungeonEntity * return FALSE; } -bool8 sub_8071728(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 displayMessage) +bool8 sub_8071728(struct Entity * pokemon, struct Entity * target, bool8 displayMessage) { - if (target->entityData->protectionStatus == PROTECTION_STATUS_MIST) { + if (target->info->protectionStatus == STATUS_MIST) { if (displayMessage) { SetMessageArgument(gAvailablePokemonNames, target, 0); sub_80522F4(pokemon, target, gUnknown_80FC31C); @@ -59,34 +59,34 @@ bool8 sub_8071728(struct DungeonEntity * pokemon, struct DungeonEntity * target, return FALSE; } -bool8 sub_80717A4(struct DungeonEntity *pokemon, u16 moveID) +bool8 sub_80717A4(struct Entity *pokemon, u16 moveID) { - struct DungeonEntityData * entityData; + struct EntityInfo * entityData; s32 iVar3; - entityData = pokemon->entityData; - if ((entityData->sleepStatus != SLEEP_STATUS_SLEEP) && (entityData->sleepStatus != SLEEP_STATUS_NAPPING) && (entityData->sleepStatus != SLEEP_STATUS_NIGHTMARE)) { + entityData = pokemon->info; + if ((entityData->sleep != STATUS_SLEEP) && (entityData->sleep != STATUS_NAPPING) && (entityData->sleep != STATUS_NIGHTMARE)) { return FALSE; } else { // Pin this register to match - register struct PokemonMove *pokeMove asm("r4"); + register struct Move *pokeMove asm("r4"); - struct PokemonMove *pokeMove2; // some reason uses another pointer to same struct + struct Move *pokeMove2; // some reason uses another pointer to same struct for(iVar3 = 0, pokeMove = entityData->moves, pokeMove2 = pokeMove; iVar3 < MAX_MON_MOVES; pokeMove++, pokeMove2++, iVar3++) { - if (((pokeMove->moveFlags & MOVE_FLAG_EXISTS)) && (entityData->isLeader || ((pokeMove->moveFlags & MOVE_FLAG_ENABLED)))) + if (((pokeMove->moveFlags & MOVE_FLAG_EXISTS)) && (entityData->isTeamLeader || ((pokeMove->moveFlags & MOVE_FLAG_ENABLED_FOR_AI)))) if((sub_805744C(pokemon, pokeMove2, TRUE) != 0) && (pokeMove->PP != 0)) - if(pokeMove->moveID == moveID) + if(pokeMove->id == moveID) return TRUE; } return FALSE; } } -bool8 HasAbility(struct DungeonEntity *pokemon, u8 ability) +bool8 HasAbility(struct Entity *pokemon, u8 ability) { if (!EntityExists(pokemon)) { @@ -94,8 +94,8 @@ bool8 HasAbility(struct DungeonEntity *pokemon, u8 ability) } else { - struct DungeonEntityData *pokemonData = pokemon->entityData; - if (pokemonData->abilities[0] == ability || pokemonData->abilities[1] == ability) + struct EntityInfo *pokemonInfo = pokemon->info; + if (pokemonInfo->abilities[0] == ability || pokemonInfo->abilities[1] == ability) { return TRUE; } @@ -103,30 +103,30 @@ bool8 HasAbility(struct DungeonEntity *pokemon, u8 ability) } } -bool8 HasType(struct DungeonEntity *pokemon, u8 type) +bool8 MonsterIsType(struct Entity *pokemon, u8 type) { - struct DungeonEntityData *pokemonData = pokemonData = pokemon->entityData; + struct EntityInfo *pokemonInfo = pokemonInfo = pokemon->info; if (type == TYPE_NONE) { return FALSE; } - if (pokemonData->types[0] == type) + if (pokemonInfo->types[0] == type) { return TRUE; } - if (pokemonData->types[1] == type) + if (pokemonInfo->types[1] == type) { return TRUE; } return FALSE; } -bool8 CanSeeInvisible(struct DungeonEntity *pokemon) +bool8 CanSeeInvisibleMonsters(struct Entity *pokemon) { - struct DungeonEntityData *pokemonData = pokemon->entityData; - if (pokemonData->eyesightStatus != EYESIGHT_STATUS_EYEDROPS) + struct EntityInfo *pokemonInfo = pokemon->info; + if (pokemonInfo->eyesightStatus != STATUS_EYEDROPS) { - if (!HasItem(pokemon, ITEM_ID_GOGGLE_SPECS)) + if (!HasHeldItem(pokemon, ITEM_GOGGLE_SPECS)) return FALSE; else return TRUE; @@ -135,74 +135,74 @@ bool8 CanSeeInvisible(struct DungeonEntity *pokemon) return TRUE; } -bool8 HasTactic(struct DungeonEntity *pokemon, u8 tactic) +bool8 HasTactic(struct Entity *pokemon, u8 tactic) { - struct DungeonEntityData *pokemonData = pokemon->entityData; - if (pokemonData->isLeader) + struct EntityInfo *pokemonInfo = pokemon->info; + if (pokemonInfo->isTeamLeader) { bool8 isGoTheOtherWay = tactic == TACTIC_GO_THE_OTHER_WAY; return isGoTheOtherWay; } - return pokemonData->tactic == tactic; + return pokemonInfo->tactic == tactic; } -bool8 HasIQSkill(struct DungeonEntity *pokemon, u8 IQSkill) +bool8 IQSkillIsEnabled(struct Entity *pokemon, u8 IQSkill) { - return IsIQSkillSet(pokemon->entityData->IQSkillsEnabled, 1 << IQSkill); + return IsIQSkillSet(pokemon->info->IQSkillFlags, 1 << IQSkill); } -bool8 HasIQSkillPair(struct DungeonEntity *pokemon, u8 IQSkill1, u8 IQSkill2) +bool8 IQSkillPairIsEnabled(struct Entity *pokemon, u8 IQSkill1, u8 IQSkill2) { - return IsIQSkillSet(pokemon->entityData->IQSkillsEnabled, 1 << IQSkill1 | 1 << IQSkill2); + return IsIQSkillSet(pokemon->info->IQSkillFlags, 1 << IQSkill1 | 1 << IQSkill2); } -void LoadIQSkills(struct DungeonEntity *pokemon) +void LoadIQSkills(struct Entity *pokemon) { u8 *iVar2; s32 IQSkill; - struct DungeonEntityData *pokemonData; + struct EntityInfo *pokemonInfo; - pokemonData = pokemon->entityData; - if (pokemonData->isEnemy) { - iVar2 = pokemonData->IQSkillsEnabled; - SetIQSkill(iVar2, IQ_SKILL_STATUS_CHECKER); - SetIQSkill(iVar2, IQ_SKILL_PP_CHECKER); - SetIQSkill(iVar2, IQ_SKILL_ITEM_CATCHER); - if (pokemonData->isBoss) - SetIQSkill(iVar2, IQ_SKILL_SELF_CURER); - if (pokemonData->level >= *gItemMasterMinWildLevel) - SetIQSkill(iVar2, IQ_SKILL_ITEM_MASTER); - pokemonData->tactic = TACTIC_GO_AFTER_FOES; + pokemonInfo = pokemon->info; + if (pokemonInfo->isNotTeamMember) { + iVar2 = pokemonInfo->IQSkillFlags; + SetIQSkill(iVar2, IQ_STATUS_CHECKER); + SetIQSkill(iVar2, IQ_PP_CHECKER); + SetIQSkill(iVar2, IQ_ITEM_CATCHER); + if (pokemonInfo->bossFlag) + SetIQSkill(iVar2, IQ_SELF_CURER); + if (pokemonInfo->level >= *gItemMasterMinWildLevel) + SetIQSkill(iVar2, IQ_ITEM_MASTER); + pokemonInfo->tactic = TACTIC_GO_AFTER_FOES; } else { - pokemonData->IQSkillsEnabled[0] = 0; - pokemonData->IQSkillsEnabled[1] = 0; - pokemonData->IQSkillsEnabled[2] = 0; - for(IQSkill = IQ_SKILL_TYPE_ADVANTAGE_MASTER; IQSkill < NUM_IQ_SKILLS; IQSkill++) + pokemonInfo->IQSkillFlags[0] = 0; + pokemonInfo->IQSkillFlags[1] = 0; + pokemonInfo->IQSkillFlags[2] = 0; + for(IQSkill = IQ_TYPE_ADVANTAGE_MASTER; IQSkill < NUM_IQ_SKILLS; IQSkill++) { - if (HasIQForSkill(pokemonData->IQ,IQSkill) && - IsIQSkillSet(pokemonData->IQSkillsSelected, 1 << IQSkill)) + if (HasIQForSkill(pokemonInfo->IQ,IQSkill) && + IsIQSkillSet(pokemonInfo->IQSkillMenuFlags, 1 << IQSkill)) { - SetIQSkill(pokemonData->IQSkillsEnabled,IQSkill); + SetIQSkill(pokemonInfo->IQSkillFlags,IQSkill); } } } } -bool8 CanSeeTeammate(struct DungeonEntity * pokemon) +bool8 CanSeeTeammate(struct Entity * pokemon) { - struct DungeonEntity *teamMember; + struct Entity *teamMember; s32 memberIdx; - if (pokemon->entityData->isEnemy) { + if (pokemon->info->isNotTeamMember) { return FALSE; } else { for(memberIdx = 0; memberIdx < MAX_TEAM_MEMBERS; memberIdx++) { - teamMember = gDungeonGlobalData->teamPokemon[memberIdx]; - if (EntityExists(pokemon) && (pokemon != teamMember) && (CanSee(pokemon,teamMember))) + teamMember = gDungeon->teamPokemon[memberIdx]; + if (EntityExists(pokemon) && (pokemon != teamMember) && (CanSeeTarget(pokemon,teamMember))) { return TRUE; } @@ -211,54 +211,54 @@ bool8 CanSeeTeammate(struct DungeonEntity * pokemon) } } -u8 GetMoveTypeForPokemon(struct DungeonEntity *pokemon, struct PokemonMove *pokeMove) +u8 GetMoveTypeForMonster(struct Entity *pokemon, struct Move *pokeMove) { - if (pokeMove->moveID == MOVE_HIDDEN_POWER) - return pokemon->entityData->hiddenPowerType; + if (pokeMove->id == MOVE_HIDDEN_POWER) + return pokemon->info->hiddenPowerType; else return GetMoveType(pokeMove); } -s32 CalculateMovePower(struct DungeonEntity *pokemon, struct PokemonMove *pokeMove) +s32 GetMovePower(struct Entity *pokemon, struct Move *pokeMove) { - if(pokeMove->moveID == MOVE_HIDDEN_POWER) - return (pokemon->entityData->hiddenPowerPower + pokeMove->powerBoost); + if(pokeMove->id == MOVE_HIDDEN_POWER) + return (pokemon->info->hiddenPowerBasePower + pokeMove->ginseng); else - return (GetMovePower(pokeMove) + pokeMove->powerBoost); + return (GetMoveBasePower(pokeMove) + pokeMove->ginseng); } -bool8 ToolboxEnabled(struct DungeonEntityData *pokemon) +bool8 ToolboxEnabled(struct EntityInfo *pokemon) { - if(!IsToolboxEnabled(pokemon->entityID)) + if(!IsToolboxEnabled(pokemon->id)) return FALSE; return TRUE; } -static inline bool8 sub_8071A8C_sub(struct DungeonEntityData *pokemonData) +static inline bool8 sub_8071A8C_sub(struct EntityInfo *pokemonInfo) { - if(pokemonData->joinLocation == DUNGEON_JOIN_LOCATION_CLIENT_POKEMON || - pokemonData->joinLocation == DUNGEON_RESCUE_TEAM_BASE) + if(pokemonInfo->joinedAt == DUNGEON_JOIN_LOCATION_CLIENT_POKEMON || + pokemonInfo->joinedAt == DUNGEON_RESCUE_TEAM_BASE) return TRUE; else return FALSE; } -bool8 sub_8071A8C(struct DungeonEntity *pokemon) +bool8 sub_8071A8C(struct Entity *pokemon) { - struct DungeonEntityData *pokemonData; + struct EntityInfo *pokemonInfo; if(EntityExists(pokemon)) { - pokemonData = pokemon->entityData; - if(pokemonData->clientType != CLIENT_TYPE_CLIENT) + pokemonInfo = pokemon->info; + if(pokemonInfo->clientType != CLIENT_TYPE_CLIENT) { - if(!sub_8071A8C_sub(pokemonData)) + if(!sub_8071A8C_sub(pokemonInfo)) return TRUE; } } return FALSE; } -bool8 SetVisualFlags(struct DungeonEntityData *entityData, u16 newFlag, bool8 param_3) +bool8 SetVisualFlags(struct EntityInfo *entityData, u16 newFlag, bool8 param_3) { if ((entityData->visualFlags & newFlag)) { entityData->previousVisualFlags = newFlag | entityData->previousVisualFlags; diff --git a/src/dungeon_random.c b/src/dungeon_random.c index 240c8d5c9..ad7bdf0ba 100644 --- a/src/dungeon_random.c +++ b/src/dungeon_random.c @@ -3,48 +3,48 @@ extern u32 gDungeonRngState; -void SetDungeonRNG(u32 value) +void InitDungeonRNG(u32 value) { gDungeonRngState = (value | 1); } -s32 DungeonRandom(void) +s32 DungeonRand16Bit(void) { gDungeonRngState = 1566083941 * gDungeonRngState + 1; return gDungeonRngState >> 16; } -s32 DungeonRandomCapped(s32 cap) +s32 DungeonRandInt(s32 cap) { - return (((DungeonRandom() & 0xFFFF) * cap) >> 16) & 0xFFFF; + return (((DungeonRand16Bit() & 0xFFFF) * cap) >> 16) & 0xFFFF; } -s32 DungeonRandomRange(s32 low, s32 high) +s32 DungeonRandRange(s32 low, s32 high) { if(low == high) return low; else if(low < high) { - return (DungeonRandomCapped(high - low) + low); + return (DungeonRandInt(high - low) + low); } else { - return (DungeonRandomCapped(low - high) + high); + return (DungeonRandInt(low - high) + high); } } -bool8 RollPercentChance(s32 percentChance) +bool8 DungeonRandOutcome(s32 percentChance) { - if (DungeonRandomCapped(100) < percentChance) + if (DungeonRandInt(100) < percentChance) { return TRUE; } return FALSE; } -bool8 RollPercentChance_2(s32 percentChance) +bool8 DungeonRandOutcome_2(s32 percentChance) { - if (DungeonRandomCapped(100) < percentChance) + if (DungeonRandInt(100) < percentChance) { return TRUE; } diff --git a/src/dungeon_range.c b/src/dungeon_range.c index d242d17fa..e3d4ea820 100644 --- a/src/dungeon_range.c +++ b/src/dungeon_range.c @@ -7,18 +7,18 @@ extern bool8 IsTargetTwoTilesAway(struct Position *, struct Position *); -bool8 InSameRoom_2(struct Position *pos1, struct Position *pos2) +bool8 IsPositionActuallyInSight(struct Position *pos1, struct Position *pos2) { - u8 pos1RoomIndex; - u8 visibility = gDungeonGlobalData->visibility; - struct MapTile *tile1; + u8 pos1Room; + u8 visibility = gDungeon->visibilityRange; + struct Tile *tile1; if (visibility == 0) { visibility = 2; } - tile1 = GetMapTile_1(pos1->x, pos1->y); - pos1RoomIndex = tile1->roomIndex; - if (pos1RoomIndex == CORRIDOR_ROOM_INDEX) + tile1 = GetTile(pos1->x, pos1->y); + pos1Room = tile1->room; + if (pos1Room == CORRIDOR_ROOM) { s32 xDiff = pos1->x - pos2->x; s32 yDiff; @@ -39,9 +39,9 @@ bool8 InSameRoom_2(struct Position *pos1, struct Position *pos2) } else { - struct MapRoom *pos1Room = &gDungeonGlobalData->roomData[pos1RoomIndex]; - if (pos1Room->startX - 1 > pos2->x || pos1Room->startY - 1 > pos2->y || - pos1Room->endX + 1 <= pos2->x || pos1Room->endY + 1 <= pos2->y) + struct RoomData *pos1RoomData = &gDungeon->roomData[pos1Room]; + if (pos1RoomData->bottomRightCornerX - 1 > pos2->x || pos1RoomData->bottomRightCornerY - 1 > pos2->y || + pos1RoomData->topLeftCornerX + 1 <= pos2->x || pos1RoomData->topLeftCornerY + 1 <= pos2->y) { return FALSE; } @@ -49,10 +49,10 @@ bool8 InSameRoom_2(struct Position *pos1, struct Position *pos2) } } -bool8 InSameRoom_3(struct Position *pos1, struct Position *pos2) +bool8 IsPositionInSight(struct Position *pos1, struct Position *pos2) { - struct MapTile *iVar2; - u8 pos1RoomIndex; + struct Tile *iVar2; + u8 pos1Room; s32 xDiff; s32 yDiff; s32 x1; @@ -60,12 +60,12 @@ bool8 InSameRoom_3(struct Position *pos1, struct Position *pos2) s32 y1; s32 y2; - iVar2 = GetMapTile_1(pos1->x,pos1->y); - pos1RoomIndex = iVar2->roomIndex; - if (pos1RoomIndex != CORRIDOR_ROOM_INDEX) { - struct MapRoom *pos1Room = &gDungeonGlobalData->roomData[pos1RoomIndex]; - if (pos1Room->startX - 1 > pos2->x || pos1Room->startY - 1 > pos2->y || - pos1Room->endX + 1 <= pos2->x || pos1Room->endY + 1 <= pos2->y) + iVar2 = GetTile(pos1->x,pos1->y); + pos1Room = iVar2->room; + if (pos1Room != CORRIDOR_ROOM) { + struct RoomData *pos1RoomData = &gDungeon->roomData[pos1Room]; + if (pos1RoomData->bottomRightCornerX - 1 > pos2->x || pos1RoomData->bottomRightCornerY - 1 > pos2->y || + pos1RoomData->topLeftCornerX + 1 <= pos2->x || pos1RoomData->topLeftCornerY + 1 <= pos2->y) { goto _08083394; } @@ -101,36 +101,36 @@ returnFalse: void sub_80833E8(struct Position *param_1, s32 *param_2) { - struct MapTile *tile; - struct MapRoom *room; + struct Tile *tile; + struct RoomData *mapRoom; u32 visibility; - u32 roomIndex; + u32 room; - tile = GetMapTile_1(param_1->x, param_1->y); - visibility = gDungeonGlobalData->visibility; + tile = GetTile(param_1->x, param_1->y); + visibility = gDungeon->visibilityRange; if (visibility == 0) { visibility = 2; } - roomIndex = tile->roomIndex; - if (roomIndex == CORRIDOR_ROOM_INDEX) { + room = tile->room; + if (room == CORRIDOR_ROOM) { param_2[0] = param_1->x - visibility; param_2[2] = param_1->x + visibility + 1; param_2[1] = param_1->y - visibility; param_2[3] = param_1->y + visibility + 1; } else { - room = &gDungeonGlobalData->roomData[roomIndex]; - param_2[0] = room->startX - 1; - param_2[2] = room->endX + 2; - param_2[1] = room->startY - 1; - param_2[3] = room->endY + 2; + mapRoom = &gDungeon->roomData[room]; + param_2[0] = mapRoom->bottomRightCornerX - 1; + param_2[2] = mapRoom->topLeftCornerX + 2; + param_2[1] = mapRoom->bottomRightCornerY - 1; + param_2[3] = mapRoom->topLeftCornerY + 2; } } bool8 IsTargetTwoTilesAway(struct Position *pos1, struct Position *pos2) { s32 counter; - struct MapTile *tile; + struct Tile *tile; s32 diff; s32 yCoord; s32 xCoord; @@ -179,8 +179,8 @@ bool8 IsTargetTwoTilesAway(struct Position *pos1, struct Position *pos2) if (yCoord > pos2->y) { yCoord = yCoord -1; } - tile = GetMapTile_1(xCoord,yCoord); - if ((tile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID)) == 0) return FALSE; + tile = GetTile(xCoord,yCoord); + if ((tile->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY)) == 0) return FALSE; } xCoord_1 = pos2->x; @@ -200,8 +200,8 @@ bool8 IsTargetTwoTilesAway(struct Position *pos1, struct Position *pos2) if (yCoord_1 > pos1->y) { yCoord_1 = yCoord_1 - 1; } - tile = GetMapTile_1(xCoord_1, yCoord_1); - if ((tile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID)) == 0) return FALSE; + tile = GetTile(xCoord_1, yCoord_1); + if ((tile->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY)) == 0) return FALSE; } return TRUE; } diff --git a/src/dungeon_util.c b/src/dungeon_util.c index 0a5f2b2cc..ed8bd0256 100644 --- a/src/dungeon_util.c +++ b/src/dungeon_util.c @@ -14,51 +14,51 @@ const struct Position gAdjacentTileOffsets[] = { {-1, 1} }; -bool8 EntityExists(struct DungeonEntity *entity) +bool8 EntityExists(struct Entity *entity) { if (!entity) { return FALSE; } - return entity->entityType != ENTITY_NONE; + return entity->type != ENTITY_NOTHING; } -u32 GetEntityType(struct DungeonEntity *entity) +u32 GetEntityType(struct Entity *entity) { - return entity->entityType; + return entity->type; } -u8 GetEntityRoomIndex(struct DungeonEntity *entity) +u8 GetEntityRoom(struct Entity *entity) { - return entity->roomIndex; + return entity->room; } -struct DungeonEntityData* GetTrapData(struct DungeonEntity *entity) +struct EntityInfo* GetTrapData(struct Entity *entity) { - return entity->entityData; + return entity->info; } -struct ItemSlot* GetItemData(struct DungeonEntity *entity) +struct Item* GetItemData(struct Entity *entity) { - return (struct ItemSlot *)entity->entityData; + return (struct Item *)entity->info; } -struct DungeonEntityData* GetTrapData_1(struct DungeonEntity *entity) +struct EntityInfo* GetTrapData_1(struct Entity *entity) { - return entity->entityData; + return entity->info; } -struct ItemSlot* GetItemData_1(struct DungeonEntity *entity) +struct Item* GetItemData_1(struct Entity *entity) { - return (struct ItemSlot*)entity->entityData; + return (struct Item*)entity->info; } -struct MapTile* GetMapTileForDungeonEntity_1(struct DungeonEntity *entity) +struct Tile* GetTileAtEntity(struct Entity *entity) { - return GetMapTile_1(entity->posWorld.x, entity->posWorld.y); + return GetTile(entity->pos.x, entity->pos.y); } -struct MapTile* GetMapTileForDungeonEntity_2(struct DungeonEntity *entity) +struct Tile* GetTileAtEntitySafe(struct Entity *entity) { - return GetMapTile_2(entity->posWorld.x, entity->posWorld.y); + return GetTileSafe(entity->pos.x, entity->pos.y); } diff --git a/src/dungeon_util_1.c b/src/dungeon_util_1.c index e36715274..5a74d4944 100644 --- a/src/dungeon_util_1.c +++ b/src/dungeon_util_1.c @@ -8,8 +8,8 @@ extern const u8 gUnknown_8107358[25]; -extern void sub_806CE68(struct DungeonEntity *, u32); -extern void sub_804535C(struct DungeonEntity *, u32); +extern void sub_806CE68(struct Entity *, u32); +extern void sub_804535C(struct Entity *, u32); extern s32 GetCameraXPos(void); extern s32 GetCameraYPos(void); extern void sub_803F4A0(u32); @@ -17,27 +17,27 @@ extern void sub_803F878(s32, s32); extern void sub_803E46C(u32); extern void sub_803E708(u32, u32); -extern void sub_8068FE0(struct DungeonEntity *, u32, u8 *); +extern void sub_8068FE0(struct Entity *, u32, u8 *); extern void sub_80457DC(u8 *); -extern void sub_80861D4(struct DungeonEntity *, u32, s32 direction); -extern void sub_80694C0(struct DungeonEntity *, s32, s32, u32); -extern struct DungeonEntity *GetPartnerEntity(); +extern void sub_80861D4(struct Entity *, u32, s32 direction); +extern void sub_80694C0(struct Entity *, s32, s32, u32); +extern struct Entity *GetPartnerEntity(); -typedef void (*DungeonCallback)(struct DungeonEntity *); +typedef void (*DungeonCallback)(struct Entity *); void sub_80855E4(DungeonCallback func) { bool8 bVar1; - struct DungeonEntity * entity; - struct DungeonEntity * partnerEntity; + struct Entity * entity; + struct Entity * partnerEntity; s32 index; bVar1 = FALSE; for(index = 0; index < MAX_TEAM_MEMBERS; index++) { - entity = gDungeonGlobalData->teamPokemon[index]; + entity = gDungeon->teamPokemon[index]; if (EntityExists(entity)) { - if (entity->entityData->joinLocation == 0x41) { + if (entity->info->joinedAt == 0x41) { bVar1 = TRUE; } func(entity); @@ -50,43 +50,43 @@ void sub_80855E4(DungeonCallback func) void sub_808563C(DungeonCallback func) { - struct DungeonEntity * entity; + struct Entity * entity; s32 index; for(index = 0; index < DUNGEON_MAX_WILD_POKEMON; index++) { - entity = gDungeonGlobalData->wildPokemon[index]; - if ((EntityExists(entity)) && (entity->entityData->joinLocation != 0x41)) { + entity = gDungeon->wildPokemon[index]; + if ((EntityExists(entity)) && (entity->info->joinedAt != 0x41)) { func(entity); } } } -struct DungeonEntity *GetEntityFromClientType(u8 entityType) +struct Entity *GetEntityFromClientType(u8 entityType) { - struct DungeonEntity * entity; + struct Entity * entity; s32 index; for(index = 0; index < DUNGEON_MAX_POKEMON; index++) { - entity = gDungeonGlobalData->allPokemon[index]; - if ((EntityExists(entity)) && (entity->entityData->clientType == entityType)) return entity; + entity = gDungeon->allPokemon[index]; + if ((EntityExists(entity)) && (entity->info->clientType == entityType)) return entity; } return NULL; } -void sub_80856C8(struct DungeonEntity * pokemon, s32 x, s32 y) +void sub_80856C8(struct Entity * pokemon, s32 x, s32 y) { sub_80694C0(pokemon, x, y, 1); sub_804535C(pokemon,0); } -void sub_80856E0(struct DungeonEntity * pokemon, s32 direction) +void sub_80856E0(struct Entity * pokemon, s32 direction) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; s32 counter; - entityData = pokemon->entityData; + entityData = pokemon->info; sub_80861D4(pokemon, 6, direction); for(counter = 0; counter < 5; counter++) @@ -94,7 +94,7 @@ void sub_80856E0(struct DungeonEntity * pokemon, s32 direction) entityData->unk174 += 0x200; sub_803E46C(0x46); } - entityData->action.facingDir = direction & DIRECTION_MASK; + entityData->action.direction = direction & DIRECTION_MASK; sub_806CE68(pokemon, direction); for(counter = 0; counter < 5; counter++) @@ -108,15 +108,15 @@ void sub_80856E0(struct DungeonEntity * pokemon, s32 direction) void sub_8085764(void) { - struct DungeonEntity *entity; + struct Entity *entity; s32 index; u8 auStack128 [116]; sub_80457DC(auStack128); for(index = 0; index < DUNGEON_MAX_WILD_POKEMON; index++) { - entity = gDungeonGlobalData->wildPokemon[index]; - if ((EntityExists(entity)) && (entity->entityData->clientType == 2)) { + entity = gDungeon->wildPokemon[index]; + if ((EntityExists(entity)) && (entity->info->clientType == 2)) { sub_8068FE0(entity,0x207,auStack128); } } @@ -124,24 +124,24 @@ void sub_8085764(void) void sub_80857B8(void) { - u8 *facingDir; - struct DungeonEntityData *entityData; - struct DungeonEntity *entity; + u8 *direction; + struct EntityInfo *entityData; + struct Entity *entity; int index; for(index = 0; index < DUNGEON_MAX_POKEMON; index++) { - entity = gDungeonGlobalData->allPokemon[index]; + entity = gDungeon->allPokemon[index]; if (EntityExists(entity)) { - entityData = entity->entityData; - if ((gDungeonGlobalData->unk4 == 0) && (gDungeonGlobalData->unk2 == 0)) { + entityData = entity->info; + if ((gDungeon->unk4 == 0) && (gDungeon->unk2 == 0)) { sub_804535C(entity, 0); entityData->unk15C = 0; entityData->unkFE = 99; - facingDir = &entityData->action.facingDir; - entityData->targetPosition.x = gAdjacentTileOffsets[*facingDir].x + entity->posWorld.x; - entityData->targetPosition.y = gAdjacentTileOffsets[*facingDir].y + entity->posWorld.y; - sub_806CE68(entity,*facingDir); + direction = &entityData->action.direction; + entityData->targetPos.x = gAdjacentTileOffsets[*direction].x + entity->pos.x; + entityData->targetPos.y = gAdjacentTileOffsets[*direction].y + entity->pos.y; + sub_806CE68(entity,*direction); } } } @@ -184,46 +184,46 @@ void ShiftCameraToPosition(struct Position32 *posStruct, s32 cameraSteps) sub_803E46C(0x46); } -void SetFacingDirection(struct DungeonEntity *pokemon, s32 direction) +void SetFacingDirection(struct Entity *pokemon, s32 direction) { - pokemon->entityData->action.facingDir = direction & DIRECTION_MASK; + pokemon->info->action.direction = direction & DIRECTION_MASK; sub_806CE68(pokemon, direction); } void sub_8085930(s32 direction) { s32 index; - struct DungeonEntity *entity; + struct Entity *entity; for(index = 0; index < MAX_TEAM_MEMBERS; index++) { - entity = gDungeonGlobalData->teamPokemon[index]; + entity = gDungeon->teamPokemon[index]; if(EntityExists(entity)) { if(direction >= NUM_DIRECTIONS) { - sub_806CE68(entity, RandomCapped(NUM_DIRECTIONS)); + sub_806CE68(entity, RandInt(NUM_DIRECTIONS)); } else { - entity->entityData->action.facingDir = direction & DIRECTION_MASK; + entity->info->action.direction = direction & DIRECTION_MASK; sub_806CE68(entity, direction); } } } for(index = 0; index < DUNGEON_MAX_WILD_POKEMON; index++) { - entity = gDungeonGlobalData->wildPokemon[index]; + entity = gDungeon->wildPokemon[index]; if(EntityExists(entity)) { - if(entity->entityData->clientType == 2) + if(entity->info->clientType == 2) { if(direction >= NUM_DIRECTIONS) { - sub_806CE68(entity, RandomCapped(NUM_DIRECTIONS)); + sub_806CE68(entity, RandInt(NUM_DIRECTIONS)); } else { - entity->entityData->action.facingDir = direction & DIRECTION_MASK; + entity->info->action.direction = direction & DIRECTION_MASK; sub_806CE68(entity, direction); } } @@ -234,29 +234,29 @@ void sub_8085930(s32 direction) void sub_80859F0(s32 direction) { s32 index; - struct DungeonEntity *entity; + struct Entity *entity; for(index = 0; index < DUNGEON_MAX_WILD_POKEMON; index++) { - entity = gDungeonGlobalData->wildPokemon[index]; + entity = gDungeon->wildPokemon[index]; if(EntityExists(entity)) { if(direction >= NUM_DIRECTIONS) { - sub_806CE68(entity, RandomCapped(NUM_DIRECTIONS)); + sub_806CE68(entity, RandInt(NUM_DIRECTIONS)); } else { - entity->entityData->action.facingDir = direction & DIRECTION_MASK; + entity->info->action.direction = direction & DIRECTION_MASK; sub_806CE68(entity, direction); } } } } -bool8 IsMovingClient(struct DungeonEntity *pokemon) +bool8 IsMovingClient(struct Entity *pokemon) { - struct DungeonEntityData *pokemonData = pokemon->entityData; - switch (pokemonData->clientType) + struct EntityInfo *pokemonInfo = pokemon->info; + switch (pokemonInfo->clientType) { case CLIENT_TYPE_CLIENT: case 0x3: @@ -301,7 +301,7 @@ bool8 IsMovingClient(struct DungeonEntity *pokemon) } } -void sub_8085B0C(struct DungeonEntity *pokemon) +void sub_8085B0C(struct Entity *pokemon) { s32 index; u8 local_28 [25]; diff --git a/src/dungeon_visibility.c b/src/dungeon_visibility.c index 477e5f45c..033dfa0fe 100644 --- a/src/dungeon_visibility.c +++ b/src/dungeon_visibility.c @@ -6,78 +6,78 @@ #include "dungeon_range.h" #include "dungeon_util.h" -extern bool8 InSameRoom_3(struct Position *pos1, struct Position *pos2); +extern bool8 IsPositionInSight(struct Position *pos1, struct Position *pos2); -bool8 CanSee(struct DungeonEntity *entity, struct DungeonEntity *targetEntity) +bool8 CanSeeTarget(struct Entity *entity, struct Entity *targetEntity) { - if (!EntityExists(entity) || !EntityExists(targetEntity) || !targetEntity->visible) + if (!EntityExists(entity) || !EntityExists(targetEntity) || !targetEntity->isVisible) { return FALSE; } - if (targetEntity->entityType == ENTITY_POKEMON) + if (targetEntity->type == ENTITY_MONSTER) { - if (entity->entityType == ENTITY_POKEMON) + if (entity->type == ENTITY_MONSTER) { - if (!CanSeeInvisible(entity) && targetEntity->entityData->transformStatus == TRANSFORM_STATUS_INVISIBLE) + if (!CanSeeInvisibleMonsters(entity) && targetEntity->info->transformStatus == STATUS_INVISIBLE) { return FALSE; } - if (entity->entityData->eyesightStatus == EYESIGHT_STATUS_BLINKER) + if (entity->info->eyesightStatus == STATUS_BLINKER) { return FALSE; } } - else if (targetEntity->entityData->transformStatus == TRANSFORM_STATUS_INVISIBLE) + else if (targetEntity->info->transformStatus == STATUS_INVISIBLE) { return FALSE; } } - return InSameRoom_2(&entity->posWorld, &targetEntity->posWorld); + return IsPositionActuallyInSight(&entity->pos, &targetEntity->pos); } -bool8 CanSee_2(struct DungeonEntity *entity, struct DungeonEntity *targetEntity) +bool8 CanTargetEntity(struct Entity *entity, struct Entity *targetEntity) { - if (!EntityExists(entity) || !EntityExists(targetEntity) || !targetEntity->visible) + if (!EntityExists(entity) || !EntityExists(targetEntity) || !targetEntity->isVisible) { return FALSE; } - if (targetEntity->entityType == ENTITY_POKEMON) + if (targetEntity->type == ENTITY_MONSTER) { - if (entity->entityType == ENTITY_POKEMON) + if (entity->type == ENTITY_MONSTER) { - if (!CanSeeInvisible(entity) && targetEntity->entityData->transformStatus == TRANSFORM_STATUS_INVISIBLE) + if (!CanSeeInvisibleMonsters(entity) && targetEntity->info->transformStatus == STATUS_INVISIBLE) { return FALSE; } - if (entity->entityData->eyesightStatus == EYESIGHT_STATUS_BLINKER) + if (entity->info->eyesightStatus == STATUS_BLINKER) { return FALSE; } } - else if (targetEntity->entityData->transformStatus == TRANSFORM_STATUS_INVISIBLE) + else if (targetEntity->info->transformStatus == STATUS_INVISIBLE) { return FALSE; } } - return InSameRoom_3(&entity->posWorld, &targetEntity->posWorld); + return IsPositionInSight(&entity->pos, &targetEntity->pos); } -bool8 sub_8045A70(struct DungeonEntity *entity, struct DungeonEntity *targetEntity) +bool8 sub_8045A70(struct Entity *entity, struct Entity *targetEntity) { - if (EntityExists(entity) && EntityExists(targetEntity) && targetEntity->visible) + if (EntityExists(entity) && EntityExists(targetEntity) && targetEntity->isVisible) { - return InSameRoom_2(&entity->posWorld, &targetEntity->posWorld); + return IsPositionActuallyInSight(&entity->pos, &targetEntity->pos); } return FALSE; } -bool8 sub_8045AAC(struct DungeonEntity *entity, struct Position *pos) +bool8 sub_8045AAC(struct Entity *entity, struct Position *pos) { - return InSameRoom_2(&entity->posWorld, pos); + return IsPositionActuallyInSight(&entity->pos, pos); } -bool8 InSameRoom(struct DungeonEntity *entity, struct Position *pos) +bool8 CanTargetPosition(struct Entity *entity, struct Position *pos) { - return InSameRoom_3(&entity->posWorld, pos); + return IsPositionInSight(&entity->pos, pos); } diff --git a/src/event_flag_1.c b/src/event_flag_1.c index 0cbdcd2da..377f7d927 100644 --- a/src/event_flag_1.c +++ b/src/event_flag_1.c @@ -265,7 +265,7 @@ void sub_8001D88(void) } if (auStack8 > 0x11) { sub_80973A8(0x25,1); - if (((FindItemInInventory(ITEM_ID_DIVE) != -1) || (gTeamInventory_203B460->teamStorage[ITEM_ID_DIVE] != 0)) || + if (((FindItemInInventory(ITEM_HM_DIVE) != -1) || (gTeamInventory_203B460->teamStorage[ITEM_HM_DIVE] != 0)) || (sub_8001D44(5,0x21,3) != 0)) { sub_80973A8(0x22,1); } @@ -291,7 +291,7 @@ void sub_8001D88(void) if (sub_8001D08(5,0,0)) { ScenarioCalc(5,0x21,1); } - if ((FindItemInInventory(ITEM_ID_SURF) != -1) || (gTeamInventory_203B460->teamStorage[ITEM_ID_SURF] != 0)) { + if ((FindItemInInventory(ITEM_HM_SURF) != -1) || (gTeamInventory_203B460->teamStorage[ITEM_HM_SURF] != 0)) { if (sub_8001D08(7,0,0)) { ScenarioCalc(7,0x26,1); } @@ -300,7 +300,7 @@ void sub_8001D88(void) } } if (!sub_8001CC4(9,0x30,0)) { - if ((sub_8001D08(5,0x22,0)) && HasRecruitedMon(SPECIES_ARTICUNO) && HasRecruitedMon(SPECIES_ZAPDOS) && HasRecruitedMon(SPECIES_MOLTRES)) { + if ((sub_8001D08(5,0x22,0)) && HasRecruitedMon(MONSTER_ARTICUNO) && HasRecruitedMon(MONSTER_ZAPDOS) && HasRecruitedMon(MONSTER_MOLTRES)) { ScenarioCalc(5,0x22,1); } if (((sub_8001D08(0xb,0,0)) && (sub_8001D44(5,0x21,3) != 0)) && @@ -323,10 +323,10 @@ void sub_8001D88(void) ScenarioCalc(0xc,0x35,1); } } - if ((sub_8001D08(6,0,0)) && (HasRecruitedMon(SPECIES_LUGIA))) { + if ((sub_8001D08(6,0,0)) && (HasRecruitedMon(MONSTER_LUGIA))) { ScenarioCalc(6,0x24,1); } - if ((sub_8001D08(8,0,0)) && (HasRecruitedMon(SPECIES_HO_OH))) { + if ((sub_8001D08(8,0,0)) && (HasRecruitedMon(MONSTER_HO_OH))) { ScenarioCalc(8,0x2c,1); } } @@ -359,7 +359,7 @@ u32 _FlagCalc(s32 param_1, s32 param_2, u32 operation) case 10: return param_1 & ~(1 << param_2); case 0xb: - return OtherRandomCapped(param_2); + return OtherRandInt(param_2); default: FatalError(&gUnknown_80B7318,gUnknown_80B7324, operation); // event flag expansion error %d } diff --git a/src/exclusive_pokemon.c b/src/exclusive_pokemon.c index 1e1effc6f..4bdbb0fee 100644 --- a/src/exclusive_pokemon.c +++ b/src/exclusive_pokemon.c @@ -3,18 +3,18 @@ const struct ExclusivePokemon gExclusivePokemon[NUM_EXCLUSIVE_POKEMON] = { - RED_EXCLUSIVE(SPECIES_PORYGON), - BLUE_EXCLUSIVE(SPECIES_PORYGON2), - BLUE_EXCLUSIVE(SPECIES_MAGIKARP), - BLUE_EXCLUSIVE(SPECIES_GYARADOS), - RED_EXCLUSIVE(SPECIES_FEEBAS), - RED_EXCLUSIVE(SPECIES_MILOTIC), - RED_EXCLUSIVE(SPECIES_PLUSLE), - BLUE_EXCLUSIVE(SPECIES_MINUN), - BLUE_EXCLUSIVE(SPECIES_LAPRAS), - RED_EXCLUSIVE(SPECIES_MANTINE), - RED_EXCLUSIVE(SPECIES_ROSELIA), - BLUE_EXCLUSIVE(SPECIES_AIPOM), + RED_EXCLUSIVE(MONSTER_PORYGON), + BLUE_EXCLUSIVE(MONSTER_PORYGON2), + BLUE_EXCLUSIVE(MONSTER_MAGIKARP), + BLUE_EXCLUSIVE(MONSTER_GYARADOS), + RED_EXCLUSIVE(MONSTER_FEEBAS), + RED_EXCLUSIVE(MONSTER_MILOTIC), + RED_EXCLUSIVE(MONSTER_PLUSLE), + BLUE_EXCLUSIVE(MONSTER_MINUN), + BLUE_EXCLUSIVE(MONSTER_LAPRAS), + RED_EXCLUSIVE(MONSTER_MANTINE), + RED_EXCLUSIVE(MONSTER_ROSELIA), + BLUE_EXCLUSIVE(MONSTER_AIPOM), }; const u8 filler_ex0[8] = diff --git a/src/felicity_bank.c b/src/felicity_bank.c index 6d1bd8485..632867231 100644 --- a/src/felicity_bank.c +++ b/src/felicity_bank.c @@ -33,9 +33,9 @@ u32 CreateFelicityBank(s32 param_1) gUnknown_203B204 = MemoryAlloc(sizeof(struct unkStruct_203B204),8); gUnknown_203B204->unk10 = 0; gUnknown_203B204->unk0 = param_1; - CopyYellowSpeciesNametoBuffer(gUnknown_202E5D8, SPECIES_PERSIAN); - CopyYellowSpeciesNametoBuffer(gUnknown_202E1C8, SPECIES_PERSIAN); - monName = GetMonSpecies(SPECIES_PERSIAN); + CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_PERSIAN); + CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_PERSIAN); + monName = GetMonSpecies(MONSTER_PERSIAN); strcpy(gUnknown_202E1C8 - 0x50, monName); if (gUnknown_203B204->unk0 == 1) { gUnknown_203B204->unkA4 = NULL; @@ -43,7 +43,7 @@ u32 CreateFelicityBank(s32 param_1) else { gUnknown_203B204->unkA4 = &gUnknown_203B204->faceFile; } - faceFile = GetDialogueSpriteDataPtr(SPECIES_PERSIAN); + faceFile = GetDialogueSpriteDataPtr(MONSTER_PERSIAN); gUnknown_203B204->faceFile = faceFile; gUnknown_203B204->faceData = faceFile->data; gUnknown_203B204->unkA0 = 0; diff --git a/src/friend_area.c b/src/friend_area.c index 06cf101c4..34824d843 100644 --- a/src/friend_area.c +++ b/src/friend_area.c @@ -599,7 +599,7 @@ u32 GetFriendAreaPrice(u8 index) void sub_8092558(u8 *buffer, u8 index) { // colors the friend area name green and prints to buffer? - sprintf_2(buffer, &gUnknown_81098A4, gFriendAreaNames[index]); + sprintfStatic(buffer, &gUnknown_81098A4, gFriendAreaNames[index]); } void sub_8092578(u8 *buffer, u8 index, u8 r2) @@ -609,7 +609,7 @@ void sub_8092578(u8 *buffer, u8 index, u8 r2) if(r2) { sub_8090FEC(gFriendAreaSettings[index].price, priceBuffer, 1); - sprintf_2(buffer, &gUnknown_81098AC, gFriendAreaNames[index], 96, priceBuffer); + sprintfStatic(buffer, &gUnknown_81098AC, gFriendAreaNames[index], 96, priceBuffer); } else { diff --git a/src/friend_area_action_menu.c b/src/friend_area_action_menu.c index 4b35835bc..3d2b0a927 100644 --- a/src/friend_area_action_menu.c +++ b/src/friend_area_action_menu.c @@ -21,22 +21,22 @@ extern const char gUnknown_80DD8D0[]; extern void sub_80141B4(const char *r0, u32, u32 *r1, u32); extern void sub_8014248(const char *r0, u32, u32, struct MenuItem *r4, u32, u32, u32, u32 *r5, u32); extern void sub_8012D60(u32 *, struct MenuItem *, u32, u32 *, u32, u32); -extern void sub_8027D40(u32, struct HeldItem *); +extern void sub_8027D40(u32, struct BulkItem *); extern void sub_8023868(u32, u32, u32, u32); extern void sub_8023B7C(u32); extern void sub_8023DA4(); extern void sub_8024458(s16, u32); extern void sub_801BEEC(s16); -extern void sub_8093560(u32, struct PokemonMove *, u32 *); +extern void sub_8093560(u32, struct Move *, u32 *); extern void sub_801F808(u32 *); extern void sub_8027794(); extern void sub_801A5D8(u32, u32, u32, u32); extern void sub_801A8D0(u32); extern void sub_801A9E0(); extern void sub_801F1B0(u32, u32); -extern void sub_801B3C0(struct ItemSlot *); -extern void sub_809401C(struct PokemonMove *, struct PokemonMove *); -extern void sub_801EE10(u32, s16, struct PokemonMove *, u32, u32, u32); +extern void sub_801B3C0(struct Item *); +extern void sub_809401C(struct Move *, struct Move *); +extern void sub_801EE10(u32, s16, struct Move *, u32, u32, u32); extern void sub_8012CAC(struct UnkTextStruct2 *, struct MenuItem *); extern void SetFriendAreaActionMenuState(u32); @@ -168,7 +168,7 @@ void sub_802719C(void) void sub_8027274(void) { - struct ItemSlot slot; + struct Item slot; switch(gUnknown_203B2BC->state) { case 0: diff --git a/src/friend_area_action_menu_1.c b/src/friend_area_action_menu_1.c index 94902041a..47ec16614 100644 --- a/src/friend_area_action_menu_1.c +++ b/src/friend_area_action_menu_1.c @@ -68,7 +68,7 @@ void sub_80277FC(void) gUnknown_203B2BC->targetPoke = sub_8023B44(); pokeStruct = &gRecruitedPokemonRef->pokemon[gUnknown_203B2BC->targetPoke]; gUnknown_203B2BC->unk18 = pokeStruct; - gUnknown_203B2BC->unk1C = pokeStruct->isLeader; + gUnknown_203B2BC->unk1C = pokeStruct->isTeamLeader; PeekPokemonItem(gUnknown_203B2BC->targetPoke,&gUnknown_203B2BC->item2); SetFriendAreaActionMenuState(3); break; @@ -76,7 +76,7 @@ void sub_80277FC(void) gUnknown_203B2BC->targetPoke = sub_8023B44(); pokeStruct = &gRecruitedPokemonRef->pokemon[gUnknown_203B2BC->targetPoke]; gUnknown_203B2BC->unk18 = pokeStruct; - gUnknown_203B2BC->unk1C = pokeStruct->isLeader; + gUnknown_203B2BC->unk1C = pokeStruct->isTeamLeader; PeekPokemonItem(gUnknown_203B2BC->targetPoke,&gUnknown_203B2BC->item2); SetFriendAreaActionMenuState(4); break; @@ -125,9 +125,9 @@ void sub_80278B4(void) case 8: pokeStruct2 = &gRecruitedPokemonRef->pokemon[gUnknown_203B2BC->targetPoke]; playerStruct = GetPlayerPokemonStruct(); - if (!pokeStruct2->isLeader) { - playerStruct->isLeader = FALSE; - pokeStruct2->isLeader = TRUE; + if (!pokeStruct2->isTeamLeader) { + playerStruct->isTeamLeader = FALSE; + pokeStruct2->isTeamLeader = TRUE; nullsub_104(); } sub_808ED00(); @@ -144,12 +144,12 @@ void sub_80278B4(void) break; case 0xb: PlaySound(0x14d); - if (gUnknown_203B2BC->item2.itemIndex != ITEM_ID_NOTHING) { + if (gUnknown_203B2BC->item2.id != ITEM_NOTHING) { AddHeldItemToInventory(&gUnknown_203B2BC->item2); } FillInventoryGaps(); - gUnknown_203B2BC->item2.itemIndex = ITEM_ID_NOTHING; - gUnknown_203B2BC->item2.numItems = 0; + gUnknown_203B2BC->item2.id = ITEM_NOTHING; + gUnknown_203B2BC->item2.quantity = 0; GivePokemonItem(gUnknown_203B2BC->targetPoke,&gUnknown_203B2BC->item2); nullsub_104(); SetFriendAreaActionMenuState(2); @@ -197,7 +197,7 @@ void sub_8027A5C(void) } static inline bool8 sub_8027A78_sub(void) { - if (gUnknown_203B2BC->unk18->dungeonLocation.dungeonIndex == 0x44 || gUnknown_203B2BC->unk18->dungeonLocation.dungeonIndex == 0x45) + if (gUnknown_203B2BC->unk18->dungeonLocation.id == 0x44 || gUnknown_203B2BC->unk18->dungeonLocation.id == 0x45) return TRUE; else return FALSE; @@ -251,15 +251,15 @@ void sub_8027B28(void) switch(sub_801A6E8(1)) { case 3: - gUnknown_203B2BC->itemIndex = sub_801A8AC(); - gUnknown_203B2BC->itemToGive.itemIndex = gTeamInventory_203B460->teamItems[gUnknown_203B2BC->itemIndex].itemIndex; - gUnknown_203B2BC->itemToGive.numItems = gTeamInventory_203B460->teamItems[gUnknown_203B2BC->itemIndex].numItems; + gUnknown_203B2BC->id = sub_801A8AC(); + gUnknown_203B2BC->itemToGive.id = gTeamInventory_203B460->teamItems[gUnknown_203B2BC->id].id; + gUnknown_203B2BC->itemToGive.quantity = gTeamInventory_203B460->teamItems[gUnknown_203B2BC->id].quantity; SetFriendAreaActionMenuState(0xc); break; case 4: - gUnknown_203B2BC->itemIndex = sub_801A8AC(); - gUnknown_203B2BC->itemToGive.itemIndex = gTeamInventory_203B460->teamItems[gUnknown_203B2BC->itemIndex].itemIndex; - gUnknown_203B2BC->itemToGive.numItems = gTeamInventory_203B460->teamItems[gUnknown_203B2BC->itemIndex].numItems; + gUnknown_203B2BC->id = sub_801A8AC(); + gUnknown_203B2BC->itemToGive.id = gTeamInventory_203B460->teamItems[gUnknown_203B2BC->id].id; + gUnknown_203B2BC->itemToGive.quantity = gTeamInventory_203B460->teamItems[gUnknown_203B2BC->id].quantity; sub_8099690(0); SetFriendAreaActionMenuState(0xd); break; @@ -286,9 +286,9 @@ void sub_8027BD8(void) { case 10: PlaySound(0x14d); - ShiftItemsDownFrom(gUnknown_203B2BC->itemIndex); + ShiftItemsDownFrom(gUnknown_203B2BC->id); FillInventoryGaps(); - if (gUnknown_203B2BC->item2.itemIndex != ITEM_ID_NOTHING) { + if (gUnknown_203B2BC->item2.id != ITEM_NOTHING) { AddHeldItemToInventory(&gUnknown_203B2BC->item2); } GivePokemonItem(gUnknown_203B2BC->targetPoke,&gUnknown_203B2BC->itemToGive); @@ -327,7 +327,7 @@ void sub_8027CA0(void) case 3: case 4: gUnknown_203B2BC->unk20 = sub_801F194(); - gUnknown_203B2BC->moveID = gUnknown_203B2BC->unk28[gUnknown_203B2BC->unk20].moveID; + gUnknown_203B2BC->moveID = gUnknown_203B2BC->unk28[gUnknown_203B2BC->unk20].id; SetFriendAreaActionMenuState(0x10); break; case 2: @@ -364,10 +364,10 @@ void sub_8027D1C(void) } } -void sub_8027D40(u32 r0, struct HeldItem *heldItem) +void sub_8027D40(u32 r0, struct BulkItem *heldItem) { - struct ItemSlot slot; + struct Item slot; struct unkStruct_8090F58 a3; sub_8008C54(r0); @@ -376,7 +376,7 @@ void sub_8027D40(u32 r0, struct HeldItem *heldItem) a3.unk0 = 0; a3.unk4 = 0; a3.unk8 = 1; - slot.itemFlags = ITEM_FLAG_EXISTS; + slot.flags = ITEM_FLAG_EXISTS; sub_8090E14(gUnknown_202DE58, &slot, &a3); xxx_format_and_draw(4, 3, gUnknown_80DD958, r0, 0); sub_80073E0(r0); @@ -385,10 +385,10 @@ void sub_8027D40(u32 r0, struct HeldItem *heldItem) bool8 sub_8027D9C(struct PokemonStruct *pokeStruct) { u32 var1; - if(!pokeStruct->isLeader) + if(!pokeStruct->isTeamLeader) { var1 = 0; - if(pokeStruct->dungeonLocation.dungeonIndex == 0x41) + if(pokeStruct->dungeonLocation.id == 0x41) var1 = 1; if(var1 != 0) { @@ -406,10 +406,10 @@ bool8 sub_8027DCC(struct PokemonStruct *pokeStruct) u32 var1; if(sub_808D3BC() != pokeStruct) if(sub_808D3F8() != pokeStruct) - if(!pokeStruct->isLeader) + if(!pokeStruct->isTeamLeader) { var1 = 0; - if(pokeStruct->dungeonLocation.dungeonIndex == 0x41) + if(pokeStruct->dungeonLocation.id == 0x41) var1 = 1; if(var1 != 0) { @@ -428,7 +428,7 @@ bool8 sub_8027DCC(struct PokemonStruct *pokeStruct) u32 sub_8027E18(struct PokemonStruct *pokeStruct) { - if(pokeStruct->heldItem.itemIndex == ITEM_ID_NOTHING) + if(pokeStruct->heldItem.id == ITEM_NOTHING) return 0; else if(GetNumberOfFilledInventorySlots() < INVENTORY_SIZE) return 1; @@ -440,16 +440,16 @@ u32 sub_8027E18(struct PokemonStruct *pokeStruct) bool8 sub_8027E4C(struct PokemonStruct *pokeStruct) { - if(!IsNotMoneyOrUsedTMItem(pokeStruct->heldItem.itemIndex)) + if(!IsNotMoneyOrUsedTMItem(pokeStruct->heldItem.id)) return FALSE; else { - if(IsThrowableItem(pokeStruct->heldItem.itemIndex)) + if(IsThrowableItem(pokeStruct->heldItem.id)) { - if(gTeamInventory_203B460->teamStorage[pokeStruct->heldItem.itemIndex] + pokeStruct->heldItem.numItems > 0x3e7) + if(gTeamInventory_203B460->teamStorage[pokeStruct->heldItem.id] + pokeStruct->heldItem.quantity > 0x3e7) return FALSE; } - else if(gTeamInventory_203B460->teamStorage[pokeStruct->heldItem.itemIndex] > 0x3e6) + else if(gTeamInventory_203B460->teamStorage[pokeStruct->heldItem.id] > 0x3e6) { return FALSE; } @@ -465,19 +465,19 @@ void sub_8027EB8(void) PlaySound(0x14d); AddHeldItemToInventory(&gUnknown_203B2BC->item2); FillInventoryGaps(); - gUnknown_203B2BC->item2.itemIndex = ITEM_ID_NOTHING; - gUnknown_203B2BC->item2.numItems = 0; + gUnknown_203B2BC->item2.id = ITEM_NOTHING; + gUnknown_203B2BC->item2.quantity = 0; GivePokemonItem(gUnknown_203B2BC->targetPoke, &gUnknown_203B2BC->item2); SetFriendAreaActionMenuState(6); break; case 2: PlaySound(0x14d); - if(IsThrowableItem(gUnknown_203B2BC->item2.itemIndex)) - gTeamInventory_203B460->teamStorage[gUnknown_203B2BC->item2.itemIndex] += gUnknown_203B2BC->item2.numItems; + if(IsThrowableItem(gUnknown_203B2BC->item2.id)) + gTeamInventory_203B460->teamStorage[gUnknown_203B2BC->item2.id] += gUnknown_203B2BC->item2.quantity; else - gTeamInventory_203B460->teamStorage[gUnknown_203B2BC->item2.itemIndex] += 1; - gUnknown_203B2BC->item2.itemIndex = ITEM_ID_NOTHING; - gUnknown_203B2BC->item2.numItems = 0; + gTeamInventory_203B460->teamStorage[gUnknown_203B2BC->item2.id] += 1; + gUnknown_203B2BC->item2.id = ITEM_NOTHING; + gUnknown_203B2BC->item2.quantity = 0; GivePokemonItem(gUnknown_203B2BC->targetPoke, &gUnknown_203B2BC->item2); SetFriendAreaActionMenuState(7); break; diff --git a/src/friend_list_menu.c b/src/friend_list_menu.c index f56e393b0..a981cbd3f 100644 --- a/src/friend_list_menu.c +++ b/src/friend_list_menu.c @@ -14,13 +14,13 @@ struct unkStruct_203B2B8 u8 unk8; /* 0xA */ s16 pokeSpecies; u32 unkC; - /* 0x10 */ struct HeldItem item1; - /* 0x14 */ struct HeldItem item2; + /* 0x10 */ struct BulkItem item1; + /* 0x14 */ struct BulkItem item2; struct PokemonStruct *unk18; u8 fill1C[0x4]; u32 unk20; /* 0x24 */ u16 moveID; - struct PokemonMove unk28[4]; + struct Move unk28[4]; u8 fill48[0x70 - 0x48]; u32 unk70; u32 unk74; @@ -123,9 +123,9 @@ void sub_80268CC(void) iVar4 = &gRecruitedPokemonRef->pokemon[gUnknown_203B2B8->pokeSpecies]; playerPokemon = GetPlayerPokemonStruct(); - if (!iVar4->isLeader) { - playerPokemon->isLeader = FALSE; - iVar4->isLeader = TRUE; + if (!iVar4->isTeamLeader) { + playerPokemon->isTeamLeader = FALSE; + iVar4->isTeamLeader = TRUE; nullsub_104(); } sub_808ED00(); @@ -145,12 +145,12 @@ void sub_80268CC(void) break; case 0xc: PlaySound(0x14d); - if (gUnknown_203B2B8->item2.itemIndex != ITEM_ID_NOTHING) { + if (gUnknown_203B2B8->item2.id != ITEM_NOTHING) { AddHeldItemToInventory(&gUnknown_203B2B8->item2); } FillInventoryGaps(); - gUnknown_203B2B8->item2.itemIndex = ITEM_ID_NOTHING; - gUnknown_203B2B8->item2.numItems = 0; + gUnknown_203B2B8->item2.id = ITEM_NOTHING; + gUnknown_203B2B8->item2.quantity = 0; GivePokemonItem(gUnknown_203B2B8->pokeSpecies,&gUnknown_203B2B8->item2); nullsub_104(); sub_8026074(0x11); @@ -200,7 +200,7 @@ void sub_8026A94(void) static inline bool8 sub_8026AB0_sub(void) { - if (gUnknown_203B2B8->unk18->dungeonLocation.dungeonIndex == 0x44 || gUnknown_203B2B8->unk18->dungeonLocation.dungeonIndex == 0x45) + if (gUnknown_203B2B8->unk18->dungeonLocation.id == 0x44 || gUnknown_203B2B8->unk18->dungeonLocation.id == 0x45) return TRUE; else return FALSE; @@ -268,14 +268,14 @@ void sub_8026B64(void) { case 3: gUnknown_203B2B8->unkC = sub_801A8AC(); - gUnknown_203B2B8->item1.itemIndex = gTeamInventory_203B460->teamItems[gUnknown_203B2B8->unkC].itemIndex; - gUnknown_203B2B8->item1.numItems = gTeamInventory_203B460->teamItems[gUnknown_203B2B8->unkC].numItems; + gUnknown_203B2B8->item1.id = gTeamInventory_203B460->teamItems[gUnknown_203B2B8->unkC].id; + gUnknown_203B2B8->item1.quantity = gTeamInventory_203B460->teamItems[gUnknown_203B2B8->unkC].quantity; sub_8026074(0x14); break; case 4: gUnknown_203B2B8->unkC = sub_801A8AC(); - gUnknown_203B2B8->item1.itemIndex = gTeamInventory_203B460->teamItems[gUnknown_203B2B8->unkC].itemIndex; - gUnknown_203B2B8->item1.numItems = gTeamInventory_203B460->teamItems[gUnknown_203B2B8->unkC].numItems; + gUnknown_203B2B8->item1.id = gTeamInventory_203B460->teamItems[gUnknown_203B2B8->unkC].id; + gUnknown_203B2B8->item1.quantity = gTeamInventory_203B460->teamItems[gUnknown_203B2B8->unkC].quantity; sub_8099690(0); sub_8026074(0x15); break; @@ -294,7 +294,7 @@ void sub_8026C14(void) u32 nextState; struct unkStruct_8090F58 temp; int menuAction; - struct ItemSlot slot; + struct Item slot; menuAction = 0; sub_801A6E8(0); @@ -308,7 +308,7 @@ void sub_8026C14(void) PlaySound(0x14d); ShiftItemsDownFrom(gUnknown_203B2B8->unkC); FillInventoryGaps(); - if (gUnknown_203B2B8->item2.itemIndex != ITEM_ID_NOTHING) { + if (gUnknown_203B2B8->item2.id != ITEM_NOTHING) { AddHeldItemToInventory(&gUnknown_203B2B8->item2); nextState = 0x10; } @@ -316,7 +316,7 @@ void sub_8026C14(void) temp.unk0 = 0; temp.unk4 = 0; temp.unk8 = 1; - slot.itemFlags = ITEM_FLAG_EXISTS; + slot.flags = ITEM_FLAG_EXISTS; sub_8090E14(gUnknown_202DEA8,&slot,&temp); GivePokemonItem(gUnknown_203B2B8->pokeSpecies,&gUnknown_203B2B8->item1); sub_801A928(); @@ -359,7 +359,7 @@ void sub_8026D0C(void) case 3: case 4: gUnknown_203B2B8->unk20 = sub_801F194(); - gUnknown_203B2B8->moveID = gUnknown_203B2B8->unk28[gUnknown_203B2B8->unk20].moveID; + gUnknown_203B2B8->moveID = gUnknown_203B2B8->unk28[gUnknown_203B2B8->unk20].id; sub_8026074(0x18); break; case 2: @@ -393,9 +393,9 @@ void sub_8026D88(void) } } -void sub_8026DAC(u32 r0, struct HeldItem *item) +void sub_8026DAC(u32 r0, struct BulkItem *item) { - struct ItemSlot slot; + struct Item slot; struct unkStruct_8090F58 temp; sub_8008C54(r0); @@ -404,7 +404,7 @@ void sub_8026DAC(u32 r0, struct HeldItem *item) temp.unk0 = 0; temp.unk4 = 0; temp.unk8 = 1; - slot.itemFlags = ITEM_FLAG_EXISTS; + slot.flags = ITEM_FLAG_EXISTS; sub_8090E14(gUnknown_202DE58, &slot, &temp); xxx_format_and_draw(4, 3, gPartyMenuItemPlaceholder, r0, 0); sub_80073E0(r0); @@ -420,7 +420,7 @@ void sub_8026E08(u32 r0) sub_80073B8(r0); sub_80922B4(gAvailablePokemonNames, gUnknown_203B2B8->unk18->name, POKEMON_NAME_LENGTH); sub_808D930(buffer, gUnknown_203B2B8->unk18->speciesNum); - sprintf_2(buffer1, gUnknown_80DD6E0, gAvailablePokemonNames); + sprintfStatic(buffer1, gUnknown_80DD6E0, gAvailablePokemonNames); x = sub_8008ED0(buffer1); xxx_call_draw_string(((gUnknown_80DD370.unk0c << 3) - x) / 2, 3, buffer1, r0, 0); sub_80073E0(r0); @@ -429,9 +429,9 @@ void sub_8026E08(u32 r0) u32 sub_8026E88(struct PokemonStruct *r0) { u8 iVar3; - if(r0->isLeader == 0) + if(r0->isTeamLeader == 0) { - iVar3 = (r0->dungeonLocation.dungeonIndex == 0x41); + iVar3 = (r0->dungeonLocation.id == 0x41); if(iVar3 != 0) if(!sub_80023E4(0x8)) return 0; @@ -446,9 +446,9 @@ u32 sub_8026EB8(struct PokemonStruct *r0) u8 iVar3; if(sub_808D3BC() != r0) if(sub_808D3F8() != r0) - if(!r0->isLeader) + if(!r0->isTeamLeader) { - iVar3 = (r0->dungeonLocation.dungeonIndex == 0x41); + iVar3 = (r0->dungeonLocation.id == 0x41); if(iVar3 != 0) { if(sub_80023E4(0x8)) @@ -465,7 +465,7 @@ u32 sub_8026EB8(struct PokemonStruct *r0) u32 sub_8026F04(struct PokemonStruct *r0) { - if(r0->heldItem.itemIndex == 0) + if(r0->heldItem.id == 0) return 0; else if(GetNumberOfFilledInventorySlots() < INVENTORY_SIZE) return 1; @@ -477,16 +477,16 @@ u32 sub_8026F04(struct PokemonStruct *r0) bool8 sub_8026F38(struct PokemonStruct *r0) { - if(IsNotMoneyOrUsedTMItem(r0->heldItem.itemIndex)) + if(IsNotMoneyOrUsedTMItem(r0->heldItem.id)) { - if(IsThrowableItem(r0->heldItem.itemIndex)) + if(IsThrowableItem(r0->heldItem.id)) { - if((gTeamInventory_203B460->teamStorage[r0->heldItem.itemIndex] + r0->heldItem.numItems) > 999) + if((gTeamInventory_203B460->teamStorage[r0->heldItem.id] + r0->heldItem.quantity) > 999) return FALSE; } else { - if(gTeamInventory_203B460->teamStorage[r0->heldItem.itemIndex] > 998) + if(gTeamInventory_203B460->teamStorage[r0->heldItem.id] > 998) return FALSE; } } @@ -503,24 +503,24 @@ void sub_8026FA4(void) PlaySound(0x14d); AddHeldItemToInventory(&gUnknown_203B2B8->item2); FillInventoryGaps(); - gUnknown_203B2B8->item2.itemIndex = 0; - gUnknown_203B2B8->item2.numItems = 0; + gUnknown_203B2B8->item2.id = 0; + gUnknown_203B2B8->item2.quantity = 0; GivePokemonItem(gUnknown_203B2B8->pokeSpecies, &gUnknown_203B2B8->item2); sub_8026074(0xA); break; case 2: PlaySound(0x14d); - if(IsThrowableItem(gUnknown_203B2B8->item2.itemIndex)) + if(IsThrowableItem(gUnknown_203B2B8->item2.id)) { - gTeamInventory_203B460->teamStorage[gUnknown_203B2B8->item2.itemIndex] += gUnknown_203B2B8->item2.numItems; + gTeamInventory_203B460->teamStorage[gUnknown_203B2B8->item2.id] += gUnknown_203B2B8->item2.quantity; } else { - gTeamInventory_203B460->teamStorage[gUnknown_203B2B8->item2.itemIndex] += 1; + gTeamInventory_203B460->teamStorage[gUnknown_203B2B8->item2.id] += 1; } - gUnknown_203B2B8->item2.itemIndex = 0; - gUnknown_203B2B8->item2.numItems = 0; + gUnknown_203B2B8->item2.id = 0; + gUnknown_203B2B8->item2.quantity = 0; GivePokemonItem(gUnknown_203B2B8->pokeSpecies, &gUnknown_203B2B8->item2); sub_8026074(0xB); break; diff --git a/src/friend_list_menu_1.c b/src/friend_list_menu_1.c index c4663bb20..218992694 100644 --- a/src/friend_list_menu_1.c +++ b/src/friend_list_menu_1.c @@ -17,12 +17,12 @@ struct unkStruct_203B2B4 u8 unkD; s16 unkE; u32 unk10; - struct HeldItem unk14; + struct BulkItem unk14; u32 unk18; /* 0x1C */ struct PokemonStruct *pokeStruct; u32 unk20; u32 unk24; - /* 0x28 */ struct PokemonMove moves[8]; + /* 0x28 */ struct Move moves[8]; u32 unk68; u32 unk6C; u32 unk70; @@ -69,7 +69,7 @@ extern void sub_8025518(void); extern void sub_8012CAC(struct UnkTextStruct2 *, struct MenuItem *); extern void sub_8025728(void); extern void sub_802591C(void); -extern u32 sub_801B3C0(struct ItemSlot *param_1); +extern u32 sub_801B3C0(struct Item *param_1); extern void sub_8023868(u32, u32, u32, u32); extern void sub_801F1B0(u32, u32); extern void sub_801A5D8(u32,u32, u32, u32); @@ -83,9 +83,9 @@ extern void sub_801BEEC(s16); extern void sub_8023B7C(u32); extern void sub_8023DA4(void); -extern void sub_809401C(struct PokemonMove *, struct PokemonMove *); // TODO convert arg 0 to PokemonMove struct * -extern void sub_801EE10(u32, s16, struct PokemonMove *, u32, u32, u32); -extern void sub_8093560(u32, struct PokemonMove *, u32 *); +extern void sub_809401C(struct Move *, struct Move *); // TODO convert arg 0 to PokemonMove struct * +extern void sub_801EE10(u32, s16, struct Move *, u32, u32, u32); +extern void sub_8093560(u32, struct Move *, u32 *); extern void sub_801F808(u32 *); u32 sub_801602C(u32 r0, u8 *name); extern void sub_8025E68(u32 , u32 *); @@ -214,7 +214,7 @@ void sub_802544C(void) void sub_8025518(void) { u32 uVar3; - struct ItemSlot item; + struct Item item; switch(gUnknown_203B2B4->state) { diff --git a/src/friend_rescue.c b/src/friend_rescue.c index a864e5b74..0538757d7 100644 --- a/src/friend_rescue.c +++ b/src/friend_rescue.c @@ -125,8 +125,8 @@ u32 CreateFriendRescueMenu(void) gUnknown_203B33C->unk530 = 0; gUnknown_203B33C->unk218 = -1; gUnknown_203B33C->unk538 = -1; - CopyYellowSpeciesNametoBuffer(gUnknown_202E5D8, SPECIES_PELIPPER); - monName = GetMonSpecies(SPECIES_PELIPPER); + CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_PELIPPER); + monName = GetMonSpecies(MONSTER_PELIPPER); strcpy(gAvailablePokemonNames,monName); for(counter = 0; counter < 0x36; counter++){ gUnknown_203B33C->passwordBuffer[counter] = 0; diff --git a/src/friend_rescue_1.c b/src/friend_rescue_1.c index 8b2281ca6..9aac852de 100644 --- a/src/friend_rescue_1.c +++ b/src/friend_rescue_1.c @@ -54,7 +54,7 @@ extern u32 sub_801CA08(u32); extern void sub_801CBB8(void); extern void sub_801CB5C(u32); extern void sub_8035CC0(u32 *, u32); -extern void sub_801B3C0(struct ItemSlot *); +extern void sub_801B3C0(struct Item *); extern u32 sub_801B410(void); extern void sub_801B450(void); extern void sub_8035CF4(u32 *, u32, u32); @@ -415,7 +415,7 @@ void sub_8033D74(void) if(sub_80144A4(&temp) == 0) { SetFriendRescueMenuState(0x17); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); } } @@ -812,7 +812,7 @@ void sub_80344A0(void) if(sub_80144A4(&temp) == 0) { SetFriendRescueMenuState(0x2C); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); } } @@ -950,7 +950,7 @@ void sub_8034700(void) if(sub_80144A4(&temp) == 0) { SetFriendRescueMenuState(0x38); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); } } @@ -1024,7 +1024,7 @@ void sub_80347E4(void) if(sub_80144A4(&temp) == 0) { SetFriendRescueMenuState(0x41); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); } } @@ -1057,9 +1057,9 @@ void sub_8034848(void) if(sub_80144A4(&temp) == 0) { MemoryFill8((u8 *)&gUnknown_203B33C->unk41C, 0 , 4); - gUnknown_203B33C->unk41C.itemIndex = ITEM_ID_NOTHING; - gUnknown_203B33C->unk41C.numItems = 1; - gUnknown_203B33C->unk41C.itemFlags = 0; + gUnknown_203B33C->unk41C.id = ITEM_NOTHING; + gUnknown_203B33C->unk41C.quantity = 1; + gUnknown_203B33C->unk41C.flags = 0; if(gUnknown_203B33C->status == 0) { @@ -1087,9 +1087,9 @@ void sub_80348C4(void) if(sub_80144A4(&temp) == 0) { MemoryFill8((u8 *)&gUnknown_203B33C->unk41C, 0 , 4); - gUnknown_203B33C->unk41C.itemIndex = ITEM_ID_NOTHING; - gUnknown_203B33C->unk41C.numItems = 1; - gUnknown_203B33C->unk41C.itemFlags = 0; + gUnknown_203B33C->unk41C.id = ITEM_NOTHING; + gUnknown_203B33C->unk41C.quantity = 1; + gUnknown_203B33C->unk41C.flags = 0; if(gUnknown_203B33C->status == 0) { @@ -1240,9 +1240,9 @@ void sub_8034B2C(void) void sub_8034B88(void) { - gUnknown_203B33C->unk41C.itemIndex = ITEM_ID_NOTHING; - gUnknown_203B33C->unk41C.numItems = 1; - gUnknown_203B33C->unk41C.itemFlags = 0; + gUnknown_203B33C->unk41C.id = ITEM_NOTHING; + gUnknown_203B33C->unk41C.quantity = 1; + gUnknown_203B33C->unk41C.flags = 0; switch(sub_801CA08(1)) { case 2: @@ -1250,12 +1250,12 @@ void sub_8034B88(void) SetFriendRescueMenuState(1); break; case 3: - gUnknown_203B33C->unk41C.itemIndex = sub_801CB24(); + gUnknown_203B33C->unk41C.id = sub_801CB24(); SetFriendRescueMenuState(0x60); break; case 4: gUnknown_203B33C->unk4 = 0x5F; - gUnknown_203B33C->unk41C.itemIndex = sub_801CB24(); + gUnknown_203B33C->unk41C.id = sub_801CB24(); sub_8006518(gUnknown_203B33C->unk3BC); ResetUnusedInputStruct(); sub_800641C(0, 1, 1); @@ -1326,7 +1326,7 @@ void sub_8034D54(void) if(sub_80144A4(&temp) == 0) { SetFriendRescueMenuState(0x65); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); } } @@ -1412,7 +1412,7 @@ void sub_8034F18(void) if(sub_80144A4(&temp) == 0) { SetFriendRescueMenuState(0x65); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); } } @@ -1423,7 +1423,7 @@ void sub_8034F38(void) if(sub_80144A4(&temp) == 0) { SetFriendRescueMenuState(0x71); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); } } @@ -1456,9 +1456,9 @@ void sub_8034F88(void) { case 6: temp2 = sub_8095228(gUnknown_203B33C->unk218); - if(gUnknown_203B33C->unk41C.itemIndex != ITEM_ID_NOTHING) + if(gUnknown_203B33C->unk41C.id != ITEM_NOTHING) temp2->unk20 = gUnknown_203B33C->unk41C; - gTeamInventory_203B460->teamStorage[gUnknown_203B33C->unk41C.itemIndex]--; + gTeamInventory_203B460->teamStorage[gUnknown_203B33C->unk41C.id]--; SetFriendRescueMenuState(0x75); break; case 7: @@ -1478,7 +1478,7 @@ void sub_8035018(void) if(sub_80144A4(&temp) == 0) { SetFriendRescueMenuState(0x76); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); } } @@ -1658,7 +1658,7 @@ void sub_8035210(void) if(gUnknown_203B33C->unk528 == 0x13) { temp2 = sub_8095228(sub_80953D4(5)); - if(temp2->unk20.itemIndex != ITEM_ID_NOTHING) + if(temp2->unk20.id != ITEM_NOTHING) SetFriendRescueMenuState(0x53); else SetFriendRescueMenuState(0x55); @@ -1701,8 +1701,8 @@ void sub_80352A4(void) if ( sub_802F298() == 3) { sub_802F2C0(); - CopyYellowSpeciesNametoBuffer(gUnknown_202E5D8, SPECIES_PELIPPER); - monName = GetMonSpecies(SPECIES_PELIPPER); + CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_PELIPPER); + monName = GetMonSpecies(MONSTER_PELIPPER); strcpy(gAvailablePokemonNames, monName); uVar1 = sub_809539C(6, gUnknown_203B33C->unk420); sub_8095240(uVar1); diff --git a/src/gulpin_shop.c b/src/gulpin_shop.c index 8dfa0d9fc..d80151481 100644 --- a/src/gulpin_shop.c +++ b/src/gulpin_shop.c @@ -21,7 +21,7 @@ extern void sub_801EA28(); extern void sub_8012CAC(struct UnkTextStruct2 *, struct MenuItem *); extern void sub_801EBC4(); -u32 DisplayGulpinDialogueSprite(s32 param_1,s16 pokeSpecies,struct PokemonMove *param_3) +u32 DisplayGulpinDialogueSprite(s32 param_1,s16 pokeSpecies,struct Move *param_3) { struct OpenedFile *faceFile; s32 species_32; @@ -32,7 +32,7 @@ u32 DisplayGulpinDialogueSprite(s32 param_1,s16 pokeSpecies,struct PokemonMove * gUnknown_203B26C->unk0 = param_1; gUnknown_203B26C->speciesNum = species_32; gUnknown_203B26C->unk10 = param_3; - gUnknown_203B26C->unk1C = param_3[4].moveID; + gUnknown_203B26C->unk1C = param_3[4].id; if (param_1 == 0) { gUnknown_203B26C->unk128 = &gUnknown_203B26C->faceFile; @@ -40,7 +40,7 @@ u32 DisplayGulpinDialogueSprite(s32 param_1,s16 pokeSpecies,struct PokemonMove * else { gUnknown_203B26C->unk128 = NULL; } - faceFile = GetDialogueSpriteDataPtr(SPECIES_GULPIN); + faceFile = GetDialogueSpriteDataPtr(MONSTER_GULPIN); gUnknown_203B26C->faceFile = faceFile; gUnknown_203B26C->faceData = faceFile->data; diff --git a/src/gulpin_shop_1.c b/src/gulpin_shop_1.c index e9468a8c1..29aecbea7 100644 --- a/src/gulpin_shop_1.c +++ b/src/gulpin_shop_1.c @@ -9,14 +9,14 @@ extern struct unkStruct_203B26C *gUnknown_203B26C; extern void UpdateGulpinShopState(u32); -extern void sub_8093CF8(struct PokemonMove *, u32); +extern void sub_8093CF8(struct Move *, u32); extern void sub_801F214(void); extern s32 sub_80144A4(s32 *); extern u32 sub_801F890(void); extern void sub_801F8D0(void); extern u8 sub_8012FD8(u32 *); extern void sub_8013114(u32 *, u32 *); -extern u8 sub_80934B0(u32, struct PokemonMove *); +extern u8 sub_80934B0(u32, struct Move *); extern void PlaySound(u32); extern void sub_801EF38(u32); diff --git a/src/items.c b/src/items.c index a1ab3ba6e..fb4fc94d7 100644 --- a/src/items.c +++ b/src/items.c @@ -38,9 +38,9 @@ extern s16 gTypeGummiIQBoost[0x12][NUMBER_OF_GUMMIS]; extern u8 gInvalidItemIDs[0x10]; EWRAM_DATA struct OpenedFile *gItemParametersFile; -EWRAM_DATA struct Item *gItemParametersData; +EWRAM_DATA struct ItemDataEntry *gItemParametersData; -extern u8 GetItemType(u8); +extern u8 GetItemCategory(u8); extern u32 GetItemUnkThrow(u8, u32); extern s32 sub_8090FEC(s32 a1, u8* a2, u8 a3); extern void sub_80073B8(u32); @@ -56,7 +56,7 @@ void LoadItemParameters(void) { gTeamInventory_203B460 = &gUnknown_20389A8; gItemParametersFile = OpenFileAndGetFileDataPtr(gItemParaFileName,&gSystemFileArchive); - gItemParametersData = (struct Item *) gItemParametersFile->data; + gItemParametersData = (struct ItemDataEntry *) gItemParametersFile->data; } struct TeamInventory *GetMoneyItemsInfo(void) @@ -70,7 +70,7 @@ void InitializeMoneyItems(void) for(i = 0; i < INVENTORY_SIZE; i++) { - gTeamInventory_203B460->teamItems[i].itemFlags = 0; + gTeamInventory_203B460->teamItems[i].flags = 0; } for(i = 0; i < STORAGE_SIZE; i++) @@ -94,221 +94,221 @@ s32 GetNumberOfFilledInventorySlots(void) count = 0; for(i = 0; i < INVENTORY_SIZE; i++) { - if ((gTeamInventory_203B460->teamItems[i].itemFlags & ITEM_FLAG_EXISTS) != 0) { + if ((gTeamInventory_203B460->teamItems[i].flags & ITEM_FLAG_EXISTS) != 0) { count++; } } return count; } -bool8 IsThrowableItem(u8 itemIndex) +bool8 IsThrowableItem(u8 id) { - if ((GetItemType(itemIndex) != ITEM_TYPE_THROWABLE) && (GetItemType(itemIndex) != ITEM_TYPE_ROCK)) + if ((GetItemCategory(id) != CATEGORY_THROWN_LINE) && (GetItemCategory(id) != CATEGORY_THROWN_ARC)) return FALSE; else return TRUE; } -void xxx_init_itemslot_8090A8C(struct ItemSlot *slot, u8 itemIndex, u8 param_3) +void xxx_init_itemslot_8090A8C(struct Item *slot, u8 id, u8 param_3) { u32 uVar3; u32 uVar4; - if (itemIndex != ITEM_ID_NOTHING) { - slot->itemFlags = ITEM_FLAG_EXISTS; - slot->itemIndex = itemIndex; - if (IsThrowableItem(itemIndex)) { - uVar3 = GetItemUnkThrow(itemIndex, 0); - uVar4 = GetItemUnkThrow(itemIndex, 1); - slot->numItems = RandomRange(uVar3, uVar4); + if (id != ITEM_NOTHING) { + slot->flags = ITEM_FLAG_EXISTS; + slot->id = id; + if (IsThrowableItem(id)) { + uVar3 = GetItemUnkThrow(id, 0); + uVar4 = GetItemUnkThrow(id, 1); + slot->quantity = RandRange(uVar3, uVar4); } - else if (GetItemType(itemIndex) == ITEM_TYPE_MONEY) - slot->numItems = 1; + else if (GetItemCategory(id) == CATEGORY_POKE) + slot->quantity = 1; else - slot->numItems = 0; + slot->quantity = 0; if (param_3 != 0) - slot->itemFlags |= ITEM_FLAG_STICKY; + slot->flags |= ITEM_FLAG_STICKY; } else { - slot->itemFlags = 0; - slot->itemIndex = ITEM_ID_NOTHING; - slot->numItems = 0; + slot->flags = 0; + slot->id = ITEM_NOTHING; + slot->quantity = 0; } } -void xxx_init_helditem_8090B08(struct HeldItem *held, u8 itemIndex) +void xxx_init_helditem_8090B08(struct BulkItem *held, u8 id) { u32 uVar2; u32 uVar3; - if (itemIndex != ITEM_ID_NOTHING) { - held->itemIndex = itemIndex; - if (IsThrowableItem(itemIndex)) { - uVar2 = GetItemUnkThrow(itemIndex,0); - uVar3 = GetItemUnkThrow(itemIndex,1); - held->numItems = RandomRange(uVar2, uVar3); + if (id != ITEM_NOTHING) { + held->id = id; + if (IsThrowableItem(id)) { + uVar2 = GetItemUnkThrow(id,0); + uVar3 = GetItemUnkThrow(id,1); + held->quantity = RandRange(uVar2, uVar3); } - else if (GetItemType(itemIndex) == ITEM_TYPE_MONEY) - held->numItems = 1; + else if (GetItemCategory(id) == CATEGORY_POKE) + held->quantity = 1; else - held->numItems = 0; + held->quantity = 0; } else { - held->itemIndex = 0; - held->numItems = 0; + held->id = 0; + held->quantity = 0; } } -void HeldItemToSlot(struct ItemSlot *slot, struct HeldItem *held) +void HeldItemToSlot(struct Item *slot, struct BulkItem *held) { u8 is_throwable; - if(held->itemIndex != ITEM_ID_NOTHING) + if(held->id != ITEM_NOTHING) { - slot->itemFlags = ITEM_FLAG_EXISTS; - slot->itemIndex = held->itemIndex; - is_throwable = IsThrowableItem(slot->itemIndex); - if(is_throwable != 0 || GetItemType(slot->itemIndex) == ITEM_TYPE_MONEY) - slot->numItems = held->numItems; - else if(slot->itemIndex == ITEM_ID_USED_TM) - slot->numItems = held->numItems; + slot->flags = ITEM_FLAG_EXISTS; + slot->id = held->id; + is_throwable = IsThrowableItem(slot->id); + if(is_throwable != 0 || GetItemCategory(slot->id) == CATEGORY_POKE) + slot->quantity = held->quantity; + else if(slot->id == ITEM_TM_USED_TM) + slot->quantity = held->quantity; else - slot->numItems = 0; + slot->quantity = 0; } else { - slot->itemIndex = ITEM_ID_NOTHING; - slot->numItems = 0; - slot->itemFlags = 0; + slot->id = ITEM_NOTHING; + slot->quantity = 0; + slot->flags = 0; } } -void SlotToHeldItem(struct HeldItem *held,struct ItemSlot *slot) +void SlotToHeldItem(struct BulkItem *held,struct Item *slot) { - if ((slot->itemFlags & ITEM_FLAG_EXISTS) != 0) { - held->itemIndex = slot->itemIndex; - held->numItems = slot->numItems; + if ((slot->flags & ITEM_FLAG_EXISTS) != 0) { + held->id = slot->id; + held->quantity = slot->quantity; } else { - held->itemIndex = ITEM_ID_NOTHING; + held->id = ITEM_NOTHING; } } -u8 GetItemType(u8 index) +u8 GetItemCategory(u8 index) { - return gItemParametersData[index].type; + return gItemParametersData[index].category; } -s32 GetStackBuyValue(struct ItemSlot *param_1) +s32 GetStackBuyValue(struct Item *param_1) { - if (param_1->itemIndex == ITEM_ID_POKE) { + if (param_1->id == ITEM_POKE) { return GetMoneyValue(param_1); } else { - if (IsThrowableItem(param_1->itemIndex)) { - return gItemParametersData[param_1->itemIndex].buyPrice * param_1->numItems; + if (IsThrowableItem(param_1->id)) { + return gItemParametersData[param_1->id].buyPrice * param_1->quantity; } else { - return gItemParametersData[param_1->itemIndex].buyPrice; + return gItemParametersData[param_1->id].buyPrice; } } } -s32 GetStackSellValue(struct ItemSlot *param_1) +s32 GetStackSellValue(struct Item *param_1) { - if (param_1->itemIndex == ITEM_ID_POKE) { + if (param_1->id == ITEM_POKE) { return GetMoneyValue(param_1); } else { - if (IsThrowableItem(param_1->itemIndex)) { - return gItemParametersData[param_1->itemIndex].sellPrice * param_1->numItems; + if (IsThrowableItem(param_1->id)) { + return gItemParametersData[param_1->id].sellPrice * param_1->quantity; } else { - return gItemParametersData[param_1->itemIndex].sellPrice; + return gItemParametersData[param_1->id].sellPrice; } } } -s32 GetStackBuyPrice(struct ItemSlot *param_1) +s32 GetStackBuyPrice(struct Item *param_1) { - if (!CanSellItem(param_1->itemIndex)) { + if (!CanSellItem(param_1->id)) { return 0; } else { - if (IsThrowableItem(param_1->itemIndex)) { - return gItemParametersData[param_1->itemIndex].buyPrice * param_1->numItems; + if (IsThrowableItem(param_1->id)) { + return gItemParametersData[param_1->id].buyPrice * param_1->quantity; } else { - return gItemParametersData[param_1->itemIndex].buyPrice; + return gItemParametersData[param_1->id].buyPrice; } } } -s32 GetStackSellPrice(struct ItemSlot *param_1) +s32 GetStackSellPrice(struct Item *param_1) { - if (!CanSellItem(param_1->itemIndex)) { + if (!CanSellItem(param_1->id)) { return 0; } else { - if (IsThrowableItem(param_1->itemIndex)) { - return gItemParametersData[param_1->itemIndex].sellPrice * param_1->numItems; + if (IsThrowableItem(param_1->id)) { + return gItemParametersData[param_1->id].sellPrice * param_1->quantity; } else { - return gItemParametersData[param_1->itemIndex].sellPrice; + return gItemParametersData[param_1->id].sellPrice; } } } -s32 GetItemBuyPrice(u8 itemIndex) +s32 GetItemBuyPrice(u8 id) { - return gItemParametersData[itemIndex].buyPrice; + return gItemParametersData[id].buyPrice; } -s32 GetItemSellPrice(u8 itemIndex) +s32 GetItemSellPrice(u8 id) { - return gItemParametersData[itemIndex].sellPrice; + return gItemParametersData[id].sellPrice; } -s32 GetItemOrder(u8 itemIndex) +s32 GetItemOrder(u8 id) { - return gItemParametersData[itemIndex].order; + return gItemParametersData[id].order; } -u8 GetItemPalette(u8 itemIndex) +u8 GetItemPalette(u8 id) { - return gItemParametersData[itemIndex].palette; + return gItemParametersData[id].palette; } -u32 GetItemCategory(u8 itemIndex) +u32 GetItemActionType(u8 id) { - return gItemParametersData[itemIndex].category; + return gItemParametersData[id].actionType; } -u32 GetItemUnkThrow(u8 itemIndex, u32 r1) +u32 GetItemUnkThrow(u8 id, u32 r1) { - return gItemParametersData[itemIndex].unkThrow1B[r1]; + return gItemParametersData[id].unkThrow1B[r1]; } -u8 *GetItemDescription(u8 itemIndex) +u8 *GetItemDescription(u8 id) { - return gItemParametersData[itemIndex].descriptionPointer; + return gItemParametersData[id].description; } -bool8 GetItemAIFlag(u8 itemIndex, u32 r1) +bool8 GetItemAIFlag(u8 id, u32 r1) { - return gItemParametersData[itemIndex].aiFlags[r1]; + return gItemParametersData[id].aiFlags[r1]; } -void sub_8090DC4(void* param_1,u8 itemIndex, struct unkStruct_8090F58* param_3) +void sub_8090DC4(void* param_1,u8 id, struct unkStruct_8090F58* param_3) { char acStack104 [80]; - struct ItemSlot unkItem; + struct Item unkItem; - strncpy(acStack104,gItemParametersData[itemIndex].namePointer,0x50); - xxx_init_itemslot_8090A8C(&unkItem,itemIndex,0); - unkItem.numItems = 1; + strncpy(acStack104,gItemParametersData[id].name,0x50); + xxx_init_itemslot_8090A8C(&unkItem,id,0); + unkItem.quantity = 1; sub_8090F58(param_1,acStack104,&unkItem,param_3); } @@ -318,7 +318,7 @@ extern const u8 gUnknown_810977C[]; extern const u8 gUnknown_8109784[]; extern const u8 gUnknown_810978C[]; -void sub_8090E14(u8* ext_buffer, struct ItemSlot* slot, struct unkStruct_8090F58* a3) { +void sub_8090E14(u8* ext_buffer, struct Item* slot, struct unkStruct_8090F58* a3) { s32 unk8 = 0; u8 buffer[80]; @@ -326,42 +326,42 @@ void sub_8090E14(u8* ext_buffer, struct ItemSlot* slot, struct unkStruct_8090F58 unk8 = a3->unk8 != 0; } - if (GetItemType(slot->itemIndex) == ITEM_TYPE_THROWABLE) { + if (GetItemCategory(slot->id) == CATEGORY_THROWN_LINE) { // I feel like these labels might actually be there... if (unk8) { - sprintf_2(buffer, gUnknown_8109770, gItemParametersData[slot->itemIndex].namePointer, slot->numItems); + sprintfStatic(buffer, gUnknown_8109770, gItemParametersData[slot->id].name, slot->quantity); } else { - sprintf_2(buffer, gUnknown_8109778, gItemParametersData[slot->itemIndex].namePointer); + sprintfStatic(buffer, gUnknown_8109778, gItemParametersData[slot->id].name); } } - else if (GetItemType(slot->itemIndex) == ITEM_TYPE_ROCK) { + else if (GetItemCategory(slot->id) == CATEGORY_THROWN_ARC) { if (unk8) { - sprintf_2(buffer, gUnknown_8109770, gItemParametersData[slot->itemIndex].namePointer, slot->numItems); + sprintfStatic(buffer, gUnknown_8109770, gItemParametersData[slot->id].name, slot->quantity); } else { - sprintf_2(buffer, gUnknown_8109778, gItemParametersData[slot->itemIndex].namePointer); + sprintfStatic(buffer, gUnknown_8109778, gItemParametersData[slot->id].name); } } - else if (slot->itemIndex == ITEM_ID_POKE) { - sprintf_2(buffer, gUnknown_810977C, GetMoneyValue(slot)); + else if (slot->id == ITEM_POKE) { + sprintfStatic(buffer, gUnknown_810977C, GetMoneyValue(slot)); } else { - strncpy(buffer, gItemParametersData[slot->itemIndex].namePointer, 80); + strncpy(buffer, gItemParametersData[slot->id].name, 80); } - if (slot->itemFlags & ITEM_FLAG_STICKY) { - sprintf_2(ext_buffer, gUnknown_8109784, buffer); + if (slot->flags & ITEM_FLAG_STICKY) { + sprintfStatic(ext_buffer, gUnknown_8109784, buffer); strncpy(buffer, ext_buffer, 80); } if (a3) { - if (a3->unk4 && (slot->itemFlags & ITEM_FLAG_SET)) { - sprintf_2(ext_buffer, gUnknown_810978C, buffer); + if (a3->unk4 && (slot->flags & ITEM_FLAG_SET)) { + sprintfStatic(ext_buffer, gUnknown_810978C, buffer); strncpy(buffer, ext_buffer, 80); } if ((*(u32*)a3 == 1) || (*(u32*)a3 == 3)) { - if (slot->itemFlags & ITEM_FLAG_FOR_SALE) { + if (slot->flags & ITEM_FLAG_IN_SHOP) { sub_8090F58(ext_buffer, buffer, slot, a3); return; } @@ -378,7 +378,7 @@ void sub_8090E14(u8* ext_buffer, struct ItemSlot* slot, struct unkStruct_8090F58 return; } -void sub_8090F58(void* a1, u8 *a2, struct ItemSlot *slot, struct unkStruct_8090F58* a4) { +void sub_8090F58(void* a1, u8 *a2, struct Item *slot, struct unkStruct_8090F58* a4) { u32 unk0; s32 value; u8 buffer[40]; @@ -411,11 +411,11 @@ void sub_8090F58(void* a1, u8 *a2, struct ItemSlot *slot, struct unkStruct_8090F if (a4->unk6) { sub_8090FEC(value, buffer, 1); - sprintf_2(a1, gUnknown_8109794, a2, a4->unk6, buffer); + sprintfStatic(a1, gUnknown_8109794, a2, a4->unk6, buffer); } else { sub_8090FEC(value, buffer, 0); - sprintf_2(a1, gUnknown_81097A4, a2, buffer); + sprintfStatic(a1, gUnknown_81097A4, a2, buffer); } } @@ -469,7 +469,7 @@ void FillInventoryGaps() do { while (slot_checking < INVENTORY_SIZE) { - if (slot_checking[gTeamInventory_203B460->teamItems].itemFlags & ITEM_FLAG_EXISTS) { + if (slot_checking[gTeamInventory_203B460->teamItems].flags & ITEM_FLAG_EXISTS) { break; } // find next empty slot @@ -490,56 +490,56 @@ void FillInventoryGaps() // clear out the rest of the slots for (; last_filled < INVENTORY_SIZE; last_filled++) { - struct ItemSlot *slot; + struct Item *slot; #ifdef NONMATCHING slot = &gTeamInventory_203B460->teamItems[last_filled]; #else size_t offs = last_filled << 2; size_t _slot = offs; _slot += (size_t)gTeamInventory_203B460->teamItems; - slot = (struct ItemSlot*)_slot; // &gTeamInventory_203B460->teamItems[end]; + slot = (struct Item*)_slot; // &gTeamInventory_203B460->teamItems[end]; #endif - slot->itemIndex = 0; - slot->numItems = 0; - slot->itemFlags = 0; + slot->id = 0; + slot->quantity = 0; + slot->flags = 0; } } -s32 FindItemInInventory(u8 itemIndex) +s32 FindItemInInventory(u8 id) { s32 i; for (i = 0; i < INVENTORY_SIZE; i++) { - if ((gTeamInventory_203B460->teamItems[i].itemFlags & ITEM_FLAG_EXISTS) && (gTeamInventory_203B460->teamItems[i].itemIndex == itemIndex)) { + if ((gTeamInventory_203B460->teamItems[i].flags & ITEM_FLAG_EXISTS) && (gTeamInventory_203B460->teamItems[i].id == id)) { return i; } } return -1; } -s32 GetItemCountInInventory(u8 _itemIndex) +s32 GetItemCountInInventory(u8 _id) { #ifdef NONMATCHING s32 count = 0; s32 i; for (i = 0; i < INVENTORY_SIZE; i++) { - if ((gTeamInventory_203B460->teamItems[i].unk0 & 1) && (gTeamInventory_203B460->teamItems[i].itemIndex == _itemIndex)) { + if ((gTeamInventory_203B460->teamItems[i].unk0 & 1) && (gTeamInventory_203B460->teamItems[i].id == _id)) { count++; } } return count; #else // have to do hacky stuff to fix initialization order of r6 and r2 - u32 itemIndex = _itemIndex; + u32 id = _id; s32 count = 0; - struct ItemSlot *slot = gTeamInventory_203B460->teamItems; + struct Item *slot = gTeamInventory_203B460->teamItems; s32 one = 1; s32 i = 19; do { - register u32 unk0 asm("r1") = slot->itemFlags; + register u32 unk0 asm("r1") = slot->flags; u32 bottom_bit = one; bottom_bit &= unk0; - if (bottom_bit && (slot->itemIndex == itemIndex)) { + if (bottom_bit && (slot->id == id)) { count++; } slot++; @@ -548,18 +548,18 @@ s32 GetItemCountInInventory(u8 _itemIndex) #endif } -s32 GetItemPossessionCount(u8 itemIndex) +s32 GetItemPossessionCount(u8 id) { - s32 item_count = GetItemCountInInventory(itemIndex); + s32 item_count = GetItemCountInInventory(id); s32 i = 0; struct unkStruct_203B45C *_gRecruitedPokemonRef = gRecruitedPokemonRef; - for (i = 0; i < NUM_SPECIES; i++) { + for (i = 0; i < NUM_MONSTERS; i++) { struct PokemonStruct* pokemon = &_gRecruitedPokemonRef->pokemon[i]; if ((1 & pokemon->unk0) && ((pokemon->unk0 >> 1) % 2) - && (pokemon->heldItem.itemIndex != ITEM_ID_NOTHING) - && (pokemon->heldItem.itemIndex == itemIndex)) { + && (pokemon->heldItem.id != ITEM_NOTHING) + && (pokemon->heldItem.id == id)) { item_count++; } } @@ -572,39 +572,39 @@ void ShiftItemsDownFrom(s32 start) for (i = start, j = start + 1; i < INVENTORY_SIZE - 1; i++, j++) { gTeamInventory_203B460->teamItems[i] = gTeamInventory_203B460->teamItems[j]; } - gTeamInventory_203B460->teamItems[INVENTORY_SIZE - 1].itemIndex = 0; - gTeamInventory_203B460->teamItems[INVENTORY_SIZE - 1].itemFlags = 0; + gTeamInventory_203B460->teamItems[INVENTORY_SIZE - 1].id = 0; + gTeamInventory_203B460->teamItems[INVENTORY_SIZE - 1].flags = 0; } void ClearItemSlotAt(u32 index) { - gTeamInventory_203B460->teamItems[index].itemIndex = ITEM_ID_NOTHING; - gTeamInventory_203B460->teamItems[index].itemFlags = 0; + gTeamInventory_203B460->teamItems[index].id = ITEM_NOTHING; + gTeamInventory_203B460->teamItems[index].flags = 0; } -bool8 sub_809124C(u8 itemIndex, u8 param_3) +bool8 sub_809124C(u8 id, u8 param_3) { - struct ItemSlot temp; - xxx_init_itemslot_8090A8C(&temp, itemIndex, param_3); + struct Item temp; + xxx_init_itemslot_8090A8C(&temp, id, param_3); return AddItemToInventory(&temp); } -bool8 AddHeldItemToInventory(struct HeldItem* slot) +bool8 AddHeldItemToInventory(struct BulkItem* slot) { - struct ItemSlot temp; + struct Item temp; HeldItemToSlot(&temp, slot); return AddItemToInventory(&temp); } -bool8 AddItemToInventory(const struct ItemSlot* slot) +bool8 AddItemToInventory(const struct Item* slot) { s32 i; // try to add item to inventory, return 1 if failed for (i = 0; i < INVENTORY_SIZE; i++) { - UNUSED struct ItemSlot* current = &gTeamInventory_203B460->teamItems[i]; - if (!(i[gTeamInventory_203B460->teamItems].itemFlags & ITEM_FLAG_EXISTS)) { + UNUSED struct Item* current = &gTeamInventory_203B460->teamItems[i]; + if (!(i[gTeamInventory_203B460->teamItems].flags & ITEM_FLAG_EXISTS)) { gTeamInventory_203B460->teamItems[i] = *slot; return FALSE; } @@ -620,15 +620,15 @@ void ConvertMoneyItemToMoney() UNUSED struct TeamInventory * _gTeamInventory_203B460 = gTeamInventory_203B460; UNUSED size_t offs = offsetof(struct TeamInventory, teamItems[i]); - struct ItemSlot* current_slot = &gTeamInventory_203B460->teamItems[i]; - if ((current_slot->itemFlags & ITEM_FLAG_EXISTS) && (current_slot->itemIndex == ITEM_ID_POKE)) { + struct Item* current_slot = &gTeamInventory_203B460->teamItems[i]; + if ((current_slot->flags & ITEM_FLAG_EXISTS) && (current_slot->id == ITEM_POKE)) { u32 result; result = GetMoneyValue(current_slot); AddToTeamMoney(result); - current_slot->itemIndex = 0; - current_slot->numItems = 0; - current_slot->itemFlags = 0; + current_slot->id = 0; + current_slot->quantity = 0; + current_slot->flags = 0; } } while (++i < INVENTORY_SIZE); FillInventoryGaps(); @@ -638,25 +638,25 @@ void ConvertMoneyItemToMoney() s32 lowest_index = -1; UNUSED size_t offs = offsetof(struct TeamInventory, teamItems[i]); - bool8 item_occupied = i[gTeamInventory_203B460->teamItems].itemFlags & ITEM_FLAG_EXISTS; + bool8 item_occupied = i[gTeamInventory_203B460->teamItems].flags & ITEM_FLAG_EXISTS; s32 next = i + 1; if (item_occupied) { - s32 lowest_order = GetItemOrder(gTeamInventory_203B460->teamItems[i].itemIndex); + s32 lowest_order = GetItemOrder(gTeamInventory_203B460->teamItems[i].id); s32 j; // find next lowest for (j = next; j < INVENTORY_SIZE; j++) { UNUSED size_t offs = offsetof(struct TeamInventory, teamItems[j]); - if ((j[gTeamInventory_203B460->teamItems].itemFlags & ITEM_FLAG_EXISTS) && (lowest_order > GetItemOrder(gTeamInventory_203B460->teamItems[j].itemIndex))) { + if ((j[gTeamInventory_203B460->teamItems].flags & ITEM_FLAG_EXISTS) && (lowest_order > GetItemOrder(gTeamInventory_203B460->teamItems[j].id))) { lowest_index = j; - lowest_order = GetItemOrder(gTeamInventory_203B460->teamItems[j].itemIndex); + lowest_order = GetItemOrder(gTeamInventory_203B460->teamItems[j].id); } } if (lowest_index >= 0) { // swap the slots - struct ItemSlot current = gTeamInventory_203B460->teamItems[i]; + struct Item current = gTeamInventory_203B460->teamItems[i]; gTeamInventory_203B460->teamItems[i] = gTeamInventory_203B460->teamItems[lowest_index]; gTeamInventory_203B460->teamItems[lowest_index] = current; } @@ -681,28 +681,28 @@ void AddToTeamMoney(s32 amount) gTeamInventory_203B460->teamMoney = clamped_money; } -u16 GetItemMove(u8 index) +u16 GetItemMoveID(u8 index) { - return gItemParametersData[index].move; + return gItemParametersData[index].moveID; } -u32 sub_80913E0(struct ItemSlot* slot, u32 a2, struct subStruct_203B240 ** a3) +u32 sub_80913E0(struct Item* slot, u32 a2, struct subStruct_203B240 ** a3) { u8 buffer88[88]; // some struct - GetItemDescription(slot->itemIndex); - sub_8090DC4(buffer88, slot->itemIndex, 0); - if (slot->itemIndex == ITEM_ID_USED_TM) { + GetItemDescription(slot->id); + sub_8090DC4(buffer88, slot->id, 0); + if (slot->id == ITEM_TM_USED_TM) { // empty TM - sub_8090DC4(&gUnknown_202DE58, (u8)(slot->numItems + 125), 0); + sub_8090DC4(&gUnknown_202DE58, (u8)(slot->quantity + 125), 0); } sub_80073B8(a2); xxx_format_and_draw(16, 0, buffer88, a2, 0); - xxx_format_and_draw(8, 24, GetItemDescription(slot->itemIndex), a2, 0); - if (GetItemType(slot->itemIndex) == ITEM_TYPE_TM) { - struct PokemonMove *buffer8 = (struct PokemonMove*) (buffer88 + 0x50); // field in struct - u16 move = GetItemMove(slot->itemIndex); + xxx_format_and_draw(8, 24, GetItemDescription(slot->id), a2, 0); + if (GetItemCategory(slot->id) == CATEGORY_TMS_HMS) { + struct Move *buffer8 = (struct Move*) (buffer88 + 0x50); // field in struct + u16 move = GetItemMoveID(slot->id); u8 moves_data; const u8* typestring; u32 result; @@ -713,13 +713,13 @@ u32 sub_80913E0(struct ItemSlot* slot, u32 a2, struct subStruct_203B240 ** a3) moves_data = GetMoveType(buffer8); typestring = GetUnformattedTypeString(moves_data); xxx_format_and_draw(64, 84, typestring, a2, 0); - result = GetMoveMaxPP(buffer8); + result = GetMoveBasePP(buffer8); gUnknown_202DE30 = result; xxx_format_and_draw(128, 84, gPtrPPD0Text, a2, 0); } sub_80073E0(a2); - return sub_8097DF0(GetItemDescription(slot->itemIndex), a3); + return sub_8097DF0(GetItemDescription(slot->id), a3); } bool8 CanSellItem(u32 id) @@ -728,12 +728,12 @@ bool8 CanSellItem(u32 id) id = (u8)id; id_ = id; - if((id != ITEM_ID_NOTHING) - && (id != ITEM_ID_POKE) - && (id != ITEM_ID_ROCK_PART) - && (id != ITEM_ID_ICE_PART) - && (id != ITEM_ID_STEEL_PART) - && (id != ITEM_ID_MUSIC_BOX) + if((id != ITEM_NOTHING) + && (id != ITEM_POKE) + && (id != ITEM_ROCK_PART) + && (id != ITEM_ICE_PART) + && (id != ITEM_STEEL_PART) + && (id != ITEM_MUSIC_BOX) && (GetItemSellPrice(id_)) && (GetItemBuyPrice(id_))) { return TRUE; @@ -743,13 +743,13 @@ bool8 CanSellItem(u32 id) bool8 IsNotMoneyOrUsedTMItem(u8 id) { - if (id == ITEM_ID_NOTHING) { + if (id == ITEM_NOTHING) { return FALSE; } - else if (id == ITEM_ID_POKE) { + else if (id == ITEM_POKE) { return FALSE; } - else if (id == ITEM_ID_USED_TM) { + else if (id == ITEM_TM_USED_TM) { return FALSE; } return TRUE; @@ -757,22 +757,22 @@ bool8 IsNotMoneyOrUsedTMItem(u8 id) bool8 IsNotSpecialItem(u8 id) { - if (id == ITEM_ID_NOTHING) { + if (id == ITEM_NOTHING) { return FALSE; } - else if (id == ITEM_ID_POKE) { + else if (id == ITEM_POKE) { return FALSE; } - else if (id == ITEM_ID_ROCK_PART) { + else if (id == ITEM_ROCK_PART) { return FALSE; } - else if (id == ITEM_ID_ICE_PART) { + else if (id == ITEM_ICE_PART) { return FALSE; } - else if (id == ITEM_ID_STEEL_PART) { + else if (id == ITEM_STEEL_PART) { return FALSE; } - else if (id == ITEM_ID_MUSIC_BOX) { + else if (id == ITEM_MUSIC_BOX) { return FALSE; } return TRUE; @@ -780,7 +780,7 @@ bool8 IsNotSpecialItem(u8 id) bool8 IsEdibleItem(u8 id) { - if (!((GetItemType(id) == ITEM_TYPE_BERRY_SEED) || (GetItemType(id) == ITEM_TYPE_APPLE_GUMMI))) { + if (!((GetItemCategory(id) == CATEGORY_BERRIES_SEEDS_VITAMINS) || (GetItemCategory(id) == CATEGORY_FOOD_GUMMIES))) { return FALSE; } return TRUE; @@ -788,56 +788,56 @@ bool8 IsEdibleItem(u8 id) bool8 IsHMItem(u8 id) { - if (id == ITEM_ID_CUT) { + if (id == ITEM_HM_CUT) { return TRUE; } - else if (id == ITEM_ID_FLY) { + else if (id == ITEM_HM_FLY) { return TRUE; } - else if (id == ITEM_ID_SURF) { + else if (id == ITEM_HM_SURF) { return TRUE; } - else if (id == ITEM_ID_STRENGTH) { + else if (id == ITEM_HM_STRENGTH) { return TRUE; } - else if (id == ITEM_ID_FLASH) { + else if (id == ITEM_HM_FLASH) { return TRUE; } - else if (id == ITEM_ID_ROCK_SMASH) { + else if (id == ITEM_HM_ROCK_SMASH) { return TRUE; } - else if (id == ITEM_ID_WATERFALL) { + else if (id == ITEM_HM_WATERFALL) { return TRUE; } - else if (id == ITEM_ID_DIVE) { + else if (id == ITEM_HM_DIVE) { return TRUE; } return FALSE; } -u32 GetMoneyValue(struct ItemSlot* slot) +u32 GetMoneyValue(struct Item* slot) { - return gUnknown_810A3F0[slot->numItems]; + return gUnknown_810A3F0[slot->quantity]; } -u32 GetMoneyValueHeld(struct HeldItem* slot) +u32 GetMoneyValueHeld(struct BulkItem* slot) { // potentially different slot type (used for held item) - return gUnknown_810A3F0[slot->numItems]; + return gUnknown_810A3F0[slot->quantity]; } -void GetGummiItemStatBoost(struct PokemonStruct* pokemon, u8 itemIndex, u8 a3, struct unkStruct_80915F4* a4) +void GetGummiItemStatBoost(struct PokemonStruct* pokemon, u8 id, u8 a3, struct unkStruct_80915F4* a4) { // item stat buff? s8 result; a4->unk0 = (u16)-1; a4->unk2 = 0; - result = IsGummiItem(itemIndex); + result = IsGummiItem(id); if (result) { u8 pokemon_type_0 = GetPokemonType(pokemon->speciesNum, 0); u8 pokemon_type_1 = GetPokemonType(pokemon->speciesNum, 1); - u32 gummi_index = itemIndex - ITEM_ID_WHITE_GUMMI + 1; + u32 gummi_index = id - ITEM_WHITE_GUMMI + 1; s32 value0; s32 value1; s32 diff; @@ -869,12 +869,12 @@ void GetGummiItemStatBoost(struct PokemonStruct* pokemon, u8 itemIndex, u8 a3, s a4->unk0 = boost_amount; if (!a3) { u16 boost_flags; - if (!boost_amount && RandomCapped(16) == 10) { + if (!boost_amount && RandInt(16) == 10) { // supa gummi (all stats boost) boost_flags = 0xf; } else { - s32 random_index = RandomCapped(4); + s32 random_index = RandInt(4); u16* table = gGummiStatBoostLUT; boost_flags = table[random_index]; } @@ -920,12 +920,12 @@ void GetGummiItemStatBoost(struct PokemonStruct* pokemon, u8 itemIndex, u8 a3, s } } -bool8 IsGummiItem(u8 itemIndex) +bool8 IsGummiItem(u8 id) { - if (itemIndex < ITEM_ID_WHITE_GUMMI) { + if (id < ITEM_WHITE_GUMMI) { return FALSE; } - if (itemIndex > ITEM_ID_SILVER_GUMMI) { + if (id > ITEM_SILVER_GUMMI) { return FALSE; } return TRUE; @@ -936,24 +936,24 @@ bool8 HasGummiItem() s32 i; for (i = 0; i < INVENTORY_SIZE; i++) { UNUSED size_t offs = offsetof(struct TeamInventory, teamItems[i]); - if ((i[gTeamInventory_203B460->teamItems].itemFlags & ITEM_FLAG_EXISTS) && IsGummiItem(i[gTeamInventory_203B460->teamItems].itemIndex)) { + if ((i[gTeamInventory_203B460->teamItems].flags & ITEM_FLAG_EXISTS) && IsGummiItem(i[gTeamInventory_203B460->teamItems].id)) { return TRUE; } } return FALSE; } -void MoveToStorage(struct ItemSlot* slot) +void MoveToStorage(struct Item* slot) { - if (IsThrowableItem(slot->itemIndex)) { - gTeamInventory_203B460->teamStorage[slot->itemIndex] += slot->numItems; + if (IsThrowableItem(slot->id)) { + gTeamInventory_203B460->teamStorage[slot->id] += slot->quantity; } else { - gTeamInventory_203B460->teamStorage[slot->itemIndex]++; + gTeamInventory_203B460->teamStorage[slot->id]++; } - if (gTeamInventory_203B460->teamStorage[slot->itemIndex] > 999) { - gTeamInventory_203B460->teamStorage[slot->itemIndex] = 999; + if (gTeamInventory_203B460->teamStorage[slot->id] > 999) { + gTeamInventory_203B460->teamStorage[slot->id] = 999; } } @@ -962,7 +962,7 @@ s32 xxx_count_inv_unk230() s32 i; s32 counter = 0; for (i = 0; i < 8; i++) { - if (gTeamInventory_203B460->unk230[i].itemIndex) { + if (gTeamInventory_203B460->unk230[i].id) { counter++; } } @@ -971,14 +971,14 @@ s32 xxx_count_inv_unk230() void xxx_init_unk230_substruct(u8 i) { - struct HeldItem* unk230; + struct BulkItem* unk230; unk230 = &gTeamInventory_203B460->unk230[i]; - unk230->itemIndex = 0; - unk230->numItems = 0; + unk230->id = 0; + unk230->quantity = 0; } -struct HeldItem* xxx_get_inv_unk230_at_809185C(u8 i) +struct BulkItem* xxx_get_inv_unk230_at_809185C(u8 i) { return &gTeamInventory_203B460->unk230[i]; } @@ -992,7 +992,7 @@ void xxx_fill_unk230_gaps() do { while (slot_checking < 8) { - if (gTeamInventory_203B460->unk230[slot_checking].itemIndex) { + if (gTeamInventory_203B460->unk230[slot_checking].id) { break; } // find next empty slot @@ -1023,10 +1023,10 @@ void SortGreenKecleonShopInventory() { for (i = 0; i < 7; i++) { s32 j; for (j = i + 1; j < 8; j++) { - s32 order_i = GetItemOrder(gTeamInventory_203B460->unk230[i].itemIndex); - s32 order_j = GetItemOrder(gTeamInventory_203B460->unk230[j].itemIndex); - if (order_i > order_j || (order_i == order_j && gTeamInventory_203B460->unk230[i].numItems < gTeamInventory_203B460->unk230[j].numItems)) { - struct HeldItem str_i = gTeamInventory_203B460->unk230[i]; + s32 order_i = GetItemOrder(gTeamInventory_203B460->unk230[i].id); + s32 order_j = GetItemOrder(gTeamInventory_203B460->unk230[j].id); + if (order_i > order_j || (order_i == order_j && gTeamInventory_203B460->unk230[i].quantity < gTeamInventory_203B460->unk230[j].quantity)) { + struct BulkItem str_i = gTeamInventory_203B460->unk230[i]; gTeamInventory_203B460->unk230[i] = gTeamInventory_203B460->unk230[j]; gTeamInventory_203B460->unk230[j] = str_i; } @@ -1043,21 +1043,21 @@ void ChooseKecleonShopInventory(u8 a1) { xxx_init_unk230_substruct(i); } for (i = 0; i < GREEN_KECLEON_SHOP_SIZE; i++) { - s32 rand_1 = RandomCapped(9999); - s32 rand_2 = RandomCapped(9999); + s32 rand_1 = RandInt(9999); + s32 rand_2 = RandInt(9999); AddGreenKecleonShopItem(sub_8091E94(data[a1], rand_1, rand_2)); } SortGreenKecleonShopInventory(); ChoosePurpleKecleonShopInventory(a1); } -bool8 AddGreenKecleonShopItem(u8 itemIndex) { - struct HeldItem held; +bool8 AddGreenKecleonShopItem(u8 id) { + struct BulkItem held; s32 i; - xxx_init_helditem_8090B08(&held, itemIndex); // initialize + xxx_init_helditem_8090B08(&held, id); // initialize for (i = 0; i < 8; i++) { - if (!gTeamInventory_203B460->unk230[i].itemIndex) { + if (!gTeamInventory_203B460->unk230[i].id) { gTeamInventory_203B460->unk230[i] = held; return FALSE; } @@ -1069,7 +1069,7 @@ u32 xxx_count_non_empty_inv_unk250_8091A48() { s32 i; u32 count = 0; for (i = 0; i < 4; i++) { - if (gTeamInventory_203B460->unk250[i].itemIndex) { + if (gTeamInventory_203B460->unk250[i].id) { count++; } } @@ -1077,12 +1077,12 @@ u32 xxx_count_non_empty_inv_unk250_8091A48() { } void xxx_init_inv_unk250_at_8091A74(u8 index) { - struct HeldItem* unk250 = &gTeamInventory_203B460->unk250[index]; - unk250->itemIndex = 0; - unk250->numItems = 0; + struct BulkItem* unk250 = &gTeamInventory_203B460->unk250[index]; + unk250->id = 0; + unk250->quantity = 0; } -struct HeldItem* xxx_get_unk250_at_8091A90(u8 index) { +struct BulkItem* xxx_get_unk250_at_8091A90(u8 index) { return &gTeamInventory_203B460->unk250[index]; } @@ -1092,7 +1092,7 @@ void xxx_fill_inv_unk250_gaps_8091AA8(void) { do { while (slot_checking < 4) { - if (gTeamInventory_203B460->unk250[slot_checking].itemIndex != ITEM_ID_NOTHING) { + if (gTeamInventory_203B460->unk250[slot_checking].id != ITEM_NOTHING) { break; } slot_checking++; @@ -1122,10 +1122,10 @@ void SortPurpleKecleonShopInventory() { for (i = 0; i < 3; i++) { s32 j; for (j = i + 1; j < 4; j++) { - s32 order_i = GetItemOrder(gTeamInventory_203B460->unk250[i].itemIndex); - s32 order_j = GetItemOrder(gTeamInventory_203B460->unk250[j].itemIndex); - if (order_i > order_j || (order_i == order_j && gTeamInventory_203B460->unk250[i].numItems < gTeamInventory_203B460->unk250[j].numItems)) { - struct HeldItem str_i = gTeamInventory_203B460->unk250[i]; + s32 order_i = GetItemOrder(gTeamInventory_203B460->unk250[i].id); + s32 order_j = GetItemOrder(gTeamInventory_203B460->unk250[j].id); + if (order_i > order_j || (order_i == order_j && gTeamInventory_203B460->unk250[i].quantity < gTeamInventory_203B460->unk250[j].quantity)) { + struct BulkItem str_i = gTeamInventory_203B460->unk250[i]; gTeamInventory_203B460->unk250[i] = gTeamInventory_203B460->unk250[j]; gTeamInventory_203B460->unk250[j] = str_i; } @@ -1142,20 +1142,20 @@ void ChoosePurpleKecleonShopInventory(u8 index) { xxx_init_inv_unk250_at_8091A74(i); } for (i = 0; i < PURPLE_KECLEON_SHOP_SIZE; i++) { - s32 rand_1 = RandomCapped(9999); - s32 rand_2 = RandomCapped(9999); + s32 rand_1 = RandInt(9999); + s32 rand_2 = RandInt(9999); AddPurpleKecleonShopItem(sub_8091E94(data[index], rand_1, rand_2)); } SortPurpleKecleonShopInventory(); } -bool8 AddPurpleKecleonShopItem(u8 itemIndex) { - struct HeldItem held; +bool8 AddPurpleKecleonShopItem(u8 id) { + struct BulkItem held; s32 i; - xxx_init_helditem_8090B08(&held, itemIndex); // initialize + xxx_init_helditem_8090B08(&held, id); // initialize for (i = 0; i < 4; i++) { - if (!gTeamInventory_203B460->unk250[i].itemIndex) { + if (!gTeamInventory_203B460->unk250[i].id) { gTeamInventory_203B460->unk250[i] = held; return FALSE; } @@ -1211,30 +1211,30 @@ s32 RestoreTeamInventory(u8 *unk0, u32 size) return unk.unk8; } -void RestoreHeldItem(struct unkStruct_8094924 *a1, struct HeldItem *item) +void RestoreHeldItem(struct unkStruct_8094924 *a1, struct BulkItem *item) { - RestoreIntegerBits(a1, &item->itemIndex, 8); - RestoreIntegerBits(a1, &item->numItems, 7); + RestoreIntegerBits(a1, &item->id, 8); + RestoreIntegerBits(a1, &item->quantity, 7); } -void SaveHeldItem(struct unkStruct_8094924 *a1, struct HeldItem *item) +void SaveHeldItem(struct unkStruct_8094924 *a1, struct BulkItem *item) { - SaveIntegerBits(a1, &item->itemIndex, 8); - SaveIntegerBits(a1, &item->numItems, 7); + SaveIntegerBits(a1, &item->id, 8); + SaveIntegerBits(a1, &item->quantity, 7); } -void RestoreItemSlot(struct unkStruct_8094924 *a1, struct ItemSlot *slot) +void RestoreItemSlot(struct unkStruct_8094924 *a1, struct Item *slot) { - RestoreIntegerBits(a1, &slot->itemFlags, 8); - RestoreIntegerBits(a1, &slot->numItems, 7); - RestoreIntegerBits(a1, &slot->itemIndex, 8); + RestoreIntegerBits(a1, &slot->flags, 8); + RestoreIntegerBits(a1, &slot->quantity, 7); + RestoreIntegerBits(a1, &slot->id, 8); } -void SaveItemSlot(struct unkStruct_8094924 *a1, struct ItemSlot *slot) +void SaveItemSlot(struct unkStruct_8094924 *a1, struct Item *slot) { - SaveIntegerBits(a1, &slot->itemFlags, 8); - SaveIntegerBits(a1, &slot->numItems, 7); - SaveIntegerBits(a1, &slot->itemIndex, 8); + SaveIntegerBits(a1, &slot->flags, 8); + SaveIntegerBits(a1, &slot->quantity, 7); + SaveIntegerBits(a1, &slot->id, 8); } const char *sub_8091E50(u8 index) @@ -1307,7 +1307,7 @@ s32 sub_8091E94(s32 a1, s32 a2, s32 a3) if (item_type != 12) { s32 j; for (j = 0; j < 240; j++) { - if (s1.unk18[j] && (GetItemType(j) == item_type) && (s1.unk18[j] >= a3)) { + if (s1.unk18[j] && (GetItemCategory(j) == item_type) && (s1.unk18[j] >= a3)) { return result; } } @@ -1440,7 +1440,7 @@ s32 sub_8091E94(s32 a1, s32 a2, s32 a3) "\tlsls r0, r6, 24\n" "\tlsrs r5, r0, 24\n" "\tadds r0, r5, 0\n" -"\tbl GetItemType\n" +"\tbl GetItemCategory\n" "\tlsls r0, 24\n" "\tlsrs r0, 24\n" "\tcmp r0, r7\n" @@ -1473,19 +1473,19 @@ void ClearAllItems_8091FB4() { s32 i; for (i = 0; i < INVENTORY_SIZE; i++) { - struct ItemSlot* slot = &gTeamInventory_203B460->teamItems[i]; - if (slot->itemFlags & ITEM_FLAG_EXISTS) { - slot->itemFlags &= 0xf7; - if (slot->itemIndex == ITEM_ID_POKE) { + struct Item* slot = &gTeamInventory_203B460->teamItems[i]; + if (slot->flags & ITEM_FLAG_EXISTS) { + slot->flags &= 0xf7; + if (slot->id == ITEM_POKE) { AddToTeamMoney(GetMoneyValue(slot)); - slot->itemIndex = 0; - slot->numItems = 0; - slot->itemFlags = 0; + slot->id = 0; + slot->quantity = 0; + slot->flags = 0; } } } FillInventoryGaps(); - for (i = 0; i < NUM_SPECIES; i++) { + for (i = 0; i < NUM_MONSTERS; i++) { struct PokemonStruct* pokemon; #ifdef NONMATCHING pokemon = &i[gRecruitedPokemonRef->pokemon]; @@ -1497,10 +1497,10 @@ void ClearAllItems_8091FB4() { #endif if ((u8)pokemon->unk0 & 1) { - if (pokemon->heldItem.itemIndex) { - if (pokemon->heldItem.itemIndex == ITEM_ID_POKE) { + if (pokemon->heldItem.id) { + if (pokemon->heldItem.id == ITEM_POKE) { AddToTeamMoney(GetMoneyValueHeld(&pokemon->heldItem)); - pokemon->heldItem.itemIndex = 0; + pokemon->heldItem.id = 0; } } } diff --git a/src/kangaskhan_storage.c b/src/kangaskhan_storage.c index 33f609a1c..2d9ed59ee 100644 --- a/src/kangaskhan_storage.c +++ b/src/kangaskhan_storage.c @@ -45,9 +45,9 @@ u32 DisplayKangaskhanDialogueSprite(s32 param_1) gUnknown_203B208->unk1C = 0; gUnknown_203B208->unk20 = 0; gUnknown_203B208->unk0 = param_1; - CopyYellowSpeciesNametoBuffer(gUnknown_202E5D8, SPECIES_KANGASKHAN); - CopyYellowSpeciesNametoBuffer(gUnknown_202E1C8, SPECIES_KANGASKHAN); - monName = GetMonSpecies(SPECIES_KANGASKHAN); + CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_KANGASKHAN); + CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_KANGASKHAN); + monName = GetMonSpecies(MONSTER_KANGASKHAN); strcpy(gUnknown_202E1C8 - 0x50, monName); if (gUnknown_203B208->unk0 == 1) { gUnknown_203B208->unkE8 = 0; @@ -55,7 +55,7 @@ u32 DisplayKangaskhanDialogueSprite(s32 param_1) else { gUnknown_203B208->unkE8 = &gUnknown_203B208->faceFile; } - faceFile = GetDialogueSpriteDataPtr(SPECIES_KANGASKHAN); + faceFile = GetDialogueSpriteDataPtr(MONSTER_KANGASKHAN); gUnknown_203B208->faceFile = faceFile; gUnknown_203B208->faceData = faceFile->data; gUnknown_203B208->unkE4 = 0; diff --git a/src/kangaskhan_storage_2.c b/src/kangaskhan_storage_2.c index 2dc765cc3..7f540078f 100644 --- a/src/kangaskhan_storage_2.c +++ b/src/kangaskhan_storage_2.c @@ -62,7 +62,7 @@ extern void sub_801CCD8(); extern void sub_80184D4(); extern void sub_8018280(); extern void sub_8013AA0(u32 *); -extern void sub_801B3C0(struct ItemSlot *); +extern void sub_801B3C0(struct Item *); extern void sub_801A5D8(u32, u32, u32, u32); extern void sub_801C8C4(u32, u32, u32, u32); extern void sub_8012D60(u32 *, struct MenuItem *, u32, u16 *, u32, u32); @@ -84,10 +84,10 @@ extern u8 gUnknown_80DB830[]; extern u8 *gUnknown_80D4920[]; extern u8 *gUnknown_80D4928[]; -struct HeldItem_Alt { +struct BulkItem_Alt { union tempHeld { - struct HeldItem norm; + struct BulkItem norm; u32 full_bits; } temp; }; @@ -181,23 +181,23 @@ void sub_8017928(void) { int menuAction; u32 itemindex; - u32 numItems; - struct HeldItem_Alt item; + u32 quantity; + struct BulkItem_Alt item; if (sub_80144A4(&menuAction) == 0) { switch(menuAction) { case 4: - gTeamInventory_203B460->teamStorage[gUnknown_203B208->unkC.itemIndex] -= gUnknown_203B208->unkC.numItems; + gTeamInventory_203B460->teamStorage[gUnknown_203B208->unkC.id] -= gUnknown_203B208->unkC.quantity; - itemindex = gUnknown_203B208->unkC.itemIndex; + itemindex = gUnknown_203B208->unkC.id; item.temp.full_bits = (item.temp.full_bits & 0xffffff00) | itemindex; - numItems = gUnknown_203B208->unkC.numItems << 8; - item.temp.full_bits = (item.temp.full_bits & 0xffff00ff) | numItems; + quantity = gUnknown_203B208->unkC.quantity << 8; + item.temp.full_bits = (item.temp.full_bits & 0xffff00ff) | quantity; - AddHeldItemToInventory((struct HeldItem *)&item); + AddHeldItemToInventory((struct BulkItem *)&item); UpdateKangaskhanStorageState(0x1d); break; case 1: @@ -221,8 +221,8 @@ void sub_80179A8(void) { if (sub_801AED0(iVar1) != 0) { MoveToStorage(&gTeamInventory_203B460->teamItems[iVar1]); - gTeamInventory_203B460->teamItems[iVar1].itemIndex = 0; - gTeamInventory_203B460->teamItems[iVar1].itemFlags = 0; + gTeamInventory_203B460->teamItems[iVar1].id = 0; + gTeamInventory_203B460->teamItems[iVar1].flags = 0; } } FillInventoryGaps(); @@ -241,11 +241,11 @@ void sub_80179A8(void) void sub_8017A1C(void) { u8 itemID_u8; - u32 numItems_cast; + u32 quantity_cast; s32 itemID; int menuAction; u16 cast; - struct HeldItem_Alt item; + struct BulkItem_Alt item; if (sub_80144A4(&menuAction) == 0) { @@ -257,21 +257,21 @@ void sub_8017A1C(void) itemID_u8 = itemID; if (sub_801CFE0(itemID) != 0) { item.temp.full_bits = (item.temp.full_bits & 0xffffff00) | itemID_u8; - if (IsThrowableItem(item.temp.norm.itemIndex)) { - numItems_cast = gTeamInventory_203B460->teamStorage[item.temp.norm.itemIndex]; - if (numItems_cast > 99) { + if (IsThrowableItem(item.temp.norm.id)) { + quantity_cast = gTeamInventory_203B460->teamStorage[item.temp.norm.id]; + if (quantity_cast > 99) { item.temp.full_bits = (item.temp.full_bits & 0xffff00ff) | 0x6300; } else { - cast = numItems_cast << 8; + cast = quantity_cast << 8; item.temp.full_bits = (item.temp.full_bits & 0xffff00ff) | cast; } } else { item.temp.full_bits = (item.temp.full_bits & 0xffff00ff) | 0x100; } - gTeamInventory_203B460->teamStorage[item.temp.norm.itemIndex] -= item.temp.norm.numItems; - AddHeldItemToInventory((struct HeldItem *)&item); + gTeamInventory_203B460->teamStorage[item.temp.norm.id] -= item.temp.norm.quantity; + AddHeldItemToInventory((struct BulkItem *)&item); } } FillInventoryGaps(); @@ -325,16 +325,16 @@ void sub_8017B88(void) } else { - gUnknown_203B208->itemIndex = sub_801CB24(); - xxx_init_itemslot_8090A8C(&gUnknown_203B208->unkC, gUnknown_203B208->itemIndex, 0); - gUnknown_203B208->unkC.numItems = 1; + gUnknown_203B208->id = sub_801CB24(); + xxx_init_itemslot_8090A8C(&gUnknown_203B208->unkC, gUnknown_203B208->id, 0); + gUnknown_203B208->unkC.quantity = 1; UpdateKangaskhanStorageState(0x19); } break; case 4: - gUnknown_203B208->itemIndex = sub_801CB24(); - xxx_init_itemslot_8090A8C(&gUnknown_203B208->unkC, gUnknown_203B208->itemIndex, 0); - gUnknown_203B208->unkC.numItems = 1; + gUnknown_203B208->id = sub_801CB24(); + xxx_init_itemslot_8090A8C(&gUnknown_203B208->unkC, gUnknown_203B208->id, 0); + gUnknown_203B208->unkC.quantity = 1; UpdateKangaskhanStorageState(0x1A); break; case 2: @@ -357,7 +357,7 @@ void sub_8017C28(void) sub_8017598(); break; case 3: - gUnknown_203B208->unkC.numItems = gUnknown_203B208->unkA8; + gUnknown_203B208->unkC.quantity = gUnknown_203B208->unkA8; UpdateKangaskhanStorageState(0x1B); break; case 2: @@ -383,7 +383,7 @@ void sub_8017C7C(void) { case 2: sub_8099690(0); - if(!IsNotMoneyOrUsedTMItem(gUnknown_203B208->unkC.itemIndex)) + if(!IsNotMoneyOrUsedTMItem(gUnknown_203B208->unkC.id)) UpdateKangaskhanStorageState(9); else if(!sub_801ADA0(gUnknown_203B208->unk10)) UpdateKangaskhanStorageState(0xA); @@ -418,7 +418,7 @@ void sub_8017D24(void) sub_801CBB8(); UpdateKangaskhanStorageState(6); } - else if(IsThrowableItem(gUnknown_203B208->unkC.itemIndex)) + else if(IsThrowableItem(gUnknown_203B208->unkC.id)) UpdateKangaskhanStorageState(0x18); else UpdateKangaskhanStorageState(0x1B); @@ -622,10 +622,10 @@ void sub_8018100(void) case 12: gUnknown_203B20C->unkD0 = 2; gUnknown_203B20C->unkC8 = 1; - if(gTeamInventory_203B460->teamStorage[gUnknown_203B20C->unk8.itemIndex] > 99) + if(gTeamInventory_203B460->teamStorage[gUnknown_203B20C->unk8.id] > 99) gUnknown_203B20C->unkCC = 99; else - gUnknown_203B20C->unkCC = gTeamInventory_203B460->teamStorage[gUnknown_203B20C->unk8.itemIndex]; + gUnknown_203B20C->unkCC = gTeamInventory_203B460->teamStorage[gUnknown_203B20C->unk8.id]; gUnknown_203B20C->unkC4 = gUnknown_203B20C->unkCC; gUnknown_203B20C->unkD4 = 1; gUnknown_203B20C->unkD8 = &gUnknown_203B20C->unkF0[1]; diff --git a/src/kangaskhan_storage_3.c b/src/kangaskhan_storage_3.c index bda6bb490..3b2132464 100644 --- a/src/kangaskhan_storage_3.c +++ b/src/kangaskhan_storage_3.c @@ -11,10 +11,10 @@ extern void sub_8017F10(u32); extern u8 sub_801CF14(u32); -struct HeldItem_Alt { +struct BulkItem_Alt { union tempHeld { - struct HeldItem norm; + struct BulkItem norm; u32 full_bits; } temp; }; @@ -91,8 +91,8 @@ void sub_8018620(void) if(sub_801AED0(iVar6) != 0) { MoveToStorage(&gTeamInventory_203B460->teamItems[iVar6]); - gTeamInventory_203B460->teamItems[iVar6].itemIndex = 0; - gTeamInventory_203B460->teamItems[iVar6].itemFlags = 0; + gTeamInventory_203B460->teamItems[iVar6].id = 0; + gTeamInventory_203B460->teamItems[iVar6].flags = 0; } } FillInventoryGaps(); @@ -128,7 +128,7 @@ void sub_8018620(void) void sub_80186F8(void) { - struct HeldItem_Alt item; + struct BulkItem_Alt item; u16 cast; s32 itemID; u8 itemID_u8; @@ -144,22 +144,22 @@ void sub_80186F8(void) if(sub_801CFE0(itemID) != 0) { item.temp.full_bits = (item.temp.full_bits & 0xffffff00) | itemID_u8; - if(IsThrowableItem(item.temp.norm.itemIndex)) - if(gTeamInventory_203B460->teamStorage[item.temp.norm.itemIndex] > 0x63) + if(IsThrowableItem(item.temp.norm.id)) + if(gTeamInventory_203B460->teamStorage[item.temp.norm.id] > 0x63) { item.temp.full_bits = (item.temp.full_bits & 0xffff00ff) | (0xC6 << 7); } else { - cast = gTeamInventory_203B460->teamStorage[item.temp.norm.itemIndex] << 8; + cast = gTeamInventory_203B460->teamStorage[item.temp.norm.id] << 8; item.temp.full_bits = (item.temp.full_bits & 0xffff00ff) | cast; } else { item.temp.full_bits = (item.temp.full_bits & 0xffff00ff) | (0x80 << 1); } - gTeamInventory_203B460->teamStorage[item.temp.norm.itemIndex] -= item.temp.norm.numItems; - AddHeldItemToInventory((struct HeldItem *)&item); + gTeamInventory_203B460->teamStorage[item.temp.norm.id] -= item.temp.norm.quantity; + AddHeldItemToInventory((struct BulkItem *)&item); } } FillInventoryGaps(); @@ -174,16 +174,16 @@ void sub_80186F8(void) } else { - gUnknown_203B20C->itemIndex = sub_801CB24(); - xxx_init_itemslot_8090A8C(&gUnknown_203B20C->unk8, gUnknown_203B20C->itemIndex, 0); - gUnknown_203B20C->unk8.numItems = 1; + gUnknown_203B20C->id = sub_801CB24(); + xxx_init_itemslot_8090A8C(&gUnknown_203B20C->unk8, gUnknown_203B20C->id, 0); + gUnknown_203B20C->unk8.quantity = 1; sub_8017F10(0xD); } break; case 4: - gUnknown_203B20C->itemIndex = sub_801CB24(); - xxx_init_itemslot_8090A8C(&gUnknown_203B20C->unk8, gUnknown_203B20C->itemIndex, 0); - gUnknown_203B20C->unk8.numItems = 1; + gUnknown_203B20C->id = sub_801CB24(); + xxx_init_itemslot_8090A8C(&gUnknown_203B20C->unk8, gUnknown_203B20C->id, 0); + gUnknown_203B20C->unk8.quantity = 1; sub_8017F10(0xE); break; case 2: @@ -198,7 +198,7 @@ void sub_80186F8(void) void sub_8018854(void) { - struct HeldItem_Alt item; + struct BulkItem_Alt item; u32 itemsCast; u32 indexCast; @@ -208,17 +208,17 @@ void sub_8018854(void) switch(sub_8013BBC(&gUnknown_203B20C->unkC0)) { case 3: - gUnknown_203B20C->unk8.numItems = gUnknown_203B20C->unkC0; + gUnknown_203B20C->unk8.quantity = gUnknown_203B20C->unkC0; - gTeamInventory_203B460->teamStorage[gUnknown_203B20C->unk8.itemIndex] -= gUnknown_203B20C->unk8.numItems; + gTeamInventory_203B460->teamStorage[gUnknown_203B20C->unk8.id] -= gUnknown_203B20C->unk8.quantity; - indexCast = gUnknown_203B20C->unk8.itemIndex; + indexCast = gUnknown_203B20C->unk8.id; item.temp.full_bits = (item.temp.full_bits & 0xffffff00) | indexCast; - itemsCast = (gUnknown_203B20C->unk8.numItems << 8); + itemsCast = (gUnknown_203B20C->unk8.quantity << 8); item.temp.full_bits = (item.temp.full_bits & 0xffff00ff) | itemsCast; - AddHeldItemToInventory((struct HeldItem *)&item); + AddHeldItemToInventory((struct BulkItem *)&item); if(sub_801CF14(1) == 0) if(GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE) { @@ -257,7 +257,7 @@ void sub_8018904(void) switch(menuAction) { case 2: - if(IsNotMoneyOrUsedTMItem(gUnknown_203B20C->unk8.itemIndex)) + if(IsNotMoneyOrUsedTMItem(gUnknown_203B20C->unk8.id)) if(sub_801ADA0(gUnknown_203B20C->unkC) == 0) error: sub_8012EA4(&gUnknown_203B20C->unk70, 1); @@ -289,7 +289,7 @@ void sub_8018904(void) void sub_80189C8(void) { - struct HeldItem_Alt item; + struct BulkItem_Alt item; s32 menuAction; u32 itemsCast; u32 indexCast; @@ -307,19 +307,19 @@ void sub_80189C8(void) case 3: if(GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE) sub_8012EA4(&gUnknown_203B20C->unk70, 1); - else if(IsThrowableItem(gUnknown_203B20C->unk8.itemIndex)) + else if(IsThrowableItem(gUnknown_203B20C->unk8.id)) sub_8017F10(0xC); else { - gTeamInventory_203B460->teamStorage[gUnknown_203B20C->unk8.itemIndex] -= gUnknown_203B20C->unk8.numItems; + gTeamInventory_203B460->teamStorage[gUnknown_203B20C->unk8.id] -= gUnknown_203B20C->unk8.quantity; - indexCast = gUnknown_203B20C->unk8.itemIndex; + indexCast = gUnknown_203B20C->unk8.id; item.temp.full_bits = (item.temp.full_bits & 0xffffff00) | indexCast; - itemsCast = (gUnknown_203B20C->unk8.numItems << 8); + itemsCast = (gUnknown_203B20C->unk8.quantity << 8); item.temp.full_bits = (item.temp.full_bits & 0xffff00ff) | itemsCast; - AddHeldItemToInventory((struct HeldItem *)&item); + AddHeldItemToInventory((struct BulkItem *)&item); if(sub_801CF14(1) == 0) if(GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE) { diff --git a/src/kecleon_items.c b/src/kecleon_items.c index 967d14856..f6b0c9867 100644 --- a/src/kecleon_items.c +++ b/src/kecleon_items.c @@ -45,39 +45,39 @@ u32 DisplayKeckleonDialogueSprite(u32 param_1) case 0: gUnknown_203B210->unk4 = TRUE; gUnknown_203B210->unkE4 = &gUnknown_203B210->faceFile; - CopyYellowSpeciesNametoBuffer(gUnknown_202E5D8, SPECIES_KECLEON); - CopyYellowSpeciesNametoBuffer(gUnknown_202E1C8, SPECIES_KECLEON); - monName = GetMonSpecies( SPECIES_KECLEON); + CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_KECLEON); + CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_KECLEON); + monName = GetMonSpecies( MONSTER_KECLEON); strcpy(gUnknown_202E1C8 - 0x50, monName); break; case 1: gUnknown_203B210->unk4 = TRUE; gUnknown_203B210->unkE4 = NULL; - CopyYellowSpeciesNametoBuffer(gUnknown_202E5D8, SPECIES_KECLEON); - CopyYellowSpeciesNametoBuffer(gUnknown_202E1C8, SPECIES_KECLEON); - monName = GetMonSpecies( SPECIES_KECLEON); + CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_KECLEON); + CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_KECLEON); + monName = GetMonSpecies( MONSTER_KECLEON); strcpy(gUnknown_202E1C8 - 0x50, monName); break; case 2: gUnknown_203B210->unk4 = FALSE; gUnknown_203B210->unkE4 = &gUnknown_203B210->faceFile; - CopyYellowSpeciesNametoBuffer(gUnknown_202E5D8, SPECIES_KECLEON); - CopyYellowSpeciesNametoBuffer(gUnknown_202E1C8, SPECIES_KECLEON); - monName = GetMonSpecies( SPECIES_KECLEON); + CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_KECLEON); + CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_KECLEON); + monName = GetMonSpecies( MONSTER_KECLEON); strcpy(gUnknown_202E1C8 - 0x50, monName); break; case 3: gUnknown_203B210->unk4 = FALSE; gUnknown_203B210->unkE4 = NULL; - CopyYellowSpeciesNametoBuffer(gUnknown_202E5D8, SPECIES_KECLEON); - CopyYellowSpeciesNametoBuffer(gUnknown_202E1C8, SPECIES_KECLEON); - monName = GetMonSpecies( SPECIES_KECLEON); + CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_KECLEON); + CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_KECLEON); + monName = GetMonSpecies( MONSTER_KECLEON); strcpy(gUnknown_202E1C8 - 0x50, monName); break; default: break; } - faceFile = GetDialogueSpriteDataPtr(SPECIES_KECLEON); + faceFile = GetDialogueSpriteDataPtr(MONSTER_KECLEON); gUnknown_203B210->faceFile = faceFile; gUnknown_203B210->unkD8 = faceFile->data; gUnknown_203B210->unkE0 = 0; diff --git a/src/kecleon_items_1.c b/src/kecleon_items_1.c index 20b837194..04743d0d1 100644 --- a/src/kecleon_items_1.c +++ b/src/kecleon_items_1.c @@ -83,10 +83,10 @@ struct unkStruct_203B214 extern struct unkStruct_203B214 *gUnknown_203B214; extern struct unkStruct_203B214 *gUnknown_203B21C; -struct ItemSlot_Alt +struct Item_Alt { union temp { - struct ItemSlot norm; + struct Item norm; u32 full_bits; } temp; }; @@ -242,7 +242,7 @@ void sub_8019944(void) { s32 slotIndex; s32 local_10; - struct ItemSlot *itemSlot; + struct Item *itemSlot; if (sub_80144A4(&local_10) == 0) { switch(local_10) @@ -251,7 +251,7 @@ void sub_8019944(void) for(slotIndex = 0; slotIndex < INVENTORY_SIZE; slotIndex++) { itemSlot = &gTeamInventory_203B460->teamItems[slotIndex]; - if ((itemSlot->itemFlags & ITEM_FLAG_EXISTS) && CanSellItem(itemSlot->itemIndex)) { + if ((itemSlot->flags & ITEM_FLAG_EXISTS) && CanSellItem(itemSlot->id)) { ClearItemSlotAt(slotIndex); } } @@ -271,7 +271,7 @@ void sub_8019944(void) void sub_80199CC(void) { u32 uVar2; - struct HeldItem *puVar3; + struct BulkItem *puVar3; if (gUnknown_203B210->unk4 != '\0') { uVar2 = sub_8019EDC(1); @@ -291,8 +291,8 @@ void sub_80199CC(void) gUnknown_203B210->unk21 = sub_801A37C(); puVar3 = xxx_get_unk250_at_8091A90(gUnknown_203B210->unk21); } - xxx_init_itemslot_8090A8C(&gUnknown_203B210->unk1C,puVar3->itemIndex,0); - gUnknown_203B210->unk1C.numItems =puVar3->numItems; + xxx_init_itemslot_8090A8C(&gUnknown_203B210->unk1C,puVar3->id,0); + gUnknown_203B210->unk1C.quantity =puVar3->quantity; gUnknown_203B210->itemSellPrice = GetStackBuyPrice(&gUnknown_203B210->unk1C); UpdateKecleonStoreState(0x14); break; @@ -305,8 +305,8 @@ void sub_80199CC(void) gUnknown_203B210->unk21 = sub_801A37C(); puVar3 = xxx_get_unk250_at_8091A90(gUnknown_203B210->unk21); } - xxx_init_itemslot_8090A8C(&gUnknown_203B210->unk1C,puVar3->itemIndex,0); - gUnknown_203B210->unk1C.numItems = puVar3->numItems; + xxx_init_itemslot_8090A8C(&gUnknown_203B210->unk1C,puVar3->id,0); + gUnknown_203B210->unk1C.quantity = puVar3->quantity; gUnknown_203B210->itemSellPrice = GetStackBuyPrice(&gUnknown_203B210->unk1C); UpdateKecleonStoreState(0x15); break; @@ -398,7 +398,7 @@ void sub_8019C78(void) switch(menuAction){ case 3: sub_8099690(0); - if (!CanSellItem(gUnknown_203B210->unk1C.itemIndex)) + if (!CanSellItem(gUnknown_203B210->unk1C.id)) UpdateKecleonStoreState(0xd); else if (gUnknown_203B210->itemSellPrice + gTeamInventory_203B460->teamMoney > 99999) UpdateKecleonStoreState(0xe); @@ -466,14 +466,14 @@ u32 sub_8019D8C(void) void sub_8019DAC(void) { s32 iVar3; - struct ItemSlot *itemSlot; + struct Item *itemSlot; s32 iVar5; gUnknown_203B210->unk14 = 0; gUnknown_203B210->unk18 = 0; for(iVar5 = 0; iVar5 < INVENTORY_SIZE; iVar5++){ itemSlot = &gTeamInventory_203B460->teamItems[iVar5]; - if (((itemSlot->itemFlags & ITEM_FLAG_EXISTS) != 0) && (CanSellItem(itemSlot->itemIndex))) { + if (((itemSlot->flags & ITEM_FLAG_EXISTS) != 0) && (CanSellItem(itemSlot->id))) { iVar3 = GetStackSellPrice(itemSlot); gUnknown_203B210->unk18 += iVar3; gUnknown_203B210->unk14++; @@ -526,8 +526,8 @@ u32 sub_8019E40(u32 r0) u32 sub_8019EDC(u8 r0) { - struct ItemSlot_Alt slot; - struct HeldItem *return_var; + struct Item_Alt slot; + struct BulkItem *return_var; u32 r2; u32 r3; @@ -547,12 +547,12 @@ u32 sub_8019EDC(u8 r0) return_var = xxx_get_inv_unk230_at_809185C(sub_8019FB0()); // NOTE: needs seperate vars to match - r2 = return_var->itemIndex << 16; + r2 = return_var->id << 16; slot.temp.full_bits = (slot.temp.full_bits & 0xff00ffff) | r2; - r3 = return_var->numItems << 8; + r3 = return_var->quantity << 8; slot.temp.full_bits = (slot.temp.full_bits & 0xffff00ff) | r3; - if(GetStackBuyPrice((struct ItemSlot *)&slot) > gTeamInventory_203B460->teamMoney) + if(GetStackBuyPrice((struct Item *)&slot) > gTeamInventory_203B460->teamMoney) { PlayMenuSoundEffect(2); } @@ -675,19 +675,19 @@ void sub_801A064(void) void sub_801A0D8(void) { - struct HeldItem *heldItem; + struct BulkItem *heldItem; s32 iVar2; s32 y; s32 iVar4; u8 auStack204 [80]; struct unkStruct_8090F58 local_7c; u8 auStack112 [80]; - struct ItemSlot_Alt slot; + struct Item_Alt slot; u8 temp_calc; // Needed for the shifts.. u32 index_shift; - u32 numItems_shift; + u32 quantity_shift; sub_8008C54(gUnknown_203B214->unk34); sub_80073B8(gUnknown_203B214->unk34); @@ -699,26 +699,26 @@ void sub_801A0D8(void) temp_calc = (gUnknown_203B214->unk1E * gUnknown_203B214->unk1C) + iVar4; heldItem = xxx_get_inv_unk230_at_809185C(temp_calc); - index_shift = heldItem->itemIndex << 16; + index_shift = heldItem->id << 16; slot.temp.full_bits = (slot.temp.full_bits & 0xff00ffff) | index_shift; - numItems_shift = heldItem->numItems << 8; - slot.temp.full_bits = (slot.temp.full_bits & 0xffff00ff) | numItems_shift; + quantity_shift = heldItem->quantity << 8; + slot.temp.full_bits = (slot.temp.full_bits & 0xffff00ff) | quantity_shift; - slot.temp.full_bits = (slot.temp.full_bits & 0xffffff00) | (ITEM_FLAG_EXISTS | ITEM_FLAG_FOR_SALE); + slot.temp.full_bits = (slot.temp.full_bits & 0xffffff00) | (ITEM_FLAG_EXISTS | ITEM_FLAG_IN_SHOP); local_7c.unk0 = 1; local_7c.unk4 = 0; local_7c.unk6 = 0x58; local_7c.unk8 = 1; - sub_8090E14(auStack204,(struct ItemSlot *)&slot,&local_7c); - iVar2 = GetStackBuyPrice((struct ItemSlot *)&slot); + sub_8090E14(auStack204,(struct Item *)&slot,&local_7c); + iVar2 = GetStackBuyPrice((struct Item *)&slot); if (iVar2 <= gTeamInventory_203B460->teamMoney) { y = sub_8013800(gUnknown_203B214,iVar4); xxx_call_draw_string(8,y,auStack204,gUnknown_203B214->unk34,0); } else { - sprintf_2(auStack112,gUnknown_80DB8EC,auStack204); + sprintfStatic(auStack112,gUnknown_80DB8EC,auStack204); y = sub_8013800(gUnknown_203B214,iVar4); xxx_call_draw_string(8,y,auStack112,gUnknown_203B214->unk34,0); } @@ -753,8 +753,8 @@ u32 sub_801A20C(u32 r0) u32 sub_801A2A8(u8 r0) { - struct ItemSlot_Alt slot; - struct HeldItem *return_var; + struct Item_Alt slot; + struct BulkItem *return_var; u32 r2; u32 r3; @@ -774,12 +774,12 @@ u32 sub_801A2A8(u8 r0) return_var = xxx_get_unk250_at_8091A90(sub_801A37C()); // NOTE: needs seperate vars to match - r2 = return_var->itemIndex << 16; + r2 = return_var->id << 16; slot.temp.full_bits = (slot.temp.full_bits & 0xff00ffff) | r2; - r3 = return_var->numItems << 8; + r3 = return_var->quantity << 8; slot.temp.full_bits = (slot.temp.full_bits & 0xffff00ff) | r3; - if(GetStackBuyPrice((struct ItemSlot *)&slot) > gTeamInventory_203B460->teamMoney) + if(GetStackBuyPrice((struct Item *)&slot) > gTeamInventory_203B460->teamMoney) { PlayMenuSoundEffect(2); } @@ -901,19 +901,19 @@ void sub_801A430(void) void sub_801A4A4(void) { - struct HeldItem *heldItem; + struct BulkItem *heldItem; s32 iVar2; s32 y; s32 iVar4; u8 auStack204 [80]; struct unkStruct_8090F58 local_7c; u8 auStack112 [80]; - struct ItemSlot_Alt slot; + struct Item_Alt slot; u8 temp_calc; // Needed for the shifts.. u32 index_shift; - u32 numItems_shift; + u32 quantity_shift; sub_8008C54(gUnknown_203B21C->unk34); sub_80073B8(gUnknown_203B21C->unk34); @@ -925,26 +925,26 @@ void sub_801A4A4(void) temp_calc = (gUnknown_203B21C->unk1E * gUnknown_203B21C->unk1C) + iVar4; heldItem = xxx_get_unk250_at_8091A90(temp_calc); - index_shift = heldItem->itemIndex << 16; + index_shift = heldItem->id << 16; slot.temp.full_bits = (slot.temp.full_bits & 0xff00ffff) | index_shift; - numItems_shift = heldItem->numItems << 8; - slot.temp.full_bits = (slot.temp.full_bits & 0xffff00ff) | numItems_shift; + quantity_shift = heldItem->quantity << 8; + slot.temp.full_bits = (slot.temp.full_bits & 0xffff00ff) | quantity_shift; - slot.temp.full_bits = (slot.temp.full_bits & 0xffffff00) | (ITEM_FLAG_EXISTS | ITEM_FLAG_FOR_SALE); + slot.temp.full_bits = (slot.temp.full_bits & 0xffffff00) | (ITEM_FLAG_EXISTS | ITEM_FLAG_IN_SHOP); local_7c.unk0 = 1; local_7c.unk4 = 0; local_7c.unk6 = 0x58; local_7c.unk8 = 1; - sub_8090E14(auStack204,(struct ItemSlot *)&slot,&local_7c); - iVar2 = GetStackBuyPrice((struct ItemSlot *)&slot); + sub_8090E14(auStack204,(struct Item *)&slot,&local_7c); + iVar2 = GetStackBuyPrice((struct Item *)&slot); if (iVar2 <= gTeamInventory_203B460->teamMoney) { y = sub_8013800(gUnknown_203B21C,iVar4); xxx_call_draw_string(8,y,auStack204,gUnknown_203B21C->unk34,0); } else { - sprintf_2(auStack112,gUnknown_80DB934,auStack204); + sprintfStatic(auStack112,gUnknown_80DB934,auStack204); y = sub_8013800(gUnknown_203B21C,iVar4); xxx_call_draw_string(8,y,auStack112,gUnknown_203B21C->unk34,0); } @@ -993,7 +993,7 @@ u32 sub_801A5D8(u32 param_1,int param_2,struct UnkTextStruct2_sub *param_3,u32 p u32 sub_801A6E8(u8 param_1) { s32 iVar5; - struct ItemSlot local_10; + struct Item local_10; if (param_1 == '\0') { sub_8013660(&gUnknown_203B224->unk54); @@ -1021,7 +1021,7 @@ u32 sub_801A6E8(u8 param_1) break; case 4: local_10 = gTeamInventory_203B460->teamItems[sub_801A8AC()]; - if (CanSellItem(local_10.itemIndex) && (GetStackSellPrice(&local_10) + gTeamInventory_203B460->teamMoney < 100000)) + if (CanSellItem(local_10.id) && (GetStackSellPrice(&local_10) + gTeamInventory_203B460->teamMoney < 100000)) PlayMenuSoundEffect(0); else PlayMenuSoundEffect(2); @@ -1132,7 +1132,7 @@ void sub_801A9E0(void) // NOTE: this var is unused but makes sure we get correct stack size // This is also why we need special build flag for this file u8 local_6c[0x44]; // sp 0x78 ?? (why is this at same location..) - struct ItemSlot item; // sp 0xC8 + struct Item item; // sp 0xC8 sub_8008C54(gUnknown_203B224->unk88); sub_80073B8(gUnknown_203B224->unk88); @@ -1157,7 +1157,7 @@ void sub_801A9E0(void) stack.unk0 = 0; stack.unk4 = 0; stack.unk8 = 1; - item.itemFlags = 1; + item.flags = 1; sub_8090E14(buffer1,&item, &stack); xxx_call_draw_string(8,sub_8013800(&gUnknown_203B224->unk54,r7),buffer1,gUnknown_203B224->unk88,0); break; @@ -1165,7 +1165,7 @@ void sub_801A9E0(void) stack1.unk0 = 0; stack1.unk4 = 0; stack1.unk8 = 1; - item.itemFlags = 1; + item.flags = 1; sub_8090E14(buffer1,&item,&stack1); if (gUnknown_203B224->unk4[teamItemIndex] != 0 || sub_801ADA0(teamItemIndex) != '\0'){ xxx_call_draw_string(8,sub_8013800(&gUnknown_203B224->unk54,r7),buffer1,gUnknown_203B224->unk88,0); @@ -1177,16 +1177,16 @@ void sub_801A9E0(void) } break; case 4: - if (CanSellItem(item.itemIndex)) { + if (CanSellItem(item.id)) { stack2.unk0 = 3; stack2.unk4 = 0; stack2.unk6 = 0x58; stack2.unk8 = 1; - item.itemFlags = 3; + item.flags = 3; sub_8090E14(buffer1,&item, &stack2); if (GetStackSellPrice(&item) + gTeamInventory_203B460->teamMoney > 99999){ // very dumb but this matches... - sprintf_2((char *)&stack3,gUnknown_80DB9A0,buffer1); + sprintfStatic((char *)&stack3,gUnknown_80DB9A0,buffer1); xxx_call_draw_string(8,sub_8013800(&gUnknown_203B224->unk54,r7),(u8 *)&stack3,gUnknown_203B224->unk88,0); } else @@ -1202,9 +1202,9 @@ void sub_801A9E0(void) stack3.unk0 = 0; stack3.unk4 = 0; stack3.unk8 = 1; - item.itemFlags = 1; + item.flags = 1; sub_8090E14(buffer1,&item,&stack3); - if (IsGummiItem(item.itemIndex)) { + if (IsGummiItem(item.id)) { xxx_call_draw_string(8,sub_8013800(&gUnknown_203B224->unk54,r7),buffer1,gUnknown_203B224->unk88,0); } else @@ -1242,26 +1242,26 @@ bool8 sub_801ADA0(s32 param_1) u32 uVar3_32; s32 sum1; s32 sum2; - struct ItemSlot item; + struct Item item; item = gTeamInventory_203B460->teamItems[param_1]; - if (!IsNotMoneyOrUsedTMItem(item.itemIndex)) { + if (!IsNotMoneyOrUsedTMItem(item.id)) { return FALSE; } else { - if (IsThrowableItem(item.itemIndex)) { - uVar3_32 = sub_801AE24(item.itemIndex); - sum1 = gTeamInventory_203B460->teamStorage[item.itemIndex]; + if (IsThrowableItem(item.id)) { + uVar3_32 = sub_801AE24(item.id); + sum1 = gTeamInventory_203B460->teamStorage[item.id]; uVar3 = uVar3_32; sum1 += uVar3; - sum1 += (item.numItems); + sum1 += (item.quantity); if (sum1 > 999) return FALSE; } else { - uVar2_32 = sub_801AE24(item.itemIndex); - sum2 = gTeamInventory_203B460->teamStorage[item.itemIndex]; + uVar2_32 = sub_801AE24(item.id); + sum2 = gTeamInventory_203B460->teamStorage[item.id]; uVar2 = uVar2_32; sum2 += uVar2; if (sum2 > 998) @@ -1271,9 +1271,9 @@ bool8 sub_801ADA0(s32 param_1) return 1; } -s32 sub_801AE24(u32 itemIndex) +s32 sub_801AE24(u32 id) { - struct ItemSlot uVar3; + struct Item uVar3; u16 uVar4; s32 invIndex; @@ -1281,9 +1281,9 @@ s32 sub_801AE24(u32 itemIndex) for (invIndex = 0; invIndex < GetNumberOfFilledInventorySlots(); invIndex++) { if (gUnknown_203B224->unk4[invIndex] != 0) { uVar3 = gTeamInventory_203B460->teamItems[invIndex]; - if (uVar3.itemIndex == itemIndex) { - if (IsThrowableItem(uVar3.itemIndex)) { - uVar4 += uVar3.numItems; + if (uVar3.id == id) { + if (IsThrowableItem(uVar3.id)) { + uVar4 += uVar3.quantity; } else { uVar4++; @@ -1331,22 +1331,22 @@ void sub_801AEE4(s32 index, s32 value) void Kecleon_SortItems(void) { - struct ItemSlot *puVar1; + struct Item *puVar1; u32 *puVar2; u32 *base; int orderL; int orderR; u32 puVar4; - struct ItemSlot uVar5; + struct Item uVar5; int itemR; int itemL; for (itemL = 0; itemL < GetNumberOfFilledInventorySlots() - 1; itemL++) { for (itemR = itemL + 1; itemR < GetNumberOfFilledInventorySlots(); itemR++) { - orderL = GetItemOrder(gTeamInventory_203B460->teamItems[itemL].itemIndex); - orderR = GetItemOrder(gTeamInventory_203B460->teamItems[itemR].itemIndex); + orderL = GetItemOrder(gTeamInventory_203B460->teamItems[itemL].id); + orderR = GetItemOrder(gTeamInventory_203B460->teamItems[itemR].id); if ((orderL > orderR) || ((orderL == orderR) && - (gTeamInventory_203B460->teamItems[itemL].numItems < gTeamInventory_203B460->teamItems[itemR].numItems))) { + (gTeamInventory_203B460->teamItems[itemL].quantity < gTeamInventory_203B460->teamItems[itemR].quantity))) { uVar5 = gTeamInventory_203B460->teamItems[itemL]; puVar1 = &gTeamInventory_203B460->teamItems[itemR]; diff --git a/src/load_screen.c b/src/load_screen.c index c4895ba6d..e930a4cc1 100644 --- a/src/load_screen.c +++ b/src/load_screen.c @@ -304,7 +304,7 @@ void DrawLoadScreenText(void) r2 = DrawLoadScreenTextSub(teamNameBuffer); } - sprintf_2(gLoadScreen->formattedTeamName,gUnknown_80E7804,r2); + sprintfStatic(gLoadScreen->formattedTeamName,gUnknown_80E7804,r2); xxx_call_draw_string(64,0,gLoadScreen->formattedTeamName,0,0); // Draw Player Name @@ -313,7 +313,7 @@ void DrawLoadScreenText(void) sub_80922B4(playerName, gNoNamePlaceholder, POKEMON_NAME_LENGTH); else sub_80922B4(playerName, playerInfo->name, POKEMON_NAME_LENGTH); - sprintf_2(gLoadScreen->formattedPlayerName,gUnknown_80E7804,playerName); + sprintfStatic(gLoadScreen->formattedPlayerName,gUnknown_80E7804,playerName); xxx_call_draw_string(64,12,gLoadScreen->formattedPlayerName,0,0); // Draw Location Info @@ -321,7 +321,7 @@ void DrawLoadScreenText(void) if (iVar2 == 0xf1207) PrintDungeonLocationtoBuffer(gLoadScreen->formattedLocation,GetDungeonLocationInfo()); else - sprintf_2(gLoadScreen->formattedLocation,gQuicksaveDataDeletedText); // Quicksave data deleted + sprintfStatic(gLoadScreen->formattedLocation,gQuicksaveDataDeletedText); // Quicksave data deleted } else { switch(sub_8011C1C()) @@ -330,12 +330,12 @@ void DrawLoadScreenText(void) switch(sub_8001658(0,24)) { default: - sprintf_2(auStack356,gUnknown_80E7804,sub_8098FB4()); + sprintfStatic(auStack356,gUnknown_80E7804,sub_8098FB4()); xxx_format_string(auStack356,gLoadScreen->formattedLocation,gLoadScreen->formattedPlayTime,0); break; case 0x7: case 0xB: - sprintf_2(gLoadScreen->formattedLocation,gQuicksaveDataDeletedText); // Quicksave data deleted + sprintfStatic(gLoadScreen->formattedLocation,gQuicksaveDataDeletedText); // Quicksave data deleted break; } break; @@ -343,10 +343,10 @@ void DrawLoadScreenText(void) if (iVar2 == 0xf1207) PrintDungeonLocationtoBuffer(gLoadScreen->formattedLocation,GetDungeonLocationInfo()); else - sprintf_2(gLoadScreen->formattedLocation,gQuicksaveDataDeletedText); // Quicksave data deleted + sprintfStatic(gLoadScreen->formattedLocation,gQuicksaveDataDeletedText); // Quicksave data deleted break; default: - sprintf_2(gLoadScreen->formattedLocation,gLocationUnknownText); // Location unknown + sprintfStatic(gLoadScreen->formattedLocation,gLocationUnknownText); // Location unknown break; } } @@ -354,29 +354,29 @@ void DrawLoadScreenText(void) // Draw Play Time DeconstructPlayTime(gPlayTimeRef,&hours,&minutes,&seconds); - sprintf_2(gLoadScreen->formattedPlayTime,gPlayTimePlaceholder,hours,minutes,seconds); + sprintfStatic(gLoadScreen->formattedPlayTime,gPlayTimePlaceholder,hours,minutes,seconds); xxx_call_draw_string(64,36,gLoadScreen->formattedPlayTime,0,0); // Draw Adventures Info numAdventures = GetNumAdventures(); - sprintf_2(gLoadScreen->formattedAdventures,gNumAdventurePlaceholder,numAdventures); // %d + sprintfStatic(gLoadScreen->formattedAdventures,gNumAdventurePlaceholder,numAdventures); // %d xxx_call_draw_string(64,48,gLoadScreen->formattedAdventures,0,0); // Draw Helper Info if (iVar2 == 0xf1207){ // NOTE: very hacky match here but needed var here to match temp2 = gUnknown_203B484; - if(temp2->unk4.speciesNum != SPECIES_NONE) { + if(temp2->unk4.speciesNum != MONSTER_NONE) { sub_808D930(speciesHelper,temp2->unk4.speciesNum); sub_80922B4(nameHelper,temp2->unk4.name,POKEMON_NAME_LENGTH); - sprintf_2(gLoadScreen->formattedHelperInfo,gHelperInfoPlaceholder,nameHelper,speciesHelper); // %s (%s) + sprintfStatic(gLoadScreen->formattedHelperInfo,gHelperInfoPlaceholder,nameHelper,speciesHelper); // %s (%s) } else goto print_helper_placeholder; } else { print_helper_placeholder: - sprintf_2(gLoadScreen->formattedHelperInfo,gNoHelperText); // ----- + sprintfStatic(gLoadScreen->formattedHelperInfo,gNoHelperText); // ----- } xxx_call_draw_string(64,60,gLoadScreen->formattedHelperInfo,0,0); diff --git a/src/luminous_cave.c b/src/luminous_cave.c index d9c850dc6..1b8f93475 100644 --- a/src/luminous_cave.c +++ b/src/luminous_cave.c @@ -24,7 +24,7 @@ struct unkStruct_203B2B0 /* 0x10 */ bool8 pokeRenamed; /* 0x14 */ u32 evoItem1_InvIndex; // inventory index of item /* 0x18 */ u32 evoItem2_InvIndex; // inventory index of item - struct ItemSlot unk1C; + struct Item unk1C; u32 state; u32 fallbackState; u32 unk28; @@ -106,7 +106,7 @@ void sub_8024D48(void); extern void sub_801A5D8(u32, u32, u32, u32); extern void sub_801A8D0(u32); extern void sub_801A9E0(); -extern void sub_801B3C0(struct ItemSlot *); +extern void sub_801B3C0(struct Item *); extern void nullsub_104(); void sub_8024DBC(void); void sub_8024E30(void); @@ -169,7 +169,7 @@ u32 sub_802465C(void) gUnknown_203B2B0->pokeStruct = GetPlayerPokemonStruct(); gUnknown_203B2B0->pokeRenamed = IsPokemonRenamed(gUnknown_203B2B0->pokeStruct); gUnknown_203B2B0->unk0 = 0; - faceFile = GetDialogueSpriteDataPtr(SPECIES_GULPIN); + faceFile = GetDialogueSpriteDataPtr(MONSTER_GULPIN); gUnknown_203B2B0->unk104 = faceFile; gUnknown_203B2B0->unk108 = faceFile->data; gUnknown_203B2B0->unk110 = 0; @@ -814,16 +814,16 @@ void sub_8025254(void) gUnknown_203B2B0->unk4 = 0; else { - gUnknown_203B2B0->unk4 = gTeamInventory_203B460->teamItems[gUnknown_203B2B0->evoItem1_InvIndex].itemIndex; + gUnknown_203B2B0->unk4 = gTeamInventory_203B460->teamItems[gUnknown_203B2B0->evoItem1_InvIndex].id; } if(gUnknown_203B2B0->evoItem2_InvIndex == INVENTORY_SIZE) gUnknown_203B2B0->unk5 = 0; else { - gUnknown_203B2B0->unk5 = gTeamInventory_203B460->teamItems[gUnknown_203B2B0->evoItem2_InvIndex].itemIndex; + gUnknown_203B2B0->unk5 = gTeamInventory_203B460->teamItems[gUnknown_203B2B0->evoItem2_InvIndex].id; } - gUnknown_203B2B0->unk6 = RandomCapped(0xFF); + gUnknown_203B2B0->unk6 = RandInt(0xFF); sub_808F468(gUnknown_203B2B0->pokeStruct, &gUnknown_203B2B0->unk4, 1); } @@ -835,7 +835,7 @@ bool8 LuminousCave_HasOnly1Member(void) preload = &gRecruitedPokemonRef->pokemon[0]; r3 = 0; - for(iVar3 = 0; iVar3 < NUM_SPECIES; iVar3++, preload++) + for(iVar3 = 0; iVar3 < NUM_MONSTERS; iVar3++, preload++) { if((preload->unk0 >> 1) & 1) r3++; diff --git a/src/makuhita_dojo.c b/src/makuhita_dojo.c index 25f676e1a..3fc5338a3 100644 --- a/src/makuhita_dojo.c +++ b/src/makuhita_dojo.c @@ -110,11 +110,11 @@ u32 CreateMakuhitaShop(u32 param_1) else { gUnknown_203B318->unk68 = &gUnknown_203B318->faceFile; } - CopyYellowSpeciesNametoBuffer(gUnknown_202E5D8,SPECIES_MAKUHITA); - CopyYellowSpeciesNametoBuffer(gUnknown_202E1C8,SPECIES_MAKUHITA); - monName = GetMonSpecies(SPECIES_MAKUHITA); + CopyYellowMonsterNametoBuffer(gUnknown_202E5D8,MONSTER_MAKUHITA); + CopyYellowMonsterNametoBuffer(gUnknown_202E1C8,MONSTER_MAKUHITA); + monName = GetMonSpecies(MONSTER_MAKUHITA); strcpy(gUnknown_202E1C8 - 0x50, monName); - faceFile = GetDialogueSpriteDataPtr(SPECIES_MAKUHITA); + faceFile = GetDialogueSpriteDataPtr(MONSTER_MAKUHITA); gUnknown_203B318->faceFile = faceFile; gUnknown_203B318->faceData = faceFile->data; gUnknown_203B318->unk64 = 0; diff --git a/src/makuhita_dojo_1.c b/src/makuhita_dojo_1.c index 62c2e95bd..c9af12d13 100644 --- a/src/makuhita_dojo_1.c +++ b/src/makuhita_dojo_1.c @@ -71,7 +71,7 @@ void DrawDojoCourseList(void) xxx_call_draw_string(8,y,gUnknown_80E0824,gUnknown_203B31C->unk64,0); // Draw Star symbol color = COLOR_GREEN; } - sprintf_2(buffer,gUnknown_80E0828,color,GetDungeonName1(dungeonIndex)); // "#c%c%s#r" + sprintfStatic(buffer,gUnknown_80E0828,color,GetDungeonName1(dungeonIndex)); // "#c%c%s#r" xxx_call_draw_string(0x10,y,buffer,gUnknown_203B31C->unk64,0); index++; } while (index < gUnknown_203B31C->unk4A); diff --git a/src/move_checks.c b/src/move_checks.c index 577f68248..8c831f88c 100644 --- a/src/move_checks.c +++ b/src/move_checks.c @@ -102,32 +102,32 @@ const u8 gDungeonCamouflageTypes[76] = { }; -bool8 CanUseOnSelfWithStatusChecker(struct DungeonEntity *pokemon, struct PokemonMove *move) +bool8 CanUseOnSelfWithStatusChecker(struct Entity *pokemon, struct Move *move) { - struct DungeonEntityData *pokemonData = pokemon->entityData; - switch (move->moveID) + struct EntityInfo *pokemonInfo = pokemon->info; + switch (move->id) { case MOVE_HAIL: - if (GetWeather(pokemon) == WEATHER_HAIL) + if (GetApparentWeather(pokemon) == WEATHER_HAIL) { return FALSE; } break; case MOVE_RAGE: - if (pokemonData->chargingStatus == CHARGING_STATUS_RAGE) + if (pokemonInfo->chargingStatus == STATUS_ENRAGED) { return FALSE; } break; case MOVE_COUNTER: case MOVE_PURSUIT: - if (pokemonData->protectionStatus == PROTECTION_STATUS_COUNTER) + if (pokemonInfo->protectionStatus == STATUS_COUNTER) { return FALSE; } break; case MOVE_MIRROR_MOVE: - if (pokemonData->protectionStatus == PROTECTION_STATUS_MIRROR_MOVE) + if (pokemonInfo->protectionStatus == STATUS_MIRROR_MOVE) { return FALSE; } @@ -135,13 +135,13 @@ bool8 CanUseOnSelfWithStatusChecker(struct DungeonEntity *pokemon, struct Pokemo case MOVE_HOWL: case MOVE_MEDITATE: case MOVE_SHARPEN: - if (pokemonData->attackStages[STAT_STAGE_ATTACK] >= MAX_STAT_STAGE) + if (pokemonInfo->offensiveStages[STAT_STAGE_ATK] >= MAX_STAT_STAGE) { return FALSE; } break; case MOVE_BELLY_DRUM: - if (pokemonData->attackStages[STAT_STAGE_ATTACK] >= MAX_STAT_STAGE || RoundUpFixedPoint(pokemonData->belly) <= 0) + if (pokemonInfo->offensiveStages[STAT_STAGE_ATK] >= MAX_STAT_STAGE || RoundUpFixedPoint(pokemonInfo->belly) <= 0) { return FALSE; } @@ -152,14 +152,14 @@ bool8 CanUseOnSelfWithStatusChecker(struct DungeonEntity *pokemon, struct Pokemo case MOVE_HARDEN: case MOVE_IRON_DEFENSE: case MOVE_WITHDRAW: - if (pokemonData->defenseStages[STAT_STAGE_DEFENSE] >= MAX_STAT_STAGE) + if (pokemonInfo->defensiveStages[STAT_STAGE_DEF] >= MAX_STAT_STAGE) { return FALSE; } break; case MOVE_BIDE: case MOVE_REVENGE: - if (pokemonData->chargingStatus == CHARGING_STATUS_BIDE) + if (pokemonInfo->chargingStatus == STATUS_BIDE) { return FALSE; } @@ -172,7 +172,7 @@ bool8 CanUseOnSelfWithStatusChecker(struct DungeonEntity *pokemon, struct Pokemo #else r1 = 0; #endif - if (pokemon->entityData->movementSpeed >= MAX_MOVEMENT_SPEED) + if (pokemon->info->speedStage >= MAX_SPEED_STAGE) { r1 = !r1; return FALSE; @@ -181,185 +181,185 @@ bool8 CanUseOnSelfWithStatusChecker(struct DungeonEntity *pokemon, struct Pokemo } case MOVE_LOCK_ON: case MOVE_MIND_READER: - if (pokemonData->moveStatus == MOVE_STATUS_SURE_SHOT) + if (pokemonInfo->moveStatus == STATUS_SURE_SHOT) { return FALSE; } break; case MOVE_COSMIC_POWER: - if (pokemonData->defenseStages[STAT_STAGE_DEFENSE] >= MAX_STAT_STAGE && pokemonData->defenseStages[STAT_STAGE_SPECIAL_DEFENSE] >= MAX_STAT_STAGE) + if (pokemonInfo->defensiveStages[STAT_STAGE_DEF] >= MAX_STAT_STAGE && pokemonInfo->defensiveStages[STAT_STAGE_SP_DEF] >= MAX_STAT_STAGE) { return FALSE; } break; case MOVE_ENDURE: - if (pokemonData->protectionStatus == PROTECTION_STATUS_ENDURE) + if (pokemonInfo->protectionStatus == STATUS_ENDURING) { return FALSE; } break; case MOVE_CHARGE: - if (pokemonData->chargingStatus == CHARGING_STATUS_CHARGE) + if (pokemonInfo->chargingStatus == STATUS_CHARGING) { return FALSE; } break; case MOVE_MIST: - if (pokemonData->protectionStatus == PROTECTION_STATUS_MIST) + if (pokemonInfo->protectionStatus == STATUS_MIST) { return FALSE; } break; case MOVE_LIGHT_SCREEN: - if (pokemonData->protectionStatus == PROTECTION_STATUS_LIGHT_SCREEN) + if (pokemonInfo->protectionStatus == STATUS_LIGHT_SCREEN) { return FALSE; } break; case MOVE_MINIMIZE: - if (pokemonData->accuracyStages[STAT_STAGE_EVASION] >= MAX_STAT_STAGE) + if (pokemonInfo->hitChancesStages[STAT_STAGE_EVASION] >= MAX_STAT_STAGE) { return FALSE; } break; case MOVE_INGRAIN: - if (pokemonData->immobilizeStatus == IMMOBILIZE_STATUS_INGRAIN || pokemonData->maxHP / 2 < pokemonData->HP) + if (pokemonInfo->immobilizeStatus == STATUS_INGRAIN || pokemonInfo->maxHPStat / 2 < pokemonInfo->HP) { return FALSE; } break; case MOVE_SWALLOW: - if (pokemonData->maxHP <= pokemonData->HP || pokemonData->stockpileCount == 0) + if (pokemonInfo->maxHPStat <= pokemonInfo->HP || pokemonInfo->stockpileStage == 0) { return FALSE; } break; case MOVE_SPIT_UP: - if (pokemonData->stockpileCount == 0) + if (pokemonInfo->stockpileStage == 0) { return FALSE; } break; case MOVE_DOOM_DESIRE: case MOVE_FUTURE_SIGHT: - if (pokemonData->moveStatus == MOVE_STATUS_SET_DAMAGE) + if (pokemonInfo->moveStatus == STATUS_SET_DAMAGE) { return FALSE; } break; case MOVE_BULK_UP: - if (pokemonData->attackStages[STAT_STAGE_ATTACK] >= MAX_STAT_STAGE && pokemonData->defenseStages[STAT_STAGE_DEFENSE] >= MAX_STAT_STAGE) + if (pokemonInfo->offensiveStages[STAT_STAGE_ATK] >= MAX_STAT_STAGE && pokemonInfo->defensiveStages[STAT_STAGE_DEF] >= MAX_STAT_STAGE) { return FALSE; } break; case MOVE_CAMOUFLAGE: - if (HasType(pokemon, gDungeonCamouflageTypes[gDungeonGlobalData->tileset])) + if (MonsterIsType(pokemon, gDungeonCamouflageTypes[gDungeon->tileset])) { return FALSE; } break; case MOVE_TAIL_GLOW: - if (pokemonData->attackStages[STAT_STAGE_SPECIAL_ATTACK] >= MAX_STAT_STAGE) + if (pokemonInfo->offensiveStages[STAT_STAGE_SP_ATK] >= MAX_STAT_STAGE) { return FALSE; } break; case MOVE_DESTINY_BOND: - if (pokemonData->linkedStatus == LINKED_STATUS_DESTINY_BOND) + if (pokemonInfo->linkedStatus == STATUS_DESTINY_BOND) { return FALSE; } break; case MOVE_MIRROR_COAT: - if (pokemonData->protectionStatus == PROTECTION_STATUS_MIRROR_COAT) + if (pokemonInfo->protectionStatus == STATUS_MIRROR_COAT) { return FALSE; } break; case MOVE_REFLECT: - if (pokemonData->protectionStatus == PROTECTION_STATUS_REFLECT) + if (pokemonInfo->protectionStatus == STATUS_REFLECT) { return FALSE; } break; case MOVE_DRAGON_DANCE: - if (pokemonData->attackStages[STAT_STAGE_ATTACK] >= MAX_STAT_STAGE && pokemon->entityData->movementSpeed >= MAX_MOVEMENT_SPEED) + if (pokemonInfo->offensiveStages[STAT_STAGE_ATK] >= MAX_STAT_STAGE && pokemon->info->speedStage >= MAX_SPEED_STAGE) { return FALSE; } break; case MOVE_MAGIC_COAT: - if (pokemonData->protectionStatus == PROTECTION_STATUS_MAGIC_COAT) + if (pokemonInfo->protectionStatus == STATUS_MAGIC_COAT) { return FALSE; } break; case MOVE_DETECT: case MOVE_PROTECT: - if (pokemonData->protectionStatus == PROTECTION_STATUS_PROTECT) + if (pokemonInfo->protectionStatus == STATUS_PROTECT) { return FALSE; } break; case MOVE_RAIN_DANCE: - if (GetWeather(pokemon) == WEATHER_RAIN) + if (GetApparentWeather(pokemon) == WEATHER_RAIN) { return FALSE; } break; case MOVE_SANDSTORM: - if (GetWeather(pokemon) == WEATHER_SANDSTORM) + if (GetApparentWeather(pokemon) == WEATHER_SANDSTORM) { return FALSE; } break; case MOVE_SUNNY_DAY: - if (GetWeather(pokemon) == WEATHER_SUNNY) + if (GetApparentWeather(pokemon) == WEATHER_SUNNY) { return FALSE; } break; case MOVE_SAFEGUARD: - if (pokemonData->protectionStatus == PROTECTION_STATUS_SAFEGUARD) + if (pokemonInfo->protectionStatus == STATUS_SAFEGUARD) { return FALSE; } break; case MOVE_INVISIFY: - if (pokemonData->transformStatus == TRANSFORM_STATUS_INVISIBLE) + if (pokemonInfo->transformStatus == STATUS_INVISIBLE) { return FALSE; } break; case MOVE_FOCUS_ENERGY: - if (pokemonData->moveStatus == MOVE_STATUS_FOCUS_ENERGY) + if (pokemonInfo->moveStatus == STATUS_FOCUS_ENERGY) { return FALSE; } break; case MOVE_TAKEAWAY: - if (pokemonData->heldItem.itemFlags & ITEM_FLAG_EXISTS) + if (pokemonInfo->heldItem.flags & ITEM_FLAG_EXISTS) { return FALSE; } break; case MOVE_REST: - if (!HasQuarterHPOrLess(pokemon) && !HasNegativeStatus(pokemon)) + if (!HasLowHealth(pokemon) && !HasNegativeStatus(pokemon)) { return FALSE; } break; case MOVE_DIVE: - if (IsTileGround(GetMapTileForDungeonEntity_2(pokemon))) + if (IsTileGround(GetTileAtEntitySafe(pokemon))) { return FALSE; } break; case MOVE_DIG: { - struct MapTile *tile = GetMapTileForDungeonEntity_2(pokemon); - if (!IsTileGround(tile) || (tile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID)) != TILE_TYPE_FLOOR) + struct Tile *tile = GetTileAtEntitySafe(pokemon); + if (!IsTileGround(tile) || (tile->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY)) != TERRAIN_TYPE_NORMAL) { return FALSE; } @@ -367,27 +367,27 @@ bool8 CanUseOnSelfWithStatusChecker(struct DungeonEntity *pokemon, struct Pokemo } case MOVE_TRAP_BUSTER: { - struct DungeonEntity *mapObject = GetMapTileForDungeonEntity_2(pokemon)->mapObject; - if (mapObject == NULL || GetEntityType(mapObject) != ENTITY_TRAP) + struct Entity *object = GetTileAtEntitySafe(pokemon)->object; + if (object == NULL || GetEntityType(object) != ENTITY_TRAP) { return FALSE; } break; } case MOVE_MUD_SPORT: - if (gDungeonGlobalData->mudSportTurnsLeft > 0) + if (gDungeon->mudSportTurns > 0) { return FALSE; } break; case MOVE_WATER_SPORT: - if (gDungeonGlobalData->waterSportTurnsLeft > 0) + if (gDungeon->waterSportTurns > 0) { return FALSE; } break; case MOVE_GRUDGE: - if (pokemonData->grudgeStatus) + if (pokemonInfo->grudge) { return FALSE; } @@ -395,73 +395,73 @@ bool8 CanUseOnSelfWithStatusChecker(struct DungeonEntity *pokemon, struct Pokemo case MOVE_DECOY_MAKER: case MOVE_FOLLOW_ME: case MOVE_SUBSTITUTE: - if (gDungeonGlobalData->decoyActive) + if (gDungeon->decoyActive) { return FALSE; } break; case MOVE_STOCKPILE: - if (pokemonData->stockpileCount >= MAX_STOCKPILE_COUNT) + if (pokemonInfo->stockpileStage >= MAX_STOCKPILE_STAGE) { return FALSE; } break; case MOVE_CLEANSE: - if (pokemonData->heldItem.itemFlags & ITEM_FLAG_EXISTS && - !(pokemonData->heldItem.itemFlags & ITEM_FLAG_STICKY)) + if (pokemonInfo->heldItem.flags & ITEM_FLAG_EXISTS && + !(pokemonInfo->heldItem.flags & ITEM_FLAG_STICKY)) { return FALSE; } break; case MOVE_DOUBLE_TEAM: - if (pokemonData->accuracyStages[STAT_STAGE_EVASION] >= MAX_STAT_STAGE) + if (pokemonInfo->hitChancesStages[STAT_STAGE_EVASION] >= MAX_STAT_STAGE) { return FALSE; } break; case MOVE_GROWTH: - if (pokemonData->attackStages[STAT_STAGE_SPECIAL_ATTACK] >= MAX_STAT_STAGE) + if (pokemonInfo->offensiveStages[STAT_STAGE_SP_ATK] >= MAX_STAT_STAGE) { return FALSE; } break; case MOVE_SWORDS_DANCE: - if (pokemonData->attackStages[STAT_STAGE_ATTACK] >= MAX_STAT_STAGE) + if (pokemonInfo->offensiveStages[STAT_STAGE_ATK] >= MAX_STAT_STAGE) { return FALSE; } break; case MOVE_WISH: - if (pokemonData->isEnemy || pokemonData->protectionStatus == PROTECTION_STATUS_WISH) + if (pokemonInfo->isNotTeamMember || pokemonInfo->protectionStatus == STATUS_WISH) { return FALSE; } break; case MOVE_TRANSFORM: - if (pokemonData->transformStatus == TRANSFORM_STATUS_TRANSFORMED) + if (pokemonInfo->transformStatus == STATUS_TRANSFORMED) { return FALSE; } break; case MOVE_SPIKES: - if (!CanLayTrap(&pokemon->posWorld)) + if (!CanLayTrap(&pokemon->pos)) { return FALSE; } break; case MOVE_CALM_MIND: - if (pokemonData->attackStages[STAT_STAGE_SPECIAL_ATTACK] < MAX_STAT_STAGE) + if (pokemonInfo->offensiveStages[STAT_STAGE_SP_ATK] < MAX_STAT_STAGE) { break; } case MOVE_AMNESIA: - if (pokemonData->defenseStages[STAT_STAGE_SPECIAL_DEFENSE] >= MAX_STAT_STAGE) + if (pokemonInfo->defensiveStages[STAT_STAGE_SP_DEF] >= MAX_STAT_STAGE) { return FALSE; } break; case MOVE_SNATCH: - if (pokemonData->waitingStatus == WAITING_STATUS_SNATCH) + if (pokemonInfo->waitingStatus == STATUS_SNATCH) { return FALSE; } @@ -477,31 +477,31 @@ bool8 CanUseOnSelfWithStatusChecker(struct DungeonEntity *pokemon, struct Pokemo case MOVE_VITAL_THROW: case MOVE_WARP: case MOVE_WHIRLWIND: - if (IsBossBattle()) + if (IsBossFight()) { return FALSE; } break; case MOVE_CONVERSION_2: - if (pokemonData->protectionStatus == PROTECTION_STATUS_CONVERSION_2) + if (pokemonInfo->protectionStatus == STATUS_CONVERSION2) { return FALSE; } break; case MOVE_HELPING_HAND: - if (pokemonData->isEnemy) + if (pokemonInfo->isNotTeamMember) { s32 i; for (i = 0; i < DUNGEON_MAX_WILD_POKEMON; i++) { - struct DungeonEntity *target = gDungeonGlobalData->wildPokemon[i]; - if (EntityExists(target) && target != pokemon && CanSee(pokemon, target)) + struct Entity *target = gDungeon->wildPokemon[i]; + if (EntityExists(target) && target != pokemon && CanSeeTarget(pokemon, target)) { - if (target->entityData->attackStages[STAT_STAGE_ATTACK] >= MAX_STAT_STAGE) + if (target->info->offensiveStages[STAT_STAGE_ATK] >= MAX_STAT_STAGE) { continue; } - if (target->entityData->attackStages[STAT_STAGE_SPECIAL_ATTACK] < MAX_STAT_STAGE) + if (target->info->offensiveStages[STAT_STAGE_SP_ATK] < MAX_STAT_STAGE) { break; } @@ -518,14 +518,14 @@ bool8 CanUseOnSelfWithStatusChecker(struct DungeonEntity *pokemon, struct Pokemo s32 i; for (i = 0; i < MAX_TEAM_MEMBERS; i++) { - struct DungeonEntity *target = gDungeonGlobalData->teamPokemon[i]; - if (EntityExists(target) && target != pokemon && CanSee(pokemon, target)) + struct Entity *target = gDungeon->teamPokemon[i]; + if (EntityExists(target) && target != pokemon && CanSeeTarget(pokemon, target)) { - if (target->entityData->attackStages[STAT_STAGE_ATTACK] >= MAX_STAT_STAGE) + if (target->info->offensiveStages[STAT_STAGE_ATK] >= MAX_STAT_STAGE) { continue; } - if (target->entityData->attackStages[STAT_STAGE_SPECIAL_ATTACK] < MAX_STAT_STAGE) + if (target->info->offensiveStages[STAT_STAGE_SP_ATK] < MAX_STAT_STAGE) { break; } @@ -541,16 +541,16 @@ bool8 CanUseOnSelfWithStatusChecker(struct DungeonEntity *pokemon, struct Pokemo return TRUE; } -bool8 CanUseOnTargetWithStatusChecker(struct DungeonEntity *user, struct DungeonEntity *target, struct PokemonMove *move) +bool8 CanUseOnTargetWithStatusChecker(struct Entity *user, struct Entity *target, struct Move *move) { - struct DungeonEntityData *userData = user->entityData; - struct DungeonEntityData *targetData = target->entityData; + struct EntityInfo *userData = user->info; + struct EntityInfo *targetData = target->info; s32 i; - if (targetData->immobilizeStatus == IMMOBILIZE_STATUS_FROZEN && MoveCannotHitFrozen(move)) + if (targetData->immobilizeStatus == STATUS_FROZEN && MoveCannotHitFrozen(move)) { return FALSE; } - switch (move->moveID) + switch (move->id) { case MOVE_GRASSWHISTLE: case MOVE_HYPNOSIS: @@ -564,7 +564,7 @@ bool8 CanUseOnTargetWithStatusChecker(struct DungeonEntity *user, struct Dungeon } break; case MOVE_YAWN: - if (targetData->sleepStatus == SLEEP_STATUS_YAWNING) + if (targetData->sleep == STATUS_YAWNING) { return FALSE; } @@ -574,25 +574,25 @@ bool8 CanUseOnTargetWithStatusChecker(struct DungeonEntity *user, struct Dungeon } break; case MOVE_NIGHTMARE: - if (targetData->sleepStatus == SLEEP_STATUS_NIGHTMARE) + if (targetData->sleep == STATUS_NIGHTMARE) { return FALSE; } break; case MOVE_SWEET_SCENT: - if (targetData->accuracyStages[STAT_STAGE_EVASION] <= 0) + if (targetData->hitChancesStages[STAT_STAGE_EVASION] <= 0) { return FALSE; } break; case MOVE_CHARM: - if (targetData->attackMultipliers[STAT_STAGE_ATTACK] < STAT_MULTIPLIER_THRESHOLD) + if (targetData->offensiveMultipliers[STAT_STAGE_ATK] < STAT_MULTIPLIER_THRESHOLD) { return FALSE; } break; case MOVE_ENCORE: - if (targetData->volatileStatus == VOLATILE_STATUS_ENCORE) + if (targetData->volatileStatus == STATUS_ENCORE) { return FALSE; } @@ -622,19 +622,19 @@ bool8 CanUseOnTargetWithStatusChecker(struct DungeonEntity *user, struct Dungeon case MOVE_COTTON_SPORE: case MOVE_SCARY_FACE: case MOVE_STRING_SHOT: - if (target->entityData->movementSpeed <= 0) + if (target->info->speedStage <= 0) { return FALSE; } break; case MOVE_SCREECH: - if (targetData->defenseMultipliers[STAT_STAGE_DEFENSE] < STAT_MULTIPLIER_THRESHOLD) + if (targetData->defensiveMultipliers[STAT_STAGE_DEF] < STAT_MULTIPLIER_THRESHOLD) { return FALSE; } break; case MOVE_FAKE_TEARS: - if (targetData->defenseStages[STAT_STAGE_SPECIAL_DEFENSE] <= 0) + if (targetData->defensiveStages[STAT_STAGE_SP_DEF] <= 0) { return FALSE; } @@ -646,20 +646,20 @@ bool8 CanUseOnTargetWithStatusChecker(struct DungeonEntity *user, struct Dungeon } break; case MOVE_SMOKESCREEN: - if (targetData->moveStatus == MOVE_STATUS_WHIFFER) + if (targetData->moveStatus == STATUS_WHIFFER) { return FALSE; } break; case MOVE_MEMENTO: - if (targetData->attackMultipliers[STAT_STAGE_ATTACK] < STAT_MULTIPLIER_THRESHOLD && - targetData->attackMultipliers[STAT_STAGE_SPECIAL_ATTACK] < STAT_MULTIPLIER_THRESHOLD) + if (targetData->offensiveMultipliers[STAT_STAGE_ATK] < STAT_MULTIPLIER_THRESHOLD && + targetData->offensiveMultipliers[STAT_STAGE_SP_ATK] < STAT_MULTIPLIER_THRESHOLD) { return FALSE; } break; case MOVE_WILL_O_WISP: - if (targetData->nonVolatileStatus == NON_VOLATILE_STATUS_BURNED) + if (targetData->nonVolatileStatus == STATUS_BURN) { return FALSE; } @@ -668,12 +668,12 @@ bool8 CanUseOnTargetWithStatusChecker(struct DungeonEntity *user, struct Dungeon case MOVE_ODOR_SLEUTH: if (targetData->types[0] == TYPE_GHOST || targetData->types[1] == TYPE_GHOST) { - if (!targetData->exposedStatus) + if (!targetData->exposed) { break; } } - if (targetData->accuracyStages[STAT_STAGE_EVASION] <= DEFAULT_STAT_STAGE) + if (targetData->hitChancesStages[STAT_STAGE_EVASION] <= DEFAULT_STAT_STAGE) { return FALSE; } @@ -682,7 +682,7 @@ bool8 CanUseOnTargetWithStatusChecker(struct DungeonEntity *user, struct Dungeon case MOVE_GLARE: case MOVE_STUN_SPORE: case MOVE_THUNDER_WAVE: - if (targetData->nonVolatileStatus == NON_VOLATILE_STATUS_PARALYZED) + if (targetData->nonVolatileStatus == STATUS_PARALYSIS) { return FALSE; } @@ -695,20 +695,20 @@ bool8 CanUseOnTargetWithStatusChecker(struct DungeonEntity *user, struct Dungeon break; case MOVE_LEER: case MOVE_TAIL_WHIP: - if (targetData->defenseStages[STAT_STAGE_DEFENSE] <= 0) + if (targetData->defensiveStages[STAT_STAGE_DEF] <= 0) { return FALSE; } break; case MOVE_METAL_SOUND: - if (targetData->defenseStages[STAT_STAGE_SPECIAL_DEFENSE] <= 0) + if (targetData->defensiveStages[STAT_STAGE_SP_DEF] <= 0) { return FALSE; } break; case MOVE_TICKLE: - if (targetData->attackStages[STAT_STAGE_ATTACK] <= 0 && - targetData->defenseStages[STAT_STAGE_DEFENSE] <= 0) + if (targetData->offensiveStages[STAT_STAGE_ATK] <= 0 && + targetData->defensiveStages[STAT_STAGE_DEF] <= 0) { return FALSE; } @@ -716,7 +716,7 @@ bool8 CanUseOnTargetWithStatusChecker(struct DungeonEntity *user, struct Dungeon case MOVE_BLOCK: case MOVE_MEAN_LOOK: case MOVE_SPIDER_WEB: - if (targetData->immobilizeStatus == IMMOBILIZE_STATUS_IMMOBILIZED) + if (targetData->immobilizeStatus == STATUS_SHADOW_HOLD) { return FALSE; } @@ -725,11 +725,11 @@ bool8 CanUseOnTargetWithStatusChecker(struct DungeonEntity *user, struct Dungeon { for (i = 0; i < 2; i++) { - if (targetData->attackStages[i] < DEFAULT_STAT_STAGE) break; - if (targetData->defenseStages[i] < DEFAULT_STAT_STAGE) break; - if (targetData->accuracyStages[i] < DEFAULT_STAT_STAGE || - targetData->attackMultipliers[i] < DEFAULT_STAT_MULTIPLIER || - targetData->defenseMultipliers[i] < DEFAULT_STAT_MULTIPLIER) + if (targetData->offensiveStages[i] < DEFAULT_STAT_STAGE) break; + if (targetData->defensiveStages[i] < DEFAULT_STAT_STAGE) break; + if (targetData->hitChancesStages[i] < DEFAULT_STAT_STAGE || + targetData->offensiveMultipliers[i] < DEFAULT_STAT_MULTIPLIER || + targetData->defensiveMultipliers[i] < DEFAULT_STAT_MULTIPLIER) { break; } @@ -741,7 +741,7 @@ bool8 CanUseOnTargetWithStatusChecker(struct DungeonEntity *user, struct Dungeon break; } case MOVE_UPROAR: - if (targetData->sleepStatus == SLEEP_STATUS_SLEEPLESS) + if (targetData->sleep == STATUS_SLEEPLESS) { return FALSE; } @@ -750,11 +750,11 @@ bool8 CanUseOnTargetWithStatusChecker(struct DungeonEntity *user, struct Dungeon { for (i = 0; i < 2; i++) { - if (userData->attackStages[i] < targetData->attackStages[i]) break; - if (userData->defenseStages[i] < targetData->defenseStages[i] || - userData->accuracyStages[i] < targetData->accuracyStages[i] || - userData->attackMultipliers[i] < targetData->attackMultipliers[i] || - userData->defenseMultipliers[i] < targetData->defenseMultipliers[i]) + if (userData->offensiveStages[i] < targetData->offensiveStages[i]) break; + if (userData->defensiveStages[i] < targetData->defensiveStages[i] || + userData->hitChancesStages[i] < targetData->hitChancesStages[i] || + userData->offensiveMultipliers[i] < targetData->offensiveMultipliers[i] || + userData->defensiveMultipliers[i] < targetData->defensiveMultipliers[i]) { break; } @@ -768,33 +768,33 @@ bool8 CanUseOnTargetWithStatusChecker(struct DungeonEntity *user, struct Dungeon case MOVE_FLASH: case MOVE_KINESIS: case MOVE_SAND_ATTACK: - if (targetData->accuracyStages[STAT_STAGE_ACCURACY] <= 0) + if (targetData->hitChancesStages[STAT_STAGE_ACCURACY] <= 0) { return FALSE; } break; case MOVE_TAUNT: - if (targetData->volatileStatus == VOLATILE_STATUS_TAUNTED) + if (targetData->volatileStatus == STATUS_TAUNTED) { return FALSE; } break; case MOVE_TRICK: - if (!(userData->heldItem.itemFlags & ITEM_FLAG_EXISTS) || - !(targetData->heldItem.itemFlags & ITEM_FLAG_EXISTS)) + if (!(userData->heldItem.flags & ITEM_FLAG_EXISTS) || + !(targetData->heldItem.flags & ITEM_FLAG_EXISTS)) { return FALSE; } break; case MOVE_KNOCK_OFF: - if (!(targetData->heldItem.itemFlags & ITEM_FLAG_EXISTS)) + if (!(targetData->heldItem.flags & ITEM_FLAG_EXISTS)) { return FALSE; } break; case MOVE_FEATHERDANCE: case MOVE_GROWL: - if (targetData->attackStages[STAT_STAGE_ATTACK] <= 0) + if (targetData->offensiveStages[STAT_STAGE_ATK] <= 0) { return FALSE; } @@ -807,17 +807,17 @@ bool8 CanUseOnTargetWithStatusChecker(struct DungeonEntity *user, struct Dungeon } break; case MOVE_CURSE: - if (HasType(user, TYPE_GHOST)) + if (MonsterIsType(user, TYPE_GHOST)) { - if (targetData->waitingStatus == WAITING_STATUS_CURSED) + if (targetData->waitingStatus == STATUS_CURSED) { return FALSE; } } else { - if (userData->attackStages[STAT_STAGE_ATTACK] >= MAX_STAT_STAGE && - userData->defenseStages[STAT_STAGE_DEFENSE] >= MAX_STAT_STAGE) + if (userData->offensiveStages[STAT_STAGE_ATK] >= MAX_STAT_STAGE && + userData->defensiveStages[STAT_STAGE_DEF] >= MAX_STAT_STAGE) { return FALSE; } @@ -825,7 +825,7 @@ bool8 CanUseOnTargetWithStatusChecker(struct DungeonEntity *user, struct Dungeon break; case MOVE_IMPRISON: case MOVE_OBSERVER: - if (targetData->volatileStatus == VOLATILE_STATUS_PAUSED) + if (targetData->volatileStatus == STATUS_PAUSED) { return FALSE; } @@ -837,13 +837,13 @@ bool8 CanUseOnTargetWithStatusChecker(struct DungeonEntity *user, struct Dungeon } break; case MOVE_LEECH_SEED: - if (targetData->linkedStatus == LINKED_STATUS_LEECH_SEED) + if (targetData->linkedStatus == STATUS_LEECH_SEED) { return FALSE; } break; case MOVE_PERISH_SONG: - if (targetData->perishSongTimer != 0) + if (targetData->perishSongTurns != 0) { return FALSE; } @@ -856,34 +856,34 @@ bool8 CanUseOnTargetWithStatusChecker(struct DungeonEntity *user, struct Dungeon } break; case MOVE_ATTRACT: - if (targetData->volatileStatus == VOLATILE_STATUS_INFATUATED) + if (targetData->volatileStatus == STATUS_INFATUATED) { return FALSE; } break; case MOVE_WRAP: - if (targetData->immobilizeStatus == IMMOBILIZE_STATUS_WRAPPED_AROUND_FOE) + if (targetData->immobilizeStatus == STATUS_WRAP) { return FALSE; } - if (targetData->immobilizeStatus == IMMOBILIZE_STATUS_WRAPPED_BY_FOE) + if (targetData->immobilizeStatus == STATUS_WRAPPED) { return FALSE; } break; case MOVE_TOXIC: - if (targetData->nonVolatileStatus == NON_VOLATILE_STATUS_BADLY_POISONED) + if (targetData->nonVolatileStatus == STATUS_BADLY_POISONED) { return FALSE; } break; case MOVE_POISON_GAS: case MOVE_POISONPOWDER: - if (targetData->nonVolatileStatus == NON_VOLATILE_STATUS_POISONED) + if (targetData->nonVolatileStatus == STATUS_POISONED) { return FALSE; } - if (targetData->nonVolatileStatus == NON_VOLATILE_STATUS_BADLY_POISONED) + if (targetData->nonVolatileStatus == STATUS_BADLY_POISONED) { return FALSE; } @@ -895,7 +895,7 @@ bool8 CanUseOnTargetWithStatusChecker(struct DungeonEntity *user, struct Dungeon case MOVE_SWEET_KISS: case MOVE_TEETER_DANCE: case MOVE_TOTTER: - if (targetData->volatileStatus == VOLATILE_STATUS_CONFUSED) + if (targetData->volatileStatus == STATUS_CONFUSED) { return FALSE; } @@ -904,7 +904,7 @@ bool8 CanUseOnTargetWithStatusChecker(struct DungeonEntity *user, struct Dungeon return TRUE; } -bool8 HasDisabledMove(struct PokemonMove *moves) +bool8 HasDisabledMove(struct Move *moves) { s32 i; for (i = 0; i < MAX_MON_MOVES; i++) @@ -921,7 +921,7 @@ bool8 HasDisabledMove(struct PokemonMove *moves) return FALSE; } -bool8 LastUsedMoveOutOfPP(struct PokemonMove *moves) +bool8 LastUsedMoveOutOfPP(struct Move *moves) { s32 i; for (i = 0; i < MAX_MON_MOVES; i++) @@ -936,7 +936,7 @@ bool8 LastUsedMoveOutOfPP(struct PokemonMove *moves) return FALSE; } -bool8 HasLastUsedMove(struct PokemonMove *moves) +bool8 HasLastUsedMove(struct Move *moves) { s32 i; for (i = 0; i < MAX_MON_MOVES; i++) diff --git a/src/move_effects_target.c b/src/move_effects_target.c index e315993b8..12240f20b 100644 --- a/src/move_effects_target.c +++ b/src/move_effects_target.c @@ -125,53 +125,53 @@ extern u8 *gUnknown_80FC270[]; extern u8 *gUnknown_80FC138[]; extern u8 *gUnknown_80FC21C[]; -extern bool8 sub_8071728(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 displayMessage); -extern void sub_8041F28(struct DungeonEntity *, s32); -extern void sub_8041F4C(struct DungeonEntity *, s32); -extern void sub_8041F70(struct DungeonEntity *, s32); -extern void sub_8041F94(struct DungeonEntity *, s32); -extern void sub_8041C08(struct DungeonEntity *); +extern bool8 sub_8071728(struct Entity * pokemon, struct Entity * target, bool8 displayMessage); +extern void sub_8041F28(struct Entity *, s32); +extern void sub_8041F4C(struct Entity *, s32); +extern void sub_8041F70(struct Entity *, s32); +extern void sub_8041F94(struct Entity *, s32); +extern void sub_8041C08(struct Entity *); extern void sub_8076CB4(s32); -extern void sub_8041F08(struct DungeonEntity *); -extern void sub_8041C7C(struct DungeonEntity *); -extern void sub_8041C6C(struct DungeonEntity *); -extern void sub_806CE94(struct DungeonEntity *, u32); -extern void sub_8041C34(struct DungeonEntity *); -extern void sub_8041EF8(struct DungeonEntity *); -extern void sub_8041EE8(struct DungeonEntity *); -extern void sub_8041EC8(struct DungeonEntity *); -extern void sub_8041ED8(struct DungeonEntity *); -extern void DungeonEntityUpdateStatusSprites(struct DungeonEntity *); -extern void SetMessageArgument(char[], struct DungeonEntity*, u32); -extern void SetMessageArgument_2(char[], struct DungeonEntityData*, u32); -extern void sub_8041AF4(struct DungeonEntity *); -extern void sub_80522F4(struct DungeonEntity *r1, struct DungeonEntity *r2, u8 *); -extern void sub_806CE68(struct DungeonEntity *, s32); -extern void nullsub_91(struct DungeonEntity *); -extern void nullsub_90(struct DungeonEntity *); -extern void nullsub_72(struct DungeonEntity *); -extern void nullsub_71(struct DungeonEntity *); -extern void nullsub_70(struct DungeonEntity *); -extern void nullsub_69(struct DungeonEntity *, struct DungeonEntity *); +extern void sub_8041F08(struct Entity *); +extern void sub_8041C7C(struct Entity *); +extern void sub_8041C6C(struct Entity *); +extern void sub_806CE94(struct Entity *, u32); +extern void sub_8041C34(struct Entity *); +extern void sub_8041EF8(struct Entity *); +extern void sub_8041EE8(struct Entity *); +extern void sub_8041EC8(struct Entity *); +extern void sub_8041ED8(struct Entity *); +extern void DungeonEntityUpdateStatusSprites(struct Entity *); +extern void SetMessageArgument(char[], struct Entity*, u32); +extern void SetMessageArgument_2(char[], struct EntityInfo*, u32); +extern void sub_8041AF4(struct Entity *); +extern void sub_80522F4(struct Entity *r1, struct Entity *r2, u8 *); +extern void sub_806CE68(struct Entity *, s32); +extern void nullsub_91(struct Entity *); +extern void nullsub_90(struct Entity *); +extern void nullsub_72(struct Entity *); +extern void nullsub_71(struct Entity *); +extern void nullsub_70(struct Entity *); +extern void nullsub_69(struct Entity *, struct Entity *); -void sub_8075BA4(struct DungeonEntity *param_1, u8 param_2) +void sub_8075BA4(struct Entity *param_1, u8 param_2) { - struct DungeonEntityData * entityData = param_1->entityData; + struct EntityInfo * entityData = param_1->info; - if ((param_2 != 0) && (entityData->volatileStatus == VOLATILE_STATUS_COWERING)) { - entityData->action.facingDir = (entityData->action.facingDir + 4) & DIRECTION_MASK; + if ((param_2 != 0) && (entityData->volatileStatus == STATUS_COWERING)) { + entityData->action.direction = (entityData->action.direction + 4) & DIRECTION_MASK; TargetTileInFront(param_1); } - else if (entityData->volatileStatus == VOLATILE_STATUS_CONFUSED) { - entityData->action.facingDir = DungeonRandomCapped(NUM_DIRECTIONS); + else if (entityData->volatileStatus == STATUS_CONFUSED) { + entityData->action.direction = DungeonRandInt(NUM_DIRECTIONS); TargetTileInFront(param_1); } } -u8 sub_8075BF4(struct DungeonEntity * pokemon, s32 sleepTurns) +u8 sub_8075BF4(struct Entity * pokemon, s32 sleepTurns) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; u32 uVar4; uVar4 = 0; @@ -180,39 +180,39 @@ u8 sub_8075BF4(struct DungeonEntity * pokemon, s32 sleepTurns) } else { - entityData = pokemon->entityData; + entityData = pokemon->info; - if(entityData->sleepStatus != SLEEP_STATUS_NIGHTMARE && entityData->sleepStatus != SLEEP_STATUS_SLEEP) + if(entityData->sleep != STATUS_NIGHTMARE && entityData->sleep != STATUS_SLEEP) { - entityData->sleepStatus = SLEEP_STATUS_SLEEP; + entityData->sleep = STATUS_SLEEP; if ((sleepTurns != 0x7f) && HasAbility(pokemon, ABILITY_EARLY_BIRD) && (sleepTurns = sleepTurns / 2, sleepTurns < 1)) { sleepTurns = 1; } - entityData->sleepStatusTurnsLeft = sleepTurns; + entityData->sleepTurns = sleepTurns; } - else if(entityData->sleepStatus == SLEEP_STATUS_SLEEP) + else if(entityData->sleep == STATUS_SLEEP) uVar4 = 1; - else if(entityData->sleepStatus == SLEEP_STATUS_NIGHTMARE) + else if(entityData->sleep == STATUS_NIGHTMARE) uVar4 = 2; DungeonEntityUpdateStatusSprites(pokemon); } return uVar4; } -void sub_8075C58(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 turns, u8 displayMessage) +void sub_8075C58(struct Entity * pokemon, struct Entity * target, s32 turns, u8 displayMessage) { - u8 sleepStatus; + u8 sleep; u8 cVar2; if (!CannotSleep(pokemon,target,1,displayMessage)) { - sleepStatus = target->entityData->sleepStatus; - if (sleepStatus == SLEEP_STATUS_SLEEPLESS) { + sleep = target->info->sleep; + if (sleep == STATUS_SLEEPLESS) { if (displayMessage) sub_80522F4(pokemon,target,*gUnknown_80FB380); } - else if (sleepStatus == SLEEP_STATUS_NAPPING) { + else if (sleep == STATUS_NAPPING) { if (displayMessage) sub_80522F4(pokemon,target,*gUnknown_80FB384); } @@ -231,14 +231,14 @@ void sub_8075C58(struct DungeonEntity * pokemon, struct DungeonEntity * target, } } -bool8 CannotSleep(struct DungeonEntity * pokemon, struct DungeonEntity * target, u8 param_3, bool8 displayMessage) +bool8 CannotSleep(struct Entity * pokemon, struct Entity * target, u8 param_3, bool8 displayMessage) { if ((!EntityExists(target)) || ((SetMessageArgument(gAvailablePokemonNames,target,0), param_3 != 0 && (HasSafeguardStatus(pokemon,target,displayMessage))))) { return TRUE; } - else if (HasIQSkill(target, IQ_SKILL_NONSLEEPER)) { + else if (IQSkillIsEnabled(target, IQ_NONSLEEPER)) { if (displayMessage) { sub_80522F4(pokemon,target,*gUnknown_80FCD54); } @@ -256,7 +256,7 @@ bool8 CannotSleep(struct DungeonEntity * pokemon, struct DungeonEntity * target, } return TRUE; } - else if (HasItem(target, ITEM_ID_INSOMNISCOPE)) { + else if (HasHeldItem(target, ITEM_INSOMNISCOPE)) { if (displayMessage) { sub_80522F4(pokemon,target,*gUnknown_80FD548); } @@ -265,27 +265,27 @@ bool8 CannotSleep(struct DungeonEntity * pokemon, struct DungeonEntity * target, return FALSE; } -void NightmareStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 turns) +void NightmareStatusTarget(struct Entity * pokemon, struct Entity * target, s32 turns) { bool8 hasNightmare; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; hasNightmare = FALSE; if (!CannotSleep(pokemon, target, 1, TRUE)) { - entityData = target->entityData; - if (entityData->sleepStatus != SLEEP_STATUS_SLEEPLESS) { + entityData = target->info; + if (entityData->sleep != STATUS_SLEEPLESS) { sub_8041EC8(target); - if (entityData->sleepStatus != SLEEP_STATUS_NIGHTMARE) { - entityData->sleepStatusTurnsLeft = turns; - if ((HasAbility(target, ABILITY_EARLY_BIRD)) && (entityData->sleepStatusTurnsLeft >>= 1, entityData->sleepStatusTurnsLeft == 0)) { - entityData->sleepStatusTurnsLeft = 1; + if (entityData->sleep != STATUS_NIGHTMARE) { + entityData->sleepTurns = turns; + if ((HasAbility(target, ABILITY_EARLY_BIRD)) && (entityData->sleepTurns >>= 1, entityData->sleepTurns == 0)) { + entityData->sleepTurns = 1; } } else { hasNightmare = TRUE; } - entityData->sleepStatus = SLEEP_STATUS_NIGHTMARE; + entityData->sleep = STATUS_NIGHTMARE; sub_806CE68(target,8); if (hasNightmare) { sub_80522F4(pokemon,target,*gUnknown_80FB3CC); @@ -302,27 +302,27 @@ void NightmareStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity } } -void NappingStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 turns) +void NappingStatusTarget(struct Entity * pokemon, struct Entity * target, s32 turns) { bool8 isSleeping; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; isSleeping = FALSE; if (!CannotSleep(pokemon, target, 0, TRUE)) { - entityData = target->entityData; - if (entityData->sleepStatus != SLEEP_STATUS_SLEEPLESS) { + entityData = target->info; + if (entityData->sleep != STATUS_SLEEPLESS) { sub_8041ED8(target); - if (entityData->sleepStatus == SLEEP_STATUS_NONE || entityData->sleepStatus == SLEEP_STATUS_YAWNING) { - entityData->sleepStatusTurnsLeft = turns; - if ((HasAbility(target, ABILITY_EARLY_BIRD)) && (entityData->sleepStatusTurnsLeft >>= 1, entityData->sleepStatusTurnsLeft == 0)) { - entityData->sleepStatusTurnsLeft = 1; + if (entityData->sleep == STATUS_NONE || entityData->sleep == STATUS_YAWNING) { + entityData->sleepTurns = turns; + if ((HasAbility(target, ABILITY_EARLY_BIRD)) && (entityData->sleepTurns >>= 1, entityData->sleepTurns == 0)) { + entityData->sleepTurns = 1; } } else { isSleeping = TRUE; } - entityData->sleepStatus = SLEEP_STATUS_NAPPING; + entityData->sleep = STATUS_NAPPING; sub_806CE68(target, 8); if (isSleeping) { sub_80522F4(pokemon,target,*gUnknown_80FB360); @@ -339,29 +339,29 @@ void NappingStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * } } -void YawnedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 turns) +void YawnedStatusTarget(struct Entity * pokemon, struct Entity * target, s32 turns) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (CannotSleep(pokemon,target,1,TRUE)) { return; } - entityData = target->entityData; - if (entityData->sleepStatus == SLEEP_STATUS_NONE) { - entityData->sleepStatus = SLEEP_STATUS_YAWNING; - entityData->sleepStatusTurnsLeft = turns; + entityData = target->info; + if (entityData->sleep == STATUS_NONE) { + entityData->sleep = STATUS_YAWNING; + entityData->sleepTurns = turns; nullsub_91(target); sub_806CE68(target, 8); sub_80522F4(pokemon,target,*gUnknown_80FB3E0); } - else if (((entityData->sleepStatus == SLEEP_STATUS_SLEEP) || (entityData->sleepStatus == SLEEP_STATUS_NIGHTMARE)) || (entityData->sleepStatus == SLEEP_STATUS_NAPPING)) { + else if (((entityData->sleep == STATUS_SLEEP) || (entityData->sleep == STATUS_NIGHTMARE)) || (entityData->sleep == STATUS_NAPPING)) { sub_80522F4(pokemon,target,*gUnknown_80FB418); } - else if (entityData->sleepStatus == SLEEP_STATUS_SLEEPLESS) { + else if (entityData->sleep == STATUS_SLEEPLESS) { sub_80522F4(pokemon,target,*gUnknown_80FB3F8); } else { - if (entityData->sleepStatus == SLEEP_STATUS_YAWNING) + if (entityData->sleep == STATUS_YAWNING) sub_80522F4(pokemon,target,*gUnknown_80FB414); else sub_80522F4(pokemon,target,*gUnknown_80FB3E0); @@ -369,9 +369,9 @@ void YawnedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * t DungeonEntityUpdateStatusSprites(target); } -void SleeplessStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void SleeplessStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; bool8 isAsleep; isAsleep = FALSE; @@ -379,16 +379,16 @@ void SleeplessStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity return; } - entityData = target->entityData; - if ((entityData->sleepStatus == SLEEP_STATUS_SLEEP) || (entityData->sleepStatus == SLEEP_STATUS_NAPPING) || (entityData->sleepStatus == SLEEP_STATUS_NIGHTMARE)) { + entityData = target->info; + if ((entityData->sleep == STATUS_SLEEP) || (entityData->sleep == STATUS_NAPPING) || (entityData->sleep == STATUS_NIGHTMARE)) { isAsleep = TRUE; } SetMessageArgument(gAvailablePokemonNames, target, 0); - if (entityData->sleepStatus != SLEEP_STATUS_SLEEPLESS) + if (entityData->sleep != STATUS_SLEEPLESS) { - entityData->sleepStatus = SLEEP_STATUS_SLEEPLESS; - entityData->sleepStatusTurnsLeft = CalculateStatusTurns(target, gUnknown_80F4E7C, FALSE) + 1; + entityData->sleep = STATUS_SLEEPLESS; + entityData->sleepTurns = CalculateStatusTurns(target, gUnknown_80F4E7C, FALSE) + 1; entityData->unk165 = 0xFF; entityData->unk164 = 0xFF; sub_8041EE8(target); @@ -404,21 +404,21 @@ void SleeplessStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity DungeonEntityUpdateStatusSprites(target); } -void PausedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, u8 param_3, s32 turns, bool8 displayMessage) +void PausedStatusTarget(struct Entity * pokemon, struct Entity * target, u8 param_3, s32 turns, bool8 displayMessage) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (!EntityExists(target)) { return; } - entityData = target->entityData; + entityData = target->info; if ((param_3 != 0) && (HasSafeguardStatus(pokemon,target,displayMessage))) { return; } SetMessageArgument_2(gAvailablePokemonNames,entityData,0); - if (entityData->volatileStatus != VOLATILE_STATUS_PAUSED) { - entityData->volatileStatus = VOLATILE_STATUS_PAUSED; - entityData->volatileStatusTurnsLeft = turns + 1; + if (entityData->volatileStatus != STATUS_PAUSED) { + entityData->volatileStatus = STATUS_PAUSED; + entityData->volatileStatusTurns = turns + 1; nullsub_72(target); if (turns == 1) { sub_80522F4(pokemon,target,*gUnknown_80FB480); @@ -439,13 +439,13 @@ void PausedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * t DungeonEntityUpdateStatusSprites(target); } -void InfatuateStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 displayMessage) +void InfatuateStatusTarget(struct Entity * pokemon, struct Entity * target, bool8 displayMessage) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; if (!HasSafeguardStatus(pokemon,target,displayMessage)) { if (HasAbility(target,ABILITY_OBLIVIOUS)) { SetMessageArgument(gAvailablePokemonNames,target,0); @@ -456,9 +456,9 @@ void InfatuateStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity else { SetMessageArgument_2(gAvailablePokemonNames,entityData,0); - if (entityData->volatileStatus != VOLATILE_STATUS_INFATUATED) { - entityData->volatileStatus = VOLATILE_STATUS_INFATUATED; - entityData->volatileStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4F00,TRUE) + 1; + if (entityData->volatileStatus != STATUS_INFATUATED) { + entityData->volatileStatus = STATUS_INFATUATED; + entityData->volatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4F00,TRUE) + 1; sub_8041EF8(target); sub_80522F4(pokemon,target,*gUnknown_80FB50C); } @@ -471,14 +471,14 @@ void InfatuateStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity } } -void BurnedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, u8 param_3, bool8 displayMessage) +void BurnedStatusTarget(struct Entity * pokemon, struct Entity * target, u8 param_3, bool8 displayMessage) { bool8 isNotBurned; bool8 hasSynchronized; - struct DungeonEntityData *entityData; - struct MapTile *tile_1; - struct MapTile *tile_2; - struct DungeonEntity *entity; + struct EntityInfo *entityData; + struct Tile *tile_1; + struct Tile *tile_2; + struct Entity *entity; s32 index; if (!EntityExists(target)) { @@ -486,7 +486,7 @@ void BurnedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * t } if (!HasSafeguardStatus(pokemon,target,displayMessage)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument_2(gAvailablePokemonNames,entityData,0); if (HasAbility(target, ABILITY_WATER_VEIL)) { if (displayMessage) @@ -494,25 +494,25 @@ void BurnedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * t } else { - if (HasType(target, TYPE_FIRE)) { + if (MonsterIsType(target, TYPE_FIRE)) { if (displayMessage) sub_80522F4(pokemon,target,*gUnknown_80FCE84); } else { - tile_1 = GetMapTileForDungeonEntity_2(target); - if (((tile_1->tileType & (TILE_TYPE_LIQUID | TILE_TYPE_FLOOR)) == TILE_TYPE_LIQUID) && - (gDungeonWaterType[gDungeonGlobalData->tileset] != DUNGEON_WATER_TYPE_LAVA)) { + tile_1 = GetTileAtEntitySafe(target); + if (((tile_1->terrainType & (TERRAIN_TYPE_SECONDARY | TERRAIN_TYPE_NORMAL)) == TERRAIN_TYPE_SECONDARY) && + (gDungeonWaterType[gDungeon->tileset] != DUNGEON_WATER_TYPE_LAVA)) { if (displayMessage) sub_80522F4(pokemon,target,*gUnknown_80FEBBC); } else { isNotBurned = TRUE; - if (entityData->nonVolatileStatus != NON_VOLATILE_STATUS_BURNED) { - entityData->nonVolatileStatus = NON_VOLATILE_STATUS_BURNED; - entityData->nonVolatileStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4E30,TRUE) + 1; - entityData->nonVolatileStatusDamageTimer = 0; + if (entityData->nonVolatileStatus != STATUS_BURN) { + entityData->nonVolatileStatus = STATUS_BURN; + entityData->nonVolatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4E30,TRUE) + 1; + entityData->nonVolatileStatusDamageCountdown = 0; entityData->fillAF = 0; isNotBurned = FALSE; if (param_3 != 0) { @@ -537,11 +537,11 @@ void BurnedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * t for(index = 0; index < NUM_DIRECTIONS; index++) { - tile_2 = GetMapTile_1(target->posWorld.x + + tile_2 = GetTile(target->pos.x + gAdjacentTileOffsets[index].x, - target->posWorld.y + gAdjacentTileOffsets[index].y); - entity = tile_2->pokemon; - if ((EntityExists(entity)) && (GetEntityType(entity) == ENTITY_POKEMON)) { + target->pos.y + gAdjacentTileOffsets[index].y); + entity = tile_2->monster; + if ((EntityExists(entity)) && (GetEntityType(entity) == ENTITY_MONSTER)) { if (!hasSynchronized) { hasSynchronized = TRUE; SetMessageArgument_2(gAvailablePokemonNames,entityData,0); @@ -559,13 +559,13 @@ void BurnedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * t } } -void PoisonedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 displayMessage) +void PoisonedStatusTarget(struct Entity * pokemon, struct Entity * target, bool8 displayMessage) { bool8 isNotPoisoned; bool8 hasSynchronized; - struct DungeonEntityData *entityData; - struct MapTile *tile; - struct DungeonEntity *entity; + struct EntityInfo *entityData; + struct Tile *tile; + struct Entity *entity; s32 index; if (!EntityExists(target)) { @@ -573,9 +573,9 @@ void PoisonedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * } if (!HasSafeguardStatus(pokemon,target,displayMessage)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument_2(gAvailablePokemonNames,entityData,0); - if (HasItem(target, ITEM_ID_PECHA_SCARF)) { + if (HasHeldItem(target, ITEM_PECHA_SCARF)) { if (displayMessage) sub_80522F4(pokemon,target,*gUnknown_80FD524); } @@ -587,7 +587,7 @@ void PoisonedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * } else { - if(HasType(target, TYPE_POISON) || HasType(target, TYPE_STEEL)){ + if(MonsterIsType(target, TYPE_POISON) || MonsterIsType(target, TYPE_STEEL)){ if (displayMessage) sub_80522F4(pokemon,target,*gUnknown_80FCEDC); } @@ -595,13 +595,13 @@ void PoisonedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * { isNotPoisoned = TRUE; - if(entityData->nonVolatileStatus != NON_VOLATILE_STATUS_BADLY_POISONED) + if(entityData->nonVolatileStatus != STATUS_BADLY_POISONED) { - if(entityData->nonVolatileStatus != NON_VOLATILE_STATUS_POISONED) + if(entityData->nonVolatileStatus != STATUS_POISONED) { - entityData->nonVolatileStatus = NON_VOLATILE_STATUS_POISONED; - entityData->nonVolatileStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4E34,TRUE) + 1; - entityData->nonVolatileStatusDamageTimer = 0; + entityData->nonVolatileStatus = STATUS_POISONED; + entityData->nonVolatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4E34,TRUE) + 1; + entityData->nonVolatileStatusDamageCountdown = 0; entityData->fillAF = 0; isNotPoisoned = FALSE; sub_8041C6C(target); @@ -624,11 +624,11 @@ void PoisonedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * for(index = 0; index < NUM_DIRECTIONS; index++) { - tile = GetMapTile_1(target->posWorld.x + + tile = GetTile(target->pos.x + gAdjacentTileOffsets[index].x, - target->posWorld.y + gAdjacentTileOffsets[index].y); - entity = tile->pokemon; - if ((EntityExists(entity)) && (GetEntityType(entity) == ENTITY_POKEMON)) { + target->pos.y + gAdjacentTileOffsets[index].y); + entity = tile->monster; + if ((EntityExists(entity)) && (GetEntityType(entity) == ENTITY_MONSTER)) { if (!hasSynchronized) { hasSynchronized = TRUE; SetMessageArgument_2(gAvailablePokemonNames,entityData,0); @@ -648,13 +648,13 @@ void PoisonedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * } } -void BadlyPoisonedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 displayMessage) +void BadlyPoisonedStatusTarget(struct Entity * pokemon, struct Entity * target, bool8 displayMessage) { bool8 isNotBadlyPoisoned; bool8 hasSynchronized; - struct DungeonEntityData *entityData; - struct MapTile *tile; - struct DungeonEntity *entity; + struct EntityInfo *entityData; + struct Tile *tile; + struct Entity *entity; s32 index; if (!EntityExists(target)) { @@ -662,9 +662,9 @@ void BadlyPoisonedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEnt } if (!HasSafeguardStatus(pokemon,target,displayMessage)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument_2(gAvailablePokemonNames,entityData,0); - if (HasItem(target, ITEM_ID_PECHA_SCARF)) { + if (HasHeldItem(target, ITEM_PECHA_SCARF)) { if (displayMessage) sub_80522F4(pokemon,target,*gUnknown_80FD524); } @@ -676,7 +676,7 @@ void BadlyPoisonedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEnt } else { - if(HasType(target, TYPE_POISON) || HasType(target, TYPE_STEEL)){ + if(MonsterIsType(target, TYPE_POISON) || MonsterIsType(target, TYPE_STEEL)){ if (displayMessage) sub_80522F4(pokemon,target,*gUnknown_80FCEDC); } @@ -684,11 +684,11 @@ void BadlyPoisonedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEnt { isNotBadlyPoisoned = TRUE; - if(entityData->nonVolatileStatus != NON_VOLATILE_STATUS_BADLY_POISONED) + if(entityData->nonVolatileStatus != STATUS_BADLY_POISONED) { - entityData->nonVolatileStatus = NON_VOLATILE_STATUS_BADLY_POISONED; - entityData->nonVolatileStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4E38,TRUE) + 1; - entityData->nonVolatileStatusDamageTimer = 0; + entityData->nonVolatileStatus = STATUS_BADLY_POISONED; + entityData->nonVolatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4E38,TRUE) + 1; + entityData->nonVolatileStatusDamageCountdown = 0; entityData->fillAF = 0; isNotBadlyPoisoned = FALSE; sub_8041C7C(target); @@ -706,11 +706,11 @@ void BadlyPoisonedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEnt for(index = 0; index < NUM_DIRECTIONS; index++) { - tile = GetMapTile_1(target->posWorld.x + + tile = GetTile(target->pos.x + gAdjacentTileOffsets[index].x, - target->posWorld.y + gAdjacentTileOffsets[index].y); - entity = tile->pokemon; - if ((EntityExists(entity)) && (GetEntityType(entity) == ENTITY_POKEMON)) { + target->pos.y + gAdjacentTileOffsets[index].y); + entity = tile->monster; + if ((EntityExists(entity)) && (GetEntityType(entity) == ENTITY_MONSTER)) { if (!hasSynchronized) { hasSynchronized = TRUE; SetMessageArgument_2(gAvailablePokemonNames,entityData,0); @@ -730,34 +730,34 @@ void BadlyPoisonedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEnt } } -void FrozenStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 displayMessage) +void FrozenStatusTarget(struct Entity * pokemon, struct Entity * target, bool8 displayMessage) { - struct DungeonEntityData *entityData; - struct MapTile *tile; + struct EntityInfo *entityData; + struct Tile *tile; if (!EntityExists(target)) { return; } SetMessageArgument(gAvailablePokemonNames, target, 0); - entityData = target->entityData; + entityData = target->info; - if ((entityData->immobilizeStatus != IMMOBILIZE_STATUS_FROZEN) && !HasSafeguardStatus(pokemon,target,displayMessage)) { + if ((entityData->immobilizeStatus != STATUS_FROZEN) && !HasSafeguardStatus(pokemon,target,displayMessage)) { if (HasAbility(target, ABILITY_MAGMA_ARMOR)) { if (displayMessage) sub_80522F4(pokemon,target,*gUnknown_80FCDE0); } else { - if (HasType(target, TYPE_ICE)) { + if (MonsterIsType(target, TYPE_ICE)) { if (displayMessage) sub_80522F4(pokemon,target,*gUnknown_80FCE00); } else { - tile = GetMapTileForDungeonEntity_2(target); - if (((tile->tileType & (TILE_TYPE_LIQUID | TILE_TYPE_FLOOR)) == TILE_TYPE_LIQUID) && - (gDungeonWaterType[gDungeonGlobalData->tileset] == DUNGEON_WATER_TYPE_LAVA)) { + tile = GetTileAtEntitySafe(target); + if (((tile->terrainType & (TERRAIN_TYPE_SECONDARY | TERRAIN_TYPE_NORMAL)) == TERRAIN_TYPE_SECONDARY) && + (gDungeonWaterType[gDungeon->tileset] == DUNGEON_WATER_TYPE_LAVA)) { if (displayMessage) sub_80522F4(pokemon,target,*gUnknown_80FCE34); } @@ -767,9 +767,9 @@ void FrozenStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * t sub_8076CB4(entityData->unk9C); } sub_8041F08(target); - entityData->immobilizeStatus = IMMOBILIZE_STATUS_FROZEN; - entityData->immobilizeStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4E2C,TRUE) + 1; - entityData->immobilizeStatusDamageTimer = 0; + entityData->immobilizeStatus = STATUS_FROZEN; + entityData->immobilizeStatusTurns = CalculateStatusTurns(target,gUnknown_80F4E2C,TRUE) + 1; + entityData->immobilizeStatusDamageCountdown = 0; sub_80522F4(pokemon,target,*gUnknown_80FB610); DungeonEntityUpdateStatusSprites(target); } @@ -778,26 +778,26 @@ void FrozenStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * t } } -void SqueezedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s16 param_3, bool32 displayMessage) +void SqueezedStatusTarget(struct Entity * pokemon, struct Entity * target, s16 param_3, bool32 displayMessage) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; s32 param_3_s32 = param_3; bool8 displayMessage_u8 = displayMessage; if ((EntityExists(target)) && (!HasSafeguardStatus(pokemon,target,displayMessage_u8))) { - entityData = target->entityData; + entityData = target->info; if ((u8)(entityData->immobilizeStatus - 3U) < 2) { sub_8076CB4(entityData->unk9C); } - else if (entityData->immobilizeStatus == IMMOBILIZE_STATUS_INGRAIN) { + else if (entityData->immobilizeStatus == STATUS_INGRAIN) { SetMessageArgument(gAvailablePokemonNames,target,0); sub_80522F4(pokemon,target,*gUnknown_80FA844); } SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->immobilizeStatus != IMMOBILIZE_STATUS_SQUEEZED) { - entityData->immobilizeStatus = IMMOBILIZE_STATUS_SQUEEZED; - entityData->immobilizeStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4E58,TRUE) + 1; - entityData->immobilizeStatusDamageTimer = 0; + if (entityData->immobilizeStatus != STATUS_CONSTRICTION) { + entityData->immobilizeStatus = STATUS_CONSTRICTION; + entityData->immobilizeStatusTurns = CalculateStatusTurns(target,gUnknown_80F4E58,TRUE) + 1; + entityData->immobilizeStatusDamageCountdown = 0; entityData->unkB4 = param_3_s32; nullsub_71(target); sub_80522F4(pokemon,target,*gUnknown_80FB628); @@ -810,24 +810,24 @@ void SqueezedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * } } -void ImmobilizedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void ImmobilizedStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if ((EntityExists(target)) && (!HasSafeguardStatus(pokemon,target,TRUE))) { - entityData = target->entityData; + entityData = target->info; if ((u8)(entityData->immobilizeStatus - 3U) < 2) { sub_8076CB4(entityData->unk9C); } - else if (entityData->immobilizeStatus == IMMOBILIZE_STATUS_INGRAIN) { + else if (entityData->immobilizeStatus == STATUS_INGRAIN) { SetMessageArgument(gAvailablePokemonNames,target,0); sub_80522F4(pokemon,target,*gUnknown_80FA844); } SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->immobilizeStatus != IMMOBILIZE_STATUS_IMMOBILIZED) { - entityData->immobilizeStatus = IMMOBILIZE_STATUS_IMMOBILIZED; - entityData->immobilizeStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4E54,TRUE) + 1; - entityData->immobilizeStatusDamageTimer = 0; + if (entityData->immobilizeStatus != STATUS_SHADOW_HOLD) { + entityData->immobilizeStatus = STATUS_SHADOW_HOLD; + entityData->immobilizeStatusTurns = CalculateStatusTurns(target,gUnknown_80F4E54,TRUE) + 1; + entityData->immobilizeStatusDamageCountdown = 0; nullsub_70(target); sub_80522F4(pokemon,target,*gUnknown_80FB668); sub_806CE94(target,8); @@ -839,22 +839,22 @@ void ImmobilizedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntit } } -void IngrainedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void IngrainedStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; - struct DungeonEntityData *entityData2; + struct EntityInfo *entityData; + struct EntityInfo *entityData2; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; entityData2 = entityData; if ((u8)(entityData->immobilizeStatus - 3U) < 2) { sub_8076CB4(entityData->unk9C); } SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData2->immobilizeStatus != IMMOBILIZE_STATUS_INGRAIN) { - entityData2->immobilizeStatus = IMMOBILIZE_STATUS_INGRAIN; - entityData2->immobilizeStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4E60,TRUE) + 1; - entityData2->immobilizeStatusDamageTimer = 0; + if (entityData2->immobilizeStatus != STATUS_INGRAIN) { + entityData2->immobilizeStatus = STATUS_INGRAIN; + entityData2->immobilizeStatusTurns = CalculateStatusTurns(target,gUnknown_80F4E60,TRUE) + 1; + entityData2->immobilizeStatusDamageCountdown = 0; nullsub_90(target); sub_80522F4(pokemon,target,*gUnknown_80FB6A4); } @@ -865,12 +865,12 @@ void IngrainedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity } } -void WrapTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void WrapTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData * targetEntityData; + struct EntityInfo * targetEntityData; s32 *piVar3; s32 *iVar5; - struct DungeonEntityData * pokemonEntityData; + struct EntityInfo * pokemonEntityData; if (!EntityExists(target)) { return; @@ -879,20 +879,20 @@ void WrapTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) if (HasSafeguardStatus(pokemon, target, TRUE)) { return; } - pokemonEntityData = pokemon->entityData; - targetEntityData = target->entityData; + pokemonEntityData = pokemon->info; + targetEntityData = target->info; if ((u8)(pokemonEntityData->immobilizeStatus - 3U) > 1) { - if ((targetEntityData->immobilizeStatus != IMMOBILIZE_STATUS_WRAPPED_AROUND_FOE)) + if ((targetEntityData->immobilizeStatus != STATUS_WRAP)) { - if(targetEntityData->immobilizeStatus != IMMOBILIZE_STATUS_WRAPPED_BY_FOE) { - pokemonEntityData->immobilizeStatus = IMMOBILIZE_STATUS_WRAPPED_AROUND_FOE; - pokemonEntityData->immobilizeStatusTurnsLeft = 0x7f; - pokemonEntityData->immobilizeStatusDamageTimer = 0; - targetEntityData->immobilizeStatus = IMMOBILIZE_STATUS_WRAPPED_BY_FOE; - targetEntityData->immobilizeStatusTurnsLeft = CalculateStatusTurns(target, gUnknown_80F4E5C, TRUE) + 1; - targetEntityData->immobilizeStatusDamageTimer = 0; + if(targetEntityData->immobilizeStatus != STATUS_WRAPPED) { + pokemonEntityData->immobilizeStatus = STATUS_WRAP; + pokemonEntityData->immobilizeStatusTurns = 0x7f; + pokemonEntityData->immobilizeStatusDamageCountdown = 0; + targetEntityData->immobilizeStatus = STATUS_WRAPPED; + targetEntityData->immobilizeStatusTurns = CalculateStatusTurns(target, gUnknown_80F4E5C, TRUE) + 1; + targetEntityData->immobilizeStatusDamageCountdown = 0; iVar5 = &pokemonEntityData->unk9C; - piVar3 = &gDungeonGlobalData->unk37F4; + piVar3 = &gDungeon->unk37F4; *iVar5 = *piVar3; targetEntityData->unk9C = *piVar3; *piVar3 +=1; @@ -904,19 +904,19 @@ void WrapTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) } } } - if (pokemonEntityData->immobilizeStatus == IMMOBILIZE_STATUS_WRAPPED_AROUND_FOE) { + if (pokemonEntityData->immobilizeStatus == STATUS_WRAP) { SetMessageArgument(gAvailablePokemonNames,pokemon,0); sub_80522F4(pokemon,target,*gUnknown_80FB6FC); } - if (targetEntityData->immobilizeStatus == IMMOBILIZE_STATUS_WRAPPED_AROUND_FOE) { + if (targetEntityData->immobilizeStatus == STATUS_WRAP) { SetMessageArgument(gAvailablePokemonNames,target,0); sub_80522F4(pokemon,target,*gUnknown_80FB6FC); } - if (pokemonEntityData->immobilizeStatus == IMMOBILIZE_STATUS_WRAPPED_BY_FOE) { + if (pokemonEntityData->immobilizeStatus == STATUS_WRAPPED) { SetMessageArgument(gAvailablePokemonNames,pokemon,0); sub_80522F4(pokemon,target,*gUnknown_80FB718); } - if (targetEntityData->immobilizeStatus == IMMOBILIZE_STATUS_WRAPPED_BY_FOE) { + if (targetEntityData->immobilizeStatus == STATUS_WRAPPED) { SetMessageArgument(gAvailablePokemonNames,target,0); sub_80522F4(pokemon,target,*gUnknown_80FB718); } @@ -926,18 +926,18 @@ _08076C98: void sub_8076CB4(s32 param_1) { - struct DungeonEntity *entity; - struct DungeonEntityData *entityData; + struct Entity *entity; + struct EntityInfo *entityData; s32 index; for(index = 0; index < DUNGEON_MAX_POKEMON; index++) { - entity = gDungeonGlobalData->allPokemon[index]; + entity = gDungeon->allPokemon[index]; if (EntityExists(entity)) { - entityData = entity->entityData; + entityData = entity->info; if (entityData->unk9C == param_1) { if ((u8)(entityData->immobilizeStatus - 3U) < 2) { - entityData->immobilizeStatus = IMMOBILIZE_STATUS_NONE; + entityData->immobilizeStatus = STATUS_NONE; } entityData->unk9C = 0; } @@ -946,46 +946,46 @@ void sub_8076CB4(s32 param_1) } } -void PetrifiedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void PetrifiedStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData * targetEntityData; - struct DungeonEntityData * entityData; - struct DungeonEntity * entity; + struct EntityInfo * targetEntityData; + struct EntityInfo * entityData; + struct Entity * entity; s32 index; if ((EntityExists(target)) && (!HasSafeguardStatus(pokemon,target,TRUE))) { sub_8041C08(target); - targetEntityData = target->entityData; + targetEntityData = target->info; if ((u8)(targetEntityData->immobilizeStatus - 3U) < 2) { sub_8076CB4(targetEntityData->unk9C); } SetMessageArgument(gAvailablePokemonNames,target,0); - if (targetEntityData->immobilizeStatus != IMMOBILIZE_STATUS_PETRIFIED) { - targetEntityData->immobilizeStatus = IMMOBILIZE_STATUS_PETRIFIED; - if (targetEntityData->isLeader) { - targetEntityData->immobilizeStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4EBC,TRUE) + 1; + if (targetEntityData->immobilizeStatus != STATUS_PETRIFIED) { + targetEntityData->immobilizeStatus = STATUS_PETRIFIED; + if (targetEntityData->isTeamLeader) { + targetEntityData->immobilizeStatusTurns = CalculateStatusTurns(target,gUnknown_80F4EBC,TRUE) + 1; } else { - targetEntityData->immobilizeStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4EC0,TRUE) + 1; + targetEntityData->immobilizeStatusTurns = CalculateStatusTurns(target,gUnknown_80F4EC0,TRUE) + 1; } - targetEntityData->immobilizeStatusDamageTimer = 0; + targetEntityData->immobilizeStatusDamageCountdown = 0; sub_80522F4(pokemon,target,*gUnknown_80FB7BC); } else { sub_80522F4(pokemon,target,*gUnknown_80FB7DC); } - if (targetEntityData->isEnemy) { + if (targetEntityData->isNotTeamMember) { for(index = 0; index < MAX_TEAM_MEMBERS; index++) { - entity = gDungeonGlobalData->teamPokemon[index]; + entity = gDungeon->teamPokemon[index]; if (EntityExists(entity)) { - entityData = entity->entityData; - if ((entityData->movementAction == MOVEMENT_ACTION_FOLLOW) && (entityData->targetPokemon == target)) { - entityData->movementAction = MOVEMENT_ACTION_FACE_RANDOM_DIRECTION; - entityData->targetPokemon = NULL; - entityData->targetPokemonSpawnIndex = 0; - entityData->hasTarget = FALSE; + entityData = entity->info; + if ((entityData->aiObjective == AI_CHASE_TARGET) && (entityData->aiTarget == target)) { + entityData->aiObjective = AI_STAND_STILL; + entityData->aiTarget = NULL; + entityData->aiTargetSpawnGenID = 0; + entityData->aiTargetingEnemy = FALSE; } } } @@ -994,15 +994,15 @@ void PetrifiedStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity } } -void LowerAttackStageTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 index, s32 decrement, u8 param_5, bool8 displayMessage) +void LowerAttackStageTarget(struct Entity * pokemon, struct Entity * target, s32 index, s32 decrement, u8 param_5, bool8 displayMessage) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; s32 attackStage = decrement; if (!EntityExists(target)) { return; } - if (index != STAT_STAGE_ATTACK) { + if (index != STAT_STAGE_ATK) { strcpy(gUnknown_202DE58,*gUnknown_80FC0C8); } else { @@ -1012,19 +1012,19 @@ void LowerAttackStageTarget(struct DungeonEntity * pokemon, struct DungeonEntity if (sub_8071728(pokemon,target,displayMessage)) { return; } - if (HasItem(target, ITEM_ID_TWIST_BAND)) { + if (HasHeldItem(target, ITEM_TWIST_BAND)) { SetMessageArgument(gAvailablePokemonNames,target,0); sub_80522F4(pokemon,target,*gUnknown_80FD550); } else { - if ((!HasAbility(target, ABILITY_HYPER_CUTTER)) || (index != STAT_STAGE_ATTACK)) goto _08076EE4; + if ((!HasAbility(target, ABILITY_HYPER_CUTTER)) || (index != STAT_STAGE_ATK)) goto _08076EE4; SetMessageArgument(gAvailablePokemonNames,target,0); sub_80522F4(pokemon,target,*gUnknown_80FCA60); } } else { _08076EE4: - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); sub_8041F28(target,index); if (decrement == 1) { @@ -1033,13 +1033,13 @@ _08076EE4: else { strcpy(gUnknown_202DEA8,*gUnknown_80FC0D4); } - attackStage = entityData->attackStages[index]; + attackStage = entityData->offensiveStages[index]; attackStage -= decrement; if (attackStage < 0) { attackStage = 0; } - if (entityData->attackStages[index] != attackStage) { - entityData->attackStages[index] = attackStage; + if (entityData->offensiveStages[index] != attackStage) { + entityData->offensiveStages[index] = attackStage; sub_80522F4(pokemon,target,*gUnknown_80FC15C); } else { @@ -1049,22 +1049,22 @@ _08076EE4: } } -void LowerDefenseStageTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 index, s32 decrement, u8 param_5, bool8 displayMessage) +void LowerDefenseStageTarget(struct Entity * pokemon, struct Entity * target, s32 index, s32 decrement, u8 param_5, bool8 displayMessage) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; s32 defenseStage = decrement; if (!EntityExists(target)) { return; } - if (index != STAT_STAGE_DEFENSE) { + if (index != STAT_STAGE_DEF) { strcpy(gUnknown_202DE58,*gUnknown_80FC0AC); } else { strcpy(gUnknown_202DE58,*gUnknown_80FC09C); } if (!param_5 || !sub_8071728(pokemon,target,displayMessage)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); sub_8041F4C(target,index); if (decrement == 1) { @@ -1073,13 +1073,13 @@ void LowerDefenseStageTarget(struct DungeonEntity * pokemon, struct DungeonEntit else { strcpy(gUnknown_202DEA8,*gUnknown_80FC0D4); } - defenseStage = entityData->defenseStages[index]; + defenseStage = entityData->defensiveStages[index]; defenseStage = defenseStage - decrement; if (defenseStage < 0) { defenseStage = 0; } - if (entityData->defenseStages[index] != defenseStage) { - entityData->defenseStages[index] = defenseStage; + if (entityData->defensiveStages[index] != defenseStage) { + entityData->defensiveStages[index] = defenseStage; sub_80522F4(pokemon,target,*gUnknown_80FC158); } else { @@ -1089,18 +1089,18 @@ void LowerDefenseStageTarget(struct DungeonEntity * pokemon, struct DungeonEntit } } -void RaiseAttackStageTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 index, s32 increment) +void RaiseAttackStageTarget(struct Entity * pokemon, struct Entity * target, s32 index, s32 increment) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; s32 attackStage = increment; if (!EntityExists(target)) { return; } - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); sub_8041F70(target,index); - if (index != STAT_STAGE_ATTACK) { + if (index != STAT_STAGE_ATK) { strcpy(gUnknown_202DE58,*gUnknown_80FC0C8); } else { @@ -1114,13 +1114,13 @@ void RaiseAttackStageTarget(struct DungeonEntity * pokemon, struct DungeonEntity strcpy(gUnknown_202DEA8,*gUnknown_80FC0D4); } - attackStage = entityData->attackStages[index]; + attackStage = entityData->offensiveStages[index]; attackStage = attackStage + increment; if (attackStage >= MAX_STAT_STAGE) { attackStage = MAX_STAT_STAGE; } - if (entityData->attackStages[index] != attackStage) { - entityData->attackStages[index] = attackStage; + if (entityData->offensiveStages[index] != attackStage) { + entityData->offensiveStages[index] = attackStage; sub_80522F4(pokemon,target,*gUnknown_80FC13C); } else { @@ -1129,18 +1129,18 @@ void RaiseAttackStageTarget(struct DungeonEntity * pokemon, struct DungeonEntity DungeonEntityUpdateStatusSprites(target); } -void RaiseDefenseStageTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 index, s32 increment) +void RaiseDefenseStageTarget(struct Entity * pokemon, struct Entity * target, s32 index, s32 increment) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; s32 defenseStage = increment; if (!EntityExists(target)) { return; } - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); sub_8041F94(target,index); - if (index != STAT_STAGE_DEFENSE) { + if (index != STAT_STAGE_DEF) { strcpy(gUnknown_202DE58,*gUnknown_80FC0AC); } else { @@ -1154,13 +1154,13 @@ void RaiseDefenseStageTarget(struct DungeonEntity * pokemon, struct DungeonEntit strcpy(gUnknown_202DEA8,*gUnknown_80FC0D4); } - defenseStage = entityData->defenseStages[index]; + defenseStage = entityData->defensiveStages[index]; defenseStage = defenseStage + increment; if (defenseStage >= MAX_STAT_STAGE) { defenseStage = MAX_STAT_STAGE; } - if (entityData->defenseStages[index] != defenseStage) { - entityData->defenseStages[index] = defenseStage; + if (entityData->defensiveStages[index] != defenseStage) { + entityData->defensiveStages[index] = defenseStage; sub_80522F4(pokemon,target,*gUnknown_80FC138); } else { diff --git a/src/move_util.c b/src/move_util.c index b67181aa7..9b4222444 100644 --- a/src/move_util.c +++ b/src/move_util.c @@ -12,31 +12,31 @@ extern bool8 sub_8044B28(void); -extern void sub_80429C8(struct DungeonEntity *r0); +extern void sub_80429C8(struct Entity *r0); extern u16 gNaturePowerMoveTable[]; -bool8 sub_805755C(struct DungeonEntity* pokemon,u16 param_2); +bool8 sub_805755C(struct Entity* pokemon,u16 param_2); -u32 sub_8057144(struct DungeonEntity * pokemon) +u32 sub_8057144(struct Entity * pokemon) { - struct PokemonMove **ppbVar3; + struct Move **ppbVar3; s32 entityIndex; - struct PokemonMove *move1; - struct PokemonMove *move2; + struct Move *move1; + struct Move *move2; s32 index; - struct DungeonEntity *entity; + struct Entity *entity; s32 counter; - struct PokemonMove *moveStack [80]; - struct PokemonMove **local_20; + struct Move *moveStack [80]; + struct Move **local_20; register s32 counter_1 asm("r0"); - register struct PokemonMove** move_1 asm("r1"); + register struct Move** move_1 asm("r1"); counter = 0; for(entityIndex = 0; entityIndex < DUNGEON_MAX_POKEMON; entityIndex++) { - entity = gDungeonGlobalData->allPokemon[entityIndex]; + entity = gDungeon->allPokemon[entityIndex]; if (EntityExists(entity)) { - move1 = move2 = &entity->entityData->moves[0]; + move1 = move2 = &entity->info->moves[0]; // NOTE: reg flip here // add r2, r0, r1 -> add r2, r1, r0 @@ -52,7 +52,7 @@ u32 sub_8057144(struct DungeonEntity * pokemon) { if ((move1->moveFlags & MOVE_FLAG_EXISTS)) { local_20 = ppbVar3; - if (!sub_805755C(pokemon, move1->moveID) && (move1->moveID != MOVE_SKETCH) && (counter < 80)) { + if (!sub_805755C(pokemon, move1->id) && (move1->id != MOVE_SKETCH) && (counter < 80)) { *local_20 = move2; ppbVar3++; counter++; @@ -65,34 +65,34 @@ u32 sub_8057144(struct DungeonEntity * pokemon) return MOVE_REGULAR_ATTACK; // MOVE_REGULAR_ATTACK } else { - return moveStack[DungeonRandomCapped(counter)]->moveID; + return moveStack[DungeonRandInt(counter)]->id; } } -bool8 sub_80571F0(struct DungeonEntity * pokemon, struct PokemonMove *move) +bool8 sub_80571F0(struct Entity * pokemon, struct Move *move) { u16 moveID; s32 tileset; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; - entityData = pokemon->entityData; + entityData = pokemon->info; if (entityData->unkFF == 1) { - moveID = move->moveID; + moveID = move->id; if ((moveID == MOVE_SKY_UPPERCUT) || (moveID == MOVE_TWISTER) || (moveID == MOVE_GUST) || (moveID == MOVE_THUNDER)) return FALSE; else return TRUE; } else if (entityData->unkFF == 2) { - if (entityData->chargingStatus == CHARGING_STATUS_DIVE) { - if (move->moveID == MOVE_WHIRLPOOL || move->moveID == MOVE_SURF) return FALSE; + if (entityData->chargingStatus == STATUS_DIVING) { + if (move->id == MOVE_WHIRLPOOL || move->id == MOVE_SURF) return FALSE; } - else if (entityData->chargingStatus == CHARGING_STATUS_DIG) { - moveID = move->moveID; + else if (entityData->chargingStatus == STATUS_DIGGING) { + moveID = move->id; if (moveID == MOVE_EARTHQUAKE || moveID == MOVE_MAGNITUDE) return FALSE; if (moveID == MOVE_NATURE_POWER) { - tileset = gDungeonGlobalData->tileset; + tileset = gDungeon->tileset; if (tileset < 0) { tileset = 0; } @@ -107,19 +107,19 @@ bool8 sub_80571F0(struct DungeonEntity * pokemon, struct PokemonMove *move) return FALSE; } -bool8 sub_805727C(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 chance) +bool8 sub_805727C(struct Entity * pokemon, struct Entity * target, s32 chance) { bool8 uVar2; if (!sub_8044B28() && EntityExists(pokemon) && EntityExists(target) && - (target->entityData->unk158 != 0) && - (target->entityData->HP != 0)) { + (target->info->unk158 != 0) && + (target->info->HP != 0)) { if (chance != 0) { if (HasAbility(pokemon, ABILITY_SERENE_GRACE)) { - uVar2 = RollPercentChance_2(chance * 2); + uVar2 = DungeonRandOutcome_2(chance * 2); } else { - uVar2 = RollPercentChance_2(chance); + uVar2 = DungeonRandOutcome_2(chance); } } else @@ -139,28 +139,28 @@ end: goto end; } -bool8 sub_8057308(struct DungeonEntity *pokemon, s32 chance) +bool8 sub_8057308(struct Entity *pokemon, s32 chance) { if(!EntityExists(pokemon)) return FALSE; if(chance == 0) return TRUE; if(HasAbility(pokemon, ABILITY_SERENE_GRACE)) - return RollPercentChance_2(chance * 2); + return DungeonRandOutcome_2(chance * 2); else - return RollPercentChance_2(chance); + return DungeonRandOutcome_2(chance); } -bool8 IsMoveIndexUsable(struct DungeonEntity *pokemon, s32 moveIndex, bool8 hasPPChecker) +bool8 CanAIUseMove(struct Entity *pokemon, s32 moveIndex, bool8 hasPPChecker) { - struct DungeonEntityData *pokemonData = pokemon->entityData; - struct PokemonMove *move = &pokemonData->moves[moveIndex]; + struct EntityInfo *pokemonInfo = pokemon->info; + struct Move *move = &pokemonInfo->moves[moveIndex]; s32 i; if (!(move->moveFlags & MOVE_FLAG_EXISTS)) { return FALSE; } - if (move->moveFlags & MOVE_FLAG_LINKED) + if (move->moveFlags & MOVE_FLAG_SUBSEQUENT_IN_LINK_CHAIN) { return FALSE; } @@ -182,22 +182,22 @@ bool8 IsMoveIndexUsable(struct DungeonEntity *pokemon, s32 moveIndex, bool8 hasP { return FALSE; } - if (IsMoveUsable(pokemon, move, hasPPChecker)) + if (CanMonsterUseMove(pokemon, move, hasPPChecker)) { goto returnTrue; } move++; - if ((u32) move >= (u32) &pokemonData->struggleMoveFlags || !(move->moveFlags & MOVE_FLAG_LINKED)) + if ((u32) move >= (u32) &pokemonInfo->struggleMoveFlags || !(move->moveFlags & MOVE_FLAG_SUBSEQUENT_IN_LINK_CHAIN)) { return FALSE; } goto incMoveIndex; } -bool8 IsMoveUsable(struct DungeonEntity *pokemon, struct PokemonMove *move, bool8 hasPPChecker) +bool8 CanMonsterUseMove(struct Entity *pokemon, struct Move *move, bool8 hasPPChecker) { - struct DungeonEntityData *pokemonData = pokemon->entityData; - if (move->moveID == MOVE_REGULAR_ATTACK) + struct EntityInfo *pokemonInfo = pokemon->info; + if (move->id == MOVE_REGULAR_ATTACK) { return TRUE; } @@ -211,15 +211,15 @@ bool8 IsMoveUsable(struct DungeonEntity *pokemon, struct PokemonMove *move, bool { return FALSE; } - if (pokemonData->volatileStatus == VOLATILE_STATUS_TAUNTED && !MoveDealsDirectDamage(move)) + if (pokemonInfo->volatileStatus == STATUS_TAUNTED && !MovesIgnoresTaunted(move)) { return FALSE; } - if (pokemonData->volatileStatus == VOLATILE_STATUS_ENCORE) + if (pokemonInfo->volatileStatus == STATUS_ENCORE) { - if (move->moveID == MOVE_STRUGGLE) + if (move->id == MOVE_STRUGGLE) { - if (!(pokemonData->struggleMoveFlags & MOVE_FLAG_LAST_USED)) + if (!(pokemonInfo->struggleMoveFlags & MOVE_FLAG_LAST_USED)) { return FALSE; } @@ -233,19 +233,19 @@ bool8 IsMoveUsable(struct DungeonEntity *pokemon, struct PokemonMove *move, bool return TRUE; } -bool8 sub_805744C(struct DungeonEntity * pokemon, struct PokemonMove *move, bool8 param_3) +bool8 sub_805744C(struct Entity * pokemon, struct Move *move, bool8 param_3) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; - entityData = pokemon->entityData; - if (move->moveID != MOVE_REGULAR_ATTACK) { + entityData = pokemon->info; + if (move->id != MOVE_REGULAR_ATTACK) { if (((move->moveFlags & MOVE_FLAG_DISABLED)) || ((move->moveFlags2 & MOVE_FLAG_EXISTS))) { return FALSE; } if (param_3 != 0) { - if ((entityData->volatileStatus == VOLATILE_STATUS_TAUNTED) && (!MoveDealsDirectDamage(move))) return FALSE; - if (entityData->volatileStatus == VOLATILE_STATUS_ENCORE) { - if (move->moveID == MOVE_STRUGGLE) { + if ((entityData->volatileStatus == STATUS_TAUNTED) && (!MovesIgnoresTaunted(move))) return FALSE; + if (entityData->volatileStatus == STATUS_ENCORE) { + if (move->id == MOVE_STRUGGLE) { if((entityData->struggleMoveFlags & MOVE_FLAG_LAST_USED) == 0) return FALSE; } else { diff --git a/src/moves.c b/src/moves.c index 6c1cd6e5d..26b1e7709 100644 --- a/src/moves.c +++ b/src/moves.c @@ -7,7 +7,7 @@ struct MoveDataFile { - struct MoveData *moveData; + struct MoveDataEntry *moveData; u8 *unk4; // unsure of this struct's structure yet }; @@ -22,7 +22,7 @@ struct unkStruct_80928C0 extern struct unkStruct_80928C0 gUnknown_81098C4; extern struct FileArchive gSystemFileArchive; extern struct OpenedFile *gWazaParametersFile; -extern struct MoveData *gMovesData; +extern struct MoveDataEntry *gMovesData; extern u8 *gMovesRelated_2038C6C; extern u8 gUnknown_81098D0[]; @@ -36,8 +36,8 @@ extern u8 gUnknown_81098EC[]; extern u8 *gRangeNames[]; extern u8 gUnknown_810992C[]; -extern void sub_8093F10(struct PokemonMove *, struct PokemonMove *); -extern void sub_80928C0(u8 *, struct PokemonMove *, struct unkStruct_80928C0 *); +extern void sub_8093F10(struct Move *, struct Move *); +extern void sub_80928C0(u8 *, struct Move *, struct unkStruct_80928C0 *); void LoadWazaParameters(void) { @@ -47,7 +47,7 @@ void LoadWazaParameters(void) gMovesRelated_2038C6C = ((struct MoveDataFile *)(gWazaParametersFile->data))->unk4; } -u8 sub_809287C(struct PokemonMove *move) +u8 sub_809287C(struct Move *move) { if((move->moveFlags & MOVE_FLAG_DISABLED) != 0) return 0x32; @@ -57,17 +57,17 @@ u8 sub_809287C(struct PokemonMove *move) return 0x32; } -void sub_80928A0(u8 *buffer, struct PokemonMove *move, struct unkStruct_80928C0 *r2) +void sub_80928A0(u8 *buffer, struct Move *move, struct unkStruct_80928C0 *r2) { - struct PokemonMove stack; + struct Move stack; sub_8093F10(&stack, move); sub_80928C0(buffer, &stack, r2); } -void sub_80928C0(u8 *buffer, struct PokemonMove *move, struct unkStruct_80928C0 *param_3) +void sub_80928C0(u8 *buffer, struct Move *move, struct unkStruct_80928C0 *param_3) { u32 uVar2; - u32 maxPP; + u32 basePP; u8 localBuffer[12]; uVar2 = sub_809287C(move); @@ -75,96 +75,96 @@ void sub_80928C0(u8 *buffer, struct PokemonMove *move, struct unkStruct_80928C0 param_3 = &gUnknown_81098C4; } - if (move->powerBoost != 0) - sprintf_2(localBuffer,gUnknown_81098DC,move->powerBoost); // %+d + if (move->ginseng != 0) + sprintfStatic(localBuffer,gUnknown_81098DC,move->ginseng); // %+d else localBuffer[0] = '\0'; if (param_3->unk8 != 0) { uVar2 = 2; } - if (param_3->unk9 != 0 && DoesMoveCharge(move->moveID)) { + if (param_3->unk9 != 0 && DoesMoveCharge(move->id)) { uVar2 = 2; } switch(param_3->unk0) { case 0: - sprintf_2 + sprintfStatic (buffer,gUnknown_81098E0,uVar2, - gMovesData[move->moveID].namePointer,localBuffer); + gMovesData[move->id].name,localBuffer); break; case 1: - maxPP = GetMoveMaxPP(move); - sprintf_2 + basePP = GetMoveBasePP(move); + sprintfStatic (buffer,gUnknown_81098EC,uVar2,move->moveFlags & MOVE_FLAG_SET ? gUnknown_8109908 : gUnknown_810990C, - gMovesData[move->moveID].namePointer,localBuffer,param_3->unk4, - move->PP,maxPP); + gMovesData[move->id].name,localBuffer,param_3->unk4, + move->PP,basePP); break; case 2: - maxPP = GetMoveMaxPP(move); - sprintf_2 + basePP = GetMoveBasePP(move); + sprintfStatic (buffer,gUnknown_8109910,uVar2,move->moveFlags & MOVE_FLAG_SET ? gUnknown_8109908 : gUnknown_810990C, - gMovesData[move->moveID].namePointer,localBuffer,param_3->unk4, - move->PP,maxPP); + gMovesData[move->id].name,localBuffer,param_3->unk4, + move->PP,basePP); break; case 3: - maxPP = GetMoveMaxPP(move); - sprintf_2 - (buffer,gUnknown_81098EC,uVar2,move->moveFlags & MOVE_FLAG_ENABLED ? gUnknown_8109928 : gUnknown_810990C, - gMovesData[move->moveID].namePointer,localBuffer,param_3->unk4, - move->PP,maxPP); + basePP = GetMoveBasePP(move); + sprintfStatic + (buffer,gUnknown_81098EC,uVar2,move->moveFlags & MOVE_FLAG_ENABLED_FOR_AI ? gUnknown_8109928 : gUnknown_810990C, + gMovesData[move->id].name,localBuffer,param_3->unk4, + move->PP,basePP); break; case 4: - maxPP = GetMoveMaxPP(move); - sprintf_2 - (buffer,gUnknown_8109910,uVar2, move->moveFlags & MOVE_FLAG_ENABLED ? gUnknown_8109928 : gUnknown_810990C, - gMovesData[move->moveID].namePointer,localBuffer,param_3->unk4, - move->PP,maxPP); + basePP = GetMoveBasePP(move); + sprintfStatic + (buffer,gUnknown_8109910,uVar2, move->moveFlags & MOVE_FLAG_ENABLED_FOR_AI ? gUnknown_8109928 : gUnknown_810990C, + gMovesData[move->id].name,localBuffer,param_3->unk4, + move->PP,basePP); break; } } -void InitPokemonMove(struct PokemonMove *move, u16 moveID) +void InitPokemonMove(struct Move *move, u16 moveID) { - move->moveFlags = MOVE_FLAG_ENABLED | MOVE_FLAG_EXISTS; + move->moveFlags = MOVE_FLAG_ENABLED_FOR_AI | MOVE_FLAG_EXISTS; move->moveFlags2 = 0; - move->moveID = moveID; - move->PP = GetMoveMaxPP(move); - move->powerBoost = 0; + move->id = moveID; + move->PP = GetMoveBasePP(move); + move->ginseng = 0; } -void sub_8092AA8(struct PokemonMove *move, u16 moveID) +void sub_8092AA8(struct Move *move, u16 moveID) { if(moveID == 0) move->moveFlags = 0; else { - move->moveFlags = MOVE_FLAG_ENABLED | MOVE_FLAG_EXISTS; + move->moveFlags = MOVE_FLAG_ENABLED_FOR_AI | MOVE_FLAG_EXISTS; move->moveFlags2 = 0; - move->moveID = moveID; - move->PP = GetMoveMaxPP(move); - move->powerBoost = 0; + move->id = moveID; + move->PP = GetMoveBasePP(move); + move->ginseng = 0; } } -void InitZeroedPPPokemonMove(struct PokemonMove *move, u16 moveID) +void InitZeroedPPPokemonMove(struct Move *move, u16 moveID) { - move->moveFlags = MOVE_FLAG_ENABLED | MOVE_FLAG_EXISTS; - move->moveID = moveID; + move->moveFlags = MOVE_FLAG_ENABLED_FOR_AI | MOVE_FLAG_EXISTS; + move->id = moveID; move->PP = 0; } -s16 GetMoveTargetingFlags(struct PokemonMove *move, bool32 isAI) +s16 GetMoveTargetAndRange(struct Move *move, bool32 isAI) { - return gMovesData[move->moveID].targetingFlags[isAI]; + return gMovesData[move->id].targetingFlags[isAI]; } -u8 GetMoveType(struct PokemonMove *move) +u8 GetMoveType(struct Move *move) { - return gMovesData[move->moveID].type; + return gMovesData[move->id].type; } NAKED @@ -235,59 +235,59 @@ void sub_8092B54(s16 species) "_08092B8C: .4byte gUnknown_810992B"); } -u8 GetMoveWeight(struct PokemonMove *move) +u8 GetMoveAIWeight(struct Move *move) { - return gMovesData[move->moveID].weight; + return gMovesData[move->id].aiWeight; } -u32 GetMoveHitCount(struct PokemonMove *move) +u32 GetMoveNumberOfChainedHits(struct Move *move) { - return gMovesData[move->moveID].hitCount; + return gMovesData[move->id].numberOfChainedHits; } -s32 GetMovePower(struct PokemonMove *move) +s32 GetMoveBasePower(struct Move *move) { - return gMovesData[move->moveID].power; + return gMovesData[move->id].basePower; } -s32 GetMoveAccuracy(struct PokemonMove *move, u32 accuracyType) +s32 GetMoveAccuracyOrAIChance(struct Move *move, u32 accuracyType) { - return gMovesData[move->moveID].accuracy[accuracyType]; + return gMovesData[move->id].accuracy[accuracyType]; } -u32 GetMoveMaxPP(struct PokemonMove *move) +u32 GetMoveBasePP(struct Move *move) { - return gMovesData[move->moveID].maxPP; + return gMovesData[move->id].basePP; } -u32 GetMoveMaxPowerBoost(struct PokemonMove *move) +u32 GetMoveMaxUpgradeLevel(struct Move *move) { - return gMovesData[move->moveID].unk12; + return gMovesData[move->id].maxUpgradeLevel; } -u8 GetMoveCriticalHitChance(struct PokemonMove *move) +u8 GetMoveCritChance(struct Move *move) { - return gMovesData[move->moveID].criticalHitChance; + return gMovesData[move->id].critChance; } -bool8 MoveCannotHitFrozen(struct PokemonMove *move) +bool8 MoveCannotHitFrozen(struct Move *move) { - return gMovesData[move->moveID].cannotHitFrozen; + return gMovesData[move->id].cannotHitFrozen; } -bool8 MoveDealsDirectDamage(struct PokemonMove *move) +bool8 MovesIgnoresTaunted(struct Move *move) { - return gMovesData[move->moveID].dealsDirectDamage; + return gMovesData[move->id].ignoresTaunted; } -u32 GetMoveRangeType(struct PokemonMove *move) +u32 GetMoveRangeID(struct Move *move) { - return gMovesData[move->moveID].rangeType; + return gMovesData[move->id].rangeID; } void sub_8092C84(u8 *buffer, u16 moveID) { - struct PokemonMove stack; + struct Move stack; InitPokemonMove(&stack, moveID); sub_80928C0(buffer, &stack, NULL); } @@ -297,39 +297,39 @@ u8 *GetMoveUseText(u16 moveID) return gMovesData[moveID].useText; } -bool8 MoveAffectedByMagicCoat(u16 moveID) +bool8 IsReflectedByMagicCoat(u16 moveID) { return gMovesData[moveID].affectedByMagicCoat; } -bool8 MoveTargetsUser(u16 moveID) +bool8 CanBeSnatched(u16 moveID) { - return gMovesData[moveID].targetsUser; + return gMovesData[moveID].isSnatchable; } -bool8 MoveAffectedByMuzzled(u16 moveID) +bool8 FailsWhileMuzzled(u16 moveID) { - return gMovesData[moveID].affectedByMuzzled; + return gMovesData[moveID].usesMouth; } -bool8 IsBlockedBySoundproof(struct PokemonMove *move) +bool8 IsSoundMove(struct Move *move) { - if(move->moveID == MOVE_GROWL) return TRUE; - if(move->moveID == MOVE_ROAR) return TRUE; - if(move->moveID == MOVE_METAL_SOUND) return TRUE; - if(move->moveID == MOVE_SING) return TRUE; - if(move->moveID == MOVE_GRASSWHISTLE) return TRUE; - if(move->moveID == MOVE_SUPERSONIC) return TRUE; - if(move->moveID == MOVE_PERISH_SONG) return TRUE; - if(move->moveID == MOVE_SCREECH) return TRUE; - if(move->moveID == MOVE_HYPER_VOICE) return TRUE; - if(move->moveID == MOVE_SNORE) return TRUE; - if(move->moveID == MOVE_HEAL_BELL) return TRUE; + if(move->id == MOVE_GROWL) return TRUE; + if(move->id == MOVE_ROAR) return TRUE; + if(move->id == MOVE_METAL_SOUND) return TRUE; + if(move->id == MOVE_SING) return TRUE; + if(move->id == MOVE_GRASSWHISTLE) return TRUE; + if(move->id == MOVE_SUPERSONIC) return TRUE; + if(move->id == MOVE_PERISH_SONG) return TRUE; + if(move->id == MOVE_SCREECH) return TRUE; + if(move->id == MOVE_HYPER_VOICE) return TRUE; + if(move->id == MOVE_SNORE) return TRUE; + if(move->id == MOVE_HEAL_BELL) return TRUE; return FALSE; } -void sub_8092D54(u8 *buffer, struct PokemonMove *move) +void sub_8092D54(u8 *buffer, struct Move *move) { - sprintf_2(buffer, gUnknown_810992C, gRangeNames[GetMoveRangeType(move)]); + sprintfStatic(buffer, gUnknown_810992C, gRangeNames[GetMoveRangeID(move)]); } diff --git a/src/moves_1.c b/src/moves_1.c index b3127474e..8b2411666 100644 --- a/src/moves_1.c +++ b/src/moves_1.c @@ -3,21 +3,21 @@ #include "moves.h" #include "pokemon.h" -void SavePokemonMove(struct unkStruct_8094924 *r0, struct PokemonMove *move) +void SavePokemonMove(struct unkStruct_8094924 *r0, struct Move *move) { SaveIntegerBits(r0, &move->moveFlags, 4); - SaveIntegerBits(r0, &move->moveID, 9); + SaveIntegerBits(r0, &move->id, 9); SaveIntegerBits(r0, &move->PP, 7); } -void RestorePokemonMove(struct unkStruct_8094924 *r0, struct PokemonMove *move) +void RestorePokemonMove(struct unkStruct_8094924 *r0, struct Move *move) { RestoreIntegerBits(r0, &move->moveFlags, 4); - RestoreIntegerBits(r0, &move->moveID, 9); + RestoreIntegerBits(r0, &move->id, 9); RestoreIntegerBits(r0, &move->PP, 7); } -void SavePokemonMoves(struct unkStruct_8094924 *r0, struct PokemonMove *moveSet) +void SavePokemonMoves(struct unkStruct_8094924 *r0, struct Move *moveSet) { s32 iVar4; for(iVar4 = 0; iVar4 < MAX_MON_MOVES; iVar4++) @@ -26,7 +26,7 @@ void SavePokemonMoves(struct unkStruct_8094924 *r0, struct PokemonMove *moveSet) } } -void RestorePokemonMoves(struct unkStruct_8094924 *r0, struct PokemonMove *moveSet) +void RestorePokemonMoves(struct unkStruct_8094924 *r0, struct Move *moveSet) { s32 iVar4; for(iVar4 = 0; iVar4 < MAX_MON_MOVES; iVar4++) @@ -35,13 +35,13 @@ void RestorePokemonMoves(struct unkStruct_8094924 *r0, struct PokemonMove *moveS } } -void sub_8094148(struct unkStruct_8094924 *r0, struct PokemonMove *move) +void sub_8094148(struct unkStruct_8094924 *r0, struct Move *move) { SaveIntegerBits(r0, &move->moveFlags, 4); SaveIntegerBits(r0, &move->moveFlags2, 1); - SaveIntegerBits(r0, &move->moveID, 9); + SaveIntegerBits(r0, &move->id, 9); SaveIntegerBits(r0, &move->PP, 7); - SaveIntegerBits(r0, &move->powerBoost, 7); + SaveIntegerBits(r0, &move->ginseng, 7); } void sub_8094184(struct unkStruct_8094924 *r0, struct unkStruct_8094184 *r1) @@ -55,14 +55,14 @@ void sub_8094184(struct unkStruct_8094924 *r0, struct unkStruct_8094184 *r1) SaveIntegerBits(r0, &r1->unk20, 8); } -void sub_80941B0(struct unkStruct_8094924 *r0, struct PokemonMove *move) +void sub_80941B0(struct unkStruct_8094924 *r0, struct Move *move) { - memset(move, 0, sizeof(struct PokemonMove)); + memset(move, 0, sizeof(struct Move)); RestoreIntegerBits(r0, &move->moveFlags, 4); RestoreIntegerBits(r0, &move->moveFlags2, 1); - RestoreIntegerBits(r0, &move->moveID, 9); + RestoreIntegerBits(r0, &move->id, 9); RestoreIntegerBits(r0, &move->PP, 7); - RestoreIntegerBits(r0, &move->powerBoost, 7); + RestoreIntegerBits(r0, &move->ginseng, 7); } void sub_80941FC(struct unkStruct_8094924 *r0, struct unkStruct_8094184 *r1) diff --git a/src/music.c b/src/music.c index 9ef768943..cfa436294 100644 --- a/src/music.c +++ b/src/music.c @@ -1267,9 +1267,9 @@ void sub_800CB20(void) gUnknown_203B0B8++; if((gRawKeyInput & (A_BUTTON | SELECT_BUTTON)) != 0) { - Random(); + Rand32Bit(); } - Random(); + Rand32Bit(); } // Unused diff --git a/src/other_random.c b/src/other_random.c index 847530e0a..7f390d99a 100644 --- a/src/other_random.c +++ b/src/other_random.c @@ -9,12 +9,12 @@ static s32 OtherRandom16(void) return gOtherRngState; } -s32 OtherRandomCapped(s32 cap) +s32 OtherRandInt(s32 cap) { return (OtherRandom16() * cap) >> 16; } -s32 OtherRandomRange(s32 a, s32 b) +s32 OtherRandRange(s32 a, s32 b) { - return OtherRandomCapped(b - a) + a; + return OtherRandInt(b - a) + a; } diff --git a/src/personality_test.c b/src/personality_test.c index 8c4cac8cf..428ff2c40 100644 --- a/src/personality_test.c +++ b/src/personality_test.c @@ -297,19 +297,19 @@ const u8 unknownPersonality[] = const s16 gStarters[NUM_PERSONALITIES][2] = { // MALE / FEMALE - [HARDY] = {SPECIES_CHARMANDER, SPECIES_PIKACHU}, - [DOCILE] = {SPECIES_BULBASAUR, SPECIES_CHIKORITA}, - [BRAVE] = {SPECIES_MACHOP, SPECIES_CHARMANDER}, - [JOLLY] = {SPECIES_SQUIRTLE, SPECIES_TOTODILE}, - [IMPISH] = {SPECIES_PIKACHU, SPECIES_CUBONE}, - [NAIVE] = {SPECIES_TOTODILE, SPECIES_EEVEE}, - [TIMID] = {SPECIES_CYNDAQUIL, SPECIES_MUDKIP}, - [HASTY] = {SPECIES_TORCHIC, SPECIES_SKITTY}, - [SASSY] = {SPECIES_TREECKO, SPECIES_TORCHIC}, - [CALM] = {SPECIES_MUDKIP, SPECIES_BULBASAUR}, - [RELAXED] = {SPECIES_PSYDUCK, SPECIES_SQUIRTLE}, - [LONELY] = {SPECIES_CUBONE, SPECIES_PSYDUCK}, - [QUIRKY] = {SPECIES_MEOWTH, SPECIES_TREECKO} + [HARDY] = {MONSTER_CHARMANDER, MONSTER_PIKACHU}, + [DOCILE] = {MONSTER_BULBASAUR, MONSTER_CHIKORITA}, + [BRAVE] = {MONSTER_MACHOP, MONSTER_CHARMANDER}, + [JOLLY] = {MONSTER_SQUIRTLE, MONSTER_TOTODILE}, + [IMPISH] = {MONSTER_PIKACHU, MONSTER_CUBONE}, + [NAIVE] = {MONSTER_TOTODILE, MONSTER_EEVEE}, + [TIMID] = {MONSTER_CYNDAQUIL, MONSTER_MUDKIP}, + [HASTY] = {MONSTER_TORCHIC, MONSTER_SKITTY}, + [SASSY] = {MONSTER_TREECKO, MONSTER_TORCHIC}, + [CALM] = {MONSTER_MUDKIP, MONSTER_BULBASAUR}, + [RELAXED] = {MONSTER_PSYDUCK, MONSTER_SQUIRTLE}, + [LONELY] = {MONSTER_CUBONE, MONSTER_PSYDUCK}, + [QUIRKY] = {MONSTER_MEOWTH, MONSTER_TREECKO} }; @@ -366,16 +366,16 @@ const char filler[] = "pksdir0"; // CHUNSOFT inserted for aligning data const s16 gPartners[NUM_PARTNERS] = { - SPECIES_CHARMANDER, - SPECIES_BULBASAUR, - SPECIES_SQUIRTLE, - SPECIES_PIKACHU, - SPECIES_CHIKORITA, - SPECIES_TOTODILE, - SPECIES_CYNDAQUIL, - SPECIES_TORCHIC, - SPECIES_TREECKO, - SPECIES_MUDKIP + MONSTER_CHARMANDER, + MONSTER_BULBASAUR, + MONSTER_SQUIRTLE, + MONSTER_PIKACHU, + MONSTER_CHIKORITA, + MONSTER_TOTODILE, + MONSTER_CYNDAQUIL, + MONSTER_TORCHIC, + MONSTER_TREECKO, + MONSTER_MUDKIP }; const struct UnkTextStruct2 gUnknown_80F4278 = @@ -494,8 +494,8 @@ u8 HandleTestTrackerState(void) AdvanceToTestEnd(); break; case PERSONALITY_TEST_END: - iVar1 = Random() * gPersonalityTestTracker->FrameCounter; - sub_8094D28(Random()); + iVar1 = Rand32Bit() * gPersonalityTestTracker->FrameCounter; + sub_8094D28(Rand32Bit()); for(counter = 0; counter < NUM_PERSONALITIES; counter++){ iVar1 *= (gPersonalityTestTracker->NatureTotals[counter] + counter + 3); @@ -536,7 +536,7 @@ void GenerateNewQuestionOrGender(void) { do { // Generate new question number and make sure we haven't done it - newQuestion = RandomCapped(NUM_QUIZ_QUESTIONS); + newQuestion = RandInt(NUM_QUIZ_QUESTIONS); gPersonalityTestTracker->currQuestionIndex = newQuestion; } while (gPersonalityTestTracker->QuestionTracker[newQuestion] == 1); @@ -613,7 +613,7 @@ void RevealPersonality(void) s32 currentNature; s32 counter; - gPersonalityTestTracker->playerNature = RandomCapped(NUM_PERSONALITIES); + gPersonalityTestTracker->playerNature = RandInt(NUM_PERSONALITIES); currentNature = gPersonalityTestTracker->playerNature; for(counter = 0; counter < NUM_PERSONALITIES - 1; counter++){ @@ -734,7 +734,7 @@ void PromptNewQuestion(void) void PrintPersonalityTypeDescription(void) { - CopySpeciesNametoBuffer(gAvailablePokemonNames, gPersonalityTestTracker->StarterID); + CopyMonsterNametoBuffer(gAvailablePokemonNames, gPersonalityTestTracker->StarterID); sub_80141B4(gPersonalityTypeDescriptionTable[gPersonalityTestTracker->playerNature],0, 0,0x101); } diff --git a/src/pokemon.c b/src/pokemon.c index cca7d02ea..b7321cf65 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -5,7 +5,7 @@ extern struct FileArchive gSystemFileArchive; extern const char gUnknown_81075F4; -EWRAM_DATA struct gPokemon *gMonsterParameters; +EWRAM_DATA struct MonsterDataEntry *gMonsterParameters; EWRAM_DATA struct OpenedFile *gMonsterParametersFile; EWRAM_DATA struct unkStruct_203B45C gRecruitedPokemon; extern struct unkStruct_203B45C *gRecruitedPokemonRef; @@ -16,7 +16,7 @@ void LoadMonsterParameters(void) { gRecruitedPokemonRef = &gRecruitedPokemon; gMonsterParametersFile = OpenFileAndGetFileDataPtr(&gUnknown_81075F4, &gSystemFileArchive); - gMonsterParameters = (struct gPokemon *)gMonsterParametersFile->data; + gMonsterParameters = (struct MonsterDataEntry *)gMonsterParametersFile->data; gLevelCurrentPokeId = 0; } @@ -29,7 +29,7 @@ void InitializeRecruitedPokemon(void) { s32 iVar3; - for(iVar3 = 0; iVar3 < NUM_SPECIES; iVar3++) + for(iVar3 = 0; iVar3 < NUM_MONSTERS; iVar3++) { gRecruitedPokemonRef->pokemon[iVar3].unk0 = 0; } @@ -66,17 +66,17 @@ void InitializeRecruitedPokemon(void) // } // pokemon.unkHasNextStage = 1; // pokemon.pokeHP = GetBaseHP(species); -// pokemon.offense.att[0] = GetPokemonAttSpatt(species, 0); -// pokemon.offense.att[1] = GetPokemonAttSpatt(species, 1); -// pokemon.offense.def[0] = GetPokemonDefSpdef(species, 0); -// pokemon.offense.def[1] = GetPokemonDefSpdef(species, 1); +// pokemon.offense.att[0] = GetBaseOffensiveStat(species, 0); +// pokemon.offense.att[1] = GetBaseOffensiveStat(species, 1); +// pokemon.offense.def[0] = GetBaseDefensiveStat(species, 0); +// pokemon.offense.def[1] = GetBaseDefensiveStat(species, 1); // pokemon.IQ = 1; // pokemon.unkC[0].unk0 = 0; // pokemon.unkC[1].unk0 = 0; // SetDefaultIQSkills((u8*)&pokemon.IQSkills, 0); // pokemon.speciesNum = species; -// pokemon.heldItem.itemIndex = 0; -// pokemon.heldItem.numItems = 0; +// pokemon.heldItem.id = 0; +// pokemon.heldItem.quantity = 0; // pokemon.unk1C = 0; // pokemon.unk24 = 0; // pokemon.unk4.unk5 = 0; @@ -84,7 +84,7 @@ void InitializeRecruitedPokemon(void) // // mostly incorrect below this: // if (!a3) { -// CopySpeciesNametoBuffer(name_buffer, species); +// CopyMonsterNametoBuffer(name_buffer, species); // BoundedCopyStringtoBuffer(pokemon.name, name_buffer, 10); // } // else { diff --git a/src/pokemon_3.c b/src/pokemon_3.c index fb5155a33..5bacb92f7 100644 --- a/src/pokemon_3.c +++ b/src/pokemon_3.c @@ -51,10 +51,10 @@ extern void AddSprite(u16 *, u32, u32, u32); extern void SaveDungeonLocation(struct unkStruct_8094924*, struct DungeonLocation*); extern void xxx_save_poke_sub_c_808F41C(struct unkStruct_8094924*, struct unkPokeSubStruct_C*); -extern void SavePokemonMoves(struct unkStruct_8094924*, struct PokemonMove*); +extern void SavePokemonMoves(struct unkStruct_8094924*, struct Move*); void RestoreDungeonLocation(struct unkStruct_8094924*, struct DungeonLocation*); void xxx_restore_poke_sub_c_808F410(struct unkStruct_8094924*, struct unkPokeSubStruct_C*); -void RestorePokemonMoves(struct unkStruct_8094924*, struct PokemonMove*); +void RestorePokemonMoves(struct unkStruct_8094924*, struct Move*); extern void sub_8094184(struct unkStruct_8094924*, void*); extern void sub_809449C(struct unkStruct_8094924*, void*); @@ -69,17 +69,17 @@ bool8 sub_808E668(s16 a1, s16* a2, s16* a3) u32 shifted = a1 << 16; if (((shifted - 0x320000) >> 16) > 1) { - u8 shadow_size = GetShadowSize(a1); + u8 shadowSize = GetShadowSize(a1); u32 unk2, unk6; struct unkStruct_202F3E8* arg0; unk2 = a2[0] + a3[8]; unk6 = a2[1] + a3[9]; - unk2 += gUnknown_81076C4[shadow_size]; + unk2 += gUnknown_81076C4[shadowSize]; unk6 -= 4; unk2 &= 0x1ff; - arg0 = &gUnknown_202F3E8[shadow_size]; + arg0 = &gUnknown_202F3E8[shadowSize]; arg0->unk2 = (arg0->unk2 & 0xfe00) | unk2; unk6 &= 0xfff; unk6 <<= 4; @@ -94,9 +94,9 @@ void sub_808E6F4(struct unkStruct_808E6F4* a1) { s32 i; - a1->unk0 = gUnknown_810AC90[RandomCapped(10)]; + a1->unk0 = gUnknown_810AC90[RandInt(10)]; for (i = 0; i < 100; i++) { - a1->unk2 = RandomCapped(18); + a1->unk2 = RandInt(18); if ( a1->unk2 ) break; } @@ -109,7 +109,7 @@ bool8 HasRecruitedMon(s16 species_) { s32 i = 0; struct PokemonStruct *pokemon = gRecruitedPokemonRef->pokemon; - for (i = 0; i < NUM_SPECIES; i++) { + for (i = 0; i < NUM_MONSTERS; i++) { if (((u8)pokemon->unk0 & 1)) { if(pokemon->speciesNum == species) return TRUE; @@ -120,160 +120,160 @@ bool8 HasRecruitedMon(s16 species_) { } s32 GetBaseSpecies(s16 index) { - if (index == SPECIES_CASTFORM_SNOWY) - return SPECIES_CASTFORM; - if (index == SPECIES_CASTFORM_SUNNY) - return SPECIES_CASTFORM; - if (index == SPECIES_CASTFORM_RAINY) - return SPECIES_CASTFORM; - if(index == SPECIES_UNOWN_B) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_C) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_D) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_E) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_F) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_G) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_H) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_I) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_J) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_K) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_L) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_M) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_N) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_O) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_P) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_Q) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_R) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_S) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_T) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_U) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_V) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_W) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_X) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_Y) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_Z) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_EMARK) - return SPECIES_UNOWN; - if(index == SPECIES_UNOWN_QMARK) - return SPECIES_UNOWN; - if (index == SPECIES_DEOXYS_ATTACK) - return SPECIES_DEOXYS_NORMAL; - if (index == SPECIES_DEOXYS_DEFENSE) - return SPECIES_DEOXYS_NORMAL; - if (index == SPECIES_DEOXYS_SPEED) - return SPECIES_DEOXYS_NORMAL; - if (index == SPECIES_RAYQUAZA_CUTSCENE) - return SPECIES_RAYQUAZA; + if (index == MONSTER_CASTFORM_SNOWY) + return MONSTER_CASTFORM; + if (index == MONSTER_CASTFORM_SUNNY) + return MONSTER_CASTFORM; + if (index == MONSTER_CASTFORM_RAINY) + return MONSTER_CASTFORM; + if(index == MONSTER_UNOWN_B) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_C) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_D) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_E) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_F) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_G) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_H) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_I) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_J) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_K) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_L) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_M) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_N) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_O) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_P) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_Q) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_R) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_S) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_T) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_U) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_V) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_W) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_X) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_Y) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_Z) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_EMARK) + return MONSTER_UNOWN; + if(index == MONSTER_UNOWN_QMARK) + return MONSTER_UNOWN; + if (index == MONSTER_DEOXYS_ATTACK) + return MONSTER_DEOXYS_NORMAL; + if (index == MONSTER_DEOXYS_DEFENSE) + return MONSTER_DEOXYS_NORMAL; + if (index == MONSTER_DEOXYS_SPEED) + return MONSTER_DEOXYS_NORMAL; + if (index == MONSTER_RAYQUAZA_CUTSCENE) + return MONSTER_RAYQUAZA; return index; } s32 GetBaseSpeciesNoUnown(s16 index) { register s32 a1_ asm("r2") = index; - if (index == SPECIES_CASTFORM_SNOWY) { - return SPECIES_CASTFORM; + if (index == MONSTER_CASTFORM_SNOWY) { + return MONSTER_CASTFORM; } - if (index == SPECIES_CASTFORM_SUNNY) { - return SPECIES_CASTFORM; + if (index == MONSTER_CASTFORM_SUNNY) { + return MONSTER_CASTFORM; } - if (index == SPECIES_CASTFORM_RAINY) { - return SPECIES_CASTFORM; + if (index == MONSTER_CASTFORM_RAINY) { + return MONSTER_CASTFORM; } - if (index == SPECIES_DEOXYS_ATTACK) { - return SPECIES_DEOXYS_NORMAL; + if (index == MONSTER_DEOXYS_ATTACK) { + return MONSTER_DEOXYS_NORMAL; } - if (index == SPECIES_DEOXYS_DEFENSE) { - return SPECIES_DEOXYS_NORMAL; + if (index == MONSTER_DEOXYS_DEFENSE) { + return MONSTER_DEOXYS_NORMAL; } - if (index == SPECIES_DEOXYS_SPEED) { - return SPECIES_DEOXYS_NORMAL; + if (index == MONSTER_DEOXYS_SPEED) { + return MONSTER_DEOXYS_NORMAL; } // these last 2 use r2 instead of just r0 - if (a1_ == SPECIES_RAYQUAZA_CUTSCENE) { - return SPECIES_RAYQUAZA; + if (a1_ == MONSTER_RAYQUAZA_CUTSCENE) { + return MONSTER_RAYQUAZA; } return a1_; } s32 GetUnownIndex(s16 index) { - if(index == SPECIES_UNOWN_B) + if(index == MONSTER_UNOWN_B) return 1; - if(index == SPECIES_UNOWN_C) + if(index == MONSTER_UNOWN_C) return 2; - if(index == SPECIES_UNOWN_D) + if(index == MONSTER_UNOWN_D) return 3; - if(index == SPECIES_UNOWN_E) + if(index == MONSTER_UNOWN_E) return 4; - if(index == SPECIES_UNOWN_F) + if(index == MONSTER_UNOWN_F) return 5; - if(index == SPECIES_UNOWN_G) + if(index == MONSTER_UNOWN_G) return 6; - if(index == SPECIES_UNOWN_H) + if(index == MONSTER_UNOWN_H) return 7; - if(index == SPECIES_UNOWN_I) + if(index == MONSTER_UNOWN_I) return 8; - if(index == SPECIES_UNOWN_J) + if(index == MONSTER_UNOWN_J) return 9; - if(index == SPECIES_UNOWN_K) + if(index == MONSTER_UNOWN_K) return 10; - if(index == SPECIES_UNOWN_L) + if(index == MONSTER_UNOWN_L) return 11; - if(index == SPECIES_UNOWN_M) + if(index == MONSTER_UNOWN_M) return 12; - if(index == SPECIES_UNOWN_N) + if(index == MONSTER_UNOWN_N) return 13; - if(index == SPECIES_UNOWN_O) + if(index == MONSTER_UNOWN_O) return 14; - if(index == SPECIES_UNOWN_P) + if(index == MONSTER_UNOWN_P) return 15; - if(index == SPECIES_UNOWN_Q) + if(index == MONSTER_UNOWN_Q) return 16; - if(index == SPECIES_UNOWN_R) + if(index == MONSTER_UNOWN_R) return 17; - if(index == SPECIES_UNOWN_S) + if(index == MONSTER_UNOWN_S) return 18; - if(index == SPECIES_UNOWN_T) + if(index == MONSTER_UNOWN_T) return 19; - if(index == SPECIES_UNOWN_U) + if(index == MONSTER_UNOWN_U) return 20; - if(index == SPECIES_UNOWN_V) + if(index == MONSTER_UNOWN_V) return 21; - if(index == SPECIES_UNOWN_W) + if(index == MONSTER_UNOWN_W) return 22; - if(index == SPECIES_UNOWN_X) + if(index == MONSTER_UNOWN_X) return 23; - if(index == SPECIES_UNOWN_Y) + if(index == MONSTER_UNOWN_Y) return 24; - if(index == SPECIES_UNOWN_Z) + if(index == MONSTER_UNOWN_Z) return 25; - if(index == SPECIES_UNOWN_EMARK) + if(index == MONSTER_UNOWN_EMARK) return 26; - if(index == SPECIES_UNOWN_QMARK) + if(index == MONSTER_UNOWN_QMARK) return 27; return 0; } @@ -531,7 +531,7 @@ void GetAvailTacticsforLvl_Bool(u8 *tacticsBuffer, s32 pokeLevel) bool8 HasIQForSkill(s32 pokeIQ, u8 IQSkillIndex) { - if(IQSkillIndex == IQ_SKILL_NONE) + if(IQSkillIndex == IQ_NONE) { return FALSE; } @@ -549,7 +549,7 @@ s32 GetNumAvailableIQSkills(u8 *iqSkillBuffer, s32 pokeIQ) availIQSkills = 0; - for(counter_1 = IQ_SKILL_TYPE_ADVANTAGE_MASTER; counter_1 < NUM_IQ_SKILLS; counter_1++) { + for(counter_1 = IQ_TYPE_ADVANTAGE_MASTER; counter_1 < NUM_IQ_SKILLS; counter_1++) { iqSkill_u8 = counter_1; // force this cast to be in a reg if (HasIQForSkill(pokeIQ, iqSkill_u8)) { iqSkillBuffer[availIQSkills] = iqSkill_u8; @@ -558,7 +558,7 @@ s32 GetNumAvailableIQSkills(u8 *iqSkillBuffer, s32 pokeIQ) } for (counter_2 = availIQSkills; counter_2 < NUM_IQ_SKILLS; counter_2++) { - iqSkillBuffer[counter_2] = IQ_SKILL_NONE; + iqSkillBuffer[counter_2] = IQ_NONE; } return availIQSkills; } @@ -609,21 +609,21 @@ void SetDefaultIQSkills(u8 *param_1, bool8 enableSelfCurer) param_1[0] = 0; param_1[1] = 0; param_1[2] = 0; - SetIQSkill(param_1, IQ_SKILL_ITEM_CATCHER); - SetIQSkill(param_1, IQ_SKILL_COURSE_CHECKER); - SetIQSkill(param_1, IQ_SKILL_ITEM_MASTER); + SetIQSkill(param_1, IQ_ITEM_CATCHER); + SetIQSkill(param_1, IQ_COURSE_CHECKER); + SetIQSkill(param_1, IQ_ITEM_MASTER); // Flag is usually enabled for Boss fights. if (enableSelfCurer) { - SetIQSkill(param_1, IQ_SKILL_SELF_CURER); + SetIQSkill(param_1, IQ_SELF_CURER); } } -bool8 IsIQSkillSet(u8 *IQSkillsEnabled, u32 IQSkill) +bool8 IsIQSkillSet(u8 *IQSkillFlags, u32 IQSkill) { - if (!(IQSkillsEnabled[0] & IQSkill) && - !(IQSkillsEnabled[1] & IQSkill >> 8) && - !(IQSkillsEnabled[2] & IQSkill >> 16)) + if (!(IQSkillFlags[0] & IQSkill) && + !(IQSkillFlags[1] & IQSkill >> 8) && + !(IQSkillFlags[2] & IQSkill >> 16)) { return FALSE; } @@ -672,7 +672,7 @@ s32 SaveRecruitedPokemon(u8 *a1, s32 a2) data_s16 = 1; data_s16 = -data_s16; count = 0; - for (i = 0; i < NUM_SPECIES; i++) { + for (i = 0; i < NUM_MONSTERS; i++) { #ifdef NONMATCHING struct PokemonStruct* pokemon = &gRecruitedPokemonRef->pokemon[i]; #else @@ -685,7 +685,7 @@ s32 SaveRecruitedPokemon(u8 *a1, s32 a2) if (pokemon->unk0 & 2) { buffer[count++] = i; } - if (pokemon->isLeader) { + if (pokemon->isTeamLeader) { data_s16 = i; } } @@ -722,7 +722,7 @@ s32 RestoreRecruitedPokemon(u8 *a1, s32 a2) s32 i; xxx_init_struct_8094924_restore_809485C(&backup, a1, a2); - for (i = 0; i < NUM_SPECIES; i++) { + for (i = 0; i < NUM_MONSTERS; i++) { RestorePokemonStruct(&backup, &gRecruitedPokemonRef->pokemon[i]); } @@ -739,13 +739,13 @@ s32 RestoreRecruitedPokemon(u8 *a1, s32 a2) for (i = 0; i < 6; i++) { RestoreIntegerBits(&backup, &data_s16, 16); - if ((u16)data_s16 < NUM_SPECIES) { + if ((u16)data_s16 < NUM_MONSTERS) { gRecruitedPokemonRef->pokemon[data_s16].unk0 |= 2; } } RestoreIntegerBits(&backup, &data_s16, 16); - if ((u16)data_s16 < NUM_SPECIES) { - gRecruitedPokemonRef->pokemon[data_s16].isLeader = 1; + if ((u16)data_s16 < NUM_MONSTERS) { + gRecruitedPokemonRef->pokemon[data_s16].isTeamLeader = 1; } nullsub_102(&backup); return backup.unk8; @@ -776,7 +776,7 @@ void RestorePokemonStruct(struct unkStruct_8094924* a1, struct PokemonStruct* po { memset(pokemon, 0, sizeof(struct PokemonStruct)); pokemon->unk0 = 0; - pokemon->isLeader = 0; + pokemon->isTeamLeader = 0; RestoreIntegerBits(a1, &pokemon->unkHasNextStage, 7); if (pokemon->unkHasNextStage) { pokemon->unk0 |= 1; @@ -814,7 +814,7 @@ s32 SavePokemonStruct2(u8* a1, s32 size) struct PokemonStruct2* pokemon2 = &gRecruitedPokemonRef->pokemon2[i]; SaveIntegerBits(&backup, &pokemon2->unk0, 2); - SaveIntegerBits(&backup, pokemon2->isLeader ? &data_u8_neg1 : &data_u8_zero, 1); + SaveIntegerBits(&backup, pokemon2->isTeamLeader ? &data_u8_neg1 : &data_u8_zero, 1); SaveIntegerBits(&backup, &pokemon2->unkHasNextStage, 7); SaveDungeonLocation(&backup, &pokemon2->dungeonLocation); @@ -858,10 +858,10 @@ s32 RestorePokemonStruct2(u8* a1, s32 size) RestoreIntegerBits(&backup, &unk2, 1); if (unk2 & 1) { - pokemon2->isLeader = TRUE; + pokemon2->isTeamLeader = TRUE; } else { - pokemon2->isLeader = FALSE; + pokemon2->isTeamLeader = FALSE; } RestoreIntegerBits(&backup, &pokemon2->unkHasNextStage, 7); diff --git a/src/pokemon_mid.c b/src/pokemon_mid.c index 29291938a..8abe8d408 100644 --- a/src/pokemon_mid.c +++ b/src/pokemon_mid.c @@ -8,7 +8,7 @@ #include "constants/move_id.h" #include "code_800D090.h" -extern struct gPokemon *gMonsterParameters; +extern struct MonsterDataEntry *gMonsterParameters; extern const char gUnknown_8107600[]; extern const char gUnknown_8107608[]; extern const char gUnownLetters[]; @@ -49,7 +49,7 @@ struct unkStruct_8107654 { extern u8 gUnknown_8107645[12]; extern struct unkStruct_8107654 gUnknown_8107654[6]; -extern struct gPokemon *gMonsterParameters; +extern struct MonsterDataEntry *gMonsterParameters; extern struct FileArchive gMonsterFileArchive; extern const char gUnknown_8107684[]; @@ -59,10 +59,10 @@ bool8 sub_808D6E8() s32 i; s32 count = 0; s32 size_count = 0; - for (i = 0; i < NUM_SPECIES; i++) { + for (i = 0; i < NUM_MONSTERS; i++) { struct PokemonStruct* pokemon = &gRecruitedPokemonRef->pokemon[i]; if ((1 & pokemon->unk0) && ((pokemon->unk0 >> 1) % 2)) { - size_count += GetPokemonSize(pokemon->speciesNum); + size_count += GetBodySize(pokemon->speciesNum); count++; } } @@ -107,7 +107,7 @@ bool8 sub_808D750(s16 index_) { "\tbeq _0808D798\n" "\tmovs r2, 0x8\n" "\tldrsh r0, [r1, r2]\n" -"\tbl GetPokemonSize\n" +"\tbl GetBodySize\n" "\tlsls r0, 24\n" "\tlsrs r0, 24\n" "\tadds r5, r0\n" @@ -128,7 +128,7 @@ bool8 sub_808D750(s16 index_) { "\tadds r1, r0, r1\n" "\tmovs r2, 0x8\n" "\tldrsh r0, [r1, r2]\n" -"\tbl GetPokemonSize\n" +"\tbl GetBodySize\n" "\tlsls r0, 24\n" "\tlsrs r0, 24\n" "\tadds r5, r0\n" @@ -160,7 +160,7 @@ bool8 sub_808D750(s16 index_) { // register struct PokemonStruct* pokemon = &i[gRecruitedPokemonRef->pokemon]; // register u16 unk0 = pokemon->unk0; // if ((unk0 & 1) && ((pokemon->unk0 >> 1) & 1)) { -// size_count += GetPokemonSize(pokemon->speciesNum); +// size_count += GetBodySize(pokemon->speciesNum); // count++; // } // } @@ -170,7 +170,7 @@ bool8 sub_808D750(s16 index_) { // pokemon = &gRecruitedPokemonRef->pokemon[index]; -// size_count += GetPokemonSize(pokemon->speciesNum); +// size_count += GetBodySize(pokemon->speciesNum); // if (size_count < 7) { // return TRUE; // } @@ -179,18 +179,18 @@ bool8 sub_808D750(s16 index_) { // } -void PeekPokemonItem(s16 index_, struct HeldItem* item) { +void PeekPokemonItem(s16 index_, struct BulkItem* item) { s32 index = index_; struct PokemonStruct* pokemon = &gRecruitedPokemonRef->pokemon[index]; - item->itemIndex = pokemon->heldItem.itemIndex; - item->numItems = pokemon->heldItem.numItems; + item->id = pokemon->heldItem.id; + item->quantity = pokemon->heldItem.quantity; } -void GivePokemonItem(s16 index_, struct HeldItem* item) { +void GivePokemonItem(s16 index_, struct BulkItem* item) { s32 index = index_; struct PokemonStruct* pokemon = &gRecruitedPokemonRef->pokemon[index]; - pokemon->heldItem.itemIndex = item->itemIndex; - pokemon->heldItem.numItems = item->numItems; + pokemon->heldItem.id = item->id; + pokemon->heldItem.quantity = item->quantity; } bool8 IsPokemonRenamed(struct PokemonStruct* pokemon) { @@ -231,21 +231,21 @@ bool8 ComparePokemonNames(s16 a1, s16 a2) { return FALSE; } -void CopySpeciesNametoBuffer(u8 * buffer, s16 index) +void CopyMonsterNametoBuffer(u8 * buffer, s16 index) { strncpy(buffer, gMonsterParameters[index].species, 0x14); } -void CopyYellowSpeciesNametoBuffer(u8 *buffer, s16 index) +void CopyYellowMonsterNametoBuffer(u8 *buffer, s16 index) { s32 new_index = index; - sprintf_2(buffer, gUnknown_8107600, gMonsterParameters[new_index].species); // {COLOR_2 YELLOW}%s{END_COLOR_TEXT_2} + sprintfStatic(buffer, gUnknown_8107600, gMonsterParameters[new_index].species); // {COLOR_2 YELLOW}%s{END_COLOR_TEXT_2} } -void CopyCyanSpeciesNametoBuffer(u8 *buffer, s16 index) +void CopyCyanMonsterNametoBuffer(u8 *buffer, s16 index) { s32 new_index = index; - sprintf_2(buffer, gUnknown_8107608, gMonsterParameters[new_index].species); // {COLOR_2 CYAN}%s{END_COLOR_TEXT_2} + sprintfStatic(buffer, gUnknown_8107608, gMonsterParameters[new_index].species); // {COLOR_2 CYAN}%s{END_COLOR_TEXT_2} } void sub_808D930(u8 *buffer, s16 index) @@ -254,14 +254,14 @@ void sub_808D930(u8 *buffer, s16 index) s32 unownIndex; const char *preload; - if (GetBaseSpecies(index) == SPECIES_UNOWN) { + if (GetBaseSpecies(index) == MONSTER_UNOWN) { preload = gUnknown_8107630; // %s%c - unownString = GetMonSpecies(SPECIES_UNOWN); + unownString = GetMonSpecies(MONSTER_UNOWN); unownIndex = GetUnownIndex(index); - sprintf_2(buffer,preload,unownString,gUnownLetters[unownIndex]); // ABCDEFGHIJKLMNOPQRSTUVWXYZ!? + sprintfStatic(buffer,preload,unownString,gUnownLetters[unownIndex]); // ABCDEFGHIJKLMNOPQRSTUVWXYZ!? } else { - sprintf_2(buffer,gUnknown_8107638, gMonsterParameters[index].species); // %s + sprintfStatic(buffer,gUnknown_8107638, gMonsterParameters[index].species); // %s } } @@ -278,7 +278,7 @@ void PrintColoredPokeNameToBuffer(u8 *buffer, struct PokemonStruct *pokemon, s32 if (colorNum == COLOR_WHITE) { colorNum = COLOR_CYAN; } - sprintf_2(buffer,gUnknown_810763C,colorNum,nameBuffer); // {COLOR_2}%c%s{END_COLOR_TEXT_2} + sprintfStatic(buffer,gUnknown_810763C,colorNum,nameBuffer); // {COLOR_2}%c%s{END_COLOR_TEXT_2} } void sub_808D9DC(u8 *buffer, struct PokemonStruct2 *param_2, s32 colorNum) @@ -289,7 +289,7 @@ void sub_808D9DC(u8 *buffer, struct PokemonStruct2 *param_2, s32 colorNum) if (colorNum == COLOR_WHITE) { colorNum = COLOR_YELLOW; } - sprintf_2(buffer,gUnknown_810763C,colorNum,nameBuffer); // {COLOR_2}%c%s{END_COLOR_TEXT_2} + sprintfStatic(buffer,gUnknown_810763C,colorNum,nameBuffer); // {COLOR_2}%c%s{END_COLOR_TEXT_2} } void sub_808DA0C(u8 *buffer, struct PokemonStruct2 *param_2) @@ -297,7 +297,7 @@ void sub_808DA0C(u8 *buffer, struct PokemonStruct2 *param_2) u8 nameBuffer [20]; sub_80922B4(nameBuffer, param_2->name, POKEMON_NAME_LENGTH); - sprintf_2(buffer,gUnknown_8107638,nameBuffer); // %s + sprintfStatic(buffer,gUnknown_8107638,nameBuffer); // %s } void PrintPokeNameToBuffer(u8 *buffer, struct PokemonStruct *pokemon) @@ -333,59 +333,59 @@ u8 *GetCategoryString(s16 index) return gMonsterParameters[index].category; } -u8 GetPokemonSize(s16 index) +u8 GetBodySize(s16 index) { - return gMonsterParameters[index].size; + return gMonsterParameters[index].bodySize; } u8 GetShadowSize(s16 index) { - return gMonsterParameters[index].shadow_size; + return gMonsterParameters[index].shadowSize; } -s32 GetMoveSpeed(s16 index) +s32 GetMovementSpeed(s16 index) { - return gMonsterParameters[index].move_speed; + return gMonsterParameters[index].movementSpeed; } -u8 GetWalkableTiles(s16 index) +u8 GetMovementType(s16 index) { - return gMonsterParameters[index].walkable_tiles; + return gMonsterParameters[index].movementType; } -u8 GetUnk1B(s16 index) +u8 GetRegenSpeed(s16 index) { - return ((u8)(gMonsterParameters[index].unk1B) << 25) >> 24; + return ((u8)(gMonsterParameters[index].regenSpeed) << 25) >> 24; } -bool8 GetIsMoving(s16 index) +bool8 CanMove(s16 index) { - return gMonsterParameters[index].isMoving; + return gMonsterParameters[index].canMove; } -u8 GetUnk1D(s16 index) +u8 GetChanceAsleep(s16 index) { - return gMonsterParameters[index].unk1D; + return gMonsterParameters[index].chanceAsleep; } -u32 GetLowKickDmg(s16 index) +u32 GetWeight(s16 index) { - return gMonsterParameters[index].lowkick_dmg; + return gMonsterParameters[index].weight; } -u32 GetSizeOrbDmg(s16 index) +u32 GetSize(s16 index) { - return gMonsterParameters[index].sizeorb_dmg; + return gMonsterParameters[index].size; } u8 GetFriendArea(s16 index) { - return gMonsterParameters[index].friend_area; + return gMonsterParameters[index].friendArea; } u16 GetBaseHP(s16 index) { - return gMonsterParameters[index].base_hp; + return gMonsterParameters[index].baseHP; } bool8 IsToolboxEnabled(s16 index) @@ -400,17 +400,17 @@ u8 GetUnk12(s16 index) s16 GetPokemonEvolveFrom(s16 index) { - return gMonsterParameters[index].pre.evolve_from; + return gMonsterParameters[index].preEvolution.evolveFrom; } -u16 GetPokemonAttSpatt(s16 index, u32 r1) +u16 GetBaseOffensiveStat(s16 index, u32 r1) { - return gMonsterParameters[index].base_att_spatt[r1]; + return gMonsterParameters[index].baseAtkSpAtk[r1]; } -u16 GetPokemonDefSpdef(s16 index, u32 r1) +u16 GetBaseDefensiveStat(s16 index, u32 r1) { - return gMonsterParameters[index].base_def_spdef[r1]; + return gMonsterParameters[index].baseDefSpDef[r1]; } u8 GetPokemonType(s32 index, u32 typeIndex) @@ -429,9 +429,9 @@ s16 GetDexInternalNo(s16 index, u32 r1) return gMonsterParameters[index].dexInternal[r1]; } -s16 GetBaseRecruit(s16 index) +s16 GetRecruitRate(s16 index) { - return gMonsterParameters[index].base_recruit; + return gMonsterParameters[index].recruitRate; } s16 GetAlphabetParentNo(s16 index, s32 r1) @@ -447,18 +447,18 @@ s16 GetInternalNo(s16 index) s32 CalculateEXPGain(s16 index, s32 level) { - s32 baseEXP = gMonsterParameters[index].base_exp; - return baseEXP + (baseEXP * (level - 1)) / 10; + s32 expYield = gMonsterParameters[index].expYield; + return expYield + (expYield * (level - 1)) / 10; } s16 GetPokemonEvolveConditions(s16 index, struct unkEvolve *r1) { - struct EvolveStruct1 temp2; - struct EvolveNeeds temp1; - temp1 = gMonsterParameters[index].need; - temp2 = gMonsterParameters[index].pre; - r1->conditions = temp2; - r1->needs = temp1; + struct PreEvolution temp2; + struct EvolutionRequirements temp1; + temp1 = gMonsterParameters[index].evolutionRequirements; + temp2 = gMonsterParameters[index].preEvolution; + r1->preEvolution = temp2; + r1->evolutionRequirements = temp1; // The return value is not used anywhere, but necessary for the function to match. return index; } @@ -474,7 +474,7 @@ u8 GetPokemonOverworldPalette(s16 index, u32 r1) } else { - return gMonsterParameters[temp].overworld_palette; + return gMonsterParameters[temp].overworldPalette; } } @@ -483,7 +483,7 @@ struct OpenedFile *OpenPokemonDialogueSpriteFile(s16 index) // Looks like this loads the dialogue sprite for the pokemon char buffer[0xC]; - if(gMonsterParameters[index].dialogue_sprites == 0) + if(gMonsterParameters[index].dialogueSprites == 0) { return NULL; } @@ -496,7 +496,7 @@ struct OpenedFile *GetDialogueSpriteDataPtr(s16 index) // Looks like this loads the dialogue sprite for the pokemon char buffer[0xC]; - if(gMonsterParameters[index].dialogue_sprites == 0) + if(gMonsterParameters[index].dialogueSprites == 0) { return NULL; } @@ -507,7 +507,7 @@ struct OpenedFile *GetDialogueSpriteDataPtr(s16 index) bool8 IsPokemonDialogueSpriteAvail(s16 index, s32 r1) { // checking to see if dialogue sprite is available?? - return (gMonsterParameters[index].dialogue_sprites >> r1) & 1; + return (gMonsterParameters[index].dialogueSprites >> r1) & 1; } void xxx_pokemonstruct_index_to_pokemon2_808DE30(void* r0, u32 r1) @@ -518,8 +518,8 @@ void xxx_pokemonstruct_index_to_pokemon2_808DE30(void* r0, u32 r1) void xxx_pokemonstruct_to_pokemon2_808DE50(struct PokemonStruct2 * a1, struct PokemonStruct *pokemon, s32 a3) { s32 i; - struct HeldItem* held; - struct ItemSlot* slot; + struct BulkItem* held; + struct Item* slot; u32 somestruct_80943A0; u32 somestruct2_80943A0; @@ -529,7 +529,7 @@ void xxx_pokemonstruct_to_pokemon2_808DE50(struct PokemonStruct2 * a1, struct Po a1->IQSkills = pokemon->IQSkills; sub_808E6F4(&a1->unk54); a1->dungeonLocation = pokemon->dungeonLocation; - a1->isLeader = pokemon->isLeader; + a1->isTeamLeader = pokemon->isTeamLeader; a1->unkA = a3; a1->speciesNum = pokemon->speciesNum; a1->unk50 = pokemon->unk24; @@ -551,13 +551,13 @@ void xxx_pokemonstruct_to_pokemon2_808DE50(struct PokemonStruct2 * a1, struct Po held = &pokemon->heldItem; slot = &a1->itemSlot; - if ((u32)(-held->itemIndex | held->itemIndex) >> 31) { + if ((u32)(-held->id | held->id) >> 31) { HeldItemToSlot(slot, held); } else { - slot->itemIndex = 0; - slot->numItems = 0; - slot->itemFlags = 0; + slot->id = 0; + slot->quantity = 0; + slot->flags = 0; } sub_80943A0(&somestruct_80943A0, 100); a1->unk44 = somestruct_80943A0; @@ -570,7 +570,7 @@ void xxx_pokemon2_to_pokemonstruct_index_808DF2C(s32 a1, struct PokemonStruct2* xxx_pokemon2_to_pokemonstruct_808DF44(&a1[gRecruitedPokemonRef->pokemon], a2); } -extern void sub_8093FA8(struct PokemonMove*, struct unkStruct_8094184*); +extern void sub_8093FA8(struct Move*, struct unkStruct_8094184*); void xxx_pokemon2_to_pokemonstruct_808DF44(struct PokemonStruct* pokemon, struct PokemonStruct2* a2) @@ -582,7 +582,7 @@ void xxx_pokemon2_to_pokemonstruct_808DF44(struct PokemonStruct* pokemon, struct pokemon->IQ = a2->IQ; pokemon->IQSkills = a2->IQSkills; pokemon->dungeonLocation = a2->dungeonLocation; - pokemon->isLeader = a2->isLeader; + pokemon->isTeamLeader = a2->isTeamLeader; pokemon->speciesNum = a2->speciesNum; pokemon->unk24 = a2->unk50; pokemon->pokeHP = a2->unk12; @@ -599,11 +599,11 @@ void xxx_pokemon2_to_pokemonstruct_808DF44(struct PokemonStruct* pokemon, struct pokemon->name[i] = a2->name[i]; } - if (a2->itemSlot.itemFlags & ITEM_FLAG_EXISTS) { + if (a2->itemSlot.flags & ITEM_FLAG_EXISTS) { SlotToHeldItem(&pokemon->heldItem, &a2->itemSlot); } else { - pokemon->heldItem.itemIndex = 0; + pokemon->heldItem.id = 0; } } @@ -611,11 +611,11 @@ void sub_808DFDC(s32 a1, struct PokemonStruct2* a2) { // transfer item from unk to pokemon at index struct PokemonStruct* pokemon = &gRecruitedPokemonRef->pokemon[a1]; - if (a2->itemSlot.itemFlags & ITEM_FLAG_EXISTS) { + if (a2->itemSlot.flags & ITEM_FLAG_EXISTS) { SlotToHeldItem(&pokemon->heldItem, &a2->itemSlot); } else { - pokemon->heldItem.itemIndex = 0; + pokemon->heldItem.id = 0; } } @@ -679,9 +679,9 @@ s32 sub_808E0AC(u16* a1, s16 species, s32 a3, s32 IQPoints) _species = (s16)species; count = 0; - if (species == SPECIES_DECOY) return 0; - if (species == SPECIES_NONE) return 0; - if (species == SPECIES_MUNCHLAX) return 0; + if (species == MONSTER_DECOY) return 0; + if (species == MONSTER_NONE) return 0; + if (species == MONSTER_MUNCHLAX) return 0; // get stream stream = sub_8092B18(_species); @@ -722,9 +722,9 @@ bool8 CanMonLearnMove(u16 moveID, s16 _species) s32 species = _species; // r4 u8* ptr; - if (species == SPECIES_DECOY) return 0; - if (species == SPECIES_NONE) return 0; - if (species == SPECIES_MUNCHLAX) return 0; + if (species == MONSTER_DECOY) return 0; + if (species == MONSTER_NONE) return 0; + if (species == MONSTER_MUNCHLAX) return 0; if (moveID == MOVE_STRUGGLE) return 0; ptr = sub_8092B18(species); @@ -756,9 +756,9 @@ s32 sub_808E218(struct unkStruct_808E218_arg* a1, struct PokemonStruct* pokemon) count = 0; a1->count = 0; - if (pokemon->speciesNum == SPECIES_DECOY) return 0; - if (pokemon->speciesNum == SPECIES_NONE) return 0; - if (pokemon->speciesNum == SPECIES_MUNCHLAX) return 0; + if (pokemon->speciesNum == MONSTER_DECOY) return 0; + if (pokemon->speciesNum == MONSTER_NONE) return 0; + if (pokemon->speciesNum == MONSTER_MUNCHLAX) return 0; sequence_length = GetEvolutionSequence(pokemon, evolve_sequence); for (i = 0; i < sequence_length; i++) { @@ -775,7 +775,7 @@ s32 sub_808E218(struct unkStruct_808E218_arg* a1, struct PokemonStruct* pokemon) break; } - if (count < NUM_SPECIES) { + if (count < NUM_MONSTERS) { s32 j; bool8 cond = 1; @@ -785,7 +785,7 @@ s32 sub_808E218(struct unkStruct_808E218_arg* a1, struct PokemonStruct* pokemon) if ((result == MOVE_VOLT_TACKLE) && (pokemon->IQ < gVoltTackleIQReq)) cond = 0; for (j = 0; j < MAX_MON_MOVES; j++) { - if ((pokemon->moves[j].moveFlags & MOVE_FLAG_EXISTS) && pokemon->moves[j].moveID == result) { + if ((pokemon->moves[j].moveFlags & MOVE_FLAG_EXISTS) && pokemon->moves[j].id == result) { cond = 0; } } @@ -880,15 +880,15 @@ s32 sub_808E400(s32 _species, s16* _a2, s32 _a3, s32 _a4) register s16* a2 asm("r6"); i = 1; a2 = _a2; - for (i = 1; i <= SPECIES_RAYQUAZA_CUTSCENE; i++) { + for (i = 1; i <= MONSTER_RAYQUAZA_CUTSCENE; i++) { register s32 current asm("r8") = (s16)i; if (species != GetPokemonEvolveFrom(i)) { continue; } - if (!a3 && (GetPokemonSize(species) != GetPokemonSize(i))) { + if (!a3 && (GetBodySize(species) != GetBodySize(i))) { continue; } - if (!a4 && ((s16)i == SPECIES_SHEDINJA)) { + if (!a4 && ((s16)i == MONSTER_SHEDINJA)) { continue; } *a2++ = current; @@ -897,7 +897,7 @@ s32 sub_808E400(s32 _species, s16* _a2, s32 _a3, s32 _a4) return count; } -void sub_808E490(struct PokemonMove* a1, s16 species) +void sub_808E490(struct Move* a1, s16 species) { u16 buffer[0x10]; // of moveIDs s32 i; diff --git a/src/position_util.c b/src/position_util.c index 7bc08174b..e952562c7 100644 --- a/src/position_util.c +++ b/src/position_util.c @@ -9,9 +9,9 @@ const s32 gFacingDirMapping[3][3] = { {DIRECTION_SOUTHWEST, DIRECTION_SOUTH, DIRECTION_SOUTHEAST} }; -s32 CalculateFacingDir(struct Position *originPos, struct Position *targetPos) +s32 GetDirectionTowardsPosition(struct Position *originPos, struct Position *targetPos) { - s32 facingDir; + s32 direction; s32 yDiff; s32 xDiff; @@ -19,7 +19,7 @@ s32 CalculateFacingDir(struct Position *originPos, struct Position *targetPos) yDiff = targetPos->y - originPos->y; if (xDiff == 0 && yDiff == 0) { - facingDir = DIRECTION_SOUTH; + direction = DIRECTION_SOUTH; } else { @@ -39,12 +39,12 @@ s32 CalculateFacingDir(struct Position *originPos, struct Position *targetPos) { yDiff = -1; } - facingDir = gFacingDirMapping[yDiff + 1][xDiff + 1]; + direction = gFacingDirMapping[yDiff + 1][xDiff + 1]; } - return facingDir; + return direction; } -s32 GetDistance(struct Position *pos1, struct Position *pos2) +s32 GetChebyshevDistance(struct Position *pos1, struct Position *pos2) { s32 distanceX = pos1->x - pos2->x; s32 distance; diff --git a/src/post_office_guide.c b/src/post_office_guide.c index 43b0d7a72..3e38c6bae 100644 --- a/src/post_office_guide.c +++ b/src/post_office_guide.c @@ -191,7 +191,7 @@ extern struct WonderMail *GetJobSlotInfo(u8); extern void xxx_call_draw_string(s32 x, u32 y, const u8 *, u32 , u32); extern void sub_80073B8(u32); extern void sub_80073E0(u32); -extern void sprintf_2(char *buffer, const char *text, ...); +extern void sprintfStatic(char *buffer, const char *text, ...); extern void sub_803B6B0(u32, u32, u32, u32); extern s16 sub_80A2688(u8 r0); extern u8 sub_80992E0(s16 *, s16 *); @@ -223,12 +223,12 @@ u32 CreateHelperPelipperMenu(s16 speciesID) ResetUnusedInputStruct(); sub_800641C(0,1,1); gPostOfficeHelper = MemoryAlloc(sizeof(struct PostOfficeHelper), 8); - CopyYellowSpeciesNametoBuffer(gUnknown_202E5D8, speciesID); + CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, speciesID); monName = GetMonSpecies(speciesID); strcpy(gAvailablePokemonNames, monName); gPostOfficeHelper->faceFile = NULL; gPostOfficeHelper->faceData = NULL; - if (speciesID != SPECIES_NONE) { + if (speciesID != MONSTER_NONE) { faceFile = GetDialogueSpriteDataPtr(species_32); gPostOfficeHelper->faceFile = faceFile; gPostOfficeHelper->unk14 = 0; @@ -616,10 +616,10 @@ void DisplayMissionObjectives(void) iVar8 = sub_8095228(local_94); sub_803B6B0(10,16,3,gUnknown_203B330->unk10); // %dF - sprintf_2(auStack248,gUnknown_80E1F3C,iVar8->dungeon.dungeonFloor); + sprintfStatic(auStack248,gUnknown_80E1F3C,iVar8->dungeon.floor); xxx_call_draw_string(0x15,16,auStack248,gUnknown_203B330->unk10,0); // Rescue #C6%s#R - sprintf_2(auStack248,gUnknown_80E1F40,GetMonSpecies(iVar8->clientSpecies)); + sprintfStatic(auStack248,gUnknown_80E1F40,GetMonSpecies(iVar8->clientSpecies)); xxx_call_draw_string(0x28,16,auStack248,gUnknown_203B330->unk10,0); break; case 2: @@ -635,11 +635,11 @@ void DisplayMissionObjectives(void) for(jobSlotIdx = 0; jobSlotIdx < MAX_ACCEPTED_JOBS; jobSlotIdx++) { jobInfo = GetJobSlotInfo(jobSlotIdx); - if ((((jobInfo->dungeon.dungeonIndex == gUnknown_203B330->dungeonIndex) && (jobInfo->mailType != 0) + if ((((jobInfo->dungeon.id == gUnknown_203B330->dungeonIndex) && (jobInfo->mailType != 0) ) && (jobInfo->mailType != 5)) && (jobInfo->mailType != 7)) { sub_803B6B0(10,yCoord,3,gUnknown_203B330->unk10); if (jobInfo->missionType != WONDER_MAIL_MISSION_TYPE_FIND_ITEM) { - sprintf_2(auStack144,gUnknown_80E1F3C,jobInfo->dungeon.dungeonFloor); + sprintfStatic(auStack144,gUnknown_80E1F3C,jobInfo->dungeon.floor); xxx_call_draw_string(21,yCoord,auStack144,gUnknown_203B330->unk10,0); } switch(jobInfo->missionType) @@ -647,23 +647,23 @@ void DisplayMissionObjectives(void) case WONDER_MAIL_MISSION_TYPE_DELIVER_ITEM: // Bring #C4%s#R sub_8090DC4(gUnknown_202DE58,jobInfo->targetItem,0); - sprintf_2(auStack144,gUnknown_80E1F60,gUnknown_202DE58); + sprintfStatic(auStack144,gUnknown_80E1F60,gUnknown_202DE58); xxx_call_draw_string(40,yCoord,auStack144,gUnknown_203B330->unk10,0); break; case WONDER_MAIL_MISSION_TYPE_FIND_ITEM: // Find #C4%s#R sub_8090DC4(gUnknown_202DE58,jobInfo->targetItem,0); - sprintf_2(auStack144,gUnknown_80E1F70,gUnknown_202DE58); + sprintfStatic(auStack144,gUnknown_80E1F70,gUnknown_202DE58); xxx_call_draw_string(40,yCoord,auStack144,gUnknown_203B330->unk10,0); break; case WONDER_MAIL_MISSION_TYPE_ESCORT_CLIENT: // Escort to #C6$s#R - sprintf_2(auStack144,gUnknown_80E1F80,GetMonSpecies(jobInfo->targetSpecies)); + sprintfStatic(auStack144,gUnknown_80E1F80,GetMonSpecies(jobInfo->targetSpecies)); xxx_call_draw_string(40,yCoord,auStack144,gUnknown_203B330->unk10,0); break; default: // Rescue #C6%s#R - sprintf_2(auStack144,gUnknown_80E1F40,GetMonSpecies(jobInfo->targetSpecies)); + sprintfStatic(auStack144,gUnknown_80E1F40,GetMonSpecies(jobInfo->targetSpecies)); xxx_call_draw_string(40,yCoord,auStack144,gUnknown_203B330->unk10,0); break; } diff --git a/src/random.c b/src/random.c index cfc976c21..3f992f581 100644 --- a/src/random.c +++ b/src/random.c @@ -1,51 +1,51 @@ #include "global.h" #include "random.h" -extern s32 gRngState; +extern s32 gPRNGSequenceNum; void SeedRng(u8 *seed) { - gRngState = 54021 + (seed[0] * seed[1]) + (seed[2] * seed[3]) + (seed[4] * seed[5]); + gPRNGSequenceNum = 54021 + (seed[0] * seed[1]) + (seed[2] * seed[3]) + (seed[4] * seed[5]); } -static s16 Random16(void) +static s16 Rand16Bit(void) { - gRngState = 1566083941 * gRngState + 1; - return gRngState >> 16; + gPRNGSequenceNum = 1566083941 * gPRNGSequenceNum + 1; + return gPRNGSequenceNum >> 16; } -s32 Random(void) +s32 Rand32Bit(void) { - s32 r1 = Random16(); - s32 r2 = Random16(); + s32 r1 = Rand16Bit(); + s32 r2 = Rand16Bit(); return (r1 << 16) | r2; } // Returns a random number in the range [0, cap). -s32 RandomCapped(s32 cap) +s32 RandInt(s32 cap) { - return (((Random() & 0xFFFF) * cap) >> 16) & 0xFFFF; + return (((Rand32Bit() & 0xFFFF) * cap) >> 16) & 0xFFFF; } // Returns a random number between a and b. -s32 RandomRange(s32 a, s32 b) +s32 RandRange(s32 a, s32 b) { if (a == b) return a; if (a < b) - return RandomCapped(b - a) + a; + return RandInt(b - a) + a; - return RandomCapped(a - b) + b; + return RandInt(a - b) + b; } -s32 GetRngState(void) +s32 GetRNGSeed(void) { - return gRngState; + return gPRNGSequenceNum; } -void SetRngState(s32 state) +void SetRNGSeed(s32 state) { - gRngState = state; - gRngState = Random(); + gPRNGSequenceNum = state; + gPRNGSequenceNum = Rand32Bit(); } diff --git a/src/rescue_password_menu.c b/src/rescue_password_menu.c index b650c1153..97a232c0d 100644 --- a/src/rescue_password_menu.c +++ b/src/rescue_password_menu.c @@ -123,7 +123,7 @@ void CreateRescuePasswordMenu(u32 currMenu) temp = sub_8095228(0x1F); MemoryFill8((u8 *)temp, 0, sizeof(struct unkStruct_8095228)); temp->mailType = 2; - temp->unk20.itemIndex = ITEM_ID_NOTHING; + temp->unk20.id = ITEM_NOTHING; sub_8031D70(0x1F, 0); break; case MENU_RESCUE_PASSWORD_ENTRY: @@ -454,9 +454,9 @@ u32 ConvertMenutoRescuePasswordState(u32 unused) u32 sub_8039068(u32 mailMode, u8 *passwordBuffer, struct unkStruct_8095228 *param_3) { if ( (!sub_803D204(passwordBuffer, param_3)) || (7 < param_3->mailType) || - (param_3->dungeon.dungeonFloor >= GetDungeonFloorCount(param_3->dungeon.dungeonIndex)) || - (param_3->clientSpecies == SPECIES_NONE) || (SPECIES_RAYQUAZA_CUTSCENE < param_3->clientSpecies) || - (IsInvalidItemReward(param_3->unk20.itemIndex))) { + (param_3->dungeon.floor >= GetDungeonFloorCount(param_3->dungeon.id)) || + (param_3->clientSpecies == MONSTER_NONE) || (MONSTER_RAYQUAZA_CUTSCENE < param_3->clientSpecies) || + (IsInvalidItemReward(param_3->unk20.id))) { return PASSWORD_ENTRY_INCORRECT_PASSWORD; } else diff --git a/src/save.c b/src/save.c index 964b77d87..15dee97a3 100644 --- a/src/save.c +++ b/src/save.c @@ -339,7 +339,7 @@ u32 ReadSaveFromPak(u32 *a) if (gUnknown_203B184 == NULL) { sub_8011C28(r5->unk41C); sub_8011C40(r5->unk418); - SetRngState(r5->RngState); + SetRNGSeed(r5->RngState); } else { gUnknown_203B184->unk054 = r5->unk41C; @@ -464,7 +464,7 @@ u32 WriteSavetoPak(s32 *param_1, u32 param_2) if (gUnknown_203B184 == NULL) { iVar1->unk41C = param_2; iVar1->unk418 = sub_8011C34(); - iVar1->RngState = GetRngState(); + iVar1->RngState = GetRNGSeed(); } else { iVar1->unk41C = gUnknown_203B184->unk054; @@ -726,7 +726,7 @@ void PrepareSavePakWrite(s16 PokemonID) gSavePakWrite->pokeID = id_s32; gSavePakWrite->faceFile = NULL; gSavePakWrite->faceData = NULL; - if (PokemonID != SPECIES_NONE) { + if (PokemonID != MONSTER_NONE) { file = GetDialogueSpriteDataPtr(PokemonID); gSavePakWrite->faceFile = file; gSavePakWrite->faceData = file->data; diff --git a/src/status.c b/src/status.c index f50e98390..f92c1b525 100644 --- a/src/status.c +++ b/src/status.c @@ -115,69 +115,69 @@ extern u8 *gUnknown_80FBB28[]; extern s32 gUnknown_202DE30[10]; -extern void sub_8041D84(struct DungeonEntity *); +extern void sub_8041D84(struct Entity *); extern void sub_804178C(u32); -extern void sub_8041D5C(struct DungeonEntity *); -extern void RaiseAttackStageTarget(struct DungeonEntity *, struct DungeonEntity *, u32, u32); -extern void RaiseDefenseStageTarget(struct DungeonEntity *, struct DungeonEntity *, u32, u32); -extern void sub_8041D48(struct DungeonEntity *); -extern u8 sub_806CEBC(struct DungeonEntity *); -extern void sub_8041D38(struct DungeonEntity * pokemon); +extern void sub_8041D5C(struct Entity *); +extern void RaiseAttackStageTarget(struct Entity *, struct Entity *, u32, u32); +extern void RaiseDefenseStageTarget(struct Entity *, struct Entity *, u32, u32); +extern void sub_8041D48(struct Entity *); +extern u8 sub_806CEBC(struct Entity *); +extern void sub_8041D38(struct Entity * pokemon); extern void sub_803E46C(u32); -extern void sub_806CCB4(struct DungeonEntity *, u8); +extern void sub_806CCB4(struct Entity *, u8); extern u8 sub_8043D10(void); -extern void sub_8041CDC(struct DungeonEntity *pokemon); -extern void sub_8041CEC(struct DungeonEntity *pokemon); -extern void nullsub_73(struct DungeonEntity *); -extern void nullsub_74(struct DungeonEntity *); -extern void nullsub_75(struct DungeonEntity *); -extern void nullsub_76(struct DungeonEntity *); -extern void nullsub_77(struct DungeonEntity *); -extern void nullsub_78(struct DungeonEntity *); -extern void nullsub_79(struct DungeonEntity *); -extern void nullsub_80(struct DungeonEntity *); -extern void nullsub_81(struct DungeonEntity *); -extern void nullsub_82(struct DungeonEntity *); +extern void sub_8041CDC(struct Entity *pokemon); +extern void sub_8041CEC(struct Entity *pokemon); +extern void nullsub_73(struct Entity *); +extern void nullsub_74(struct Entity *); +extern void nullsub_75(struct Entity *); +extern void nullsub_76(struct Entity *); +extern void nullsub_77(struct Entity *); +extern void nullsub_78(struct Entity *); +extern void nullsub_79(struct Entity *); +extern void nullsub_80(struct Entity *); +extern void nullsub_81(struct Entity *); +extern void nullsub_82(struct Entity *); extern void sub_803F580(u32); extern void sub_8040A84(void); -extern void sub_8041CA8(struct DungeonEntity *); -extern void sub_8041C94(struct DungeonEntity *); -extern u8 sub_8045888(struct DungeonEntity *r0); -extern void sub_803ED30(s32, struct DungeonEntity *r0, u8, s32); -extern void sub_8041BF8(struct DungeonEntity *); -extern void sub_8041BE8(struct DungeonEntity *); -extern void sub_8041CCC(struct DungeonEntity *); -extern void sub_8041CB8(struct DungeonEntity *r0); -extern void sub_8041C1C(struct DungeonEntity *r0); -extern void sub_8042060(struct DungeonEntity *, s32); -extern bool8 sub_8071728(struct DungeonEntity * param_1, struct DungeonEntity * param_2, u8 param_3); -extern void sub_8041FB4(struct DungeonEntity *r0, u32 r1); -extern void sub_8041FD8(struct DungeonEntity *r0, u32 r1); -extern void sub_80522F4(struct DungeonEntity *r1, struct DungeonEntity *r2, u8 *); +extern void sub_8041CA8(struct Entity *); +extern void sub_8041C94(struct Entity *); +extern u8 sub_8045888(struct Entity *r0); +extern void sub_803ED30(s32, struct Entity *r0, u8, s32); +extern void sub_8041BF8(struct Entity *); +extern void sub_8041BE8(struct Entity *); +extern void sub_8041CCC(struct Entity *); +extern void sub_8041CB8(struct Entity *r0); +extern void sub_8041C1C(struct Entity *r0); +extern void sub_8042060(struct Entity *, s32); +extern bool8 sub_8071728(struct Entity * param_1, struct Entity * param_2, u8 param_3); +extern void sub_8041FB4(struct Entity *r0, u32 r1); +extern void sub_8041FD8(struct Entity *r0, u32 r1); +extern void sub_80522F4(struct Entity *r1, struct Entity *r2, u8 *); extern s32 sub_8009DA4(s32, s32); -extern void sub_804201C(struct DungeonEntity *r0, u32 r1); -extern void sub_8041FFC(struct DungeonEntity *r0, u32 r1); -extern void SetMessageArgument(char[], struct DungeonEntity*, u32); -extern void SetMessageArgument_2(char[], struct DungeonEntityData*, u32); -extern void sub_8041C58(struct DungeonEntity *r0); -extern void DungeonEntityUpdateStatusSprites(struct DungeonEntity *); -extern void sub_8042040(struct DungeonEntity *, s32); -extern void sub_80420A0(struct DungeonEntity *); +extern void sub_804201C(struct Entity *r0, u32 r1); +extern void sub_8041FFC(struct Entity *r0, u32 r1); +extern void SetMessageArgument(char[], struct Entity*, u32); +extern void SetMessageArgument_2(char[], struct EntityInfo*, u32); +extern void sub_8041C58(struct Entity *r0); +extern void DungeonEntityUpdateStatusSprites(struct Entity *); +extern void sub_8042040(struct Entity *, s32); +extern void sub_80420A0(struct Entity *); -u8 GetFlashFireStatus(struct DungeonEntity *pokemon) +u8 GetFlashFireStatus(struct Entity *pokemon) { if (!EntityExists(pokemon) || !HasAbility(pokemon, ABILITY_FLASH_FIRE)) { return FLASH_FIRE_STATUS_NONE; } - if (pokemon->entityData->flashFireBoost > 1) + if (pokemon->info->flashFireBoost > 1) { return FLASH_FIRE_STATUS_MAXED; } return FLASH_FIRE_STATUS_NOT_MAXED; } -static inline s32 UpdateFlashFireBoost_sub(struct DungeonEntityData * entityData) +static inline s32 UpdateFlashFireBoost_sub(struct EntityInfo * entityData) { s32 flashFireBoost; @@ -189,14 +189,14 @@ static inline s32 UpdateFlashFireBoost_sub(struct DungeonEntityData * entityData return flashFireBoost; } -void UpdateFlashFireBoost(struct DungeonEntity * pokemon, struct DungeonEntity *target) +void UpdateFlashFireBoost(struct Entity * pokemon, struct Entity *target) { - struct DungeonEntityData * entityData; - struct DungeonEntityData * entityData_1; + struct EntityInfo * entityData; + struct EntityInfo * entityData_1; s32 flashFireBoost; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; entityData_1 = entityData; SetMessageArgument(gAvailablePokemonNames,target,0); flashFireBoost = UpdateFlashFireBoost_sub(entityData); @@ -208,16 +208,16 @@ void UpdateFlashFireBoost(struct DungeonEntity * pokemon, struct DungeonEntity * } } -void ChangeAttackMultiplierTarget(struct DungeonEntity *pokemon, struct DungeonEntity *target, u32 statStage, s32 param_4, bool8 displayMessage) +void ChangeAttackMultiplierTarget(struct Entity *pokemon, struct Entity *target, u32 statStage, s32 param_4, bool8 displayMessage) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; s32 oldMulti; if (!EntityExists(target)) { return; } - if (statStage != STAT_STAGE_ATTACK) { + if (statStage != STAT_STAGE_ATK) { strcpy(gUnknown_202DE58,*gUnknown_80FC0C8); } else { @@ -227,13 +227,13 @@ void ChangeAttackMultiplierTarget(struct DungeonEntity *pokemon, struct DungeonE return; } - if ((HasItem(target,ITEM_ID_TWIST_BAND)) && (param_4 < 0x100)) { + if ((HasHeldItem(target,ITEM_TWIST_BAND)) && (param_4 < 0x100)) { SetMessageArgument(gAvailablePokemonNames,target,0); sub_80522F4(pokemon,target,*gUnknown_80FD550); return; } - if (HasAbility(target, ABILITY_HYPER_CUTTER) && (statStage == STAT_STAGE_ATTACK) && (param_4 < 0x100)) { + if (HasAbility(target, ABILITY_HYPER_CUTTER) && (statStage == STAT_STAGE_ATK) && (param_4 < 0x100)) { if (displayMessage) { SetMessageArgument(gAvailablePokemonNames,target,0); sub_80522F4(pokemon,target,*gUnknown_80FCA60); @@ -241,9 +241,9 @@ void ChangeAttackMultiplierTarget(struct DungeonEntity *pokemon, struct DungeonE return; } - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - oldMulti = entityData->attackMultipliers[statStage]; + oldMulti = entityData->offensiveMultipliers[statStage]; if (param_4 < 0x100) { sub_8041FD8(target,statStage); @@ -252,18 +252,18 @@ void ChangeAttackMultiplierTarget(struct DungeonEntity *pokemon, struct DungeonE sub_8041FB4(target,statStage); } - entityData->attackMultipliers[statStage] = sub_8009DA4(entityData->attackMultipliers[statStage],param_4); + entityData->offensiveMultipliers[statStage] = sub_8009DA4(entityData->offensiveMultipliers[statStage],param_4); - if (entityData->attackMultipliers[statStage] < 2) { - entityData->attackMultipliers[statStage] = 2; + if (entityData->offensiveMultipliers[statStage] < 2) { + entityData->offensiveMultipliers[statStage] = 2; } - if (0x63fd < entityData->attackMultipliers[statStage]) { - entityData->attackMultipliers[statStage] = 0x63fd; // 25597 + if (0x63fd < entityData->offensiveMultipliers[statStage]) { + entityData->offensiveMultipliers[statStage] = 0x63fd; // 25597 } - if (oldMulti > entityData->attackMultipliers[statStage]) { + if (oldMulti > entityData->offensiveMultipliers[statStage]) { sub_80522F4(pokemon,target,*gUnknown_80FC11C); } - else if (oldMulti < entityData->attackMultipliers[statStage]) { + else if (oldMulti < entityData->offensiveMultipliers[statStage]) { sub_80522F4(pokemon,target,*gUnknown_80FC118); } else @@ -273,16 +273,16 @@ void ChangeAttackMultiplierTarget(struct DungeonEntity *pokemon, struct DungeonE DungeonEntityUpdateStatusSprites(target); } -void ChangeDefenseMultiplierTarget(struct DungeonEntity *pokemon, struct DungeonEntity *target, u32 statStage, s32 param_4, bool8 displayMessage) +void ChangeDefenseMultiplierTarget(struct Entity *pokemon, struct Entity *target, u32 statStage, s32 param_4, bool8 displayMessage) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; s32 oldMulti; if (!EntityExists(target)) { return; } - if (statStage != STAT_STAGE_DEFENSE) { + if (statStage != STAT_STAGE_DEF) { strcpy(gUnknown_202DE58,*gUnknown_80FC0AC); } else { @@ -292,9 +292,9 @@ void ChangeDefenseMultiplierTarget(struct DungeonEntity *pokemon, struct Dungeon return; } - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - oldMulti = entityData->defenseMultipliers[statStage]; + oldMulti = entityData->defensiveMultipliers[statStage]; if (param_4 < 0x100) { sub_804201C(target,statStage); @@ -303,18 +303,18 @@ void ChangeDefenseMultiplierTarget(struct DungeonEntity *pokemon, struct Dungeon sub_8041FFC(target,statStage); } - entityData->defenseMultipliers[statStage] = sub_8009DA4(entityData->defenseMultipliers[statStage],param_4); + entityData->defensiveMultipliers[statStage] = sub_8009DA4(entityData->defensiveMultipliers[statStage],param_4); - if (entityData->defenseMultipliers[statStage] < 2) { - entityData->defenseMultipliers[statStage] = 2; + if (entityData->defensiveMultipliers[statStage] < 2) { + entityData->defensiveMultipliers[statStage] = 2; } - if (0x63fd < entityData->defenseMultipliers[statStage]) { - entityData->defenseMultipliers[statStage] = 0x63fd; // 25597 + if (0x63fd < entityData->defensiveMultipliers[statStage]) { + entityData->defensiveMultipliers[statStage] = 0x63fd; // 25597 } - if (oldMulti > entityData->defenseMultipliers[statStage]) { + if (oldMulti > entityData->defensiveMultipliers[statStage]) { sub_80522F4(pokemon,target,*gUnknown_80FC114); } - else if (oldMulti < entityData->defenseMultipliers[statStage]) { + else if (oldMulti < entityData->defensiveMultipliers[statStage]) { sub_80522F4(pokemon,target,*gUnknown_80FC0FC); } else @@ -324,12 +324,12 @@ void ChangeDefenseMultiplierTarget(struct DungeonEntity *pokemon, struct Dungeon DungeonEntityUpdateStatusSprites(target); } -void RaiseAccuracyStageTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 statStage) +void RaiseAccuracyStageTarget(struct Entity * pokemon, struct Entity * target, s32 statStage) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); sub_8042040(target,statStage); if (statStage != STAT_STAGE_ACCURACY) { @@ -338,8 +338,8 @@ void RaiseAccuracyStageTarget(struct DungeonEntity * pokemon, struct DungeonEnti else { strcpy(gUnknown_202DE58,*gUnknown_80FC084); } - if (entityData->accuracyStages[statStage] < MAX_STAT_STAGE) { - entityData->accuracyStages[statStage]++; + if (entityData->hitChancesStages[statStage] < MAX_STAT_STAGE) { + entityData->hitChancesStages[statStage]++; sub_80522F4(pokemon,target,*gUnknown_80FC1C4); } else { @@ -349,9 +349,9 @@ void RaiseAccuracyStageTarget(struct DungeonEntity * pokemon, struct DungeonEnti } } -void LowerAccuracyStageTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 statStage, bool8 displayMessage) +void LowerAccuracyStageTarget(struct Entity * pokemon, struct Entity * target, s32 statStage, bool8 displayMessage) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { if (statStage != STAT_STAGE_ACCURACY) { @@ -369,11 +369,11 @@ void LowerAccuracyStageTarget(struct DungeonEntity * pokemon, struct DungeonEnti } } else { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); sub_8042060(target,statStage); - if (entityData->accuracyStages[statStage] != 0) { - entityData->accuracyStages[statStage]--; + if (entityData->hitChancesStages[statStage] != 0) { + entityData->hitChancesStages[statStage]--; sub_80522F4(pokemon,target,*gUnknown_80FC1A4); } else { @@ -385,9 +385,9 @@ void LowerAccuracyStageTarget(struct DungeonEntity * pokemon, struct DungeonEnti } } -void CringeStatusTarget(struct DungeonEntity * pokemon,struct DungeonEntity * target, bool8 displayMessage) +void CringeStatusTarget(struct Entity * pokemon,struct Entity * target, bool8 displayMessage) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { if (!HasSafeguardStatus(pokemon, target, displayMessage)) { @@ -397,12 +397,12 @@ void CringeStatusTarget(struct DungeonEntity * pokemon,struct DungeonEntity * ta sub_80522F4(pokemon,target,*gUnknown_80FCC18); } else { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if(entityData->volatileStatus != VOLATILE_STATUS_CRINGING) + if(entityData->volatileStatus != STATUS_CRINGE) { - entityData->volatileStatus = VOLATILE_STATUS_CRINGING; - entityData->volatileStatusTurnsLeft = CalculateStatusTurns(target, gUnknown_80F4E3C, TRUE) + 1; + entityData->volatileStatus = STATUS_CRINGE; + entityData->volatileStatusTurns = CalculateStatusTurns(target, gUnknown_80F4E3C, TRUE) + 1; sub_80420A0(target); sub_80522F4(pokemon,target,*gUnknown_80FB2E0); } @@ -416,11 +416,11 @@ void CringeStatusTarget(struct DungeonEntity * pokemon,struct DungeonEntity * ta } } -void ParalyzeStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 displayMessage) +void ParalyzeStatusTarget(struct Entity * pokemon, struct Entity * target, bool8 displayMessage) { - struct MapTile *mapTile; - register struct DungeonEntityData *entityData; - struct DungeonEntity *mapPokemonEntity; + struct Tile *mapTile; + register struct EntityInfo *entityData; + struct Entity *mapPokemonEntity; int index; bool8 bVar6; bool8 bVar7; @@ -435,17 +435,17 @@ void ParalyzeStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * else { bVar6 = TRUE; - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->nonVolatileStatus != NON_VOLATILE_STATUS_PARALYZED) { - entityData->nonVolatileStatus = NON_VOLATILE_STATUS_PARALYZED; - entityData->nonVolatileStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4E50,TRUE) + 1; - entityData->nonVolatileStatusDamageTimer = 0; + if (entityData->nonVolatileStatus != STATUS_PARALYSIS) { + entityData->nonVolatileStatus = STATUS_PARALYSIS; + entityData->nonVolatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4E50,TRUE) + 1; + entityData->nonVolatileStatusDamageCountdown = 0; entityData->fillAF = 0; bVar6 = FALSE; sub_80522F4(pokemon,target,*gUnknown_80FB2AC); sub_8041C1C(target); - GetMovementSpeed(target); + GetSpeedStatus(target); } else { sub_80522F4(pokemon,target,*gUnknown_80FB2CC); @@ -455,9 +455,9 @@ void ParalyzeStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * for(index = 0; index < NUM_DIRECTIONS; index++) { - mapTile = GetMapTile_1(target->posWorld.x + gAdjacentTileOffsets[index].x,target->posWorld.y + gAdjacentTileOffsets[index].y); - mapPokemonEntity = mapTile->pokemon; - if ((EntityExists(mapPokemonEntity)) && (GetEntityType(mapPokemonEntity) == ENTITY_POKEMON)) { + mapTile = GetTile(target->pos.x + gAdjacentTileOffsets[index].x,target->pos.y + gAdjacentTileOffsets[index].y); + mapPokemonEntity = mapTile->monster; + if ((EntityExists(mapPokemonEntity)) && (GetEntityType(mapPokemonEntity) == ENTITY_MONSTER)) { if (!bVar7) { bVar7 = TRUE; SetMessageArgument_2(gAvailablePokemonNames,entityData,0); @@ -474,12 +474,12 @@ void ParalyzeStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * } } -void RaiseMovementSpeedTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 turns, bool8 displayMessage) +void RaiseMovementSpeedTarget(struct Entity * pokemon, struct Entity * target, s32 turns, bool8 displayMessage) { s32 movSpeed; s32 index; s32 movSpeed_1; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (!EntityExists(target)) { return; @@ -487,23 +487,23 @@ void RaiseMovementSpeedTarget(struct DungeonEntity * pokemon, struct DungeonEnti if (turns == 0) { turns = CalculateStatusTurns(target,gUnknown_80F4E40,FALSE) + 1; } - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - movSpeed = GetMovementSpeed(target); - if (movSpeed == MAX_MOVEMENT_SPEED) { + movSpeed = GetSpeedStatus(target); + if (movSpeed == MAX_SPEED_STAGE) { if (displayMessage) sub_80522F4(pokemon,target,*gUnknown_80FC2B8); } else { for(index = 0; index < NUM_SPEED_TURN_COUNTERS; index++) { - if(entityData->speedUpTurnsLeft[index] == 0) + if(entityData->speedUpCounters[index] == 0) { - entityData->speedUpTurnsLeft[index] = turns; + entityData->speedUpCounters[index] = turns; break; } } - movSpeed_1 = GetMovementSpeed(target); + movSpeed_1 = GetSpeedStatus(target); if (movSpeed == movSpeed_1) { sub_80522F4(pokemon,target,*gUnknown_80FC298); } @@ -511,20 +511,20 @@ void RaiseMovementSpeedTarget(struct DungeonEntity * pokemon, struct DungeonEnti { sub_8041CB8(target); sub_80522F4(pokemon,target,gUnknown_80FA124[movSpeed_1]); - entityData->movementSpeedChanged = TRUE; + entityData->speedStageChanged = TRUE; entityData->attacking = FALSE; } } DungeonEntityUpdateStatusSprites(target); } -void LowerMovementSpeedTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 levels, bool8 displayMessage) +void LowerMovementSpeedTarget(struct Entity * pokemon, struct Entity * target, s32 levels, bool8 displayMessage) { s32 movSpeed; s32 counter; s32 index; s32 movSpeed_1; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (!EntityExists(target)) { return; @@ -532,9 +532,9 @@ void LowerMovementSpeedTarget(struct DungeonEntity * pokemon, struct DungeonEnti if (HasSafeguardStatus(pokemon,target,displayMessage)) { return; } - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - movSpeed = GetMovementSpeed(target); + movSpeed = GetSpeedStatus(target); if (movSpeed == 0) { if (displayMessage) sub_80522F4(pokemon,target,*gUnknown_80FC2D8); @@ -544,13 +544,13 @@ void LowerMovementSpeedTarget(struct DungeonEntity * pokemon, struct DungeonEnti { for(index = 0; index < NUM_SPEED_TURN_COUNTERS; index++) { - if (entityData->slowTurnsLeft[index]== 0) { - entityData->slowTurnsLeft[index] = CalculateStatusTurns(target,gUnknown_80F4E48,TRUE) + 1; + if (entityData->speedDownCounters[index]== 0) { + entityData->speedDownCounters[index] = CalculateStatusTurns(target,gUnknown_80F4E48,TRUE) + 1; break; } } } - movSpeed_1 = GetMovementSpeed(target); + movSpeed_1 = GetSpeedStatus(target); if (movSpeed == movSpeed_1) { if (displayMessage) sub_80522F4(pokemon,target,*gUnknown_80FC298); @@ -564,9 +564,9 @@ void LowerMovementSpeedTarget(struct DungeonEntity * pokemon, struct DungeonEnti DungeonEntityUpdateStatusSprites(target); } -void ConfuseStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 displayMessage) +void ConfuseStatusTarget(struct Entity * pokemon, struct Entity * target, bool8 displayMessage) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (!EntityExists(target)) { return; @@ -577,7 +577,7 @@ void ConfuseStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * } SetMessageArgument(gAvailablePokemonNames,target,0); - if (HasItem(target,ITEM_ID_PERSIM_BAND)) { + if (HasHeldItem(target,ITEM_PERSIM_BAND)) { if (displayMessage) sub_80522F4(pokemon,target,*gUnknown_80FD500); } @@ -590,10 +590,10 @@ void ConfuseStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * else { sub_8041BE8(target); - entityData = target->entityData; - if (entityData->volatileStatus != VOLATILE_STATUS_CONFUSED) { - entityData->volatileStatus = VOLATILE_STATUS_CONFUSED; - entityData->volatileStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4E4C,TRUE) + 1; + entityData = target->info; + if (entityData->volatileStatus != STATUS_CONFUSED) { + entityData->volatileStatus = STATUS_CONFUSED; + entityData->volatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4E4C,TRUE) + 1; sub_80522F4(pokemon,target,*gUnknown_80FB25C); } else { @@ -604,16 +604,16 @@ void ConfuseStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * } } -void CowerStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 displayMessage) +void CowerStatusTarget(struct Entity * pokemon, struct Entity * target, bool8 displayMessage) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if ((EntityExists(target)) && (!HasSafeguardStatus(pokemon,target,displayMessage))) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->volatileStatus != VOLATILE_STATUS_COWERING) { - entityData->volatileStatus = VOLATILE_STATUS_COWERING; - entityData->volatileStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4ECC,TRUE) + 1; + if (entityData->volatileStatus != STATUS_COWERING) { + entityData->volatileStatus = STATUS_COWERING; + entityData->volatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4ECC,TRUE) + 1; sub_8041BF8(target); sub_80522F4(pokemon,target,*gUnknown_80FB940); } @@ -624,11 +624,11 @@ void CowerStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * ta } } -void HealTargetHP(struct DungeonEntity *pokemon, struct DungeonEntity *target, s32 param_3, s32 param_4, bool32 displayMessage) +void HealTargetHP(struct Entity *pokemon, struct Entity *target, s32 param_3, s32 param_4, bool32 displayMessage) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; s32 HP; - s32 maxHP; + s32 maxHPStat; s32 r8; u8 displayMessage_u8; @@ -638,37 +638,37 @@ void HealTargetHP(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return; } - entityData = target->entityData; - maxHP = entityData->maxHP; + entityData = target->info; + maxHPStat = entityData->maxHPStat; HP = entityData->HP; - if (((entityData->HP == entityData->maxHP) && (0 < param_4)) || (param_3 == 0)) { - entityData->maxHP += param_4; + if (((entityData->HP == entityData->maxHPStat) && (0 < param_4)) || (param_3 == 0)) { + entityData->maxHPStat += param_4; entityData->HP += param_4; - if (entityData->maxHP > 999) { - entityData->maxHP = 999; + if (entityData->maxHPStat > 999) { + entityData->maxHPStat = 999; } - if (entityData->HP > entityData->maxHP) { - entityData->HP = entityData->maxHP; + if (entityData->HP > entityData->maxHPStat) { + entityData->HP = entityData->maxHPStat; } - if (entityData->HP == entityData->maxHP) { + if (entityData->HP == entityData->maxHPStat) { HP = entityData->HP; } sub_8041C94(target); } else { entityData->HP += param_3; - if (entityData->HP > entityData->maxHP) { - entityData->HP = entityData->maxHP; + if (entityData->HP > entityData->maxHPStat) { + entityData->HP = entityData->maxHPStat; } sub_8041CA8(target); } - maxHP = entityData->maxHP - maxHP; + maxHPStat = entityData->maxHPStat - maxHPStat; HP = entityData->HP - HP; DungeonEntityUpdateStatusSprites(target); gUnknown_202DE30[0] = HP; - gUnknown_202DE30[1] = maxHP; + gUnknown_202DE30[1] = maxHPStat; SetMessageArgument(gAvailablePokemonNames,target,0); - if ((HP == 0) && (maxHP == 0)) { + if ((HP == 0) && (maxHPStat == 0)) { if (displayMessage_u8) sub_80522F4(pokemon,target,*gUnknown_80FB204); // $m0's HP remained unchanged } @@ -680,9 +680,9 @@ void HealTargetHP(struct DungeonEntity *pokemon, struct DungeonEntity *target, s else { r8 = 0; - if (maxHP != 0) { + if (maxHPStat != 0) { if (sub_8045888(target) != 0) { - r8 = maxHP; + r8 = maxHPStat; } sub_80522F4(pokemon,target,*gUnknown_80FB240); // m0$'s max HP rose by $d1 } @@ -691,7 +691,7 @@ void HealTargetHP(struct DungeonEntity *pokemon, struct DungeonEntity *target, s r8 = HP; } if (param_3 != 0) { - if (entityData->maxHP == entityData->HP) { + if (entityData->maxHPStat == entityData->HP) { sub_80522F4(pokemon,target,*gUnknown_80FB1E0); // $m0 was fully healed } else { @@ -704,15 +704,15 @@ void HealTargetHP(struct DungeonEntity *pokemon, struct DungeonEntity *target, s } } -void HandleScannerOrb(struct DungeonEntity* pokemon, struct DungeonEntity* target) +void HandleScannerOrb(struct Entity* pokemon, struct Entity* target) { if (EntityExists(target)) { - if (target->entityData->scanningStatus) { + if (target->info->scanning) { sub_80522F4(pokemon,target,*gUnknown_80FAEF0); // Item locations are already known } else { - target->entityData->scanningStatus = TRUE; + target->info->scanning = TRUE; nullsub_75(target); SetMessageArgument(gAvailablePokemonNames, target, 0); sub_80522F4(pokemon,target,*gUnknown_80FAEA0); // Item locations became evident @@ -723,7 +723,7 @@ void HandleScannerOrb(struct DungeonEntity* pokemon, struct DungeonEntity* targe } } -void HandleStairsOrb(struct DungeonEntity* pokemon, struct DungeonEntity* target) +void HandleStairsOrb(struct Entity* pokemon, struct Entity* target) { if (EntityExists(target)) { if(sub_8043D10()) @@ -732,12 +732,12 @@ void HandleStairsOrb(struct DungeonEntity* pokemon, struct DungeonEntity* target } else { - if (target->entityData->stairSpotterStatus) { + if (target->info->stairSpotter) { sub_80522F4(pokemon,target,*gUnknown_80FAF1C); } else { - target->entityData->stairSpotterStatus = TRUE; + target->info->stairSpotter = TRUE; nullsub_76(target); SetMessageArgument(gAvailablePokemonNames,target,0); sub_80522F4(pokemon,target,*gUnknown_80FAEC8); @@ -749,15 +749,15 @@ void HandleStairsOrb(struct DungeonEntity* pokemon, struct DungeonEntity* target } } -void HandleRadarOrb(struct DungeonEntity* pokemon, struct DungeonEntity* target) +void HandleRadarOrb(struct Entity* pokemon, struct Entity* target) { if (EntityExists(target)) { - if (target->entityData->radarStatus != 0) { + if (target->info->powerEars != 0) { sub_80522F4(pokemon,target,*gUnknown_80FAFD0); } else { - target->entityData->radarStatus = TRUE; + target->info->powerEars = TRUE; nullsub_77(target); SetMessageArgument(gAvailablePokemonNames,target,0); sub_80522F4(pokemon,target,*gUnknown_80FAFAC); @@ -768,14 +768,14 @@ void HandleRadarOrb(struct DungeonEntity* pokemon, struct DungeonEntity* target) } } -void HandleLeechSeed(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 displayMessage) +void HandleLeechSeed(struct Entity * pokemon, struct Entity * target, bool8 displayMessage) { - struct DungeonEntityData *entityData; - struct DungeonEntityData *entityData2; + struct EntityInfo *entityData; + struct EntityInfo *entityData2; s32 index; - if ((EntityExists(target)) && (GetEntityType(pokemon) == ENTITY_POKEMON)) { - entityData = target->entityData; + if ((EntityExists(target)) && (GetEntityType(pokemon) == ENTITY_MONSTER)) { + entityData = target->info; if (pokemon == target) { pokemon = target; if (displayMessage) @@ -786,7 +786,7 @@ void HandleLeechSeed(struct DungeonEntity * pokemon, struct DungeonEntity * targ return; } SetMessageArgument(gAvailablePokemonNames,target,0); - if (HasType(target, TYPE_GRASS)) { + if (MonsterIsType(target, TYPE_GRASS)) { if (displayMessage) sub_80522F4(pokemon,target,*gPtrCantLeechSeedMonMessage); } @@ -794,24 +794,24 @@ void HandleLeechSeed(struct DungeonEntity * pokemon, struct DungeonEntity * targ { switch(entityData->linkedStatus) { - case LINKED_STATUS_DESTINY_BOND: + case STATUS_DESTINY_BOND: sub_80522F4(pokemon,target,*gUnknown_80FAA8C); default: - entityData->linkedStatus = LINKED_STATUS_LEECH_SEED; - entityData->linkedStatusTurnsLeft = CalculateStatusTurns(target, gUnknown_80F4EB0, TRUE) + 1; - entityData->linkedStatusDamageTimer = 0; + entityData->linkedStatus = STATUS_LEECH_SEED; + entityData->linkedStatusTurns = CalculateStatusTurns(target, gUnknown_80F4EB0, TRUE) + 1; + entityData->linkedStatusDamageCountdown = 0; nullsub_78(target); entityData->unkD8 = 0xff; break; - case LINKED_STATUS_LEECH_SEED: + case STATUS_LEECH_SEED: sub_80522F4(pokemon,target,*gUnknown_80FAE7C); return; } for(index = 0; index < DUNGEON_MAX_POKEMON; index++) { - if (pokemon == gDungeonGlobalData->allPokemon[index]) { + if (pokemon == gDungeon->allPokemon[index]) { entityData->unkD8 = index; - entityData2 = pokemon->entityData; + entityData2 = pokemon->info; entityData->unkD4 = entityData2->unk98; } } @@ -822,24 +822,24 @@ void HandleLeechSeed(struct DungeonEntity * pokemon, struct DungeonEntity * targ } } -void sub_8078084(struct DungeonEntity * pokemon) +void sub_8078084(struct Entity * pokemon) { - struct DungeonEntityData *entityData; - struct DungeonEntityData *entityData2; - struct DungeonEntity *target; + struct EntityInfo *entityData; + struct EntityInfo *entityData2; + struct Entity *target; s32 index; - entityData = pokemon->entityData; + entityData = pokemon->info; for(index = 0; index < DUNGEON_MAX_POKEMON; index++) { - target = gDungeonGlobalData->allPokemon[index]; + target = gDungeon->allPokemon[index]; if (EntityExists(target)) { - entityData2 = target->entityData; + entityData2 = target->info; if((u8)(entityData2->linkedStatus - 1) <= 1) { if(entityData2->unkD4 == entityData->unk98) { - entityData2->linkedStatus = LINKED_STATUS_NONE; + entityData2->linkedStatus = STATUS_NONE; DungeonEntityUpdateStatusSprites(target); } } @@ -847,27 +847,27 @@ void sub_8078084(struct DungeonEntity * pokemon) } } -void DestinyBondStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void DestinyBondStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; - struct DungeonEntityData *entityData2; + struct EntityInfo *entityData; + struct EntityInfo *entityData2; s32 index; u8 *linkedStatus; s32 zero; - if (((EntityExists(target)) && (GetEntityType(pokemon) == ENTITY_POKEMON)) && - (GetEntityType(target) == ENTITY_POKEMON)) { - entityData = pokemon->entityData; + if (((EntityExists(target)) && (GetEntityType(pokemon) == ENTITY_MONSTER)) && + (GetEntityType(target) == ENTITY_MONSTER)) { + entityData = pokemon->info; SetMessageArgument(gAvailablePokemonNames,pokemon,0); linkedStatus = &entityData->linkedStatus; - if (entityData->linkedStatus != LINKED_STATUS_DESTINY_BOND) + if (entityData->linkedStatus != STATUS_DESTINY_BOND) { - if (entityData->linkedStatus == LINKED_STATUS_LEECH_SEED) + if (entityData->linkedStatus == STATUS_LEECH_SEED) sub_80522F4(pokemon,target,*gUnknown_80FA79C); zero = 0; - *linkedStatus = LINKED_STATUS_DESTINY_BOND; - entityData->linkedStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4EF0,TRUE) + 1; - entityData->linkedStatusDamageTimer = zero; + *linkedStatus = STATUS_DESTINY_BOND; + entityData->linkedStatusTurns = CalculateStatusTurns(target,gUnknown_80F4EF0,TRUE) + 1; + entityData->linkedStatusDamageCountdown = zero; nullsub_74(target); entityData->unkD8 = 0xff; } @@ -878,9 +878,9 @@ void DestinyBondStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntit } for(index = 0; index < DUNGEON_MAX_POKEMON; index++) { - if (target == gDungeonGlobalData->allPokemon[index]) { + if (target == gDungeon->allPokemon[index]) { entityData->unkD8 = index; - entityData2 = target->entityData; + entityData2 = target->info; entityData->unkD4 = entityData2->unk98; } } @@ -889,16 +889,16 @@ void DestinyBondStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntit } } -void SureShotStatusTarget(struct DungeonEntity *pokemon, struct DungeonEntity * target, s32 turns) +void SureShotStatusTarget(struct Entity *pokemon, struct Entity * target, s32 turns) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->moveStatus != MOVE_STATUS_SURE_SHOT) { - entityData->moveStatus = MOVE_STATUS_SURE_SHOT; - entityData->moveStatusTurnsLeft = turns + 1; + if (entityData->moveStatus != STATUS_SURE_SHOT) { + entityData->moveStatus = STATUS_SURE_SHOT; + entityData->moveStatusTurns = turns + 1; sub_8041CDC(target); sub_80522F4(pokemon,target,*gUnknown_80FB73C); } @@ -909,16 +909,16 @@ void SureShotStatusTarget(struct DungeonEntity *pokemon, struct DungeonEntity * } } -void WhifferStatusTarget(struct DungeonEntity *pokemon, struct DungeonEntity * target, s32 turns) +void WhifferStatusTarget(struct Entity *pokemon, struct Entity * target, s32 turns) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target) && !HasSafeguardStatus(pokemon, target, TRUE)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->moveStatus != MOVE_STATUS_WHIFFER) { - entityData->moveStatus = MOVE_STATUS_WHIFFER; - entityData->moveStatusTurnsLeft = turns + 1; + if (entityData->moveStatus != STATUS_WHIFFER) { + entityData->moveStatus = STATUS_WHIFFER; + entityData->moveStatusTurns = turns + 1; sub_8041CEC(target); sub_80522F4(pokemon,target,*gUnknown_80FB780); } @@ -929,16 +929,16 @@ void WhifferStatusTarget(struct DungeonEntity *pokemon, struct DungeonEntity * t } } -void FixedDamageStatusTarget(struct DungeonEntity *pokemon, struct DungeonEntity * target) +void FixedDamageStatusTarget(struct Entity *pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->moveStatus != MOVE_STATUS_SET_DAMAGE) { - entityData->moveStatus = MOVE_STATUS_SET_DAMAGE; - entityData->moveStatusTurnsLeft = CalculateStatusTurns(target, gUnknown_80F4EC4, FALSE) + 1; + if (entityData->moveStatus != STATUS_SET_DAMAGE) { + entityData->moveStatus = STATUS_SET_DAMAGE; + entityData->moveStatusTurns = CalculateStatusTurns(target, gUnknown_80F4EC4, FALSE) + 1; nullsub_79(target); sub_80522F4(pokemon,target,*gUnknown_80FB8BC); } @@ -949,16 +949,16 @@ void FixedDamageStatusTarget(struct DungeonEntity *pokemon, struct DungeonEntity } } -void FocusEnergyStatusTarget(struct DungeonEntity *pokemon, struct DungeonEntity * target) +void FocusEnergyStatusTarget(struct Entity *pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if (EntityExists(target)) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->moveStatus != MOVE_STATUS_FOCUS_ENERGY) { - entityData->moveStatus = MOVE_STATUS_FOCUS_ENERGY; - entityData->moveStatusTurnsLeft = CalculateStatusTurns(target, gUnknown_80F4EC8, FALSE) + 1; + if (entityData->moveStatus != STATUS_FOCUS_ENERGY) { + entityData->moveStatus = STATUS_FOCUS_ENERGY; + entityData->moveStatusTurns = CalculateStatusTurns(target, gUnknown_80F4EC8, FALSE) + 1; nullsub_80(target); sub_80522F4(pokemon,target,*gUnknown_80FB900); } @@ -969,54 +969,54 @@ void FocusEnergyStatusTarget(struct DungeonEntity *pokemon, struct DungeonEntity } } -void sub_80783C4(struct DungeonEntity * pokemon, struct DungeonEntity * target, u8 param_3) +void sub_80783C4(struct Entity * pokemon, struct Entity * target, u8 param_3) { - struct DungeonEntityData *targetEntityData; - struct DungeonEntityData *entityData; - struct DungeonEntity * entity; - struct DungeonEntity * entity2; + struct EntityInfo *targetEntityData; + struct EntityInfo *entityData; + struct Entity * entity; + struct Entity * entity2; struct DungeonActionContainer action; s32 index; if ((EntityExists(target)) && (!HasSafeguardStatus(pokemon, target, TRUE))) { - targetEntityData = target->entityData; + targetEntityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (targetEntityData->waitingStatus == WAITING_STATUS_DECOY) { + if (targetEntityData->waitingStatus == STATUS_DECOY) { sub_80522F4(pokemon,target,*gUnknown_80FB994); } else { for(index = 0; index < DUNGEON_MAX_POKEMON; index++) { - entity = gDungeonGlobalData->allPokemon[index]; + entity = gDungeon->allPokemon[index]; if ((((EntityExists(entity)) && (target != entity)) && - (u8)(entity->entityData->waitingStatus - 2U) < 2)) { - SendWaitingEndMessage(pokemon,entity,WAITING_STATUS_NONE); + (u8)(entity->info->waitingStatus - 2U) < 2)) { + SendWaitingEndMessage(pokemon,entity,STATUS_NONE); sub_803E46C(0x2a); } } sub_8041D38(target); SetMessageArgument(gAvailablePokemonNames,target,0); - if (targetEntityData->waitingStatus != WAITING_STATUS_NONE) { - SendWaitingEndMessage(pokemon,target, WAITING_STATUS_DECOY); + if (targetEntityData->waitingStatus != STATUS_NONE) { + SendWaitingEndMessage(pokemon,target, STATUS_DECOY); } - targetEntityData->waitingStatus = WAITING_STATUS_DECOY; - targetEntityData->enemyDecoy = pokemon->entityData->isEnemy; + targetEntityData->waitingStatus = STATUS_DECOY; + targetEntityData->enemyDecoy = pokemon->info->isNotTeamMember; targetEntityData->fillCA = param_3; - targetEntityData->waitingStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4ED0,TRUE) + 1; - targetEntityData->cursedDamageTimer = 0; + targetEntityData->waitingStatusTurns = CalculateStatusTurns(target,gUnknown_80F4ED0,TRUE) + 1; + targetEntityData->curseDamageCountdown = 0; sub_806CCB4(target,sub_806CEBC(target)); - gDungeonGlobalData->decoyActive = TRUE; + gDungeon->decoyActive = TRUE; sub_80522F4(pokemon,target,*gUnknown_80FB978); for(index = 0; index < DUNGEON_MAX_POKEMON; index++) { - entity2 = gDungeonGlobalData->allPokemon[index]; + entity2 = gDungeon->allPokemon[index]; if (EntityExists(entity2)) { - entityData = entity2->entityData; - entityData->movementAction = MOVEMENT_ACTION_FACE_RANDOM_DIRECTION; - entityData->targetPokemon = NULL; - entityData->targetPokemonSpawnIndex = 0; - if (!entityData->isLeader) { + entityData = entity2->info; + entityData->aiObjective = AI_STAND_STILL; + entityData->aiTarget = NULL; + entityData->aiTargetSpawnGenID = 0; + if (!entityData->isTeamLeader) { action = entityData->action; MoveIfPossible(entity2, TRUE); entityData->action = action; @@ -1028,32 +1028,32 @@ void sub_80783C4(struct DungeonEntity * pokemon, struct DungeonEntity * target, } } -void CurseStatusTarget(struct DungeonEntity *pokemon, struct DungeonEntity * target) +void CurseStatusTarget(struct Entity *pokemon, struct Entity * target) { u32 statStage; s32 HP; - struct DungeonEntityData * pokemonEntityData; - struct DungeonEntityData * targetEntityData; + struct EntityInfo * pokemonEntityData; + struct EntityInfo * targetEntityData; if ((EntityExists(pokemon) ) && (EntityExists(target))) { - pokemonEntityData = pokemon->entityData; - targetEntityData = target->entityData; - if (HasType(pokemon, TYPE_GHOST)) { + pokemonEntityData = pokemon->info; + targetEntityData = target->info; + if (MonsterIsType(pokemon, TYPE_GHOST)) { if (HasSafeguardStatus(pokemon,target, TRUE)) { return; } - SendWaitingEndMessage(pokemon,target,WAITING_STATUS_CURSED); + SendWaitingEndMessage(pokemon,target,STATUS_CURSED); sub_8041D48(target); HP = pokemonEntityData->HP / 2; pokemonEntityData->HP = HP; if (HP == 0) { pokemonEntityData->HP = 1; } - if (targetEntityData->waitingStatus != WAITING_STATUS_CURSED) { - targetEntityData->waitingStatus = WAITING_STATUS_CURSED; - targetEntityData->waitingStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4EA4,TRUE) + 1; - targetEntityData->cursedDamageTimer = 0; + if (targetEntityData->waitingStatus != STATUS_CURSED) { + targetEntityData->waitingStatus = STATUS_CURSED; + targetEntityData->waitingStatusTurns = CalculateStatusTurns(target,gUnknown_80F4EA4,TRUE) + 1; + targetEntityData->curseDamageCountdown = 0; } SetMessageArgument(gAvailablePokemonNames,target,0); sub_80522F4(pokemon,target,*gUnknown_80FB004); @@ -1068,51 +1068,51 @@ void CurseStatusTarget(struct DungeonEntity *pokemon, struct DungeonEntity * tar } } -void SnatchStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void SnatchStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntity * entity; + struct Entity * entity; s32 index; - struct DungeonEntityData * targetEntityData; - struct DungeonEntityData * targetEntityData2; + struct EntityInfo * targetEntityData; + struct EntityInfo * targetEntityData2; if (EntityExists(target)) { - SendWaitingEndMessage(pokemon,target,WAITING_STATUS_SNATCH); + SendWaitingEndMessage(pokemon,target,STATUS_SNATCH); for(index = 0; index < DUNGEON_MAX_POKEMON; index++) { - entity = gDungeonGlobalData->allPokemon[index]; - if ((EntityExists(entity)) && (entity->entityData->waitingStatus == WAITING_STATUS_SNATCH)) { - SendWaitingEndMessage(pokemon, entity, WAITING_STATUS_NONE); + entity = gDungeon->allPokemon[index]; + if ((EntityExists(entity)) && (entity->info->waitingStatus == STATUS_SNATCH)) { + SendWaitingEndMessage(pokemon, entity, STATUS_NONE); } } nullsub_81(target); - targetEntityData = target->entityData; + targetEntityData = target->info; targetEntityData2 = targetEntityData; - if (targetEntityData->waitingStatus != WAITING_STATUS_SNATCH) { - targetEntityData->waitingStatus = WAITING_STATUS_SNATCH; - targetEntityData->waitingStatusTurnsLeft= CalculateStatusTurns(target,gUnknown_80F4EA8,FALSE) + 1; - targetEntityData->cursedDamageTimer = 0; + if (targetEntityData->waitingStatus != STATUS_SNATCH) { + targetEntityData->waitingStatus = STATUS_SNATCH; + targetEntityData->waitingStatusTurns= CalculateStatusTurns(target,gUnknown_80F4EA8,FALSE) + 1; + targetEntityData->curseDamageCountdown = 0; } - gDungeonGlobalData->snatchPokemon = target; - gDungeonGlobalData->unk17B3C = targetEntityData2->unk98; + gDungeon->snatchPokemon = target; + gDungeon->unk17B3C = targetEntityData2->unk98; SetMessageArgument(gAvailablePokemonNames,target,0); sub_80522F4(pokemon,target,*gUnknown_80FB01C); DungeonEntityUpdateStatusSprites(target); } } -void TauntStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void TauntStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if ((EntityExists(target)) && (!HasSafeguardStatus(pokemon,target,TRUE))) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->volatileStatus != VOLATILE_STATUS_TAUNTED) { - entityData->volatileStatus = VOLATILE_STATUS_TAUNTED; - entityData->volatileStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4ED8,TRUE) + 1; + if (entityData->volatileStatus != STATUS_TAUNTED) { + entityData->volatileStatus = STATUS_TAUNTED; + entityData->volatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4ED8,TRUE) + 1; nullsub_73(target); sub_80522F4(pokemon,target,*gUnknown_80FB9F0); } @@ -1123,18 +1123,18 @@ void TauntStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * ta } } -void HandleStockpile(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void HandleStockpile(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; if ((EntityExists(target))) { - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->stockpileCount < MAX_STOCKPILE_COUNT) { - entityData->stockpileCount++; + if (entityData->stockpileStage < MAX_STOCKPILE_STAGE) { + entityData->stockpileStage++; sub_804178C(1); sub_8041D5C(target); - gUnknown_202DE30[0] = entityData->stockpileCount; + gUnknown_202DE30[0] = entityData->stockpileStage; sub_80522F4(pokemon,target,*gUnknown_80FBA38); } else { @@ -1144,21 +1144,21 @@ void HandleStockpile(struct DungeonEntity * pokemon, struct DungeonEntity * targ } } -void InvisibleStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void InvisibleStatusTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData * targetEntityData; - struct DungeonEntityData * targetEntityData_1; + struct EntityInfo * targetEntityData; + struct EntityInfo * targetEntityData_1; if (EntityExists(target)) { - targetEntityData = target->entityData; + targetEntityData = target->info; targetEntityData_1 = targetEntityData; - if (targetEntityData_1->transformStatus == TRANSFORM_STATUS_TRANSFORMED) { + if (targetEntityData_1->transformStatus == STATUS_TRANSFORMED) { SendTransformEndMessage(pokemon,target); } SetMessageArgument(gAvailablePokemonNames,target,0); - if (targetEntityData_1->transformStatus != TRANSFORM_STATUS_INVISIBLE) { - targetEntityData_1->transformStatus = TRANSFORM_STATUS_INVISIBLE; - targetEntityData_1->transformStatusTurnsLeft = CalculateStatusTurns(target,gUnknown_80F4EE4,FALSE) + 1; + if (targetEntityData_1->transformStatus != STATUS_INVISIBLE) { + targetEntityData_1->transformStatus = STATUS_INVISIBLE; + targetEntityData_1->transformStatusTurns = CalculateStatusTurns(target,gUnknown_80F4EE4,FALSE) + 1; sub_8041D84(target); sub_80522F4(pokemon,target,*gUnknown_80FBA80); } @@ -1169,16 +1169,16 @@ void InvisibleStatusTarget(struct DungeonEntity * pokemon, struct DungeonEntity } } -void PerishSongTarget(struct DungeonEntity * pokemon, struct DungeonEntity * target) +void PerishSongTarget(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData * entityData; + struct EntityInfo * entityData; if (EntityExists(target) && !HasSafeguardStatus(pokemon, target, TRUE)) { nullsub_82(target); - entityData = target->entityData; + entityData = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityData->perishSongTimer == 0) { - entityData->perishSongTimer = CalculateStatusTurns(target,gUnknown_80F4EEC,FALSE) + 1; + if (entityData->perishSongTurns == 0) { + entityData->perishSongTurns = CalculateStatusTurns(target,gUnknown_80F4EEC,FALSE) + 1; sub_80522F4(pokemon,target,*gUnknown_80FBB04); } else { diff --git a/src/status_actions.c b/src/status_actions.c index b537812dd..4ef8fc878 100644 --- a/src/status_actions.c +++ b/src/status_actions.c @@ -30,16 +30,16 @@ #include "trap.h" #include "weather.h" -extern void sub_807F43C(struct DungeonEntity *, struct DungeonEntity *); -extern void sub_8078F50(struct DungeonEntity *, struct DungeonEntity *); -extern void sub_807DC68(struct DungeonEntity *, struct DungeonEntity *); -extern void sub_8078A58(struct DungeonEntity *, struct DungeonEntity *, s16, u32); +extern void sub_807F43C(struct Entity *, struct Entity *); +extern void sub_8078F50(struct Entity *, struct Entity *); +extern void sub_807DC68(struct Entity *, struct Entity *); +extern void sub_8078A58(struct Entity *, struct Entity *, s16, u32); extern u32 sub_803D73C(u32); -extern void sub_8045C28(struct ItemSlot *, u8 , u8 *); -extern void sub_80464C8(struct DungeonEntity *, struct Position *, struct ItemSlot *); -extern void sub_8068FE0(struct DungeonEntity *, u32, struct DungeonEntity *r2); -extern void sub_80522F4(struct DungeonEntity *r1, struct DungeonEntity *r2, const char []); -extern void sub_806F370(struct DungeonEntity *r0, struct DungeonEntity *r1, u32, u32, u8 *, u8, s32, u32, u32, u32); +extern void sub_8045C28(struct Item *, u8 , u8 *); +extern void sub_80464C8(struct Entity *, struct Position *, struct Item *); +extern void sub_8068FE0(struct Entity *, u32, struct Entity *r2); +extern void sub_80522F4(struct Entity *r1, struct Entity *r2, const char []); +extern void sub_806F370(struct Entity *r0, struct Entity *r1, u32, u32, u8 *, u8, s32, u32, u32, u32); extern void sub_807FC3C(struct Position *, u32, u32); extern void sub_8042A64(struct Position *); extern void sub_8040A84(void); @@ -48,54 +48,54 @@ extern void sub_80498A8(s32, s32); extern void sub_806CF60(); extern void sub_8042A54(struct Position *); extern void sub_8049BB0(s32, s32); -extern s16 sub_8057600(struct PokemonMove*, u32); -extern u32 sub_8055864(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *param_3, s32 param_4, s32 param_5); -extern void sub_807D148(struct DungeonEntity *pokemon, struct DungeonEntity *r1, u32 r2, struct Position *r3); +extern s16 sub_8057600(struct Move*, u32); +extern u32 sub_8055864(struct Entity *pokemon, struct Entity *target, struct Move *param_3, s32 param_4, s32 param_5); +extern void sub_807D148(struct Entity *pokemon, struct Entity *r1, u32 r2, struct Position *r3); extern void sub_807FE04(u32 *, u32); -extern void sub_807DB74(struct DungeonEntity *); -extern void SetMessageArgument(char[], struct DungeonEntity*, u32); -extern void HandleLuminousOrbAction(struct DungeonEntity *pokemon); -extern void sub_807D510(struct DungeonEntity *, struct DungeonEntity *); -extern void sub_807DA14(struct DungeonEntity *, struct DungeonEntity *, s32); +extern void sub_807DB74(struct Entity *); +extern void SetMessageArgument(char[], struct Entity*, u32); +extern void HandleLuminousOrbAction(struct Entity *pokemon); +extern void sub_807D510(struct Entity *, struct Entity *); +extern void sub_807DA14(struct Entity *, struct Entity *, s32); extern s16 sub_803D970(u32); extern u8 sub_806AA0C(s32, u32); -extern void sub_806BB6C(struct DungeonEntity *, s32); -extern void sub_8075C58(struct DungeonEntity *, struct DungeonEntity *, s32, s32); -extern void sub_807E254(struct DungeonEntity *, struct DungeonEntity *, u32); -extern bool8 sub_805727C(struct DungeonEntity * pokemon, struct DungeonEntity * target, s32 chance); -extern u32 sub_8055640(struct DungeonEntity *, struct DungeonEntity *, struct PokemonMove *, u32, u32); -extern void sub_806A6E8(struct DungeonEntity *); -extern void sub_807D3CC(struct DungeonEntity *, struct DungeonEntity *); +extern void sub_806BB6C(struct Entity *, s32); +extern void sub_8075C58(struct Entity *, struct Entity *, s32, s32); +extern void sub_807E254(struct Entity *, struct Entity *, u32); +extern bool8 sub_805727C(struct Entity * pokemon, struct Entity * target, s32 chance); +extern u32 sub_8055640(struct Entity *, struct Entity *, struct Move *, u32, u32); +extern void sub_806A6E8(struct Entity *); +extern void sub_807D3CC(struct Entity *, struct Entity *); extern u8 sub_8069D18(struct Position *); extern u8 sub_804AD34(struct Position *); -extern u8 sub_8057308(struct DungeonEntity *, u32); +extern u8 sub_8057308(struct Entity *, u32); // TODO include dungeon_ai.h when SqueezedStatusTarget is figured out -extern void LowerDefenseStageTarget(struct DungeonEntity *, struct DungeonEntity *, s32, s32, u8, bool8); -extern void RaiseAttackStageTarget(struct DungeonEntity *, struct DungeonEntity *, s32, s32); -extern void PoisonedStatusTarget(struct DungeonEntity *, struct DungeonEntity *, bool8); -extern void RaiseDefenseStageTarget(struct DungeonEntity *, struct DungeonEntity *, s32, s32); -extern void InfatuateStatusTarget(struct DungeonEntity *, struct DungeonEntity *, bool8); -extern void LowerAttackStageTarget(struct DungeonEntity *, struct DungeonEntity *, s32, s32, u8, bool8); -extern void PetrifiedStatusTarget(struct DungeonEntity *, struct DungeonEntity *); -extern void WrapTarget(struct DungeonEntity *, struct DungeonEntity *); +extern void LowerDefenseStageTarget(struct Entity *, struct Entity *, s32, s32, u8, bool8); +extern void RaiseAttackStageTarget(struct Entity *, struct Entity *, s32, s32); +extern void PoisonedStatusTarget(struct Entity *, struct Entity *, bool8); +extern void RaiseDefenseStageTarget(struct Entity *, struct Entity *, s32, s32); +extern void InfatuateStatusTarget(struct Entity *, struct Entity *, bool8); +extern void LowerAttackStageTarget(struct Entity *, struct Entity *, s32, s32, u8, bool8); +extern void PetrifiedStatusTarget(struct Entity *, struct Entity *); +extern void WrapTarget(struct Entity *, struct Entity *); // TODO having matching issues when this isn't s32.. -extern void SqueezedStatusTarget(struct DungeonEntity *, struct DungeonEntity *, s32, bool32); +extern void SqueezedStatusTarget(struct Entity *, struct Entity *, s32, bool32); -extern void sub_806F324(struct DungeonEntity *, s32, u32, u32); -extern bool8 sub_805755C(struct DungeonEntity* pokemon,u16 moveID); -extern void sub_80783C4(struct DungeonEntity *, struct DungeonEntity *, u32); +extern void sub_806F324(struct Entity *, s32, u32, u32); +extern bool8 sub_805755C(struct Entity* pokemon,u16 moveID); +extern void sub_80783C4(struct Entity *, struct Entity *, u32); extern bool8 sub_807FCD4(struct Position *, u32, u8); -extern void sub_807CD9C(struct DungeonEntity *, struct DungeonEntity *, u8 facingDir); +extern void sub_807CD9C(struct Entity *, struct Entity *, u8 direction); // NOTE: Override pokemon.c types for these two funcs -// GetSizeOrbDmg is ok -extern u8 GetPokemonSize(s32 index); -extern void CopyCyanSpeciesNametoBuffer(u8 *buffer, s32 index); -extern u32 GetSizeOrbDmg(s16 index); +// GetSize is ok +extern u8 GetBodySize(s32 index); +extern void CopyCyanMonsterNametoBuffer(u8 *buffer, s32 index); +extern u32 GetSize(s16 index); extern s16 gUnknown_80F55EC[]; extern s16 gUnknown_80F4DCE; @@ -163,7 +163,7 @@ extern u8 *gUnknown_80FEFF4[]; extern u32 gUnknown_80F51C4[]; -bool8 sub_805AFA4(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove *move, u32 param_4) +bool8 sub_805AFA4(struct Entity * pokemon, struct Entity * target, struct Move *move, u32 param_4) { s32 r0; s32 r2; @@ -171,14 +171,14 @@ bool8 sub_805AFA4(struct DungeonEntity * pokemon, struct DungeonEntity * target, bool8 flag; #ifndef NONMATCHING - register struct DungeonEntityData *entityData asm("r3"); + register struct EntityInfo *entityData asm("r3"); #else - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; #endif SendThawedMessage(pokemon, target); - entityData = pokemon->entityData; - r2 = entityData->maxHP; + entityData = pokemon->info; + r2 = entityData->maxHPStat; r0 = r2; if (r2 < 0) { r0 = r2 + 3; @@ -203,15 +203,15 @@ bool8 sub_805AFA4(struct DungeonEntity * pokemon, struct DungeonEntity * target, return flag; } -bool8 sub_805B028(struct DungeonEntity * pokemon,struct DungeonEntity * target,struct PokemonMove *move) +bool8 sub_805B028(struct Entity * pokemon,struct Entity * target,struct Move *move) { ParalyzeStatusTarget(pokemon,target, TRUE); return TRUE; } -bool8 TransformMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove *move) +bool8 TransformMoveAction(struct Entity * pokemon, struct Entity * target, struct Move *move) { - if (IsBossBattle()) { + if (IsBossFight()) { sub_80522F4(pokemon,target,*gUnknown_80FEFF4); return FALSE; } @@ -222,7 +222,7 @@ bool8 TransformMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * } } -bool8 sub_805B074(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove *move, s32 param_4) +bool8 sub_805B074(struct Entity * pokemon, struct Entity * target, struct Move *move, s32 param_4) { bool8 uVar5; @@ -236,20 +236,20 @@ bool8 sub_805B074(struct DungeonEntity * pokemon, struct DungeonEntity * target, return uVar5; } -bool8 sub_805B0BC(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 sub_805B0BC(struct Entity * pokemon, struct Entity * target) { - sub_807CD9C(pokemon, target, pokemon->entityData->action.facingDir); + sub_807CD9C(pokemon, target, pokemon->info->action.direction); return TRUE; } -bool8 HandleColorChange(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 HandleColorChange(struct Entity * pokemon, struct Entity * target) { u8 newType; const char *typeString; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; - entityData = target->entityData; - newType = gDungeonCamouflageTypes[gDungeonGlobalData->tileset]; + entityData = target->info; + newType = gDungeonCamouflageTypes[gDungeon->tileset]; if (HasAbility(target, ABILITY_FORECAST)) { sub_80522F4(pokemon,target,*gPtrForecastPreventsTypeSwitchMessage); return FALSE; @@ -266,25 +266,25 @@ bool8 HandleColorChange(struct DungeonEntity * pokemon, struct DungeonEntity * t } } -bool8 sub_805B164(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove *move, s32 param_4) +bool8 sub_805B164(struct Entity * pokemon, struct Entity * target, struct Move *move, s32 param_4) { RaiseAttackStageTarget(pokemon,target,gUnknown_8106A50, 2); return TRUE; } -bool8 sub_805B17C(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove *move, s32 param_4) +bool8 sub_805B17C(struct Entity * pokemon, struct Entity * target, struct Move *move, s32 param_4) { s32 uVar4; bool8 uVar5; uVar5 = FALSE; - if (move->moveID == MOVE_FIRE_SPIN) { + if (move->id == MOVE_FIRE_SPIN) { SendThawedMessage(pokemon,target); uVar4 = 0x13c; } else { uVar4 = 0x75; - if ((move->moveID != MOVE_CLAMP) && (uVar4 = 0xf1, move->moveID == MOVE_BIND)) { + if ((move->id != MOVE_CLAMP) && (uVar4 = 0xf1, move->id == MOVE_BIND)) { uVar4 = 0x7e; } } @@ -297,32 +297,32 @@ bool8 sub_805B17C(struct DungeonEntity * pokemon, struct DungeonEntity * target, return uVar5; } -bool8 PerishSongMoveAction(struct DungeonEntity * pokemon,struct DungeonEntity * target,struct PokemonMove *move, s32 param_4) +bool8 PerishSongMoveAction(struct Entity * pokemon,struct Entity * target,struct Move *move, s32 param_4) { PerishSongTarget(pokemon, target); return TRUE; } -bool8 sub_805B214(struct DungeonEntity * pokemon,struct DungeonEntity * target,struct PokemonMove *move, s32 param_4) +bool8 sub_805B214(struct Entity * pokemon,struct Entity * target,struct Move *move, s32 param_4) { WrapTarget(pokemon, target); return TRUE; } -bool8 TrapperOrbAction(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 TrapperOrbAction(struct Entity * pokemon, struct Entity * target) { bool8 trapLaid; u8 uVar2; - bool8 isEnemy; + bool8 isNotTeamMember; trapLaid = FALSE; - isEnemy = pokemon->entityData->isEnemy; + isNotTeamMember = pokemon->info->isNotTeamMember; uVar2 = 1; - if (isEnemy) { + if (isNotTeamMember) { uVar2 = 2; } - if (sub_807FCD4(&pokemon->posWorld,0x13,uVar2) != 0) { + if (sub_807FCD4(&pokemon->pos,0x13,uVar2) != 0) { trapLaid = TRUE; } else @@ -333,52 +333,52 @@ bool8 TrapperOrbAction(struct DungeonEntity * pokemon, struct DungeonEntity * ta return trapLaid; } -bool8 sub_805B264(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove *move, s32 param_4) +bool8 sub_805B264(struct Entity * pokemon, struct Entity * target, struct Move *move, s32 param_4) { s32 r3; bool8 r6; s32 iVar5; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; - entityData = target->entityData; + entityData = target->info; r3 = gUnknown_202F224; r6 = FALSE; - gDungeonGlobalData->unk18200 = gUnknown_8106A8C[r3]; - gDungeonGlobalData->unk18204 = 0; + gDungeon->unk18200 = gUnknown_8106A8C[r3]; + gDungeon->unk18204 = 0; iVar5 = gUnknown_80F4F94[r3]; - if (entityData->chargingStatus == CHARGING_STATUS_DIG) { + if (entityData->chargingStatus == STATUS_DIGGING) { iVar5 *= 2; } r6 = sub_8055864(pokemon,target,move,iVar5,param_4) ? TRUE : FALSE; return r6; } -bool8 MagicCoatMoveAction(struct DungeonEntity * pokemon,struct DungeonEntity * target,struct PokemonMove *move, s32 param_4) +bool8 MagicCoatMoveAction(struct Entity * pokemon,struct Entity * target,struct Move *move, s32 param_4) { MagicCoatStatusTarget(pokemon, target); return TRUE; } -bool8 ProtectMoveAction(struct DungeonEntity * pokemon,struct DungeonEntity * target,struct PokemonMove *move, s32 param_4) +bool8 ProtectMoveAction(struct Entity * pokemon,struct Entity * target,struct Move *move, s32 param_4) { ProtectStatusTarget(pokemon, target); return TRUE; } -bool8 sub_805B2FC(struct DungeonEntity * pokemon,struct DungeonEntity * target,struct PokemonMove *move, s32 param_4) +bool8 sub_805B2FC(struct Entity * pokemon,struct Entity * target,struct Move *move, s32 param_4) { RaiseDefenseStageTarget(pokemon,target,gUnknown_8106A4C,1); return TRUE; } -bool8 sub_805B314(struct DungeonEntity * pokemon,struct DungeonEntity * target,struct PokemonMove *move, s32 param_4) +bool8 sub_805B314(struct Entity * pokemon,struct Entity * target,struct Move *move, s32 param_4) { sub_80783C4(pokemon, target, 1); return TRUE; } -bool8 sub_805B324(struct DungeonEntity * pokemon,struct DungeonEntity * target,struct PokemonMove *move, s32 param_4) +bool8 sub_805B324(struct Entity * pokemon,struct Entity * target,struct Move *move, s32 param_4) { bool8 uVar3; @@ -392,24 +392,24 @@ bool8 sub_805B324(struct DungeonEntity * pokemon,struct DungeonEntity * target,s return uVar3; } -bool8 DestinyBondMoveAction(struct DungeonEntity * pokemon,struct DungeonEntity * target,struct PokemonMove *move, s32 param_4) +bool8 DestinyBondMoveAction(struct Entity * pokemon,struct Entity * target,struct Move *move, s32 param_4) { DestinyBondStatusTarget(pokemon, target); return TRUE; } -bool8 sub_805B388(struct DungeonEntity * pokemon,struct DungeonEntity * target,struct PokemonMove *move, s32 param_4) +bool8 sub_805B388(struct Entity * pokemon,struct Entity * target,struct Move *move, s32 param_4) { return (sub_8055640(pokemon,target,move,0x100,param_4)) ? TRUE : FALSE; } -bool8 MirrorCoatMoveAction(struct DungeonEntity * pokemon,struct DungeonEntity * target,struct PokemonMove *move, s32 param_4) +bool8 MirrorCoatMoveAction(struct Entity * pokemon,struct Entity * target,struct Move *move, s32 param_4) { MirrorCoatStatusTarget(pokemon, target); return TRUE; } -bool8 sub_805B3B4(struct DungeonEntity * pokemon,struct DungeonEntity * target,struct PokemonMove *move, s32 param_4) +bool8 sub_805B3B4(struct Entity * pokemon,struct Entity * target,struct Move *move, s32 param_4) { u32 uVar1 = gUnknown_8106A50; RaiseAttackStageTarget(pokemon,target,uVar1,1); @@ -417,22 +417,22 @@ bool8 sub_805B3B4(struct DungeonEntity * pokemon,struct DungeonEntity * target,s return TRUE; } -bool8 sub_805B3E0(struct DungeonEntity * pokemon,struct DungeonEntity * target,struct PokemonMove *move, s32 param_4) +bool8 sub_805B3E0(struct Entity * pokemon,struct Entity * target,struct Move *move, s32 param_4) { sub_8055640(pokemon,target,move,0x100,param_4); return TRUE; } -bool8 sub_805B3FC(struct DungeonEntity * pokemon,struct DungeonEntity * target,struct PokemonMove *move, s32 param_4, s32 param_5) +bool8 sub_805B3FC(struct Entity * pokemon,struct Entity * target,struct Move *move, s32 param_4, s32 param_5) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; bool8 uVar4; uVar4 = FALSE; if (sub_8055640(pokemon,target,move,0x100,param_5) != 0) { uVar4 = TRUE; if (sub_805727C(pokemon,pokemon,gUnknown_80F4DCE) != 0) { - entityData = pokemon->entityData; + entityData = pokemon->info; RaiseAttackStageTarget(pokemon,pokemon,param_4,1); if (entityData->unkFB == 0) { entityData->unkFB = 1; @@ -442,33 +442,33 @@ bool8 sub_805B3FC(struct DungeonEntity * pokemon,struct DungeonEntity * target,s return uVar4; } -bool8 sub_805B454(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 sub_805B454(struct Entity * pokemon, struct Entity * target) { InfatuateStatusTarget(pokemon, target, TRUE); return TRUE; } -bool8 MimicMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 MimicMoveAction(struct Entity * pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; - struct DungeonEntityData *targetEntityData; - struct PokemonMove *move; + struct EntityInfo *entityData; + struct EntityInfo *targetEntityData; + struct Move *move; s32 moveCounter; s32 moveIndex; bool8 mimicSuccess; mimicSuccess = FALSE; - entityData = pokemon->entityData; - targetEntityData = target->entityData; + entityData = pokemon->info; + targetEntityData = target->info; moveCounter = 0; for(moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) { move = &targetEntityData->moves[moveIndex]; - if (((move->moveFlags & MOVE_FLAG_EXISTS)) && !sub_805755C(pokemon,move->moveID)) { - if ((move->moveID != MOVE_MIMIC) && (move->moveID != MOVE_ASSIST) && (move->moveID != MOVE_SKETCH) && (move->moveID != MOVE_MIRROR_MOVE) && - (move->moveID != MOVE_ENCORE) && ((move->moveFlags & MOVE_FLAG_LAST_USED))) { - entityData->mimicMoveIDs[moveCounter] = move->moveID; + if (((move->moveFlags & MOVE_FLAG_EXISTS)) && !sub_805755C(pokemon,move->id)) { + if ((move->id != MOVE_MIMIC) && (move->id != MOVE_ASSIST) && (move->id != MOVE_SKETCH) && (move->id != MOVE_MIRROR_MOVE) && + (move->id != MOVE_ENCORE) && ((move->moveFlags & MOVE_FLAG_LAST_USED))) { + entityData->mimicMoveIDs[moveCounter] = move->id; moveCounter++; } } @@ -487,17 +487,17 @@ bool8 MimicMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * tar return mimicSuccess; } -bool8 sub_805B53C(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove *move, s32 param_4) +bool8 sub_805B53C(struct Entity * pokemon, struct Entity * target, struct Move *move, s32 param_4) { s16 *r1; s32 index; s32 r5; s32 IQ; u8 local_24; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; local_24 = 0; - entityData = pokemon->entityData; + entityData = pokemon->info; r5 = 1; index = 0; if (0 <= gUnknown_80F55EC[0]) { @@ -516,17 +516,17 @@ _0805B598: return local_24; } -bool8 LeechSeedMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 LeechSeedMoveAction(struct Entity * pokemon, struct Entity * target) { HandleLeechSeed(pokemon, target, TRUE); - if (pokemon->entityData->unkFB == 0) { - pokemon->entityData->unkFB = 1; + if (pokemon->info->unkFB == 0) { + pokemon->info->unkFB = 1; } return TRUE; } NAKED -bool8 sub_805B618(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove *move, s32 param_4) +bool8 sub_805B618(struct Entity * pokemon, struct Entity * target, struct Move *move, s32 param_4) { asm_unified("\tpush {r4-r6,lr}\n" "\tmov r6, r9\n" @@ -566,7 +566,7 @@ bool8 sub_805B618(struct DungeonEntity * pokemon, struct DungeonEntity * target, "_0805B664: .4byte gUnknown_80F59C8"); } -bool8 sub_805B668(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove *move, s32 param_4) +bool8 sub_805B668(struct Entity * pokemon, struct Entity * target, struct Move *move, s32 param_4) { bool8 hasLiquidOoze; s32 iVar3; @@ -584,8 +584,8 @@ bool8 sub_805B668(struct DungeonEntity * pokemon, struct DungeonEntity * target, iVar4 = 1; } if (sub_8057308(pokemon,0) != 0) { - if (pokemon->entityData->unkFB == 0) { - pokemon->entityData->unkFB = 1; + if (pokemon->info->unkFB == 0) { + pokemon->info->unkFB = 1; } if (sub_8057308(pokemon,0) != 0) { if (hasLiquidOoze) { @@ -604,40 +604,40 @@ bool8 sub_805B668(struct DungeonEntity * pokemon, struct DungeonEntity * target, return uVar5; } -bool8 sub_805B734(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 sub_805B734(struct Entity * pokemon, struct Entity * target) { SnatchStatusTarget(pokemon, target); return TRUE; } -bool8 RecycleMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 RecycleMoveAction(struct Entity * pokemon, struct Entity * target) { - struct ItemSlot *item; + struct Item *item; s32 index; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; bool8 isTMRecycled; - entityData = target->entityData; + entityData = target->info; isTMRecycled = FALSE; - if (!entityData->isEnemy) { + if (!entityData->isNotTeamMember) { for(index = 0; index < INVENTORY_SIZE; index++) { #ifdef NONMATCHING item = &gTeamInventory_203B460->teamItems[index]; #else register size_t offset asm("r1") = offsetof(struct TeamInventory, teamItems[index]); - struct ItemSlot* p = gTeamInventory_203B460->teamItems; + struct Item* p = gTeamInventory_203B460->teamItems; size_t addr = offset + (size_t)p; - item = (struct ItemSlot*)addr; + item = (struct Item*)addr; #endif - if ((item->itemFlags & ITEM_FLAG_EXISTS) && ((item->itemFlags & ITEM_FLAG_FOR_SALE) == 0)) - if(item->itemIndex == ITEM_ID_USED_TM) { - xxx_init_itemslot_8090A8C(item, item->numItems + 0x7d,0); + if ((item->flags & ITEM_FLAG_EXISTS) && ((item->flags & ITEM_FLAG_IN_SHOP) == 0)) + if(item->id == ITEM_TM_USED_TM) { + xxx_init_itemslot_8090A8C(item, item->quantity + 0x7d,0); isTMRecycled = TRUE; } } - if ((entityData->heldItem.itemFlags & ITEM_FLAG_EXISTS) && (entityData->heldItem.itemIndex == ITEM_ID_USED_TM)) { - xxx_init_itemslot_8090A8C(&entityData->heldItem,entityData->heldItem.numItems + 0x7D,0); + if ((entityData->heldItem.flags & ITEM_FLAG_EXISTS) && (entityData->heldItem.id == ITEM_TM_USED_TM)) { + xxx_init_itemslot_8090A8C(&entityData->heldItem,entityData->heldItem.quantity + 0x7D,0); isTMRecycled = TRUE; } } @@ -650,13 +650,13 @@ bool8 RecycleMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * t return isTMRecycled; } -bool8 ReflectMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove *move, s32 param_4) +bool8 ReflectMoveAction(struct Entity * pokemon, struct Entity * target, struct Move *move, s32 param_4) { ReflectStatusTarget(pokemon, target); return TRUE; } -bool8 sub_805B808(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove *move, s32 param_4) +bool8 sub_805B808(struct Entity * pokemon, struct Entity * target, struct Move *move, s32 param_4) { u8 local_20; @@ -666,14 +666,14 @@ bool8 sub_805B808(struct DungeonEntity * pokemon, struct DungeonEntity * target, return local_20; } -bool8 sub_805B884( struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 sub_805B884( struct Entity * pokemon, struct Entity * target) { RaiseAttackStageTarget(pokemon, target, gUnknown_8106A4C, 1); RaiseMovementSpeedTarget(pokemon, target, 0, TRUE); return TRUE; } -bool8 SkullBashMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove * move, s32 param_4) +bool8 SkullBashMoveAction(struct Entity * pokemon, struct Entity * target, struct Move * move, s32 param_4) { bool8 flag; @@ -688,7 +688,7 @@ bool8 SkullBashMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * return flag; } -bool8 sub_805B910(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove * move, s32 param_4) +bool8 sub_805B910(struct Entity * pokemon, struct Entity * target, struct Move * move, s32 param_4) { bool8 flag; @@ -703,7 +703,7 @@ bool8 sub_805B910(struct DungeonEntity * pokemon, struct DungeonEntity * target, return flag; } -bool8 sub_805B968(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove * move, s32 param_4) +bool8 sub_805B968(struct Entity * pokemon, struct Entity * target, struct Move * move, s32 param_4) { s32 entityHP; s32 iVar5; @@ -713,7 +713,7 @@ bool8 sub_805B968(struct DungeonEntity * pokemon, struct DungeonEntity * target, if (sub_8055640(pokemon,target,move,0x100,param_4) != 0) { flag = TRUE; if (sub_8057308(pokemon,0) != 0) { - entityHP = pokemon->entityData->maxHP; + entityHP = pokemon->info->maxHPStat; if (entityHP < 0) { entityHP = entityHP + 3; } @@ -727,17 +727,17 @@ bool8 sub_805B968(struct DungeonEntity * pokemon, struct DungeonEntity * target, return flag; } -bool8 RockSmashMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove *move, s32 param_4) +bool8 RockSmashMoveAction(struct Entity * pokemon, struct Entity * target, struct Move *move, s32 param_4) { bool8 uVar3; struct Position pos; #ifdef NONMATCHING - struct DungeonEntity *temp; - struct DungeonEntity *temp1; + struct Entity *temp; + struct Entity *temp1; #else - register struct DungeonEntity *temp asm("r5"); - register struct DungeonEntity *temp1 asm("r4"); + register struct Entity *temp asm("r5"); + register struct Entity *temp1 asm("r4"); #endif temp = pokemon; @@ -756,55 +756,55 @@ bool8 RockSmashMoveAction(struct DungeonEntity * pokemon, struct DungeonEntity * return uVar3; } -bool8 sub_805BA44(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 sub_805BA44(struct Entity * pokemon, struct Entity * target) { sub_807D3CC(pokemon, target); return TRUE; } -bool8 sub_805BA50(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove *move, s32 param_4) +bool8 sub_805BA50(struct Entity * pokemon, struct Entity * target, struct Move *move, s32 param_4) { - struct DungeonEntityData *iVar2; - struct DungeonEntityData *iVar3; - struct DungeonEntityData *iVar5; - struct DungeonEntityData *iVar6; + struct EntityInfo *iVar2; + struct EntityInfo *iVar3; + struct EntityInfo *iVar5; + struct EntityInfo *iVar6; bool8 uVar6; - struct ItemSlot *pokeItem; - struct ItemSlot *targetItem; + struct Item *pokeItem; + struct Item *targetItem; uVar6 = FALSE; if (sub_8055640(pokemon,target,move,0x100,param_4) != 0) { uVar6 = TRUE; if (sub_805727C(pokemon,target, 0) != 0) { - iVar2 = pokemon->entityData; - iVar3 = pokemon->entityData; - iVar5 = target->entityData; - iVar6 = target->entityData; + iVar2 = pokemon->info; + iVar3 = pokemon->info; + iVar5 = target->info; + iVar6 = target->info; SetMessageArgument(gAvailablePokemonNames, pokemon, 0); SetMessageArgument(gAvailablePokemonNames + 0x50, target, 0); if (HasAbility(target, ABILITY_STICKY_HOLD)) { return TRUE; } - else if (HasItem(target, ITEM_ID_ALERT_SPECS)) { + else if (HasHeldItem(target, ITEM_ALERT_SPECS)) { sub_80522F4(pokemon,target,*gUnknown_80FD574); // $m1 was protected by its Specs! return TRUE; } else { pokeItem = &iVar2->heldItem; targetItem = &iVar5->heldItem; - if ((pokeItem->itemFlags & ITEM_FLAG_EXISTS) != 0) { + if ((pokeItem->flags & ITEM_FLAG_EXISTS) != 0) { sub_80522F4(pokemon,target,*gUnknown_80FC654); // $m0 has an item already! return TRUE; } - else if ((targetItem->itemFlags & ITEM_FLAG_EXISTS) == 0) { + else if ((targetItem->flags & ITEM_FLAG_EXISTS) == 0) { sub_80522F4(pokemon,target,*gUnknown_80FC678); // $m1 doesn't have anything return TRUE; } else { iVar3->heldItem = iVar6->heldItem; - targetItem->itemIndex = ITEM_ID_NOTHING; - targetItem->numItems = 0; - targetItem->itemFlags = 0; + targetItem->id = ITEM_NOTHING; + targetItem->quantity = 0; + targetItem->flags = 0; sub_806A6E8(pokemon); sub_806A6E8(target); if (iVar3->unkFB == 0) { @@ -818,33 +818,33 @@ bool8 sub_805BA50(struct DungeonEntity * pokemon, struct DungeonEntity * target, return uVar6; } -bool8 sub_805BB64(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 sub_805BB64(struct Entity * pokemon, struct Entity * target) { - sub_80797A0(pokemon, target, PROTECTION_STATUS_MINI_COUNTER); + sub_80797A0(pokemon, target, STATUS_MINI_COUNTER); return TRUE; } -bool8 sub_805BB74(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 sub_805BB74(struct Entity * pokemon, struct Entity * target) { - if(pokemon->entityData->unkFB == 0) + if(pokemon->info->unkFB == 0) { - pokemon->entityData->unkFB = 1; + pokemon->info->unkFB = 1; } sub_807E254(pokemon, target, 1); return TRUE; } -bool8 sub_805BB98(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 sub_805BB98(struct Entity * pokemon, struct Entity * target) { sub_807D148(pokemon, target, 1, NULL); return TRUE; } -bool8 CleanseOrbAction(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 CleanseOrbAction(struct Entity * pokemon, struct Entity * target) { - struct ItemSlot *item; - struct DungeonEntity *entity; - struct DungeonEntityData *entityData; + struct Item *item; + struct Entity *entity; + struct EntityInfo *entityData; s32 index; bool8 isItemCleaned; @@ -854,26 +854,26 @@ bool8 CleanseOrbAction(struct DungeonEntity * pokemon, struct DungeonEntity * ta register u8 flag asm("r2"); #endif - entityData = target->entityData; + entityData = target->info; isItemCleaned = FALSE; - if (!entityData->isEnemy) { + if (!entityData->isNotTeamMember) { for(index = 0; index < INVENTORY_SIZE; index++){ // WTF why does this work... - UNUSED struct ItemSlot* current = &gTeamInventory_203B460->teamItems[index]; - flag = index[gTeamInventory_203B460->teamItems].itemFlags; - if (((flag & ITEM_FLAG_EXISTS) != 0) && ((flag & ITEM_FLAG_FOR_SALE) == 0)) + UNUSED struct Item* current = &gTeamInventory_203B460->teamItems[index]; + flag = index[gTeamInventory_203B460->teamItems].flags; + if (((flag & ITEM_FLAG_EXISTS) != 0) && ((flag & ITEM_FLAG_IN_SHOP) == 0)) if((flag & ITEM_FLAG_STICKY) != 0) { - gTeamInventory_203B460->teamItems[index].itemFlags = flag & 0xf7; + gTeamInventory_203B460->teamItems[index].flags = flag & 0xf7; isItemCleaned = TRUE; } } for(index = 0; index < MAX_TEAM_MEMBERS; index++) { - entity = gDungeonGlobalData->teamPokemon[index]; + entity = gDungeon->teamPokemon[index]; if (EntityExists(entity)) { - item = &entity->entityData->heldItem; - if (((item->itemFlags & ITEM_FLAG_EXISTS) != 0) && ((item->itemFlags & ITEM_FLAG_STICKY) != 0)) { - item->itemFlags &= 0xf7; + item = &entity->info->heldItem; + if (((item->flags & ITEM_FLAG_EXISTS) != 0) && ((item->flags & ITEM_FLAG_STICKY) != 0)) { + item->flags &= 0xf7; isItemCleaned = TRUE; } } @@ -888,15 +888,15 @@ bool8 CleanseOrbAction(struct DungeonEntity * pokemon, struct DungeonEntity * ta return isItemCleaned; } -bool8 sub_805BC70(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 sub_805BC70(struct Entity * pokemon, struct Entity * target) { sub_8075C58(pokemon,target,CalculateStatusTurns(target, gUnknown_80F4E74, TRUE), TRUE); return TRUE; } -bool8 sub_805BC98(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove *move, s32 param_4) +bool8 sub_805BC98(struct Entity * pokemon, struct Entity * target, struct Move *move, s32 param_4) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; bool8 uVar3; s32 targetHP; s32 pokeHP; @@ -905,8 +905,8 @@ bool8 sub_805BC98(struct DungeonEntity * pokemon, struct DungeonEntity * target, local_28 = 0; local_27 = 0; - entityData = pokemon->entityData; - targetHP = target->entityData->HP - 1; + entityData = pokemon->info; + targetHP = target->info->HP - 1; if (targetHP < 0) { targetHP = 0; } @@ -927,37 +927,37 @@ bool8 sub_805BC98(struct DungeonEntity * pokemon, struct DungeonEntity * target, return uVar3; } -bool8 SilenceOrbAction(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 SilenceOrbAction(struct Entity * pokemon, struct Entity * target) { MuzzleTarget(pokemon, target); return TRUE; } -bool8 ScannerOrbAction(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 ScannerOrbAction(struct Entity * pokemon, struct Entity * target) { HandleScannerOrb(pokemon, target); return TRUE; } -bool8 RadarOrbAction(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 RadarOrbAction(struct Entity * pokemon, struct Entity * target) { HandleRadarOrb(pokemon, target); return TRUE; } -bool8 TransferOrbAction(struct DungeonEntity *pokemon, struct DungeonEntity * target) +bool8 TransferOrbAction(struct Entity *pokemon, struct Entity * target) { - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; s32 oldID; //r8 s32 targetID; // r5 s32 r6; // r6 bool8 didTransfer; didTransfer = FALSE; - if (target->entityData->isEnemy) { - entityData = target->entityData; - targetID = entityData->entityID; - oldID = entityData->entityID; + if (target->info->isNotTeamMember) { + entityData = target->info; + targetID = entityData->id; + oldID = entityData->id; SetMessageArgument(gAvailablePokemonNames,target,0); if (entityData->clientType != 0) { sub_80522F4(pokemon,target,*gUnknown_80FD450); @@ -968,14 +968,14 @@ bool8 TransferOrbAction(struct DungeonEntity *pokemon, struct DungeonEntity * ta for (r6 = 0; r6 < 0x1E; r6++) { targetID = sub_803D970(0); if ((sub_806AA0C(targetID,0) != 0) && (oldID != targetID)) { - if (GetPokemonSize(oldID) == GetPokemonSize(targetID)) break; + if (GetBodySize(oldID) == GetBodySize(targetID)) break; } } - if ((r6 == 0x1e) || (entityData->entityID == targetID)) { + if ((r6 == 0x1e) || (entityData->id == targetID)) { sub_80522F4(pokemon,target,*gUnknown_80FD450); } else { - CopyCyanSpeciesNametoBuffer(gUnknown_202DFE8, targetID); + CopyCyanMonsterNametoBuffer(gUnknown_202DFE8, targetID); sub_80522F4(pokemon,target,*gUnknown_80FD434); sub_806BB6C(target, targetID); didTransfer = TRUE; @@ -989,93 +989,93 @@ bool8 TransferOrbAction(struct DungeonEntity *pokemon, struct DungeonEntity * ta return didTransfer; } -bool8 sub_805BE90(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 sub_805BE90(struct Entity *pokemon, struct Entity *target) { LowerMovementSpeedTarget(pokemon, target, 1, TRUE); return TRUE; } -bool8 LuminousOrbAction(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 LuminousOrbAction(struct Entity * pokemon, struct Entity * target) { HandleLuminousOrbAction(pokemon); return TRUE; } -bool8 sub_805BEAC(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 sub_805BEAC(struct Entity * pokemon, struct Entity * target) { PetrifiedStatusTarget(pokemon, target); return TRUE; } -bool8 sub_805BEB8(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 sub_805BEB8(struct Entity * pokemon, struct Entity * target) { sub_807DA14(pokemon, target, 8); return TRUE; } -bool8 sub_805BEC8(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 sub_805BEC8(struct Entity * pokemon, struct Entity * target) { sub_807D510(pokemon, target); return TRUE; } -bool8 EscapeOrbAction(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 EscapeOrbAction(struct Entity * pokemon, struct Entity * target) { SetMessageArgument(gAvailablePokemonNames,pokemon,0); - if (gDungeonGlobalData->unk66E != 0) { + if (gDungeon->unk66E != 0) { sub_80522F4(pokemon,target,*gUnknown_80FD4DC); // $m0 can't escape! } else { sub_80522F4(pokemon,target,*gUnknown_80FD4C4); // $m0 escaped! - gDungeonGlobalData->unk4 = 1; - gDungeonGlobalData->unk11 = 1; + gDungeon->unk4 = 1; + gDungeon->unk11 = 1; } return FALSE; } -bool8 sub_805BF34(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 sub_805BF34(struct Entity * pokemon, struct Entity * target) { sub_807DB74(pokemon); return TRUE; } -bool8 TrapbustOrbAction(struct DungeonEntity * pokemon,struct DungeonEntity * target) +bool8 TrapbustOrbAction(struct Entity * pokemon,struct Entity * target) { - struct MapTile *tile; - struct DungeonEntity *mapObject; + struct Tile *tile; + struct Entity *object; u8 *trapData; - s32 startX, startY; + s32 bottomRightCornerX, bottomRightCornerY; s32 xCoord, yCoord; - struct MapRoom *room; - s32 endX, endY; + struct RoomData *room; + s32 topLeftCornerX, topLeftCornerY; u32 sp; bool8 foundTrap = FALSE; - tile = GetMapTileForDungeonEntity_2(target); - if (IsBossBattle()) { + tile = GetTileAtEntitySafe(target); + if (IsBossFight()) { SendMessage(pokemon,*gUnknown_80FD1EC); return FALSE; } else { - if (tile->roomIndex == 0xFF) { - startX = target->posWorld.x - gDungeonGlobalData->visibility; - startY = target->posWorld.y - gDungeonGlobalData->visibility; - endX = startX + gDungeonGlobalData->visibility; - endY = startY + gDungeonGlobalData->visibility; + if (tile->room == 0xFF) { + bottomRightCornerX = target->pos.x - gDungeon->visibilityRange; + bottomRightCornerY = target->pos.y - gDungeon->visibilityRange; + topLeftCornerX = bottomRightCornerX + gDungeon->visibilityRange; + topLeftCornerY = bottomRightCornerY + gDungeon->visibilityRange; } else { - room = &gDungeonGlobalData->roomData[tile->roomIndex]; - startX = room->startX - 1; - startY = room->startY - 1; - endX = room->endX + 1; - endY = room->endY + 1; + room = &gDungeon->roomData[tile->room]; + bottomRightCornerX = room->bottomRightCornerX - 1; + bottomRightCornerY = room->bottomRightCornerY - 1; + topLeftCornerX = room->topLeftCornerX + 1; + topLeftCornerY = room->topLeftCornerY + 1; } - ++endY; --endY; - for (xCoord = startX; xCoord <= endX; xCoord++) { - for (yCoord = startY; yCoord <= endY; yCoord++) { - mapObject = GetMapTile_2(xCoord, yCoord)->mapObject; - if (((mapObject != 0) && (GetEntityType(mapObject) == ENTITY_TRAP)) && - (trapData = (u8*)GetTrapData(mapObject), trapData[0] != 0x11)) { + ++topLeftCornerY; --topLeftCornerY; + for (xCoord = bottomRightCornerX; xCoord <= topLeftCornerX; xCoord++) { + for (yCoord = bottomRightCornerY; yCoord <= topLeftCornerY; yCoord++) { + object = GetTileSafe(xCoord, yCoord)->object; + if (((object != 0) && (GetEntityType(object) == ENTITY_TRAP)) && + (trapData = (u8*)GetTrapData(object), trapData[0] != 0x11)) { sp = yCoord << 0x10 | (u16)xCoord; sub_807FE04(&sp, 0); foundTrap = TRUE; @@ -1094,28 +1094,28 @@ bool8 TrapbustOrbAction(struct DungeonEntity * pokemon,struct DungeonEntity * ta return foundTrap; } -bool8 sub_805C080(struct DungeonEntity * pokemon, struct DungeonEntity *target) +bool8 sub_805C080(struct Entity * pokemon, struct Entity *target) { - struct DungeonEntity **possibleTargets; + struct Entity **possibleTargets; s32 numPossibleTargets; - struct DungeonEntity *targetEntity; + struct Entity *targetEntity; bool8 foundTarget; s32 index; foundTarget = FALSE; - if (pokemon->entityData->isEnemy) { - possibleTargets = gDungeonGlobalData->wildPokemon; + if (pokemon->info->isNotTeamMember) { + possibleTargets = gDungeon->wildPokemon; numPossibleTargets = DUNGEON_MAX_WILD_POKEMON; } else { - possibleTargets = gDungeonGlobalData->teamPokemon; + possibleTargets = gDungeon->teamPokemon; numPossibleTargets = MAX_TEAM_MEMBERS; } for(index = 0; index < numPossibleTargets; index++){ targetEntity = possibleTargets[index]; if (((EntityExists(targetEntity)) && (pokemon != targetEntity)) && (CanTarget(pokemon,targetEntity,1,FALSE) == 0)) { - sub_807D148(pokemon,targetEntity,2,&pokemon->posWorld); + sub_807D148(pokemon,targetEntity,2,&pokemon->pos); foundTarget = TRUE; } } @@ -1125,13 +1125,13 @@ bool8 sub_805C080(struct DungeonEntity * pokemon, struct DungeonEntity *target) return foundTarget; } -bool8 sub_805C128(struct DungeonEntity * pokemon, struct DungeonEntity * target) +bool8 sub_805C128(struct Entity * pokemon, struct Entity * target) { InvisibleStatusTarget(pokemon, pokemon); return TRUE; } -bool8 sub_805C138(struct DungeonEntity * pokemon, struct DungeonEntity * target, struct PokemonMove *move, s32 param_4) +bool8 sub_805C138(struct Entity * pokemon, struct Entity * target, struct Move *move, s32 param_4) { u8 local_20; @@ -1141,13 +1141,13 @@ bool8 sub_805C138(struct DungeonEntity * pokemon, struct DungeonEntity * target, return local_20; } -bool8 IdentifyOrbAction(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 IdentifyOrbAction(struct Entity *pokemon, struct Entity *target) { IdentityItemHolders(pokemon, target); return TRUE; } -bool8 sub_805C1BC(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, s32 param_4) +bool8 sub_805C1BC(struct Entity *pokemon, struct Entity *target, struct Move *move, s32 param_4) { bool8 flag; @@ -1155,47 +1155,47 @@ bool8 sub_805C1BC(struct DungeonEntity *pokemon, struct DungeonEntity *target, s return flag; } -bool8 sub_805C1E4(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 sub_805C1E4(struct Entity *pokemon, struct Entity *target) { sub_80522F4(pokemon, target, *gUnknown_80FD454); return FALSE; } -bool8 ShockerOrbAction(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 ShockerOrbAction(struct Entity *pokemon, struct Entity *target) { CowerStatusTarget(pokemon, target, TRUE); return TRUE; } -bool8 sub_805C208(struct DungeonEntity *pokemon, struct DungeonEntity *target, struct PokemonMove *move, u32 param_4) +bool8 sub_805C208(struct Entity *pokemon, struct Entity *target, struct Move *move, u32 param_4) { u32 uVar3; u8 local_24; local_24 = 0; - uVar3 = GetSizeOrbDmg(target->entityData->transformSpecies); + uVar3 = GetSize(target->info->apparentID); sub_806F370(pokemon,target,uVar3,1,&local_24,GetMoveType(move),sub_8057600(move,param_4),0,1,0); local_24 = local_24 == 0; return local_24; } -bool8 sub_805C288(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 sub_805C288(struct Entity *pokemon, struct Entity *target) { sub_8078A58(pokemon, target, gUnknown_80F4FC6, 0); return TRUE; } -bool8 sub_805C2A0(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 sub_805C2A0(struct Entity *pokemon, struct Entity *target) { sub_807DC68(pokemon, target); return TRUE; } -bool8 FillInOrbAction(struct DungeonEntity *pokemon,struct DungeonEntity *target) +bool8 FillInOrbAction(struct Entity *pokemon,struct Entity *target) { - struct MapTile *tileToFill; - struct DungeonEntityData *iVar5; + struct Tile *tileToFill; + struct EntityInfo *iVar5; int y; bool8 filledInTile; int x; @@ -1204,24 +1204,24 @@ bool8 FillInOrbAction(struct DungeonEntity *pokemon,struct DungeonEntity *target struct Position_Alt tileCoords; filledInTile = FALSE; - iVar5 = target->entityData; - if (IsBossBattle()) { + iVar5 = target->info; + if (IsBossFight()) { SendMessage(pokemon,*gUnknown_80FD0B8); return FALSE; } else { // Calculate the coordinates of the tile in front of the user - cast_x = target->posWorld.x + gAdjacentTileOffsets[iVar5->action.facingDir].x; + cast_x = target->pos.x + gAdjacentTileOffsets[iVar5->action.direction].x; tileCoords.temp.full_bits = (tileCoords.temp.full_bits & 0xffff0000) | cast_x; - cast_y = ((u16)(target->posWorld.y + gAdjacentTileOffsets[iVar5->action.facingDir].y)) << 0x10; + cast_y = ((u16)(target->pos.y + gAdjacentTileOffsets[iVar5->action.direction].y)) << 0x10; tileCoords.temp.full_bits = (tileCoords.temp.full_bits & 0x0000ffff) | cast_y; sub_8042A54((struct Position *)&tileCoords); - tileToFill = GetMapTile_2(tileCoords.temp.norm.x,tileCoords.temp.norm.y); - if ((tileToFill->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID)) == TILE_TYPE_LIQUID) { - tileToFill->tileType = (tileToFill->tileType & ~(TILE_TYPE_FLOOR | TILE_TYPE_LIQUID)) | TILE_TYPE_FLOOR; + tileToFill = GetTileSafe(tileCoords.temp.norm.x,tileCoords.temp.norm.y); + if ((tileToFill->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY)) == TERRAIN_TYPE_SECONDARY) { + tileToFill->terrainType = (tileToFill->terrainType & ~(TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY)) | TERRAIN_TYPE_NORMAL; for(y = -1; y < 2; y++) for(x = -1; x < 2; x++) @@ -1247,27 +1247,27 @@ bool8 FillInOrbAction(struct DungeonEntity *pokemon,struct DungeonEntity *target } } -bool8 sub_805C3DC(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 sub_805C3DC(struct Entity *pokemon, struct Entity *target) { u32 var; - var = (target->entityData->isEnemy ? 2 : 1); - sub_807FC3C(&target->posWorld, 0x14, var); + var = (target->info->isNotTeamMember ? 2 : 1); + sub_807FC3C(&target->pos, 0x14, var); return TRUE; } -bool8 sub_805C3F8(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 sub_805C3F8(struct Entity *pokemon, struct Entity *target) { - struct ItemSlot stack; - struct Position posStruct = target->posWorld; + struct Item stack; + struct Position posStruct = target->pos; - if(target->entityData->clientType != CLIENT_TYPE_NONE) + if(target->info->clientType != CLIENT_TYPE_NONE) { sub_80522F4(pokemon, target, *gUnknown_80FF678); return FALSE; } else { - target->visible = FALSE; + target->isVisible = FALSE; sub_8045C28(&stack, sub_803D73C(0), 0); sub_80464C8(pokemon, &posStruct, &stack); sub_8068FE0(target, 0x218, pokemon); @@ -1275,31 +1275,31 @@ bool8 sub_805C3F8(struct DungeonEntity *pokemon, struct DungeonEntity *target) } } -bool8 sub_805C45C(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 sub_805C45C(struct Entity *pokemon, struct Entity *target) { sub_807F43C(pokemon, target); return TRUE; } -bool8 sub_805C468(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 sub_805C468(struct Entity *pokemon, struct Entity *target) { sub_8078F50(pokemon, target); return TRUE; } -bool8 StairsOrbAction(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 StairsOrbAction(struct Entity *pokemon, struct Entity *target) { HandleStairsOrb(pokemon, target); return TRUE; } -bool8 LongtossOrbAction(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 LongtossOrbAction(struct Entity *pokemon, struct Entity *target) { LongTossStatusTarget(pokemon, target); return TRUE; } -bool8 PierceOrbAction(struct DungeonEntity *pokemon, struct DungeonEntity *target) +bool8 PierceOrbAction(struct Entity *pokemon, struct Entity *target) { PierceStatusTarget(pokemon, target); return TRUE; diff --git a/src/status_checks.c b/src/status_checks.c index 12889b576..e9eb98af5 100644 --- a/src/status_checks.c +++ b/src/status_checks.c @@ -20,84 +20,84 @@ extern char *gPtrPausedMessage; extern char *gPtrInfatuatedMessage; extern char gAvailablePokemonNames[]; -extern void SetMessageArgument(char[], struct DungeonEntity*, u32); +extern void SetMessageArgument(char[], struct Entity*, u32); -bool8 HasStatusAffectingActions(struct DungeonEntity *pokemon) +bool8 HasStatusAffectingActions(struct Entity *pokemon) { - struct DungeonEntityData *pokemonData = pokemon->entityData; + struct EntityInfo *pokemonInfo = pokemon->info; SetMessageArgument(gAvailablePokemonNames, pokemon, 0); - SetAction(&pokemonData->action, DUNGEON_ACTION_WAIT); - switch (pokemonData->sleepStatus) + SetMonsterActionFields(&pokemonInfo->action, ACTION_PASS_TURN); + switch (pokemonInfo->sleep) { - case SLEEP_STATUS_NIGHTMARE: - case SLEEP_STATUS_SLEEP: - case SLEEP_STATUS_NAPPING: + case STATUS_NIGHTMARE: + case STATUS_SLEEP: + case STATUS_NAPPING: return TRUE; } - switch (pokemonData->immobilizeStatus) + switch (pokemonInfo->immobilizeStatus) { - case IMMOBILIZE_STATUS_FROZEN: + case STATUS_FROZEN: SendMessage(pokemon, gPtrFrozenMessage); return TRUE; - case IMMOBILIZE_STATUS_WRAPPED_AROUND_FOE: + case STATUS_WRAP: SendMessage(pokemon, gPtrWrappedAroundMessage); return TRUE; - case IMMOBILIZE_STATUS_WRAPPED_BY_FOE: + case STATUS_WRAPPED: SendMessage(pokemon, gPtrWrappedByMessage); return TRUE; - case IMMOBILIZE_STATUS_PETRIFIED: + case STATUS_PETRIFIED: return TRUE; } - switch (pokemonData->volatileStatus) + switch (pokemonInfo->volatileStatus) { - case VOLATILE_STATUS_PAUSED: + case STATUS_PAUSED: SendMessage(pokemon, gPtrPausedMessage); return TRUE; - case VOLATILE_STATUS_INFATUATED: + case STATUS_INFATUATED: SendMessage(pokemon, gPtrInfatuatedMessage); return TRUE; } - if (pokemonData->chargingStatus == CHARGING_STATUS_BIDE) + if (pokemonInfo->chargingStatus == STATUS_BIDE) { SendMessage(pokemon, gPtrBideMessage); return TRUE; } - if (pokemonData->waitingStatus == WAITING_STATUS_DECOY) + if (pokemonInfo->waitingStatus == STATUS_DECOY) { - SetWalkAction(&pokemonData->action, pokemonData->entityID); - pokemonData->action.facingDir = DungeonRandomCapped(NUM_DIRECTIONS); - pokemonData->targetPosition.x = pokemon->posWorld.x; - pokemonData->targetPosition.y = pokemon->posWorld.y - 1; + SetActionPassTurnOrWalk(&pokemonInfo->action, pokemonInfo->id); + pokemonInfo->action.direction = DungeonRandInt(NUM_DIRECTIONS); + pokemonInfo->targetPos.x = pokemon->pos.x; + pokemonInfo->targetPos.y = pokemon->pos.y - 1; return TRUE; } - if (pokemonData->shopkeeperMode == SHOPKEEPER_FRIENDLY) + if (pokemonInfo->shopkeeper == SHOPKEEPER_MODE_SHOPKEEPER) { return TRUE; } - if (pokemonData->eyesightStatus == EYESIGHT_STATUS_BLINKER) + if (pokemonInfo->eyesightStatus == STATUS_BLINKER) { - if (!CanMoveInDirection(pokemon, pokemonData->action.facingDir)) + if (!CanMoveInDirection(pokemon, pokemonInfo->action.direction)) { - if (DungeonRandomCapped(2) != 0) + if (DungeonRandInt(2) != 0) { - pokemonData->action.facingDir = DungeonRandomCapped(NUM_DIRECTIONS); - pokemonData->action.facingDir = pokemonData->action.facingDir & DIRECTION_MASK; + pokemonInfo->action.direction = DungeonRandInt(NUM_DIRECTIONS); + pokemonInfo->action.direction = pokemonInfo->action.direction & DIRECTION_MASK; goto walk; } } else { walk: - SetWalkAction(&pokemonData->action, pokemonData->entityID); + SetActionPassTurnOrWalk(&pokemonInfo->action, pokemonInfo->id); return TRUE; } DecideAttack(pokemon); return TRUE; } - if (pokemonData->eyesightStatus == EYESIGHT_STATUS_CROSS_EYED) + if (pokemonInfo->eyesightStatus == STATUS_CROSS_EYED) { - SetWalkAction(&pokemonData->action, pokemonData->entityID); - pokemonData->action.facingDir = DungeonRandomCapped(NUM_DIRECTIONS); + SetActionPassTurnOrWalk(&pokemonInfo->action, pokemonInfo->id); + pokemonInfo->action.direction = DungeonRandInt(NUM_DIRECTIONS); return TRUE; } return FALSE; diff --git a/src/status_checks_1.c b/src/status_checks_1.c index 38f5ab2c7..d4bfaa167 100644 --- a/src/status_checks_1.c +++ b/src/status_checks_1.c @@ -18,7 +18,7 @@ #include "pokemon.h" #include "weather.h" -extern void sub_80429B4(struct DungeonEntity *r0); +extern void sub_80429B4(struct Entity *r0); extern u8 *gUnknown_80FEE80[]; extern u8 *gUnknown_80F8974[]; @@ -27,25 +27,25 @@ extern u8 *gUnknown_80F8968[]; extern u8 *gUnknown_80F8988[]; extern u8 gUnknown_8106FA4[]; -bool8 sub_80705F0(struct DungeonEntity *pokemon, struct Position *pos) +bool8 sub_80705F0(struct Entity *pokemon, struct Position *pos) { s32 crossableTerrain; - struct MapTile *tile; + struct Tile *tile; u16 tileFlags; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; - entityData = pokemon->entityData; - tile = GetMapTile_1(pos->x, pos->y); + entityData = pokemon->info; + tile = GetTile(pos->x, pos->y); if ((pos->x >= 0) && (pos->y >= 0) && (DUNGEON_MAX_SIZE_X > pos->x) && - (DUNGEON_MAX_SIZE_Y > pos->y && ((tile->tileType & TILE_TYPE_MAP_EDGE) == 0)) && - ((tile->pokemon == NULL) || ((GetEntityType(tile->pokemon) == ENTITY_POKEMON)))) { - if (IsFixedDungeon() || (entityData->transformStatus != TRANSFORM_STATUS_MOBILE && !HasItem(pokemon, ITEM_ID_MOBILE_SCARF))) { - crossableTerrain = GetCrossableTerrain(entityData->entityID); - tileFlags = tile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID); - if (HasIQSkill(pokemon, IQ_SKILL_ALL_TERRAIN_HIKER)) { + (DUNGEON_MAX_SIZE_Y > pos->y && ((tile->terrainType & TERRAIN_TYPE_IMPASSABLE_WALL) == 0)) && + ((tile->monster == NULL) || ((GetEntityType(tile->monster) == ENTITY_MONSTER)))) { + if (IsCurrentFixedRoomBossFight() || (entityData->transformStatus != STATUS_MOBILE && !HasHeldItem(pokemon, ITEM_MOBILE_SCARF))) { + crossableTerrain = GetCrossableTerrain(entityData->id); + tileFlags = tile->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY); + if (IQSkillIsEnabled(pokemon, IQ_ALL_TERRAIN_HIKER)) { crossableTerrain = CROSSABLE_TERRAIN_CREVICE; } - if (HasIQSkill(pokemon, IQ_SKILL_SUPER_MOBILE)) { + if (IQSkillIsEnabled(pokemon, IQ_SUPER_MOBILE)) { crossableTerrain = CROSSABLE_TERRAIN_WALL; } @@ -65,33 +65,33 @@ bool8 sub_80705F0(struct DungeonEntity *pokemon, struct Position *pos) return TRUE; } -bool8 sub_80706A4(struct DungeonEntity *pokemon, struct Position *pos) +bool8 sub_80706A4(struct Entity *pokemon, struct Position *pos) { s32 crossableTerrain; - struct MapTile *tile; + struct Tile *tile; u16 tileFlags; - struct DungeonEntityData *entityData; + struct EntityInfo *entityData; - entityData = pokemon->entityData; - tile = GetMapTile_1(pos->x, pos->y); + entityData = pokemon->info; + tile = GetTile(pos->x, pos->y); if ((pos->x >= 0) && (pos->y >= 0) && (DUNGEON_MAX_SIZE_X > pos->x) && - (DUNGEON_MAX_SIZE_Y > pos->y && ((tile->tileType & TILE_TYPE_MAP_EDGE) == 0)) && - ((tile->pokemon == NULL) || ((GetEntityType(tile->pokemon) == ENTITY_POKEMON) && (tile->pokemon->entityData == entityData)))) { - if (IsFixedDungeon() || (entityData->transformStatus != TRANSFORM_STATUS_MOBILE && !HasItem(pokemon, ITEM_ID_MOBILE_SCARF))) { - crossableTerrain = GetCrossableTerrain(entityData->entityID); - tileFlags = tile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID); - if (HasIQSkill(pokemon, IQ_SKILL_ALL_TERRAIN_HIKER)) { + (DUNGEON_MAX_SIZE_Y > pos->y && ((tile->terrainType & TERRAIN_TYPE_IMPASSABLE_WALL) == 0)) && + ((tile->monster == NULL) || ((GetEntityType(tile->monster) == ENTITY_MONSTER) && (tile->monster->info == entityData)))) { + if (IsCurrentFixedRoomBossFight() || (entityData->transformStatus != STATUS_MOBILE && !HasHeldItem(pokemon, ITEM_MOBILE_SCARF))) { + crossableTerrain = GetCrossableTerrain(entityData->id); + tileFlags = tile->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY); + if (IQSkillIsEnabled(pokemon, IQ_ALL_TERRAIN_HIKER)) { crossableTerrain = CROSSABLE_TERRAIN_CREVICE; } - if (HasIQSkill(pokemon, IQ_SKILL_SUPER_MOBILE)) { + if (IQSkillIsEnabled(pokemon, IQ_SUPER_MOBILE)) { crossableTerrain = CROSSABLE_TERRAIN_WALL; } switch(crossableTerrain) { case CROSSABLE_TERRAIN_LIQUID: - if(tileFlags == TILE_TYPE_LIQUID) return FALSE; + if(tileFlags == TERRAIN_TYPE_SECONDARY) return FALSE; case CROSSABLE_TERRAIN_REGULAR: - if(tileFlags == TILE_TYPE_FLOOR) return FALSE; + if(tileFlags == TERRAIN_TYPE_NORMAL) return FALSE; break; case CROSSABLE_TERRAIN_WALL: default: @@ -105,51 +105,51 @@ bool8 sub_80706A4(struct DungeonEntity *pokemon, struct Position *pos) return TRUE; } -s32 GetMovementSpeed(struct DungeonEntity *pokemon) +s32 GetSpeedStatus(struct Entity *pokemon) { s32 index; s32 speed; - struct DungeonEntityData * entityData; + struct EntityInfo * entityData; - entityData = pokemon->entityData; + entityData = pokemon->info; speed = 0; for(index = 0; index < NUM_SPEED_TURN_COUNTERS; index++) { - if (entityData->speedUpTurnsLeft[index + NUM_SPEED_TURN_COUNTERS] != 0) { + if (entityData->speedUpCounters[index + NUM_SPEED_TURN_COUNTERS] != 0) { speed--; } - if (entityData->speedUpTurnsLeft[index] != 0) { + if (entityData->speedUpCounters[index] != 0) { speed++; } } - if (entityData->nonVolatileStatus == NON_VOLATILE_STATUS_PARALYZED) { + if (entityData->nonVolatileStatus == STATUS_PARALYSIS) { speed--; } - speed += GetMoveSpeed(entityData->entityID); - if ((HasType(pokemon, TYPE_ICE)) && (GetWeather(pokemon) == WEATHER_SNOW)) { + speed += GetMovementSpeed(entityData->id); + if ((MonsterIsType(pokemon, TYPE_ICE)) && (GetApparentWeather(pokemon) == WEATHER_SNOW)) { speed++; } - if (entityData->transformSpecies == SPECIES_DEOXYS_SPEED) { + if (entityData->apparentID == MONSTER_DEOXYS_SPEED) { speed++; } - if ((entityData->entityID == SPECIES_KECLEON) && entityData->isEnemy && - gDungeonGlobalData->unk66E) { + if ((entityData->id == MONSTER_KECLEON) && entityData->isNotTeamMember && + gDungeon->unk66E) { speed++; } if (speed < 0) { speed = 0; } - if (MAX_MOVEMENT_SPEED < speed) { - speed = MAX_MOVEMENT_SPEED; + if (MAX_SPEED_STAGE < speed) { + speed = MAX_SPEED_STAGE; } - entityData->movementSpeed = speed; + entityData->speedStage = speed; return speed; } -u8 sub_8070828(struct DungeonEntity *pokemon, bool8 displayMessage) +u8 sub_8070828(struct Entity *pokemon, bool8 displayMessage) { bool8 flag; @@ -158,13 +158,13 @@ u8 sub_8070828(struct DungeonEntity *pokemon, bool8 displayMessage) return 0; } else { - if ((HasAbility(pokemon, ABILITY_SWIFT_SWIM)) && (GetWeather(pokemon) == WEATHER_RAIN)) { + if ((HasAbility(pokemon, ABILITY_SWIFT_SWIM)) && (GetApparentWeather(pokemon) == WEATHER_RAIN)) { flag = TRUE; } - if ((HasAbility(pokemon, ABILITY_CHLOROPHYLL)) && (GetWeather(pokemon) == WEATHER_SUNNY)) { + if ((HasAbility(pokemon, ABILITY_CHLOROPHYLL)) && (GetApparentWeather(pokemon) == WEATHER_SUNNY)) { flag = TRUE; } - if (displayMessage && SetVisualFlags(pokemon->entityData, 0x40, flag)) { + if (displayMessage && SetVisualFlags(pokemon->info, 0x40, flag)) { sub_80429B4(pokemon); SendMessage(pokemon, *gUnknown_80FEE80); } @@ -177,102 +177,102 @@ u8 sub_8070828(struct DungeonEntity *pokemon, bool8 displayMessage) } } -void SetMessageArgument_2(u8 *buffer, struct DungeonEntityData *param_2, s32 colorNum) +void SetMessageArgument_2(u8 *buffer, struct EntityInfo *param_2, s32 colorNum) { - if (((gDungeonGlobalData->displayBlinker || - gDungeonGlobalData->displayCrossEyed) || - (param_2->transformStatus == TRANSFORM_STATUS_INVISIBLE)) && - (param_2->isEnemy)) + if (((gDungeon->blinded || + gDungeon->hallucinating) || + (param_2->transformStatus == STATUS_INVISIBLE)) && + (param_2->isNotTeamMember)) { strcpy(buffer, *gUnknown_80F8988); } else { - if (param_2->waitingStatus == WAITING_STATUS_DECOY) { + if (param_2->waitingStatus == STATUS_DECOY) { strcpy(buffer, *gUnknown_80F8968); } else { - if (param_2->isEnemy) { - if ((param_2->joinLocation == 0x4A) || (param_2->clientType == CLIENT_TYPE_CLIENT)) { - CopyYellowSpeciesNametoBuffer(buffer, param_2->transformSpecies); + if (param_2->isNotTeamMember) { + if ((param_2->joinedAt == 0x4A) || (param_2->clientType == CLIENT_TYPE_CLIENT)) { + CopyYellowMonsterNametoBuffer(buffer, param_2->apparentID); } else - CopyCyanSpeciesNametoBuffer(buffer, param_2->transformSpecies); + CopyCyanMonsterNametoBuffer(buffer, param_2->apparentID); } else { - sub_808D9DC(buffer, &gRecruitedPokemonRef->pokemon2[param_2->partyIndex],colorNum); + sub_808D9DC(buffer, &gRecruitedPokemonRef->pokemon2[param_2->teamIndex],colorNum); } } } } -void sub_8070968(u8 *buffer, struct DungeonEntityData *entityData, s32 colorNum) +void sub_8070968(u8 *buffer, struct EntityInfo *entityData, s32 colorNum) { - if (entityData->waitingStatus == WAITING_STATUS_DECOY) { - sprintf_2(buffer, gUnknown_8106FA4, colorNum + 0x30, *gUnknown_80F8974); + if (entityData->waitingStatus == STATUS_DECOY) { + sprintfStatic(buffer, gUnknown_8106FA4, colorNum + 0x30, *gUnknown_80F8974); } - else if (entityData->isEnemy) { - CopyCyanSpeciesNametoBuffer(buffer, entityData->transformSpecies); + else if (entityData->isNotTeamMember) { + CopyCyanMonsterNametoBuffer(buffer, entityData->apparentID); } else { - sub_808D9DC(buffer, &gRecruitedPokemonRef->pokemon2[entityData->partyIndex], colorNum); + sub_808D9DC(buffer, &gRecruitedPokemonRef->pokemon2[entityData->teamIndex], colorNum); } } -void sub_80709C8(u8 *buffer, struct DungeonEntityData *entityData) +void sub_80709C8(u8 *buffer, struct EntityInfo *entityData) { - if (((gDungeonGlobalData->displayBlinker || - gDungeonGlobalData->displayCrossEyed) || - (entityData->transformStatus == TRANSFORM_STATUS_INVISIBLE)) && - (entityData->isEnemy)) + if (((gDungeon->blinded || + gDungeon->hallucinating) || + (entityData->transformStatus == STATUS_INVISIBLE)) && + (entityData->isNotTeamMember)) { strcpy(buffer, *gUnknown_80F8994); } else { - if (entityData->waitingStatus == WAITING_STATUS_DECOY) { + if (entityData->waitingStatus == STATUS_DECOY) { strcpy(buffer, *gUnknown_80F8974); } else { - if (entityData->isEnemy) { - CopySpeciesNametoBuffer(buffer, entityData->transformSpecies); + if (entityData->isNotTeamMember) { + CopyMonsterNametoBuffer(buffer, entityData->apparentID); } else { - sub_808DA0C(buffer, &gRecruitedPokemonRef->pokemon2[entityData->partyIndex]); + sub_808DA0C(buffer, &gRecruitedPokemonRef->pokemon2[entityData->teamIndex]); } } } } -bool8 HasNegativeStatus(struct DungeonEntity *pokemon) +bool8 HasNegativeStatus(struct Entity *pokemon) { - struct DungeonEntityData *pokemonData = pokemon->entityData; + struct EntityInfo *pokemonInfo = pokemon->info; s32 i; - if (pokemonData->sleepStatus == SLEEP_STATUS_SLEEP || - pokemonData->sleepStatus == SLEEP_STATUS_NIGHTMARE || - pokemonData->sleepStatus == SLEEP_STATUS_YAWNING || - pokemonData->nonVolatileStatus != NON_VOLATILE_STATUS_NONE || - (pokemonData->immobilizeStatus != IMMOBILIZE_STATUS_INGRAIN && pokemonData->immobilizeStatus != IMMOBILIZE_STATUS_NONE) || - pokemonData->volatileStatus != VOLATILE_STATUS_NONE || - pokemonData->waitingStatus == WAITING_STATUS_CURSED || - pokemonData->waitingStatus == WAITING_STATUS_DECOY || - pokemonData->linkedStatus == LINKED_STATUS_LEECH_SEED || - pokemonData->moveStatus == MOVE_STATUS_WHIFFER || - pokemonData->eyesightStatus == EYESIGHT_STATUS_BLINKER || - pokemonData->eyesightStatus == EYESIGHT_STATUS_CROSS_EYED || - pokemonData->muzzledStatus == MUZZLED_STATUS_MUZZLED || - pokemonData->exposedStatus || - pokemonData->perishSongTimer != 0) + if (pokemonInfo->sleep == STATUS_SLEEP || + pokemonInfo->sleep == STATUS_NIGHTMARE || + pokemonInfo->sleep == STATUS_YAWNING || + pokemonInfo->nonVolatileStatus != STATUS_NONE || + (pokemonInfo->immobilizeStatus != STATUS_INGRAIN && pokemonInfo->immobilizeStatus != STATUS_NONE) || + pokemonInfo->volatileStatus != STATUS_NONE || + pokemonInfo->waitingStatus == STATUS_CURSED || + pokemonInfo->waitingStatus == STATUS_DECOY || + pokemonInfo->linkedStatus == STATUS_LEECH_SEED || + pokemonInfo->moveStatus == STATUS_WHIFFER || + pokemonInfo->eyesightStatus == STATUS_BLINKER || + pokemonInfo->eyesightStatus == STATUS_CROSS_EYED || + pokemonInfo->muzzled == TRUE || + pokemonInfo->exposed || + pokemonInfo->perishSongTurns != 0) { return TRUE; } for (i = 0; i < MAX_MON_MOVES; i++) { - struct PokemonMove *moves = pokemonData->moves; + struct Move *moves = pokemonInfo->moves; if (moves[i].moveFlags & MOVE_FLAG_EXISTS && moves[i].moveFlags2 & MOVE_FLAG_SEALED) { return TRUE; @@ -280,7 +280,7 @@ bool8 HasNegativeStatus(struct DungeonEntity *pokemon) } for (i = 0; i < NUM_SPEED_TURN_COUNTERS; i++) { - if (pokemonData->slowTurnsLeft[i] != 0) + if (pokemonInfo->speedDownCounters[i] != 0) { return TRUE; } @@ -288,27 +288,27 @@ bool8 HasNegativeStatus(struct DungeonEntity *pokemon) return FALSE; } -bool8 IsSleeping(struct DungeonEntity *pokemon) +bool8 IsSleeping(struct Entity *pokemon) { - if (pokemon->entityData->sleepStatus != SLEEP_STATUS_SLEEP && - pokemon->entityData->sleepStatus != SLEEP_STATUS_NAPPING && - pokemon->entityData->sleepStatus != SLEEP_STATUS_NIGHTMARE) + if (pokemon->info->sleep != STATUS_SLEEP && + pokemon->info->sleep != STATUS_NAPPING && + pokemon->info->sleep != STATUS_NIGHTMARE) { return FALSE; } return TRUE; } -bool8 HasQuarterHPOrLess(struct DungeonEntity *pokemon) +bool8 HasLowHealth(struct Entity *pokemon) { - struct DungeonEntityData *pokemonData = pokemon->entityData; - struct DungeonEntityData *pokemonData2 = pokemon->entityData; - s32 maxHP = pokemonData->maxHP; - if (maxHP < 0) + struct EntityInfo *pokemonInfo = pokemon->info; + struct EntityInfo *pokemonInfo2 = pokemon->info; + s32 maxHPStat = pokemonInfo->maxHPStat; + if (maxHPStat < 0) { - maxHP += 3; + maxHPStat += 3; } - if (pokemonData2->HP <= maxHP >> 2) + if (pokemonInfo2->HP <= maxHPStat >> 2) { return TRUE; } diff --git a/src/targeting.c b/src/targeting.c index b77fb35c9..9971978ae 100644 --- a/src/targeting.c +++ b/src/targeting.c @@ -3,9 +3,9 @@ #include "dungeon_util.h" -void TargetTileInFront(struct DungeonEntity *pokemon) +void TargetTileInFront(struct Entity *pokemon) { - struct DungeonEntityData *pokemonData = pokemon->entityData; - pokemonData->targetPosition.x = pokemon->posWorld.x + gAdjacentTileOffsets[pokemonData->action.facingDir].x; - pokemonData->targetPosition.y = pokemon->posWorld.y + gAdjacentTileOffsets[pokemonData->action.facingDir].y; + struct EntityInfo *pokemonInfo = pokemon->info; + pokemonInfo->targetPos.x = pokemon->pos.x + gAdjacentTileOffsets[pokemonInfo->action.direction].x; + pokemonInfo->targetPos.y = pokemon->pos.y + gAdjacentTileOffsets[pokemonInfo->action.direction].y; } diff --git a/src/targeting_flags.c b/src/targeting_flags.c index bc6010b40..2594c9383 100644 --- a/src/targeting_flags.c +++ b/src/targeting_flags.c @@ -6,11 +6,11 @@ #include "dungeon_pokemon_attributes.h" #include "moves.h" -s16 GetMoveTargetingFlagsForPokemon(struct DungeonEntity *pokemon, struct PokemonMove *move, bool32 isAI) +s16 GetMoveTargetAndRangeForPokemon(struct Entity *pokemon, struct Move *move, bool32 isAI) { - if (move->moveID == MOVE_CURSE && !isAI && !HasType(pokemon, TYPE_GHOST)) + if (move->id == MOVE_CURSE && !isAI && !MonsterIsType(pokemon, TYPE_GHOST)) { return TARGETING_FLAG_BOOST_SELF | TARGETING_FLAG_TARGET_SELF; } - return GetMoveTargetingFlags(move, isAI); + return GetMoveTargetAndRange(move, isAI); } diff --git a/src/thank_you_wonder_mail.c b/src/thank_you_wonder_mail.c index 0a2ae19b4..2cb6fe1b0 100644 --- a/src/thank_you_wonder_mail.c +++ b/src/thank_you_wonder_mail.c @@ -42,7 +42,7 @@ extern struct WonderMailStruct_203B2C4 *gUnknown_203B2C4; #define PROCESS_THANK_YOU_PASSWORD 0x27 #define THANK_YOU_PASSWORD_WRONG 0x28 -const struct ItemSlot gUnknown_80DED44 = +const struct Item gUnknown_80DED44 = { 1, 0, 0 }; @@ -244,7 +244,7 @@ extern void sub_803092C(void); extern void sub_8035CF4(u32 *, u32, u32); extern u32 sub_801CA08(u32); extern void sub_801CBB8(void); -extern void sub_801B3C0(struct ItemSlot *); +extern void sub_801B3C0(struct Item *); extern u8 sub_801CB24(void); extern void sub_801B450(void); extern u32 sub_801B410(void); @@ -269,10 +269,10 @@ u32 CreateThankYouMailPelipper(void) gUnknown_203B2C4 = MemoryAlloc(sizeof(struct WonderMailStruct_203B2C4), 8); MemoryFill8((u8 *)gUnknown_203B2C4, 0, sizeof(struct WonderMailStruct_203B2C4)); - CopyYellowSpeciesNametoBuffer(gUnknown_202E5D8, SPECIES_PELIPPER); - monName = GetMonSpecies(SPECIES_PELIPPER); + CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_PELIPPER); + monName = GetMonSpecies(MONSTER_PELIPPER); strcpy(gAvailablePokemonNames, monName); - faceFile = GetDialogueSpriteDataPtr(SPECIES_PELIPPER); + faceFile = GetDialogueSpriteDataPtr(MONSTER_PELIPPER); gUnknown_203B2C4->faceFile = faceFile; gUnknown_203B2C4->faceData = faceFile->data; @@ -509,10 +509,10 @@ void DisplayThankYouMailCommsOutcome(void) if (sub_80144A4(&auStack20) != 0) { return; } - MemoryFill8((u8 *)&gUnknown_203B2C4->unk41C, 0, sizeof(struct ItemSlot)); - gUnknown_203B2C4->unk41C.itemIndex = 0; - gUnknown_203B2C4->unk41C.numItems = 1; - gUnknown_203B2C4->unk41C.itemFlags = 0; + MemoryFill8((u8 *)&gUnknown_203B2C4->unk41C, 0, sizeof(struct Item)); + gUnknown_203B2C4->unk41C.id = 0; + gUnknown_203B2C4->unk41C.quantity = 1; + gUnknown_203B2C4->unk41C.flags = 0; if (gUnknown_203B2C4->linkError == 0) { switch(gUnknown_203B2C4->unk40) { @@ -678,9 +678,9 @@ void sub_802A230(void) void sub_802A28C(void) { - gUnknown_203B2C4->unk41C.itemIndex = 0; - gUnknown_203B2C4->unk41C.numItems = 1; - gUnknown_203B2C4->unk41C.itemFlags = 0; + gUnknown_203B2C4->unk41C.id = 0; + gUnknown_203B2C4->unk41C.quantity = 1; + gUnknown_203B2C4->unk41C.flags = 0; switch(sub_801CA08(1)) { @@ -689,12 +689,12 @@ void sub_802A28C(void) SetThankYouMailMenuState(ANYTHING_ELSE_THANK_YOU_MAIN_MENU); break; case 3: - gUnknown_203B2C4->unk41C.itemIndex = sub_801CB24(); + gUnknown_203B2C4->unk41C.id = sub_801CB24(); SetThankYouMailMenuState(0x14); break; case 4: gUnknown_203B2C4->fallbackState = 0x13; - gUnknown_203B2C4->unk41C.itemIndex = sub_801CB24(); + gUnknown_203B2C4->unk41C.id = sub_801CB24(); sub_8006518(gUnknown_203B2C4->unk3BC); ResetUnusedInputStruct(); sub_800641C(0,1,1); @@ -796,7 +796,7 @@ void sub_802A4AC(void) { SetThankYouMailMenuState(0x18); sub_8011C28(1); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); } } @@ -905,7 +905,7 @@ void sub_802A6F0(void) if (sub_80144A4(&temp) == 0) { SetThankYouMailMenuState(0x18); sub_8011C28(1); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); } } @@ -916,7 +916,7 @@ void sub_802A718(void) if (sub_80144A4(&temp) == 0) { SetThankYouMailMenuState(0x25); sub_8011C28(1); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); } } @@ -960,11 +960,11 @@ void HandleConfirmItemtoSendMenu(void) { case 7: return_var = sub_8095228(gUnknown_203B2C4->unk218); - if(gUnknown_203B2C4->unk41C.itemIndex != 0) + if(gUnknown_203B2C4->unk41C.id != 0) { return_var->unk20 = gUnknown_203B2C4->unk41C; } - gTeamInventory_203B460->teamStorage[gUnknown_203B2C4->unk41C.itemIndex]--; + gTeamInventory_203B460->teamStorage[gUnknown_203B2C4->unk41C.id]--; SetThankYouMailMenuState(0x29); break; case 8: @@ -984,7 +984,7 @@ void sub_802A828(void) { SetThankYouMailMenuState(0x2A); sub_8011C28(1); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); } } @@ -1149,7 +1149,7 @@ void HandleMailCommunicationMenu(void) { case WONDER_MAIL_MODE_SEND: return_var = sub_8095228(sub_80953D4(5)); - if(return_var->unk20.itemIndex != 0) + if(return_var->unk20.id != 0) { SetThankYouMailMenuState(ITEM_EXISTS_ON_THANK_YOU_MAIL); } @@ -1252,8 +1252,8 @@ void sub_802AB98(void) { case 3: sub_802F2C0(); - CopyYellowSpeciesNametoBuffer(gUnknown_202E5D8, SPECIES_PELIPPER); - monName = GetMonSpecies(SPECIES_PELIPPER); + CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_PELIPPER); + monName = GetMonSpecies(MONSTER_PELIPPER); strcpy(gAvailablePokemonNames, monName); sub_8095240(sub_809539C(6, gUnknown_203B2C4->unk430)); SetThankYouMailMenuState(0x24); @@ -1283,7 +1283,7 @@ void UpdateThankYouMailText(void) case 5: pokeStruct = GetPlayerPokemonStruct(); sub_80922B4(auStack180,pokeStruct->name, POKEMON_NAME_LENGTH); - sprintf_2(gUnknown_203B2C4->formattedString,gUnknown_80DF250,auStack180); + sprintfStatic(gUnknown_203B2C4->formattedString,gUnknown_80DF250,auStack180); sub_80141B4(gUnknown_203B2C4->formattedString,0,&gUnknown_203B2C4->faceFile,0x10d); break; case 0xe: @@ -1407,19 +1407,19 @@ void UpdateThankYouMailText(void) } break; case 0x22: - monName = GetMonSpecies(SPECIES_PELIPPER); + monName = GetMonSpecies(MONSTER_PELIPPER); strcpy(gUnknown_203B2C4->unk53C.clientName,monName); // 0x53C - gUnknown_203B2C4->unk53C.unk14 = SPECIES_PELIPPER; // 0x550 + gUnknown_203B2C4->unk53C.unk14 = MONSTER_PELIPPER; // 0x550 gUnknown_203B2C4->unk53C.unk16 = 2; // 0x552 gUnknown_203B2C4->unk53C.moneyReward = 0; // 0x554 uVar2 = sub_809539C(6,gUnknown_203B2C4->unk430); puVar4 = sub_8095228(uVar2); - cVar1 = puVar4->unk20.itemIndex; + cVar1 = puVar4->unk20.id; if (cVar1 != '\0') gUnknown_203B2C4->unk53C.itemRewards[0] = cVar1; // unk558 else gUnknown_203B2C4->unk53C.itemRewards[0] = 0; // unk558 - gUnknown_203B2C4->unk53C.numItems = 1; // unk55B + gUnknown_203B2C4->unk53C.quantity = 1; // unk55B gUnknown_203B2C4->unk53C.teamRankPtsReward = GetDungeonTeamRankPts(&puVar4->dungeon, 0); // unk560 gUnknown_203B2C4->unk53C.itemRewards[1] = 0; // unk559 gUnknown_203B2C4->unk53C.itemRewards[2] = 0; // unk55A @@ -1442,7 +1442,7 @@ void UpdateThankYouMailText(void) case THANK_YOU_MAIL_COMMS_CLEANUP: pokeStruct2 = GetPlayerPokemonStruct(); sub_80922B4(auStack100, pokeStruct2->name, POKEMON_NAME_LENGTH); - sprintf_2(gUnknown_203B2C4->formattedString,gUnknown_80DF63C,auStack100); + sprintfStatic(gUnknown_203B2C4->formattedString,gUnknown_80DF63C,auStack100); sub_80141B4(gUnknown_203B2C4->formattedString,0,&gUnknown_203B2C4->faceFile,0x10d); break; case CONFIRM_ITEM_TO_SEND: diff --git a/src/tile_types.c b/src/tile_types.c index cfeafce55..1063cd805 100644 --- a/src/tile_types.c +++ b/src/tile_types.c @@ -87,31 +87,31 @@ const u8 gDungeonWaterType[] = { extern void sub_80498A8(s32, s32); extern void sub_80402AC(s32, s32); extern void sub_8049BB0(s32, s32); -extern u32 sub_806CF98(struct DungeonEntity *); +extern u32 sub_806CF98(struct Entity *); void sub_8042A14(struct Position *); extern void sub_8049ED4(void); bool8 sub_804ACE4(struct Position *pos) { - struct MapTile *tile; - struct DungeonEntity *entity; + struct Tile *tile; + struct Entity *entity; - tile = GetMapTile_1(pos->x,pos->y); - entity = tile->mapObject; + tile = GetTile(pos->x,pos->y); + entity = tile->object; if ((entity != NULL) && (GetEntityType(entity) == ENTITY_ITEM)) { return TRUE; } return FALSE; } -struct DungeonEntity *sub_804AD0C(struct Position *pos) +struct Entity *sub_804AD0C(struct Position *pos) { - struct MapTile *tile; - struct DungeonEntity *entity; + struct Tile *tile; + struct Entity *entity; - tile = GetMapTile_1(pos->x,pos->y); - entity = tile->pokemon; - if ((entity != NULL) && (entity->entityType == ENTITY_POKEMON)) { + tile = GetTile(pos->x,pos->y); + entity = tile->monster; + if ((entity != NULL) && (entity->type == ENTITY_MONSTER)) { return entity; } return NULL; @@ -119,19 +119,19 @@ struct DungeonEntity *sub_804AD0C(struct Position *pos) bool8 sub_804AD34(struct Position *pos) { - struct MapTile *tile; + struct Tile *tile; s32 x; - struct DungeonEntity * entity; + struct Entity * entity; s32 y; bool8 iVar8; s32 index; iVar8 = 0; - tile = GetMapTile_2(pos->x,pos->y); - if (!(tile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID))) - if(!(tile->tileType & (TILE_TYPE_UNK_8 | TILE_TYPE_MAP_EDGE))){ + tile = GetTileSafe(pos->x,pos->y); + if (!(tile->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY))) + if(!(tile->terrainType & (TERRAIN_TYPE_UNK_8 | TERRAIN_TYPE_IMPASSABLE_WALL))){ iVar8 = 1; - tile->tileType = (tile->tileType & ~(TILE_TYPE_LIQUID | TILE_TYPE_FLOOR)) | TILE_TYPE_FLOOR; + tile->terrainType = (tile->terrainType & ~(TERRAIN_TYPE_SECONDARY | TERRAIN_TYPE_NORMAL)) | TERRAIN_TYPE_NORMAL; for(y = -1; y < 2; y++) { @@ -146,7 +146,7 @@ bool8 sub_804AD34(struct Position *pos) if (iVar8 != 0) { for(index = 0; index < DUNGEON_MAX_POKEMON; index++) { - entity = gDungeonGlobalData->allPokemon[index]; + entity = gDungeon->allPokemon[index]; if (EntityExists(entity)) { sub_806CF98(entity); } @@ -159,18 +159,18 @@ bool8 sub_804AD34(struct Position *pos) bool8 sub_804AE08(struct Position *pos) { - struct MapTile *tile; + struct Tile *tile; s32 x; s32 y; bool8 uVar6; uVar6 = FALSE; - tile = GetMapTile_2(pos->x,pos->y); + tile = GetTileSafe(pos->x,pos->y); - if (!(tile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID))) - if(!(tile->tileType & (TILE_TYPE_UNK_8 | TILE_TYPE_MAP_EDGE))) { + if (!(tile->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY))) + if(!(tile->terrainType & (TERRAIN_TYPE_UNK_8 | TERRAIN_TYPE_IMPASSABLE_WALL))) { uVar6 = TRUE; - tile->tileType = (tile->tileType & ~(TILE_TYPE_LIQUID | TILE_TYPE_FLOOR)) | TILE_TYPE_FLOOR; + tile->terrainType = (tile->terrainType & ~(TERRAIN_TYPE_SECONDARY | TERRAIN_TYPE_NORMAL)) | TERRAIN_TYPE_NORMAL; tile->unk4 = tile->unk4 | 0x10; for(y = -1; y < 2; y++) @@ -186,13 +186,13 @@ bool8 sub_804AE08(struct Position *pos) void sub_804AE84(struct Position *pos) { - struct MapTile *tile; + struct Tile *tile; s32 x; - struct DungeonEntity * entity; + struct Entity * entity; s32 index; s32 y; - tile = GetMapTile_2(pos->x,pos->y); + tile = GetTileSafe(pos->x,pos->y); if ((tile->unk4 & 0x10) != 0) { tile->unk4 = tile->unk4 & 0xffef; @@ -207,7 +207,7 @@ void sub_804AE84(struct Position *pos) for(index = 0; index < DUNGEON_MAX_POKEMON; index++) { - entity = gDungeonGlobalData->allPokemon[index]; + entity = gDungeon->allPokemon[index]; if (EntityExists(entity)) { sub_806CF98(entity); } @@ -217,18 +217,18 @@ void sub_804AE84(struct Position *pos) } } -bool8 IsTileGround(struct MapTile* tile) +bool8 IsTileGround(struct Tile* tile) { bool8 isGround = FALSE; if (IsWaterTileset()) { - if (!(tile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID))) + if (!(tile->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY))) { isGround = TRUE; } } - else if ((tile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID)) != TILE_TYPE_LIQUID || - gDungeonWaterType[gDungeonGlobalData->tileset] == DUNGEON_WATER_TYPE_LAVA) + else if ((tile->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY)) != TERRAIN_TYPE_SECONDARY || + gDungeonWaterType[gDungeon->tileset] == DUNGEON_WATER_TYPE_LAVA) { isGround = TRUE; } @@ -237,11 +237,11 @@ bool8 IsTileGround(struct MapTile* tile) bool8 IsWaterTileset() { - if (gDungeonGlobalData->tileset == 0 || - gDungeonGlobalData->tileset == 0x31 || - gDungeonGlobalData->tileset == 0x20 || - gDungeonGlobalData->tileset == 0x21 || - gDungeonGlobalData->tileset == 0x36) + if (gDungeon->tileset == 0 || + gDungeon->tileset == 0x31 || + gDungeon->tileset == 0x20 || + gDungeon->tileset == 0x21 || + gDungeon->tileset == 0x36) { return TRUE; } diff --git a/src/trade_items_menu.c b/src/trade_items_menu.c index fdc386363..16b137608 100644 --- a/src/trade_items_menu.c +++ b/src/trade_items_menu.c @@ -43,7 +43,7 @@ extern s32 sub_80144A4(s32 *); extern u32 sub_801CA08(u32); extern void sub_801CBB8(); extern u8 sub_801CB24(); -extern void sub_801B3C0(struct ItemSlot *); +extern void sub_801B3C0(struct Item *); extern u8 sub_8012FD8(u32 *); extern void sub_8013114(u32 *, s32 *); extern void sub_8035CC0(struct UnkTextStruct2 *, u32); @@ -225,9 +225,9 @@ void sub_8036590(void) void sub_80365AC(void) { - gTradeItemsMenu->itemToSend.itemIndex = 0; - gTradeItemsMenu->itemToSend.numItems = 1; - gTradeItemsMenu->itemToSend.itemFlags = 0; + gTradeItemsMenu->itemToSend.id = 0; + gTradeItemsMenu->itemToSend.quantity = 1; + gTradeItemsMenu->itemToSend.flags = 0; switch(sub_801CA08(1)){ case 2: // Cancel @@ -236,14 +236,14 @@ void sub_80365AC(void) break; case 3: // Pop up menu with Confirm, Info, Cancel - gTradeItemsMenu->itemToSend.itemIndex = sub_801CB24(); - gTradeItemsMenu->itemToSend.numItems = 1; + gTradeItemsMenu->itemToSend.id = sub_801CB24(); + gTradeItemsMenu->itemToSend.quantity = 1; SetTradeItemMenu(TRADE_ITEMS_SEND_ITEM_POPUP_MENU); break; case 4: gTradeItemsMenu->unk4 = 2; - gTradeItemsMenu->itemToSend.itemIndex = sub_801CB24(); - gTradeItemsMenu->itemToSend.numItems = 1; + gTradeItemsMenu->itemToSend.id = sub_801CB24(); + gTradeItemsMenu->itemToSend.quantity = 1; sub_8006518(gTradeItemsMenu->unk1E4); ResetUnusedInputStruct(); sub_800641C(0,1,1); @@ -311,7 +311,7 @@ void sub_8036788(void) { sub_8012FD8(&gTradeItemsMenu->unk134); sub_801CA08(0); - switch(sub_8013BBC(&gTradeItemsMenu->numItemsToSend)){ + switch(sub_8013BBC(&gTradeItemsMenu->quantityToSend)){ case 1: // When you change the # sub_801CCD8(); @@ -327,9 +327,9 @@ void sub_8036788(void) break; case 3: // Confirm # of item - gTradeItemsMenu->itemToSend.numItems = gTradeItemsMenu->numItemsToSend; - gTradeItemsMenu->sentItem.itemIdx.itemIndex = gTradeItemsMenu->itemToSend.itemIndex; - gTradeItemsMenu->sentItem.numItems = gTradeItemsMenu->numItemsToSend; + gTradeItemsMenu->itemToSend.quantity = gTradeItemsMenu->quantityToSend; + gTradeItemsMenu->sentItem.itemIdx.id = gTradeItemsMenu->itemToSend.id; + gTradeItemsMenu->sentItem.quantity = gTradeItemsMenu->quantityToSend; sub_801CBB8(); SetTradeItemMenu(TRADE_ITEMS_SEND_ITEM_CONFIRM); break; @@ -349,11 +349,11 @@ void TradeItem_SendItemConfirm(void) case 5: sub_801CBB8(); // Used temp var to get correct statements - load = gTeamInventory_203B460->teamStorage[gTradeItemsMenu->itemToSend.itemIndex]; - load -= gTradeItemsMenu->numItemsToSend; - gTeamInventory_203B460->teamStorage[gTradeItemsMenu->itemToSend.itemIndex] = load; + load = gTeamInventory_203B460->teamStorage[gTradeItemsMenu->itemToSend.id]; + load -= gTradeItemsMenu->quantityToSend; + gTeamInventory_203B460->teamStorage[gTradeItemsMenu->itemToSend.id] = load; SetTradeItemMenu(TRADE_ITEMS_PREPARE_TRADE_SAVING); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); break; case 6: case 0: @@ -391,11 +391,11 @@ void sub_80368D4(void) break; case 7: case 0: - if ((gTradeItemsMenu->sentItem.itemIdx.itemIndex != 0) && (gTradeItemsMenu->sentItem.numItems != 0)) + if ((gTradeItemsMenu->sentItem.itemIdx.id != 0) && (gTradeItemsMenu->sentItem.quantity != 0)) { TradeItem_AddItem(); SetTradeItemMenu(0x11); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); } break; } @@ -429,12 +429,12 @@ void sub_8036950(void) } } else { - if (((gTradeItemsMenu->itemMode == TRADE_ITEMS_SEND_ITEM_MODE) && (gTradeItemsMenu->sentItem.itemIdx.itemIndex != 0)) - && (gTradeItemsMenu->sentItem.numItems != 0)) { + if (((gTradeItemsMenu->itemMode == TRADE_ITEMS_SEND_ITEM_MODE) && (gTradeItemsMenu->sentItem.itemIdx.id != 0)) + && (gTradeItemsMenu->sentItem.quantity != 0)) { // Link Failure TradeItem_AddItem(); // Add back the item SetTradeItemMenu(0xb); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); } else { PrintTradeItemsLinkError(gTradeItemsMenu->linkStatus); @@ -448,9 +448,9 @@ void TradeItem_AddItem(void) { // Use temp var to get correct statements u16 load; - load = gTeamInventory_203B460->teamStorage[gTradeItemsMenu->sentItem.itemIdx.itemIndex]; - load += gTradeItemsMenu->sentItem.numItems; - gTeamInventory_203B460->teamStorage[gTradeItemsMenu->sentItem.itemIdx.itemIndex] = load; + load = gTeamInventory_203B460->teamStorage[gTradeItemsMenu->sentItem.itemIdx.id]; + load += gTradeItemsMenu->sentItem.quantity; + gTeamInventory_203B460->teamStorage[gTradeItemsMenu->sentItem.itemIdx.id] = load; } void sub_80369FC(void) @@ -478,7 +478,7 @@ void sub_8036A34(void) if(sub_80144A4(&temp) == 0) { SetTradeItemMenu(0x10); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); } } @@ -589,8 +589,8 @@ void sub_8036B28(void) sub_8036F74(); break; case 6: - gUnknown_202DE30 = gTradeItemsMenu->numItemsToSend; - sub_8090DC4(&gUnknown_202DE58,gTradeItemsMenu->itemToSend.itemIndex,0); + gUnknown_202DE30 = gTradeItemsMenu->quantityToSend; + sub_8090DC4(&gUnknown_202DE58,gTradeItemsMenu->itemToSend.id,0); sub_8014248(&gUnknown_80E61E4,0,5, &gUnknown_80E6154,0,4,0,0,0x101); break; case 7: @@ -611,12 +611,12 @@ void sub_8036B28(void) // and mov r3, 0 temp = &gTradeItemsMenu->unk244; - temp->itemIdx.itemIndex_u32 = 0; - temp->numItems = 0; + temp->itemIdx.id_u32 = 0; + temp->quantity = 0; temp = &gTradeItemsMenu->unk24C; - temp->itemIdx.itemIndex_u32 = 0; - temp->numItems = 0; + temp->itemIdx.id_u32 = 0; + temp->quantity = 0; // Regs are fixed back up after sub_8011830(); @@ -628,9 +628,9 @@ void sub_8036B28(void) case TRADE_ITEMS_SEND_ITEM_MODE: temp = &gTradeItemsMenu->unk244; temp2 = &gTradeItemsMenu->sentItem; - load_2 = temp2->numItems; - temp->itemIdx.itemIndex_u32 = temp2->itemIdx.itemIndex_u32; - temp->numItems = load_2; + load_2 = temp2->quantity; + temp->itemIdx.id_u32 = temp2->itemIdx.id_u32; + temp->quantity = load_2; case TRADE_ITEMS_RECEIVE_ITEM_MODE: gTradeItemsMenu->linkStatus = sub_8037D64(gTradeItemsMenu->itemMode,&gTradeItemsMenu->unk244,&gTradeItemsMenu->unk24C); default: @@ -644,21 +644,21 @@ void sub_8036B28(void) xxx_call_start_bg_music(); break; case 0xe: - if (gTradeItemsMenu->unk24C.numItems == 0) { - gUnknown_202DE30 = gTradeItemsMenu->unk244.numItems; + if (gTradeItemsMenu->unk24C.quantity == 0) { + gUnknown_202DE30 = gTradeItemsMenu->unk244.quantity; // Cast is needed - sub_8090DC4(&gUnknown_202DE58,(u8)gTradeItemsMenu->unk244.itemIdx.itemIndex,0); + sub_8090DC4(&gUnknown_202DE58,(u8)gTradeItemsMenu->unk244.itemIdx.id,0); } else { - gUnknown_202DE30 = gTradeItemsMenu->unk24C.numItems; + gUnknown_202DE30 = gTradeItemsMenu->unk24C.quantity; // Cast is needed - sub_8090DC4(&gUnknown_202DE58,(u8)gTradeItemsMenu->unk24C.itemIdx.itemIndex,0); + sub_8090DC4(&gUnknown_202DE58,(u8)gTradeItemsMenu->unk24C.itemIdx.id,0); } sub_80141B4(&gUnknown_80E6314,0,0,0x101); break; case 0xd: - gUnknown_202DE30 = gTradeItemsMenu->numItemsToSend; - sub_8090DC4(&gUnknown_202DE58,gTradeItemsMenu->itemToSend.itemIndex,0); + gUnknown_202DE30 = gTradeItemsMenu->quantityToSend; + sub_8090DC4(&gUnknown_202DE58,gTradeItemsMenu->itemToSend.id,0); sub_80141B4(&gUnknown_80E6358,0,0,0x101); break; case 0xB: @@ -1056,7 +1056,7 @@ void sub_8036ECC(u32 index, u32 r1) gTradeItemsMenu->unk34 = 0x12; gTradeItemsMenu->unk28 = index; gTradeItemsMenu->unk2C = &gTradeItemsMenu->unk184[index]; - sub_8013AA0(&gTradeItemsMenu->numItemsToSend); + sub_8013AA0(&gTradeItemsMenu->quantityToSend); gTradeItemsMenu->unk184[index] = gUnknown_80E6174; ResetUnusedInputStruct(); sub_800641C(gTradeItemsMenu->unk184, 1, 1); @@ -1071,14 +1071,14 @@ void sub_8036F30(void) sub_80073B8(uVar1); // Draw "How many?" xxx_call_draw_string(2, 0, &gTradeItemsHowManyText, uVar1, 0); - sub_8013C68(&gTradeItemsMenu->numItemsToSend); + sub_8013C68(&gTradeItemsMenu->quantityToSend); sub_80073E0(uVar1); } void sub_8036F74(void) { sub_8006518(gTradeItemsMenu->unk184); - sub_8036ECC(2, gTeamInventory_203B460->teamStorage[gTradeItemsMenu->itemToSend.itemIndex]); + sub_8036ECC(2, gTeamInventory_203B460->teamStorage[gTradeItemsMenu->itemToSend.id]); sub_801CCD8(); sub_8035CF4(&gTradeItemsMenu->unk44, 3, 0); sub_8036F30(); diff --git a/src/trap.c b/src/trap.c index e0547068d..3a5592c39 100644 --- a/src/trap.c +++ b/src/trap.c @@ -7,19 +7,19 @@ bool8 CanLayTrap(struct Position *pos) { - struct MapTile *tile = GetMapTile_2(pos->x, pos->y); - if (tile->tileType & TILE_TYPE_STAIRS || - tile->roomIndex == CORRIDOR_ROOM_INDEX || - tile->tileType & TILE_TYPE_ROOM_EXIT) + struct Tile *tile = GetTileSafe(pos->x, pos->y); + if (tile->terrainType & TERRAIN_TYPE_STAIRS || + tile->room == CORRIDOR_ROOM || + tile->terrainType & TERRAIN_TYPE_NATURAL_JUNCTION) { return FALSE; } - if (tile->tileType & TILE_TYPE_SHOP) + if (tile->terrainType & TERRAIN_TYPE_SHOP) { return FALSE; } - if ((tile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID)) != TILE_TYPE_FLOOR || - (tile->mapObject != NULL && GetEntityType(tile->mapObject) != ENTITY_TRAP)) + if ((tile->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY)) != TERRAIN_TYPE_NORMAL || + (tile->object != NULL && GetEntityType(tile->object) != ENTITY_TRAP)) { return FALSE; } diff --git a/src/type_effectiveness.c b/src/type_effectiveness.c index 8a9ee0465..1d50e266b 100644 --- a/src/type_effectiveness.c +++ b/src/type_effectiveness.c @@ -13,12 +13,12 @@ u32 gTypeEffectivenessMultipliers[] = {0, 1, 2, 4}; -s32 WeightWeakTypePicker(struct DungeonEntity *user, struct DungeonEntity *target, u8 moveType) +s32 WeightWeakTypePicker(struct Entity *user, struct Entity *target, u8 moveType) { s32 weight = 1; bool8 checkExposed = FALSE; - struct DungeonEntityData *userData; - struct DungeonEntityData *targetData; + struct EntityInfo *userData; + struct EntityInfo *targetData; u8 *targetTypes; u8 *targetType; u32 moveTypeOffset; @@ -30,8 +30,8 @@ s32 WeightWeakTypePicker(struct DungeonEntity *user, struct DungeonEntity *targe { checkExposed = TRUE; } - userData = user->entityData; - targetData = target->entityData; + userData = user->info; + targetData = target->info; if (moveType == TYPE_FIRE && GetFlashFireStatus(target) != FLASH_FIRE_STATUS_NONE) { return 0; @@ -56,10 +56,10 @@ s32 WeightWeakTypePicker(struct DungeonEntity *user, struct DungeonEntity *targe s32 effectiveness; u32 typeEffectivenessMultipliers[NUM_EFFECTIVENESS]; memcpy(typeEffectivenessMultipliers, gTypeEffectivenessMultipliers, NUM_EFFECTIVENESS * sizeof(u32)); - if (checkExposed && *targetType == TYPE_GHOST && !targetData->exposedStatus) + if (checkExposed && *targetType == TYPE_GHOST && !targetData->exposed) { effectiveness = 0; - gDungeonGlobalData->pokemonExposed = TRUE; + gDungeon->pokemonExposed = TRUE; } else { @@ -88,48 +88,48 @@ s32 WeightWeakTypePicker(struct DungeonEntity *user, struct DungeonEntity *targe } if (moveType == TYPE_WATER && HasAbility(user, ABILITY_TORRENT)) { - s32 maxHP = userData->maxHP; - if (maxHP < 0) + s32 maxHPStat = userData->maxHPStat; + if (maxHPStat < 0) { - maxHP += 3; + maxHPStat += 3; } - if (maxHP >> 2 >= userData->HP) + if (maxHPStat >> 2 >= userData->HP) { weight *= 2; } } if (moveType == TYPE_GRASS && HasAbility(user, ABILITY_OVERGROW)) { - s32 maxHP = userData->maxHP; - if (maxHP < 0) + s32 maxHPStat = userData->maxHPStat; + if (maxHPStat < 0) { - maxHP += 3; + maxHPStat += 3; } - if (maxHP >> 2 >= userData->HP) + if (maxHPStat >> 2 >= userData->HP) { weight *= 2; } } if (moveType == TYPE_BUG && HasAbility(user, ABILITY_SWARM)) { - s32 maxHP = userData->maxHP; - if (maxHP < 0) + s32 maxHPStat = userData->maxHPStat; + if (maxHPStat < 0) { - maxHP += 3; + maxHPStat += 3; } - if (maxHP >> 2 >= userData->HP) + if (maxHPStat >> 2 >= userData->HP) { weight *= 2; } } if (moveType == TYPE_FIRE && HasAbility(user, ABILITY_BLAZE)) { - s32 maxHP = userData->maxHP; - if (maxHP < 0) + s32 maxHPStat = userData->maxHPStat; + if (maxHPStat < 0) { - maxHP += 3; + maxHPStat += 3; } - if (maxHP >> 2 >= userData->HP) + if (maxHPStat >> 2 >= userData->HP) { weight *= 2; } @@ -138,12 +138,12 @@ s32 WeightWeakTypePicker(struct DungeonEntity *user, struct DungeonEntity *targe { return 2; } - if (HasType(user, moveType)) + if (MonsterIsType(user, moveType)) { weight *= 2; } targetTypes = targetData->types; - if (GetWeather(user) == WEATHER_SUNNY) + if (GetApparentWeather(user) == WEATHER_SUNNY) { if (moveType == TYPE_FIRE) { @@ -154,15 +154,15 @@ s32 WeightWeakTypePicker(struct DungeonEntity *user, struct DungeonEntity *targe return 2; } } - if (gDungeonGlobalData->mudSportTurnsLeft != 0 && moveType == TYPE_ELECTRIC) + if (gDungeon->mudSportTurns != 0 && moveType == TYPE_ELECTRIC) { return 2; } - if (gDungeonGlobalData->waterSportTurnsLeft != 0 && moveType == TYPE_FIRE) + if (gDungeon->waterSportTurns != 0 && moveType == TYPE_FIRE) { return 2; } - if (moveType == TYPE_ELECTRIC && userData->chargingStatus == CHARGING_STATUS_CHARGE) + if (moveType == TYPE_ELECTRIC && userData->chargingStatus == STATUS_CHARGING) { weight *= 2; } diff --git a/src/weather.c b/src/weather.c index edc21e839..685179299 100644 --- a/src/weather.c +++ b/src/weather.c @@ -11,21 +11,21 @@ extern void TriggerWeatherAbilities(void); extern void sub_807EAA0(u32, u32); void sub_807E5E4(u8); -u8 GetWeather(struct DungeonEntity *pokemon) +u8 GetApparentWeather(struct Entity *pokemon) { - if (pokemon != NULL && HasItem(pokemon, ITEM_ID_WEATHER_BAND)) + if (pokemon != NULL && HasHeldItem(pokemon, ITEM_WEATHER_BAND)) { return WEATHER_CLEAR; } - return gDungeonGlobalData->weather; + return gDungeon->weather; } void sub_807E5AC(void) { u8 weather; - weather = gDungeonGlobalData->unk1C578; + weather = gDungeon->unk1C578; if(weather == WEATHER_RANDOM) - weather = DungeonRandomCapped(WEATHER_RANDOM); + weather = DungeonRandInt(WEATHER_RANDOM); sub_807E5E4(weather); TriggerWeatherAbilities(); sub_807EAA0(0, 1); @@ -36,22 +36,22 @@ void sub_807E5E4(u8 weather) int index; u8 *preload; - gDungeonGlobalData->unkE265 = weather; - gDungeonGlobalData->weather = gDungeonGlobalData->unkE265; - gDungeonGlobalData->negateWeatherEffects = FALSE; + gDungeon->unkE265 = weather; + gDungeon->weather = gDungeon->unkE265; + gDungeon->nullifyWeather = FALSE; for(index = 0; index < 8; index++) { - gDungeonGlobalData->unkE267[index] = 0; - gDungeonGlobalData->startingWeather[index] = 0; + gDungeon->unkE267[index] = 0; + gDungeon->naturalWeather[index] = 0; } - preload = &gDungeonGlobalData->weatherDamageTimer; + preload = &gDungeon->weatherDamageCounter; index = 0; *preload = 9; - gDungeonGlobalData->mudSportTurnsLeft = 0; - gDungeonGlobalData->waterSportTurnsLeft = 0; + gDungeon->mudSportTurns = 0; + gDungeon->waterSportTurns = 0; for(index = 0; index < 0x100; index++) { - gDungeonGlobalData->unk17C[index].unk0 = index; - gDungeonGlobalData->unk17C[index].unk1 = index; - gDungeonGlobalData->unk17C[index].unk2 = index; + gDungeon->unk17C[index].unk0 = index; + gDungeon->unk17C[index].unk1 = index; + gDungeon->unk17C[index].unk2 = index; } } diff --git a/src/wonder_mail.c b/src/wonder_mail.c index 153e91f4a..ab4bb396c 100644 --- a/src/wonder_mail.c +++ b/src/wonder_mail.c @@ -264,10 +264,10 @@ u32 sub_8027F88(void) gUnknown_203B2C0->unk53C = 0; gUnknown_203B2C0->unk218 = -1; gUnknown_203B2C0->unk544 = -1; - CopyYellowSpeciesNametoBuffer(gUnknown_202E5D8, SPECIES_PELIPPER); - monName = GetMonSpecies(SPECIES_PELIPPER); + CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_PELIPPER); + monName = GetMonSpecies(MONSTER_PELIPPER); strcpy(gAvailablePokemonNames, monName); - faceFile = GetDialogueSpriteDataPtr(SPECIES_PELIPPER); + faceFile = GetDialogueSpriteDataPtr(MONSTER_PELIPPER); gUnknown_203B2C0->faceFile = faceFile; gUnknown_203B2C0->faceData = faceFile->data; gUnknown_203B2C0->unk42C = 0; @@ -1052,7 +1052,7 @@ void sub_8028E84() } sub_8028B04(24); sub_8011C28(1); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); } void sub_8028EAC() @@ -1116,7 +1116,7 @@ void sub_8028F30() } sub_8028B04(22); sub_8011C28(1); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); } void sub_8028F58() @@ -1171,7 +1171,7 @@ void sub_8028FDC(void) { case 8: return_var = sub_8095228(gUnknown_203B2C0->unk218); - if(sub_80A2824(return_var->dungeon.dungeonIndex) == 0) + if(sub_80A2824(return_var->dungeon.id) == 0) { sub_8028B04(0x1C); } @@ -1412,7 +1412,7 @@ void sub_8029374(void) } sub_8028B04(0x24); sub_8011C28(1); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); } void sub_802939C(void) @@ -1847,7 +1847,7 @@ void sub_8029AB0(void) } sub_8028B04(0x38); sub_8011C28(1); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); } void sub_8029AD8(void) diff --git a/src/wonder_mail_2.c b/src/wonder_mail_2.c index ad16732c5..5d619d69a 100644 --- a/src/wonder_mail_2.c +++ b/src/wonder_mail_2.c @@ -301,8 +301,8 @@ u32 sub_802B2D4(void) gUnknown_203B2C8 = MemoryAlloc(sizeof(struct unkStruct_203B2C8),8); MemoryFill8((u8 *)gUnknown_203B2C8,0,sizeof(struct unkStruct_203B2C8)); gUnknown_203B2C8->unk1 = -1; - CopyYellowSpeciesNametoBuffer(gUnknown_202E5D8, SPECIES_PELIPPER); - faceFile = GetDialogueSpriteDataPtr(SPECIES_PELIPPER); + CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_PELIPPER); + faceFile = GetDialogueSpriteDataPtr(MONSTER_PELIPPER); gUnknown_203B2C8->faceFile = faceFile; gUnknown_203B2C8->faceData = faceFile->data; gUnknown_203B2C8->unk10 = 0; @@ -374,14 +374,14 @@ void sub_802B3E0(void) strcpy(teamNameBuffer,gRescueTeamNamePlaceholder); } // Print and expand placeholders? - sprintf_2(gUnknown_203B2C8->teamName,gUnknown_80DF9F8,teamNameBuffer); + sprintfStatic(gUnknown_203B2C8->teamName,gUnknown_80DF9F8,teamNameBuffer); // Display to screen with Pelipper face sub_80141B4(gUnknown_203B2C8->teamName, 0, &gUnknown_203B2C8->faceFile, 0x10d); break; case 1: - monName = GetMonSpecies(SPECIES_PELIPPER); + monName = GetMonSpecies(MONSTER_PELIPPER); strcpy(gUnknown_203B2C8->unk114.clientName, monName); - gUnknown_203B2C8->unk114.unk14 = SPECIES_PELIPPER; + gUnknown_203B2C8->unk114.unk14 = MONSTER_PELIPPER; gUnknown_203B2C8->unk114.unk16 = 2; gUnknown_203B2C8->unk114.moneyReward = 0; sub_8097790(); @@ -390,7 +390,7 @@ void sub_802B3E0(void) gUnknown_203B2C8->unk114.teamRankPtsReward = GetDungeonTeamRankPts(&iVar3->dungeon, 0); gUnknown_203B2C8->unk114.itemRewards[1] = 0; gUnknown_203B2C8->unk114.itemRewards[2] = 0; - gUnknown_203B2C8->unk114.numItems = 10; + gUnknown_203B2C8->unk114.quantity = 10; gUnknown_203B2C8->unk114.friendAreaReward = 0; sub_802F204(&gUnknown_203B2C8->unk114, 0); break; @@ -431,8 +431,8 @@ void sub_802B57C(void) if (sub_802F298() == 3) { sub_802F2C0(); - CopyYellowSpeciesNametoBuffer(gUnknown_202E5D8, SPECIES_PELIPPER); - monName = GetMonSpecies(SPECIES_PELIPPER); + CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_PELIPPER); + monName = GetMonSpecies(MONSTER_PELIPPER); strcpy(gAvailablePokemonNames, monName); sub_802B548(2); } @@ -451,7 +451,7 @@ void sub_802B5B8(void) puVar3->unk28 = uVar2; sub_802B548(3); sub_8011C28(1); - PrepareSavePakWrite(SPECIES_NONE); + PrepareSavePakWrite(MONSTER_NONE); } } diff --git a/src/wonder_mail_2_mid.c b/src/wonder_mail_2_mid.c index 1c1430427..5b5eba7b8 100644 --- a/src/wonder_mail_2_mid.c +++ b/src/wonder_mail_2_mid.c @@ -128,7 +128,7 @@ void CreateMailMenu(void) y = sub_8013800(&gUnknown_203B2D8->unk4, iVar5); sub_803B6B0(10,y,6,gUnknown_203B2D8->unk38); PrintPokeNameToBuffer(gAvailablePokemonNames, GetPlayerPokemonStruct()); - sprintf_2(buffer, GetPokemonMailHeadline(pcVar2[5]), gAvailablePokemonNames); + sprintfStatic(buffer, GetPokemonMailHeadline(pcVar2[5]), gAvailablePokemonNames); xxx_call_draw_string(0x15,y,buffer,gUnknown_203B2D8->unk38,0); } else { diff --git a/src/wonder_mail_3.c b/src/wonder_mail_3.c index d399964d5..c5f6ec437 100644 --- a/src/wonder_mail_3.c +++ b/src/wonder_mail_3.c @@ -356,7 +356,7 @@ void sub_802D2A8(void) MemoryCopy8(sub_8096DD8(),gUnknown_203B2F8->unkC->unk14,0x28); MemoryCopy8(sub_8096DE8(),gUnknown_203B2F8->unkC->unk18,0x78); } - switch(gUnknown_203B2F8->unkC->wonderMail.dungeon.dungeonIndex) + switch(gUnknown_203B2F8->unkC->wonderMail.dungeon.id) { // NOTE: subtract 1 from each of the case as the input?? case DUNGEON_ODDITY_CAVE: // 0x2B diff --git a/src/wonder_mail_3_mid.c b/src/wonder_mail_3_mid.c index 3ef4623c9..9b86a4672 100644 --- a/src/wonder_mail_3_mid.c +++ b/src/wonder_mail_3_mid.c @@ -63,10 +63,10 @@ struct unkStruct_203B310 extern struct unkStruct_203B310 *gUnknown_203B310; // TODO: port to ItemSlot -struct ItemSlot_Alt +struct Item_Alt { union temp { - struct ItemSlot norm; + struct Item norm; u32 full_bits; } temp; }; @@ -541,8 +541,8 @@ void HandleMissionReward(void) const u8 *rankString; u8 uVar7; struct unkStruct_8090F58 local_20; - struct ItemSlot_Alt item; - u32 numItems; + struct Item_Alt item; + u32 quantity; u32 index_cast; u32 index_cast2; @@ -627,8 +627,8 @@ void HandleMissionReward(void) index_cast2 = item.temp.full_bits >> 16; if (IsThrowableItem(index_cast2)) { // Cast number items - numItems = (gUnknown_203B310->unk10->numItems << 8); - item.temp.full_bits = (item.temp.full_bits & 0xffff00ff) | numItems; + quantity = (gUnknown_203B310->unk10->quantity << 8); + item.temp.full_bits = (item.temp.full_bits & 0xffff00ff) | quantity; } else { item.temp.full_bits = (item.temp.full_bits & 0xffff00ff) | 0; @@ -637,7 +637,7 @@ void HandleMissionReward(void) local_20.unk0 = 0; local_20.unk4 = 0; local_20.unk8 = 1; - sub_8090E14(gUnknown_202DEA8,(struct ItemSlot *)&item,&local_20); + sub_8090E14(gUnknown_202DEA8,(struct Item *)&item,&local_20); if (gUnknown_203B310->displayClientDialogueSprite) { sub_80141B4(gUnknown_80E0640,0,&gUnknown_203B310->faceFile,0x10d); gUnknown_203B310->nextState = 5; @@ -663,10 +663,10 @@ void HandleMissionReward(void) } else { if ((gUnknown_203B310->itemRewardIndex == 0) && (gUnknown_203B310->unk10->moneyReward == 0)) { - sub_801B60C(0,gUnknown_203B310->unk10->itemRewards[0],gUnknown_203B310->unk10->numItems); + sub_801B60C(0,gUnknown_203B310->unk10->itemRewards[0],gUnknown_203B310->unk10->quantity); } else { - sub_801B60C(1,gUnknown_203B310->unk10->itemRewards[gUnknown_203B310->itemRewardIndex],gUnknown_203B310->unk10->numItems); + sub_801B60C(1,gUnknown_203B310->unk10->itemRewards[gUnknown_203B310->itemRewardIndex],gUnknown_203B310->unk10->quantity); } } break; diff --git a/src/wonder_mail_6.c b/src/wonder_mail_6.c index c5f3dc77a..dade09a23 100644 --- a/src/wonder_mail_6.c +++ b/src/wonder_mail_6.c @@ -114,7 +114,7 @@ bool8 sub_8030F58(u32 wonderMailMode) MemoryFill8((u8 *)gUnknown_203B328,0,sizeof(struct unkStruct_203B328)); } gUnknown_203B328->wonderMailMode = wonderMailMode; - iVar3 = GetDialogueSpriteDataPtr(SPECIES_PELIPPER); + iVar3 = GetDialogueSpriteDataPtr(MONSTER_PELIPPER); gUnknown_203B328->faceFile = iVar3; gUnknown_203B328->faceData = iVar3->data; gUnknown_203B328->unk114 = 0; diff --git a/src/wonder_mail_802DF88.c b/src/wonder_mail_802DF88.c index b940c886a..e4869b37c 100644 --- a/src/wonder_mail_802DF88.c +++ b/src/wonder_mail_802DF88.c @@ -233,7 +233,7 @@ void sub_802D940(void) switch(menuAction) { case 2: - if ((gUnknown_203B2F8->unk9 != 0) && (((mail = &gUnknown_203B490->unkF0[gUnknown_203B2F8->unk10]), mail->mailType > 5) && (gUnknown_203B2F8->unkA == mail->dungeon.dungeonIndex))) + if ((gUnknown_203B2F8->unk9 != 0) && (((mail = &gUnknown_203B490->unkF0[gUnknown_203B2F8->unk10]), mail->mailType > 5) && (gUnknown_203B2F8->unkA == mail->dungeon.id))) { sub_802D1A0(0x7); } @@ -310,7 +310,7 @@ bool8 sub_802DAA8(void) return 1; } else { - if ( (mail->mailType != WONDER_MAIL_TYPE_THANK_YOU) && (gUnknown_203B2F8->unkA == mail->dungeon.dungeonIndex)) return 0; + if ( (mail->mailType != WONDER_MAIL_TYPE_THANK_YOU) && (gUnknown_203B2F8->unkA == mail->dungeon.id)) return 0; return 1; } } @@ -330,7 +330,7 @@ _0802DAE8: { mailType = mail->mailType; if (((mailType == 0) || (mailType == WONDER_MAIL_TYPE_THANK_YOU)) || - ((WONDER_MAIL_TYPE_THANK_YOU < mailType && (gUnknown_203B2F8->unkA != mail->dungeon.dungeonIndex)))) goto _0802DAE8; + ((WONDER_MAIL_TYPE_THANK_YOU < mailType && (gUnknown_203B2F8->unkA != mail->dungeon.id)))) goto _0802DAE8; } return 0; } @@ -430,8 +430,8 @@ void sub_802DC9C(void) switch(gUnknown_203B2FC->state) { case 0: - CopyYellowSpeciesNametoBuffer(gUnknown_202E5D8,gUnknown_203B2FC->jobInfo->clientSpecies); - CopyYellowSpeciesNametoBuffer(gUnknown_202E1C8,gUnknown_203B2FC->jobInfo->clientSpecies); + CopyYellowMonsterNametoBuffer(gUnknown_202E5D8,gUnknown_203B2FC->jobInfo->clientSpecies); + CopyYellowMonsterNametoBuffer(gUnknown_202E1C8,gUnknown_203B2FC->jobInfo->clientSpecies); speciesText = GetMonSpecies(gUnknown_203B2FC->jobInfo->clientSpecies); strcpy(gUnknown_202E1C8 + 0xfffffdd0,speciesText); speciesText = GetMonSpecies(gUnknown_203B2FC->jobInfo->targetSpecies); diff --git a/src/wonder_mail_main_menu.c b/src/wonder_mail_main_menu.c index be22e6429..c952819bf 100644 --- a/src/wonder_mail_main_menu.c +++ b/src/wonder_mail_main_menu.c @@ -472,7 +472,7 @@ void HandlePrepareSaveScreen(void) if(sub_80144A4(&iVar2) == 0) { SetWonderMailMainMenuState(SAVE_ADVENTURE); - PrepareSavePakWrite(SPECIES_NONE); // "Saving Adventure.." + PrepareSavePakWrite(MONSTER_NONE); // "Saving Adventure.." } } diff --git a/sym_ewram2.txt b/sym_ewram2.txt index d5b428e25..7d5f37322 100644 --- a/sym_ewram2.txt +++ b/sym_ewram2.txt @@ -65,7 +65,7 @@ gUnknown_203B074 = .; /* 203B074 */ gUnknown_203B078 = .; /* 203B078 */ . += 0x4; -gRngState = .; /* 203B07C */ +gPRNGSequenceNum = .; /* 203B07C */ . += 0x4; gUnknown_203B080 = .; /* 203B080 */ @@ -545,7 +545,7 @@ gUnknown_203B410 = .; /* 203B410 */ gUnknown_203B414 = .; /* 203B414 */ . += 0x4; -gDungeonGlobalData = .; /* 203B418 */ +gDungeon = .; /* 203B418 */ . += 0x4; gUnknown_203B41C = .; /* 203B41C */ @@ -575,7 +575,7 @@ gNumPotentialTargets = .; /* 203B440 */ gUnknown_203B444 = .; /* 203B444 */ . += 0xC; -gLeaderPokemon = .; /* 203B450 */ +gLeaderPointer = .; /* 203B450 */ . += 0x4; gDungeonRngState = .; /* 203B454 */ diff --git a/tools/dungeonjson/dungeonjson.cpp b/tools/dungeonjson/dungeonjson.cpp index ee13581be..6adb0d034 100644 --- a/tools/dungeonjson/dungeonjson.cpp +++ b/tools/dungeonjson/dungeonjson.cpp @@ -593,59 +593,59 @@ string read_json_string_array(Json data, int num_bytes, int expected_count) { return read_json_array(data, num_bytes, expected_count, get_json_string_value); } -string generate_species_data_text(Json data) { +string generate_monster_data_text(Json data) { ostringstream text; - text << "@ This is auto-generated by species_data.json.\n"; + text << "@ This is auto-generated by monster_data.json.\n"; text << "#include \"constants/ability.h\"\n"; text << "#include \"constants/evolve_type.h\"\n"; text << "#include \"constants/friend_area.h\"\n"; text << "#include \"constants/item.h\"\n"; - text << "#include \"constants/species.h\"\n"; + text << "#include \"constants/monster.h\"\n"; text << "#include \"constants/type.h\"\n"; text << "#include \"constants/walkable_tile.h\"\n"; - text << ".global gSpeciesData\n"; - text << "gSpeciesData:"; + text << ".global gMonsterData\n"; + text << "gMonsterData:"; for (Json data_entry : data.array_items()) { - text << read_json_string(data_entry["species"], 4) + text << read_json_string(data_entry["name"], 4) << read_json_string(data_entry["category"], 4) - << read_json_int(data_entry["overworld_palette"], 1) - << read_json_int(data_entry["size"], 1) + << read_json_int(data_entry["overworldPalette"], 1) + << read_json_int(data_entry["bodySize"], 1) << "\n.2byte 0" - << read_json_int(data_entry["move_speed"], 4) - << read_json_binary(data_entry["dialogue_sprites"], 2) + << read_json_int(data_entry["movementSpeed"], 4) + << read_json_binary(data_entry["dialogueSprites"], 2) << read_json_bool(data_entry["unk12"]) << read_json_string_array(data_entry["types"], 1, 2) - << read_json_string(data_entry["walkable_tiles"], 1) - << read_json_string(data_entry["friend_area"], 1) + << read_json_string(data_entry["movementType"], 1) + << read_json_string(data_entry["friendArea"], 1) << read_json_string_array(data_entry["abilities"], 1, 2) - << read_json_int(data_entry["shadow_size"], 1) + << read_json_int(data_entry["shadowSize"], 1) << read_json_int(data_entry["unk1A"], 1) - << read_json_int(data_entry["unk1B"], 1) - << read_json_bool(data_entry["isMoving"]) - << read_json_int(data_entry["unk1D"], 1) - << read_json_int(data_entry["base_hp"], 2) - << read_json_int(data_entry["base_exp"], 4) - << read_json_int_array(data_entry["base_att_spatt"], 2, 2) - << read_json_int_array(data_entry["base_def_spdef"], 2, 2) - << read_json_int(data_entry["lowkick_dmg"], 2) - << read_json_int(data_entry["sizeorb_dmg"], 2) + << read_json_int(data_entry["regenSpeed"], 1) + << read_json_bool(data_entry["canMove"]) + << read_json_int(data_entry["chanceAsleep"], 1) + << read_json_int(data_entry["baseHP"], 2) + << read_json_int(data_entry["expYield"], 4) + << read_json_int_array(data_entry["baseAtkSpAtk"], 2, 2) + << read_json_int_array(data_entry["baseDefSpDef"], 2, 2) + << read_json_int(data_entry["weight"], 2) + << read_json_int(data_entry["size"], 2) << read_json_int(data_entry["unk30"], 1) << read_json_int(data_entry["unk31"], 1) << read_json_int(data_entry["unk32"], 1) << read_json_bool(data_entry["toolboxEnabled"]) - << read_json_string(data_entry["pre"]["evolve_from"], 2) - << read_json_string(data_entry["pre"]["evolve_type"], 2); + << read_json_string(data_entry["preEvolution"]["evolveFrom"], 2) + << read_json_string(data_entry["preEvolution"]["evolveType"], 2); - if (data_entry["pre"]["evolve_type"] == "EVOLVE_TYPE_ITEM") { - text << read_json_string(data_entry["needs"]["evolve_need1"], 2); + if (data_entry["preEvolution"]["evolveType"] == "EVOLVE_TYPE_ITEM") { + text << read_json_string(data_entry["evolutionRequirements"]["mainRequirement"], 2); } else { - text << read_json_int(data_entry["needs"]["evolve_need1"], 2); + text << read_json_int(data_entry["evolutionRequirements"]["mainRequirement"], 2); } - text << read_json_int(data_entry["needs"]["evolve_need2"], 2) + text << read_json_int(data_entry["evolutionRequirements"]["additionalRequirement"], 2) << read_json_int_array(data_entry["dexInternal"], 2, 2) - << read_json_int(data_entry["base_recruit"], 2) + << read_json_int(data_entry["recruitRate"], 2) << read_json_int_array(data_entry["alphabetParent"], 2, 2) << "\n.2byte 0\n"; } @@ -662,20 +662,20 @@ string generate_item_data_text(Json data) { text << ".global gItemData\n"; text << "gItemData:"; for (Json data_entry : data.array_items()) { - text << read_json_string(data_entry["namePointer"], 4) + text << read_json_string(data_entry["name"], 4) << read_json_int(data_entry["buyPrice"], 4) << read_json_int(data_entry["sellPrice"], 4) - << read_json_string(data_entry["type"], 1) - << read_json_int(data_entry["icon"], 1) + << read_json_string(data_entry["category"], 1) + << read_json_int(data_entry["spriteID"], 1) << "\n.2byte 0" - << read_json_string(data_entry["descriptionPointer"], 4) + << read_json_string(data_entry["description"], 4) << read_json_bool_array(data_entry["aiFlags"], 1, 3) << "\n.byte 0" - << read_json_string(data_entry["move"], 2) + << read_json_string(data_entry["moveID"], 2) << read_json_int(data_entry["order"], 1) << read_json_int_array(data_entry["unkThrow1B"], 1, 2) - << read_json_int(data_entry["palette"], 1) - << read_json_string(data_entry["category"], 1) + << read_json_int(data_entry["paletteID"], 1) + << read_json_string(data_entry["actionType"], 1) << "\n.byte 0\n"; } text << TABLE_END; @@ -690,29 +690,29 @@ string generate_move_data_text(Json data) { text << ".global gMoveData\n"; text << "gMoveData:"; for (Json data_entry : data.array_items()) { - text << read_json_string(data_entry["namePointer"], 4) - << read_json_int(data_entry["power"], 1) + text << read_json_string(data_entry["name"], 4) + << read_json_int(data_entry["basePower"], 1) << "\n.byte 0" << read_json_string(data_entry["type"], 1) << "\n.byte 0" << read_json_binary(data_entry["targetingFlags"], 2) << read_json_binary(data_entry["aiTargetingFlags"], 2) - << read_json_int(data_entry["maxPP"], 1) - << read_json_int(data_entry["weight"], 1) - << read_json_int(data_entry["accuracyGlobal"], 1) - << read_json_int(data_entry["accuracyOffensive"], 1) - << read_json_int(data_entry["accuracyUseChance"], 1) - << read_json_int(data_entry["hitCount"], 1) - << read_json_int(data_entry["maxPowerBoost"], 1) - << read_json_int(data_entry["criticalHitChance"], 1) + << read_json_int(data_entry["basePP"], 1) + << read_json_int(data_entry["aiWeight"], 1) + << read_json_int(data_entry["accuracy1"], 1) + << read_json_int(data_entry["accuracy2"], 1) + << read_json_int(data_entry["aiConditionRandomChance"], 1) + << read_json_int(data_entry["numberOfChainedHits"], 1) + << read_json_int(data_entry["maxUpgradeLevel"], 1) + << read_json_int(data_entry["critChance"], 1) << read_json_bool(data_entry["affectedByMagicCoat"]) - << read_json_bool(data_entry["targetsUser"]) - << read_json_bool(data_entry["affectedByMuzzled"]) + << read_json_bool(data_entry["isSnatchable"]) + << read_json_bool(data_entry["usesMouth"]) << read_json_bool(data_entry["cannotHitFrozen"]) - << read_json_bool(data_entry["dealsDirectDamage"]) - << read_json_int(data_entry["rangeType"], 1) + << read_json_bool(data_entry["ignoresTaunted"]) + << read_json_int(data_entry["rangeID"], 1) << "\n.2byte 0" - << read_json_string(data_entry["descriptionPointer"], 4) + << read_json_string(data_entry["description"], 4) << read_json_string(data_entry["useText"], 4); } text << TABLE_END; @@ -1007,8 +1007,8 @@ int main(int argc, char *argv[]) { process_json(filepath, "pokemon_found.inc", generate_pokemon_table_text); } else if (mode == "floor") { process_json(filepath, "floor_id.inc", generate_floorID_table_text); - } else if (mode == "species") { - process_json(filepath, "species_data.inc", generate_species_data_text); + } else if (mode == "monster") { + process_json(filepath, "monster_data.inc", generate_monster_data_text); } else if (mode == "item") { process_json(filepath, "item_data.inc", generate_item_data_text); } else if (mode == "move") { @@ -1016,7 +1016,7 @@ int main(int argc, char *argv[]) { } else if (mode == "trap") { process_json(filepath, "trap_data.inc", generate_trap_table_text); } else { - FATAL_ERROR("ERROR: must be 'layouts', 'map', 'groups', 'dungeon', 'floor', 'species', 'item', 'move', or 'trap'.\n"); + FATAL_ERROR("ERROR: must be 'layouts', 'map', 'groups', 'dungeon', 'floor', 'monster', 'item', 'move', or 'trap'.\n"); } }