diff --git a/.gitignore b/.gitignore index cac4a07e6..082430d79 100644 --- a/.gitignore +++ b/.gitignore @@ -30,7 +30,8 @@ build/ .DS_Store *.ddump .idea/ -porymap.project.cfg +porymap.*.cfg +prefabs.json .vscode/ *.a .fuse_hidden* diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 25222740f..146fea5cc 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1980,6 +1980,14 @@ various BS_ATTACKER, VARIOUS_SWAP_SIDE_STATUSES .endm + .macro canteleport battler:req + various \battler, VARIOUS_CAN_TELEPORT + .endm + + .macro getbattlerside battler:req + various \battler, VARIOUS_GET_BATTLER_SIDE + .endm + @ helpful macros .macro setstatchanger stat:req, stages:req, down:req setbyte sSTATCHANGER, \stat | \stages << 3 | \down << 7 @@ -2132,3 +2140,8 @@ .macro skydropyawn various 0, VARIOUS_SKY_DROP_YAWN .endm + + @ Used by effects that may proc Symbiosis but do not call removeitem. + .macro trysymbiosis + various BS_ATTACKER, VARIOUS_TRY_SYMBIOSIS + .endm diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index c9dbfd2ee..e5f32e09a 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -30451,11 +30451,11 @@ LightThatBurnsTheSkyGreenSparks: launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x30 0x2c 0x0 0x28 0x0 0x3 launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x30 0x2c 0x40 0x28 0x1 0x3 launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x30 0x2c 0x80 0x28 0x0 0x3 - launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x30 0x2c SOUND_PAN_ATTACKER 0x28 0x2 0x3 + launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x30 0x2c 0x0 0x28 0x2 0x3 launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x15 0x2c 0x0 0x28 0x0 0x3 launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x15 0x2c 0x40 0x28 0x1 0x3 launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x15 0x2c 0x80 0x28 0x0 0x3 - launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x15 0x2c SOUND_PAN_ATTACKER 0x28 0x2 0x3 + launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x15 0x2c 0x0 0x28 0x2 0x3 delay 0x10 return diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 0511ff4b1..79b2b991a 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -705,6 +705,7 @@ BattleScript_EffectFlingConsumeBerry: restorebattleritem BS_TARGET BattleScript_FlingEnd: tryfaintmon BS_TARGET + trysymbiosis goto BattleScript_MoveEnd BattleScript_FlingFlameOrb: @@ -1391,6 +1392,7 @@ BattleScript_MoveEffectBugBite:: consumeberry BS_ATTACKER, TRUE @ consume the berry, then restore the item from changedItems bicword gHitMarker, HITMARKER_NO_ANIMATIONS setbyte sBERRY_OVERRIDE, FALSE + trysymbiosis return BattleScript_EffectCoreEnforcer: @@ -1762,6 +1764,7 @@ BattleScript_EffectBestow: waitanimation printstring STRINGID_BESTOWITEMGIVING waitmessage B_WAIT_TIME_LONG + trysymbiosis goto BattleScript_MoveEnd BattleScript_EffectAfterYou: @@ -5172,7 +5175,14 @@ BattleScript_EffectTeleport: attackcanceler attackstring ppreduce +.if B_TELEPORT_BEHAVIOR >= GEN_7 + canteleport BS_ATTACKER + jumpifbyte CMP_EQUAL, gBattleCommunication, TRUE, BattleScript_EffectTeleportNew + goto BattleScript_ButItFailed +.else jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_ButItFailed +.endif +BattleScript_EffectTeleportTryToRunAway: getifcantrunfrombattle BS_ATTACKER jumpifbyte CMP_EQUAL, gBattleCommunication, BATTLE_RUN_FORBIDDEN, BattleScript_ButItFailed jumpifbyte CMP_EQUAL, gBattleCommunication, BATTLE_RUN_FAILURE, BattleScript_PrintAbilityMadeIneffective @@ -5183,6 +5193,29 @@ BattleScript_EffectTeleport: setoutcomeonteleport BS_ATTACKER goto BattleScript_MoveEnd +BattleScript_EffectTeleportNew: + getbattlerside BS_ATTACKER + jumpifbyte CMP_EQUAL, gBattleCommunication, B_SIDE_OPPONENT, BattleScript_EffectTeleportTryToRunAway + attackanimation + waitanimation + openpartyscreen BS_ATTACKER, BattleScript_EffectTeleportNewEnd + switchoutabilities BS_ATTACKER + waitstate + switchhandleorder BS_ATTACKER, 2 + returntoball BS_ATTACKER + getswitchedmondata BS_ATTACKER + switchindataupdate BS_ATTACKER + hpthresholds BS_ATTACKER + trytoclearprimalweather + printstring STRINGID_EMPTYSTRING3 + waitmessage 1 + printstring STRINGID_SWITCHINMON + switchinanim BS_ATTACKER, TRUE + waitstate + switchineffects BS_ATTACKER +BattleScript_EffectTeleportNewEnd: + goto BattleScript_MoveEnd + BattleScript_EffectBeatUp:: attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE @@ -9840,3 +9873,9 @@ BattleScript_MagicianActivates:: call BattleScript_AbilityPopUp call BattleScript_ItemSteal return + +BattleScript_SymbiosisActivates:: + call BattleScript_AbilityPopUp + printstring STRINGID_SYMBIOSISITEMPASS + waitmessage B_WAIT_TIME_LONG + return diff --git a/gflib/malloc.h b/gflib/malloc.h index 8d49e0be7..851db83a6 100644 --- a/gflib/malloc.h +++ b/gflib/malloc.h @@ -2,13 +2,10 @@ #define GUARD_ALLOC_H #define HEAP_SIZE 0x1C000 -#define malloc Alloc -#define calloc(ct, sz) AllocZeroed((ct) * (sz)) -#define free Free #define FREE_AND_SET_NULL(ptr) \ { \ - free(ptr); \ + Free(ptr); \ ptr = NULL; \ } diff --git a/graphics/trainers/back_pics/brendan_back_pic.png b/graphics/trainers/back_pics/brendan.png similarity index 100% rename from graphics/trainers/back_pics/brendan_back_pic.png rename to graphics/trainers/back_pics/brendan.png diff --git a/graphics/trainers/back_pics/ruby_sapphire_brendan_back_pic.png b/graphics/trainers/back_pics/brendan_rs.png similarity index 100% rename from graphics/trainers/back_pics/ruby_sapphire_brendan_back_pic.png rename to graphics/trainers/back_pics/brendan_rs.png diff --git a/graphics/trainers/back_pics/leaf_back_pic.png b/graphics/trainers/back_pics/leaf.png similarity index 100% rename from graphics/trainers/back_pics/leaf_back_pic.png rename to graphics/trainers/back_pics/leaf.png diff --git a/graphics/trainers/back_pics/may_back_pic.png b/graphics/trainers/back_pics/may.png similarity index 100% rename from graphics/trainers/back_pics/may_back_pic.png rename to graphics/trainers/back_pics/may.png diff --git a/graphics/trainers/back_pics/ruby_sapphire_may_back_pic.png b/graphics/trainers/back_pics/may_rs.png similarity index 100% rename from graphics/trainers/back_pics/ruby_sapphire_may_back_pic.png rename to graphics/trainers/back_pics/may_rs.png diff --git a/graphics/trainers/back_pics/red_back_pic.png b/graphics/trainers/back_pics/red.png similarity index 100% rename from graphics/trainers/back_pics/red_back_pic.png rename to graphics/trainers/back_pics/red.png diff --git a/graphics/trainers/back_pics/steven_back_pic.png b/graphics/trainers/back_pics/steven.png similarity index 100% rename from graphics/trainers/back_pics/steven_back_pic.png rename to graphics/trainers/back_pics/steven.png diff --git a/graphics/trainers/back_pics/wally_back_pic.png b/graphics/trainers/back_pics/wally.png similarity index 100% rename from graphics/trainers/back_pics/wally_back_pic.png rename to graphics/trainers/back_pics/wally.png diff --git a/graphics/trainers/front_pics/aqua_admin_f_front_pic.png b/graphics/trainers/front_pics/aqua_admin_f.png similarity index 100% rename from graphics/trainers/front_pics/aqua_admin_f_front_pic.png rename to graphics/trainers/front_pics/aqua_admin_f.png diff --git a/graphics/trainers/front_pics/aqua_admin_m_front_pic.png b/graphics/trainers/front_pics/aqua_admin_m.png similarity index 100% rename from graphics/trainers/front_pics/aqua_admin_m_front_pic.png rename to graphics/trainers/front_pics/aqua_admin_m.png diff --git a/graphics/trainers/front_pics/aqua_grunt_f_front_pic.png b/graphics/trainers/front_pics/aqua_grunt_f.png similarity index 100% rename from graphics/trainers/front_pics/aqua_grunt_f_front_pic.png rename to graphics/trainers/front_pics/aqua_grunt_f.png diff --git a/graphics/trainers/front_pics/aqua_grunt_m_front_pic.png b/graphics/trainers/front_pics/aqua_grunt_m.png similarity index 100% rename from graphics/trainers/front_pics/aqua_grunt_m_front_pic.png rename to graphics/trainers/front_pics/aqua_grunt_m.png diff --git a/graphics/trainers/front_pics/aqua_leader_archie_front_pic.png b/graphics/trainers/front_pics/aqua_leader_archie.png similarity index 100% rename from graphics/trainers/front_pics/aqua_leader_archie_front_pic.png rename to graphics/trainers/front_pics/aqua_leader_archie.png diff --git a/graphics/trainers/front_pics/arena_tycoon_greta_front_pic.png b/graphics/trainers/front_pics/arena_tycoon_greta.png similarity index 100% rename from graphics/trainers/front_pics/arena_tycoon_greta_front_pic.png rename to graphics/trainers/front_pics/arena_tycoon_greta.png diff --git a/graphics/trainers/front_pics/aroma_lady_front_pic.png b/graphics/trainers/front_pics/aroma_lady.png similarity index 100% rename from graphics/trainers/front_pics/aroma_lady_front_pic.png rename to graphics/trainers/front_pics/aroma_lady.png diff --git a/graphics/trainers/front_pics/battle_girl_front_pic.png b/graphics/trainers/front_pics/battle_girl.png similarity index 100% rename from graphics/trainers/front_pics/battle_girl_front_pic.png rename to graphics/trainers/front_pics/battle_girl.png diff --git a/graphics/trainers/front_pics/beauty_front_pic.png b/graphics/trainers/front_pics/beauty.png similarity index 100% rename from graphics/trainers/front_pics/beauty_front_pic.png rename to graphics/trainers/front_pics/beauty.png diff --git a/graphics/trainers/front_pics/bird_keeper_front_pic.png b/graphics/trainers/front_pics/bird_keeper.png similarity index 100% rename from graphics/trainers/front_pics/bird_keeper_front_pic.png rename to graphics/trainers/front_pics/bird_keeper.png diff --git a/graphics/trainers/front_pics/black_belt_front_pic.png b/graphics/trainers/front_pics/black_belt.png similarity index 100% rename from graphics/trainers/front_pics/black_belt_front_pic.png rename to graphics/trainers/front_pics/black_belt.png diff --git a/graphics/trainers/front_pics/brendan_front_pic.png b/graphics/trainers/front_pics/brendan.png similarity index 100% rename from graphics/trainers/front_pics/brendan_front_pic.png rename to graphics/trainers/front_pics/brendan.png diff --git a/graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.png b/graphics/trainers/front_pics/brendan_rs.png similarity index 100% rename from graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.png rename to graphics/trainers/front_pics/brendan_rs.png diff --git a/graphics/trainers/front_pics/bug_catcher_front_pic.png b/graphics/trainers/front_pics/bug_catcher.png similarity index 100% rename from graphics/trainers/front_pics/bug_catcher_front_pic.png rename to graphics/trainers/front_pics/bug_catcher.png diff --git a/graphics/trainers/front_pics/bug_maniac_front_pic.png b/graphics/trainers/front_pics/bug_maniac.png similarity index 100% rename from graphics/trainers/front_pics/bug_maniac_front_pic.png rename to graphics/trainers/front_pics/bug_maniac.png diff --git a/graphics/trainers/front_pics/camper_front_pic.png b/graphics/trainers/front_pics/camper.png similarity index 100% rename from graphics/trainers/front_pics/camper_front_pic.png rename to graphics/trainers/front_pics/camper.png diff --git a/graphics/trainers/front_pics/champion_wallace_front_pic.png b/graphics/trainers/front_pics/champion_wallace.png similarity index 100% rename from graphics/trainers/front_pics/champion_wallace_front_pic.png rename to graphics/trainers/front_pics/champion_wallace.png diff --git a/graphics/trainers/front_pics/collector_front_pic.png b/graphics/trainers/front_pics/collector.png similarity index 100% rename from graphics/trainers/front_pics/collector_front_pic.png rename to graphics/trainers/front_pics/collector.png diff --git a/graphics/trainers/front_pics/cooltrainer_f_front_pic.png b/graphics/trainers/front_pics/cooltrainer_f.png similarity index 100% rename from graphics/trainers/front_pics/cooltrainer_f_front_pic.png rename to graphics/trainers/front_pics/cooltrainer_f.png diff --git a/graphics/trainers/front_pics/cooltrainer_m_front_pic.png b/graphics/trainers/front_pics/cooltrainer_m.png similarity index 100% rename from graphics/trainers/front_pics/cooltrainer_m_front_pic.png rename to graphics/trainers/front_pics/cooltrainer_m.png diff --git a/graphics/trainers/front_pics/cycling_triathlete_f_front_pic.png b/graphics/trainers/front_pics/cycling_triathlete_f.png similarity index 100% rename from graphics/trainers/front_pics/cycling_triathlete_f_front_pic.png rename to graphics/trainers/front_pics/cycling_triathlete_f.png diff --git a/graphics/trainers/front_pics/cycling_triathlete_m_front_pic.png b/graphics/trainers/front_pics/cycling_triathlete_m.png similarity index 100% rename from graphics/trainers/front_pics/cycling_triathlete_m_front_pic.png rename to graphics/trainers/front_pics/cycling_triathlete_m.png diff --git a/graphics/trainers/front_pics/dome_ace_tucker_front_pic.png b/graphics/trainers/front_pics/dome_ace_tucker.png similarity index 100% rename from graphics/trainers/front_pics/dome_ace_tucker_front_pic.png rename to graphics/trainers/front_pics/dome_ace_tucker.png diff --git a/graphics/trainers/front_pics/dragon_tamer_front_pic.png b/graphics/trainers/front_pics/dragon_tamer.png similarity index 100% rename from graphics/trainers/front_pics/dragon_tamer_front_pic.png rename to graphics/trainers/front_pics/dragon_tamer.png diff --git a/graphics/trainers/front_pics/elite_four_drake_front_pic.png b/graphics/trainers/front_pics/elite_four_drake.png similarity index 100% rename from graphics/trainers/front_pics/elite_four_drake_front_pic.png rename to graphics/trainers/front_pics/elite_four_drake.png diff --git a/graphics/trainers/front_pics/elite_four_glacia_front_pic.png b/graphics/trainers/front_pics/elite_four_glacia.png similarity index 100% rename from graphics/trainers/front_pics/elite_four_glacia_front_pic.png rename to graphics/trainers/front_pics/elite_four_glacia.png diff --git a/graphics/trainers/front_pics/elite_four_phoebe_front_pic.png b/graphics/trainers/front_pics/elite_four_phoebe.png similarity index 100% rename from graphics/trainers/front_pics/elite_four_phoebe_front_pic.png rename to graphics/trainers/front_pics/elite_four_phoebe.png diff --git a/graphics/trainers/front_pics/elite_four_sidney_front_pic.png b/graphics/trainers/front_pics/elite_four_sidney.png similarity index 100% rename from graphics/trainers/front_pics/elite_four_sidney_front_pic.png rename to graphics/trainers/front_pics/elite_four_sidney.png diff --git a/graphics/trainers/front_pics/expert_f_front_pic.png b/graphics/trainers/front_pics/expert_f.png similarity index 100% rename from graphics/trainers/front_pics/expert_f_front_pic.png rename to graphics/trainers/front_pics/expert_f.png diff --git a/graphics/trainers/front_pics/expert_m_front_pic.png b/graphics/trainers/front_pics/expert_m.png similarity index 100% rename from graphics/trainers/front_pics/expert_m_front_pic.png rename to graphics/trainers/front_pics/expert_m.png diff --git a/graphics/trainers/front_pics/factory_head_noland_front_pic.png b/graphics/trainers/front_pics/factory_head_noland.png similarity index 100% rename from graphics/trainers/front_pics/factory_head_noland_front_pic.png rename to graphics/trainers/front_pics/factory_head_noland.png diff --git a/graphics/trainers/front_pics/fisherman_front_pic.png b/graphics/trainers/front_pics/fisherman.png similarity index 100% rename from graphics/trainers/front_pics/fisherman_front_pic.png rename to graphics/trainers/front_pics/fisherman.png diff --git a/graphics/trainers/front_pics/gentleman_front_pic.png b/graphics/trainers/front_pics/gentleman.png similarity index 100% rename from graphics/trainers/front_pics/gentleman_front_pic.png rename to graphics/trainers/front_pics/gentleman.png diff --git a/graphics/trainers/front_pics/guitarist_front_pic.png b/graphics/trainers/front_pics/guitarist.png similarity index 100% rename from graphics/trainers/front_pics/guitarist_front_pic.png rename to graphics/trainers/front_pics/guitarist.png diff --git a/graphics/trainers/front_pics/hex_maniac_front_pic.png b/graphics/trainers/front_pics/hex_maniac.png similarity index 100% rename from graphics/trainers/front_pics/hex_maniac_front_pic.png rename to graphics/trainers/front_pics/hex_maniac.png diff --git a/graphics/trainers/front_pics/hiker_front_pic.png b/graphics/trainers/front_pics/hiker.png similarity index 100% rename from graphics/trainers/front_pics/hiker_front_pic.png rename to graphics/trainers/front_pics/hiker.png diff --git a/graphics/trainers/front_pics/interviewer_front_pic.png b/graphics/trainers/front_pics/interviewer.png similarity index 100% rename from graphics/trainers/front_pics/interviewer_front_pic.png rename to graphics/trainers/front_pics/interviewer.png diff --git a/graphics/trainers/front_pics/kindler_front_pic.png b/graphics/trainers/front_pics/kindler.png similarity index 100% rename from graphics/trainers/front_pics/kindler_front_pic.png rename to graphics/trainers/front_pics/kindler.png diff --git a/graphics/trainers/front_pics/lady_front_pic.png b/graphics/trainers/front_pics/lady.png similarity index 100% rename from graphics/trainers/front_pics/lady_front_pic.png rename to graphics/trainers/front_pics/lady.png diff --git a/graphics/trainers/front_pics/lass_front_pic.png b/graphics/trainers/front_pics/lass.png similarity index 100% rename from graphics/trainers/front_pics/lass_front_pic.png rename to graphics/trainers/front_pics/lass.png diff --git a/graphics/trainers/front_pics/leader_brawly_front_pic.png b/graphics/trainers/front_pics/leader_brawly.png similarity index 100% rename from graphics/trainers/front_pics/leader_brawly_front_pic.png rename to graphics/trainers/front_pics/leader_brawly.png diff --git a/graphics/trainers/front_pics/leader_flannery_front_pic.png b/graphics/trainers/front_pics/leader_flannery.png similarity index 100% rename from graphics/trainers/front_pics/leader_flannery_front_pic.png rename to graphics/trainers/front_pics/leader_flannery.png diff --git a/graphics/trainers/front_pics/leader_juan_front_pic.png b/graphics/trainers/front_pics/leader_juan.png similarity index 100% rename from graphics/trainers/front_pics/leader_juan_front_pic.png rename to graphics/trainers/front_pics/leader_juan.png diff --git a/graphics/trainers/front_pics/leader_norman_front_pic.png b/graphics/trainers/front_pics/leader_norman.png similarity index 100% rename from graphics/trainers/front_pics/leader_norman_front_pic.png rename to graphics/trainers/front_pics/leader_norman.png diff --git a/graphics/trainers/front_pics/leader_roxanne_front_pic.png b/graphics/trainers/front_pics/leader_roxanne.png similarity index 100% rename from graphics/trainers/front_pics/leader_roxanne_front_pic.png rename to graphics/trainers/front_pics/leader_roxanne.png diff --git a/graphics/trainers/front_pics/leader_tate_and_liza_front_pic.png b/graphics/trainers/front_pics/leader_tate_and_liza.png similarity index 100% rename from graphics/trainers/front_pics/leader_tate_and_liza_front_pic.png rename to graphics/trainers/front_pics/leader_tate_and_liza.png diff --git a/graphics/trainers/front_pics/leader_wattson_front_pic.png b/graphics/trainers/front_pics/leader_wattson.png similarity index 100% rename from graphics/trainers/front_pics/leader_wattson_front_pic.png rename to graphics/trainers/front_pics/leader_wattson.png diff --git a/graphics/trainers/front_pics/leader_winona_front_pic.png b/graphics/trainers/front_pics/leader_winona.png similarity index 100% rename from graphics/trainers/front_pics/leader_winona_front_pic.png rename to graphics/trainers/front_pics/leader_winona.png diff --git a/graphics/trainers/front_pics/leaf_front_pic.png b/graphics/trainers/front_pics/leaf.png similarity index 100% rename from graphics/trainers/front_pics/leaf_front_pic.png rename to graphics/trainers/front_pics/leaf.png diff --git a/graphics/trainers/front_pics/magma_admin_front_pic.png b/graphics/trainers/front_pics/magma_admin.png similarity index 100% rename from graphics/trainers/front_pics/magma_admin_front_pic.png rename to graphics/trainers/front_pics/magma_admin.png diff --git a/graphics/trainers/front_pics/magma_grunt_f_front_pic.png b/graphics/trainers/front_pics/magma_grunt_f.png similarity index 100% rename from graphics/trainers/front_pics/magma_grunt_f_front_pic.png rename to graphics/trainers/front_pics/magma_grunt_f.png diff --git a/graphics/trainers/front_pics/magma_grunt_m_front_pic.png b/graphics/trainers/front_pics/magma_grunt_m.png similarity index 100% rename from graphics/trainers/front_pics/magma_grunt_m_front_pic.png rename to graphics/trainers/front_pics/magma_grunt_m.png diff --git a/graphics/trainers/front_pics/magma_leader_maxie_front_pic.png b/graphics/trainers/front_pics/magma_leader_maxie.png similarity index 100% rename from graphics/trainers/front_pics/magma_leader_maxie_front_pic.png rename to graphics/trainers/front_pics/magma_leader_maxie.png diff --git a/graphics/trainers/front_pics/may_front_pic.png b/graphics/trainers/front_pics/may.png similarity index 100% rename from graphics/trainers/front_pics/may_front_pic.png rename to graphics/trainers/front_pics/may.png diff --git a/graphics/trainers/front_pics/ruby_sapphire_may_front_pic.png b/graphics/trainers/front_pics/may_rs.png similarity index 100% rename from graphics/trainers/front_pics/ruby_sapphire_may_front_pic.png rename to graphics/trainers/front_pics/may_rs.png diff --git a/graphics/trainers/front_pics/ninja_boy_front_pic.png b/graphics/trainers/front_pics/ninja_boy.png similarity index 100% rename from graphics/trainers/front_pics/ninja_boy_front_pic.png rename to graphics/trainers/front_pics/ninja_boy.png diff --git a/graphics/trainers/front_pics/old_couple_front_pic.png b/graphics/trainers/front_pics/old_couple.png similarity index 100% rename from graphics/trainers/front_pics/old_couple_front_pic.png rename to graphics/trainers/front_pics/old_couple.png diff --git a/graphics/trainers/front_pics/palace_maven_spenser_front_pic.png b/graphics/trainers/front_pics/palace_maven_spenser.png similarity index 100% rename from graphics/trainers/front_pics/palace_maven_spenser_front_pic.png rename to graphics/trainers/front_pics/palace_maven_spenser.png diff --git a/graphics/trainers/front_pics/parasol_lady_front_pic.png b/graphics/trainers/front_pics/parasol_lady.png similarity index 100% rename from graphics/trainers/front_pics/parasol_lady_front_pic.png rename to graphics/trainers/front_pics/parasol_lady.png diff --git a/graphics/trainers/front_pics/picnicker_front_pic.png b/graphics/trainers/front_pics/picnicker.png similarity index 100% rename from graphics/trainers/front_pics/picnicker_front_pic.png rename to graphics/trainers/front_pics/picnicker.png diff --git a/graphics/trainers/front_pics/pike_queen_lucy_front_pic.png b/graphics/trainers/front_pics/pike_queen_lucy.png similarity index 100% rename from graphics/trainers/front_pics/pike_queen_lucy_front_pic.png rename to graphics/trainers/front_pics/pike_queen_lucy.png diff --git a/graphics/trainers/front_pics/pokefan_f_front_pic.png b/graphics/trainers/front_pics/pokefan_f.png similarity index 100% rename from graphics/trainers/front_pics/pokefan_f_front_pic.png rename to graphics/trainers/front_pics/pokefan_f.png diff --git a/graphics/trainers/front_pics/pokefan_m_front_pic.png b/graphics/trainers/front_pics/pokefan_m.png similarity index 100% rename from graphics/trainers/front_pics/pokefan_m_front_pic.png rename to graphics/trainers/front_pics/pokefan_m.png diff --git a/graphics/trainers/front_pics/pokemaniac_front_pic.png b/graphics/trainers/front_pics/pokemaniac.png similarity index 100% rename from graphics/trainers/front_pics/pokemaniac_front_pic.png rename to graphics/trainers/front_pics/pokemaniac.png diff --git a/graphics/trainers/front_pics/pokemon_breeder_f_front_pic.png b/graphics/trainers/front_pics/pokemon_breeder_f.png similarity index 100% rename from graphics/trainers/front_pics/pokemon_breeder_f_front_pic.png rename to graphics/trainers/front_pics/pokemon_breeder_f.png diff --git a/graphics/trainers/front_pics/pokemon_breeder_m_front_pic.png b/graphics/trainers/front_pics/pokemon_breeder_m.png similarity index 100% rename from graphics/trainers/front_pics/pokemon_breeder_m_front_pic.png rename to graphics/trainers/front_pics/pokemon_breeder_m.png diff --git a/graphics/trainers/front_pics/pokemon_ranger_f_front_pic.png b/graphics/trainers/front_pics/pokemon_ranger_f.png similarity index 100% rename from graphics/trainers/front_pics/pokemon_ranger_f_front_pic.png rename to graphics/trainers/front_pics/pokemon_ranger_f.png diff --git a/graphics/trainers/front_pics/pokemon_ranger_m_front_pic.png b/graphics/trainers/front_pics/pokemon_ranger_m.png similarity index 100% rename from graphics/trainers/front_pics/pokemon_ranger_m_front_pic.png rename to graphics/trainers/front_pics/pokemon_ranger_m.png diff --git a/graphics/trainers/front_pics/psychic_f_front_pic.png b/graphics/trainers/front_pics/psychic_f.png similarity index 100% rename from graphics/trainers/front_pics/psychic_f_front_pic.png rename to graphics/trainers/front_pics/psychic_f.png diff --git a/graphics/trainers/front_pics/psychic_m_front_pic.png b/graphics/trainers/front_pics/psychic_m.png similarity index 100% rename from graphics/trainers/front_pics/psychic_m_front_pic.png rename to graphics/trainers/front_pics/psychic_m.png diff --git a/graphics/trainers/front_pics/pyramid_king_brandon_front_pic.png b/graphics/trainers/front_pics/pyramid_king_brandon.png similarity index 100% rename from graphics/trainers/front_pics/pyramid_king_brandon_front_pic.png rename to graphics/trainers/front_pics/pyramid_king_brandon.png diff --git a/graphics/trainers/front_pics/red_front_pic.png b/graphics/trainers/front_pics/red.png similarity index 100% rename from graphics/trainers/front_pics/red_front_pic.png rename to graphics/trainers/front_pics/red.png diff --git a/graphics/trainers/front_pics/rich_boy_front_pic.png b/graphics/trainers/front_pics/rich_boy.png similarity index 100% rename from graphics/trainers/front_pics/rich_boy_front_pic.png rename to graphics/trainers/front_pics/rich_boy.png diff --git a/graphics/trainers/front_pics/ruin_maniac_front_pic.png b/graphics/trainers/front_pics/ruin_maniac.png similarity index 100% rename from graphics/trainers/front_pics/ruin_maniac_front_pic.png rename to graphics/trainers/front_pics/ruin_maniac.png diff --git a/graphics/trainers/front_pics/running_triathlete_f_front_pic.png b/graphics/trainers/front_pics/running_triathlete_f.png similarity index 100% rename from graphics/trainers/front_pics/running_triathlete_f_front_pic.png rename to graphics/trainers/front_pics/running_triathlete_f.png diff --git a/graphics/trainers/front_pics/running_triathlete_m_front_pic.png b/graphics/trainers/front_pics/running_triathlete_m.png similarity index 100% rename from graphics/trainers/front_pics/running_triathlete_m_front_pic.png rename to graphics/trainers/front_pics/running_triathlete_m.png diff --git a/graphics/trainers/front_pics/sailor_front_pic.png b/graphics/trainers/front_pics/sailor.png similarity index 100% rename from graphics/trainers/front_pics/sailor_front_pic.png rename to graphics/trainers/front_pics/sailor.png diff --git a/graphics/trainers/front_pics/salon_maiden_anabel_front_pic.png b/graphics/trainers/front_pics/salon_maiden_anabel.png similarity index 100% rename from graphics/trainers/front_pics/salon_maiden_anabel_front_pic.png rename to graphics/trainers/front_pics/salon_maiden_anabel.png diff --git a/graphics/trainers/front_pics/school_kid_f_front_pic.png b/graphics/trainers/front_pics/school_kid_f.png similarity index 100% rename from graphics/trainers/front_pics/school_kid_f_front_pic.png rename to graphics/trainers/front_pics/school_kid_f.png diff --git a/graphics/trainers/front_pics/school_kid_m_front_pic.png b/graphics/trainers/front_pics/school_kid_m.png similarity index 100% rename from graphics/trainers/front_pics/school_kid_m_front_pic.png rename to graphics/trainers/front_pics/school_kid_m.png diff --git a/graphics/trainers/front_pics/sis_and_bro_front_pic.png b/graphics/trainers/front_pics/sis_and_bro.png similarity index 100% rename from graphics/trainers/front_pics/sis_and_bro_front_pic.png rename to graphics/trainers/front_pics/sis_and_bro.png diff --git a/graphics/trainers/front_pics/sr_and_jr_front_pic.png b/graphics/trainers/front_pics/sr_and_jr.png similarity index 100% rename from graphics/trainers/front_pics/sr_and_jr_front_pic.png rename to graphics/trainers/front_pics/sr_and_jr.png diff --git a/graphics/trainers/front_pics/steven_front_pic.png b/graphics/trainers/front_pics/steven.png similarity index 100% rename from graphics/trainers/front_pics/steven_front_pic.png rename to graphics/trainers/front_pics/steven.png diff --git a/graphics/trainers/front_pics/swimmer_f_front_pic.png b/graphics/trainers/front_pics/swimmer_f.png similarity index 100% rename from graphics/trainers/front_pics/swimmer_f_front_pic.png rename to graphics/trainers/front_pics/swimmer_f.png diff --git a/graphics/trainers/front_pics/swimmer_m_front_pic.png b/graphics/trainers/front_pics/swimmer_m.png similarity index 100% rename from graphics/trainers/front_pics/swimmer_m_front_pic.png rename to graphics/trainers/front_pics/swimmer_m.png diff --git a/graphics/trainers/front_pics/swimming_triathlete_f_front_pic.png b/graphics/trainers/front_pics/swimming_triathlete_f.png similarity index 100% rename from graphics/trainers/front_pics/swimming_triathlete_f_front_pic.png rename to graphics/trainers/front_pics/swimming_triathlete_f.png diff --git a/graphics/trainers/front_pics/swimming_triathlete_m_front_pic.png b/graphics/trainers/front_pics/swimming_triathlete_m.png similarity index 100% rename from graphics/trainers/front_pics/swimming_triathlete_m_front_pic.png rename to graphics/trainers/front_pics/swimming_triathlete_m.png diff --git a/graphics/trainers/front_pics/tuber_f_front_pic.png b/graphics/trainers/front_pics/tuber_f.png similarity index 100% rename from graphics/trainers/front_pics/tuber_f_front_pic.png rename to graphics/trainers/front_pics/tuber_f.png diff --git a/graphics/trainers/front_pics/tuber_m_front_pic.png b/graphics/trainers/front_pics/tuber_m.png similarity index 100% rename from graphics/trainers/front_pics/tuber_m_front_pic.png rename to graphics/trainers/front_pics/tuber_m.png diff --git a/graphics/trainers/front_pics/twins_front_pic.png b/graphics/trainers/front_pics/twins.png similarity index 100% rename from graphics/trainers/front_pics/twins_front_pic.png rename to graphics/trainers/front_pics/twins.png diff --git a/graphics/trainers/front_pics/wally_front_pic.png b/graphics/trainers/front_pics/wally.png similarity index 100% rename from graphics/trainers/front_pics/wally_front_pic.png rename to graphics/trainers/front_pics/wally.png diff --git a/graphics/trainers/front_pics/young_couple_front_pic.png b/graphics/trainers/front_pics/young_couple.png similarity index 100% rename from graphics/trainers/front_pics/young_couple_front_pic.png rename to graphics/trainers/front_pics/young_couple.png diff --git a/graphics/trainers/front_pics/youngster_front_pic.png b/graphics/trainers/front_pics/youngster.png similarity index 100% rename from graphics/trainers/front_pics/youngster_front_pic.png rename to graphics/trainers/front_pics/youngster.png diff --git a/graphics/trainers/palettes/aqua_admin_f.pal b/graphics/trainers/palettes/aqua_admin_f.pal deleted file mode 100644 index 4bad68770..000000000 --- a/graphics/trainers/palettes/aqua_admin_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 131 41 -189 156 90 -238 98 41 -180 65 41 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/aqua_admin_m.pal b/graphics/trainers/palettes/aqua_admin_m.pal deleted file mode 100644 index 2a7a46d46..000000000 --- a/graphics/trainers/palettes/aqua_admin_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 131 41 -189 156 90 -222 82 24 -164 49 24 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/aqua_grunt_f.pal b/graphics/trainers/palettes/aqua_grunt_f.pal deleted file mode 100644 index 4563eba48..000000000 --- a/graphics/trainers/palettes/aqua_grunt_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -164 74 65 -189 156 90 -255 106 98 -205 82 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/aqua_grunt_m.pal b/graphics/trainers/palettes/aqua_grunt_m.pal deleted file mode 100644 index c2b28ead9..000000000 --- a/graphics/trainers/palettes/aqua_grunt_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 164 197 -189 156 90 -255 115 148 -213 82 115 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/aqua_leader_archie.pal b/graphics/trainers/palettes/aqua_leader_archie.pal deleted file mode 100644 index a778ea6bb..000000000 --- a/graphics/trainers/palettes/aqua_leader_archie.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -131 156 180 -106 123 148 -82 90 115 -57 65 98 -213 213 222 -82 90 156 -24 32 49 -148 156 222 -106 115 213 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/arena_tycoon_greta.pal b/graphics/trainers/palettes/arena_tycoon_greta.pal deleted file mode 100644 index 60c45e8e9..000000000 --- a/graphics/trainers/palettes/arena_tycoon_greta.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -255 230 106 -213 189 90 -213 222 230 -65 82 123 -189 156 90 -255 115 148 -213 82 115 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/aroma_lady.pal b/graphics/trainers/palettes/aroma_lady.pal deleted file mode 100644 index eb9f3dfd4..000000000 --- a/graphics/trainers/palettes/aroma_lady.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 213 172 -238 197 148 -205 156 115 -115 82 65 -238 230 255 -205 197 213 -156 164 205 -106 98 148 -74 222 148 -172 115 41 -115 65 24 -238 90 131 -189 65 90 -106 255 156 -0 0 0 diff --git a/graphics/trainers/palettes/battle_girl.pal b/graphics/trainers/palettes/battle_girl.pal deleted file mode 100644 index 7f172b169..000000000 --- a/graphics/trainers/palettes/battle_girl.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -255 164 82 -230 106 0 -197 65 65 -156 106 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/beauty.pal b/graphics/trainers/palettes/beauty.pal deleted file mode 100644 index ab549df20..000000000 --- a/graphics/trainers/palettes/beauty.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 172 131 -205 131 115 -123 82 74 -148 131 139 -255 205 106 -213 172 74 -164 123 82 -115 90 115 -74 49 74 -255 82 57 -180 82 74 -131 74 65 -255 255 255 -0 0 24 diff --git a/graphics/trainers/palettes/bird_keeper.pal b/graphics/trainers/palettes/bird_keeper.pal deleted file mode 100644 index 87194c84a..000000000 --- a/graphics/trainers/palettes/bird_keeper.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -164 180 197 -131 139 156 -90 98 115 -57 65 82 -213 213 222 -131 16 41 -24 32 49 -213 82 90 -180 41 57 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/black_belt.pal b/graphics/trainers/palettes/black_belt.pal deleted file mode 100644 index 869e5d8df..000000000 --- a/graphics/trainers/palettes/black_belt.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -246 205 189 -222 172 148 -172 131 106 -90 65 49 -148 131 123 -106 90 82 -82 90 115 -49 57 82 -205 189 189 -189 164 164 -156 139 139 -255 98 90 -197 65 65 -246 230 230 -0 0 0 diff --git a/graphics/trainers/palettes/ruby_sapphire_brendan.pal b/graphics/trainers/palettes/brendan_rs.pal similarity index 100% rename from graphics/trainers/palettes/ruby_sapphire_brendan.pal rename to graphics/trainers/palettes/brendan_rs.pal diff --git a/graphics/trainers/palettes/bug_catcher.pal b/graphics/trainers/palettes/bug_catcher.pal deleted file mode 100644 index c68f56690..000000000 --- a/graphics/trainers/palettes/bug_catcher.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 180 148 -213 148 115 -123 90 82 -222 222 164 -197 197 139 -156 139 74 -41 57 98 -197 197 238 -246 238 213 -189 49 57 -98 164 222 -49 123 156 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/bug_maniac.pal b/graphics/trainers/palettes/bug_maniac.pal deleted file mode 100644 index 2aa329179..000000000 --- a/graphics/trainers/palettes/bug_maniac.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -49 123 156 -49 65 131 -65 74 74 -222 222 164 -197 197 139 -205 213 213 -156 139 74 -98 164 222 -106 115 115 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/camper.pal b/graphics/trainers/palettes/camper.pal deleted file mode 100644 index e5c224fd2..000000000 --- a/graphics/trainers/palettes/camper.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -230 189 156 -205 156 115 -115 82 65 -131 213 205 -82 164 148 -180 189 222 -57 90 74 -24 49 90 -98 115 230 -57 82 131 -255 98 41 -189 74 41 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/champion_wallace.pal b/graphics/trainers/palettes/champion_wallace.pal deleted file mode 100644 index eaaed070f..000000000 --- a/graphics/trainers/palettes/champion_wallace.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 180 148 -189 139 106 -98 57 65 -189 131 255 -148 106 172 -115 131 255 -82 106 180 -197 197 213 -57 74 115 -139 139 164 -57 41 57 -98 57 98 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/collector.pal b/graphics/trainers/palettes/collector.pal deleted file mode 100644 index d4d9221e2..000000000 --- a/graphics/trainers/palettes/collector.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 180 148 -197 139 115 -123 90 82 -106 139 189 -65 98 148 -32 74 123 -255 98 90 -197 65 65 -213 222 230 -131 74 65 -115 123 131 -164 172 180 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/cooltrainer_f.pal b/graphics/trainers/palettes/cooltrainer_f.pal deleted file mode 100644 index 292d0fc78..000000000 --- a/graphics/trainers/palettes/cooltrainer_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -238 197 156 -205 156 115 -115 82 65 -238 156 115 -205 90 74 -0 189 222 -123 41 24 -180 230 139 -139 180 57 -74 90 32 -255 246 189 -213 205 131 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/cooltrainer_m.pal b/graphics/trainers/palettes/cooltrainer_m.pal deleted file mode 100644 index 52a32e925..000000000 --- a/graphics/trainers/palettes/cooltrainer_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -246 205 156 -205 156 115 -115 82 65 -238 156 115 -230 98 82 -180 90 74 -131 49 32 -57 90 41 -164 180 106 -98 123 57 -255 246 189 -213 205 131 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/cycling_triathlete_f.pal b/graphics/trainers/palettes/cycling_triathlete_f.pal deleted file mode 100644 index b72bb3011..000000000 --- a/graphics/trainers/palettes/cycling_triathlete_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -57 41 57 -57 74 106 -131 131 156 -139 156 238 -115 131 205 -98 106 172 -205 197 255 -230 90 65 -189 74 41 -139 74 82 -255 255 255 -0 0 24 diff --git a/graphics/trainers/palettes/cycling_triathlete_m.pal b/graphics/trainers/palettes/cycling_triathlete_m.pal deleted file mode 100644 index 9255a4a94..000000000 --- a/graphics/trainers/palettes/cycling_triathlete_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -238 189 139 -189 148 115 -139 106 82 -57 41 57 -115 90 106 -156 131 156 -156 213 255 -106 164 222 -82 131 197 -205 197 255 -230 90 65 -189 74 41 -139 74 82 -255 255 255 -0 0 24 diff --git a/graphics/trainers/palettes/dome_ace_tucker.pal b/graphics/trainers/palettes/dome_ace_tucker.pal deleted file mode 100644 index 33bb1aa68..000000000 --- a/graphics/trainers/palettes/dome_ace_tucker.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -246 148 230 -230 115 213 -189 90 172 -139 74 115 -213 205 246 -230 213 106 -156 148 197 -238 238 139 -213 180 98 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/dragon_tamer.pal b/graphics/trainers/palettes/dragon_tamer.pal deleted file mode 100644 index 545c55b74..000000000 --- a/graphics/trainers/palettes/dragon_tamer.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -74 57 49 -164 57 246 -123 49 172 -131 139 148 -255 98 90 -197 65 65 -213 222 230 -74 74 65 -255 205 106 -213 172 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/elite_four_drake.pal b/graphics/trainers/palettes/elite_four_drake.pal deleted file mode 100644 index 6ab0bae73..000000000 --- a/graphics/trainers/palettes/elite_four_drake.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 172 148 -164 131 106 -98 57 65 -139 131 164 -106 98 123 -41 49 57 -57 65 82 -197 197 213 -255 222 106 -189 156 90 -106 131 238 -65 106 172 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/elite_four_glacia.pal b/graphics/trainers/palettes/elite_four_glacia.pal deleted file mode 100644 index 75b5eb108..000000000 --- a/graphics/trainers/palettes/elite_four_glacia.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -115 82 65 -148 148 164 -148 90 164 -115 65 123 -82 41 82 -255 255 164 -213 197 90 -156 148 90 -222 230 238 -189 197 205 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/elite_four_phoebe.pal b/graphics/trainers/palettes/elite_four_phoebe.pal deleted file mode 100644 index 8c07c0d5b..000000000 --- a/graphics/trainers/palettes/elite_four_phoebe.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -115 82 65 -57 131 255 -32 106 230 -16 82 205 -41 49 123 -164 205 255 -115 98 106 -74 57 65 -255 82 156 -197 65 90 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/elite_four_sidney.pal b/graphics/trainers/palettes/elite_four_sidney.pal deleted file mode 100644 index d778e0ed6..000000000 --- a/graphics/trainers/palettes/elite_four_sidney.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 180 148 -189 139 106 -98 57 65 -131 106 74 -106 98 123 -41 49 57 -57 65 82 -197 197 213 -238 213 139 -197 164 106 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/expert_f.pal b/graphics/trainers/palettes/expert_f.pal deleted file mode 100644 index 2fa5f5202..000000000 --- a/graphics/trainers/palettes/expert_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 180 172 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -139 139 131 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/expert_m.pal b/graphics/trainers/palettes/expert_m.pal deleted file mode 100644 index 2fa5f5202..000000000 --- a/graphics/trainers/palettes/expert_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 180 172 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -139 139 131 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/factory_head_noland.pal b/graphics/trainers/palettes/factory_head_noland.pal deleted file mode 100644 index 03bce8c77..000000000 --- a/graphics/trainers/palettes/factory_head_noland.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -172 172 189 -131 131 164 -98 98 123 -65 65 90 -222 213 246 -238 213 106 -246 131 123 -213 90 90 -180 57 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/fisherman.pal b/graphics/trainers/palettes/fisherman.pal deleted file mode 100644 index 3c18e8f1f..000000000 --- a/graphics/trainers/palettes/fisherman.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 213 189 -222 172 148 -180 131 115 -82 57 57 -123 98 106 -82 82 123 -213 172 82 -180 139 82 -205 205 222 -123 82 49 -49 49 74 -246 123 49 -189 106 49 -238 238 255 -0 0 24 diff --git a/graphics/trainers/palettes/gentleman.pal b/graphics/trainers/palettes/gentleman.pal deleted file mode 100644 index ef021d026..000000000 --- a/graphics/trainers/palettes/gentleman.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -180 148 115 -148 115 82 -123 90 57 -65 49 41 -255 238 156 -213 213 205 -180 180 172 -90 106 172 -57 74 123 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/guitarist.pal b/graphics/trainers/palettes/guitarist.pal deleted file mode 100644 index 74e59e819..000000000 --- a/graphics/trainers/palettes/guitarist.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -172 172 164 -139 131 131 -106 98 98 -65 57 57 -255 238 156 -255 197 90 -205 180 148 -255 98 90 -189 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/hex_maniac.pal b/graphics/trainers/palettes/hex_maniac.pal deleted file mode 100644 index 549d7fac9..000000000 --- a/graphics/trainers/palettes/hex_maniac.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -164 123 156 -139 90 131 -106 65 106 -74 41 74 -213 222 230 -189 205 213 -205 57 82 -115 41 65 -180 49 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/hiker.pal b/graphics/trainers/palettes/hiker.pal deleted file mode 100644 index cb8fce7f6..000000000 --- a/graphics/trainers/palettes/hiker.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 164 148 -205 131 115 -74 65 57 -123 189 90 -115 148 90 -213 180 98 -172 148 98 -205 205 222 -148 148 148 -123 115 74 -230 98 90 -164 74 74 -255 255 255 -0 0 24 diff --git a/graphics/trainers/palettes/interviewer.pal b/graphics/trainers/palettes/interviewer.pal deleted file mode 100644 index 61ace1935..000000000 --- a/graphics/trainers/palettes/interviewer.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -148 148 172 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -98 197 255 -90 156 189 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/kindler.pal b/graphics/trainers/palettes/kindler.pal deleted file mode 100644 index af6adf7e8..000000000 --- a/graphics/trainers/palettes/kindler.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -115 82 65 -246 246 230 -222 222 189 -180 180 139 -123 115 74 -172 213 246 -115 180 205 -57 123 139 -255 82 57 -255 156 90 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/lady.pal b/graphics/trainers/palettes/lady.pal deleted file mode 100644 index b70873111..000000000 --- a/graphics/trainers/palettes/lady.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 222 -238 180 180 -156 123 106 -172 106 74 -82 82 32 -213 222 230 -255 230 106 -213 172 90 -222 98 123 -148 164 180 -180 238 106 -148 213 82 -123 189 65 -255 255 255 -0 0 24 diff --git a/graphics/trainers/palettes/lass.pal b/graphics/trainers/palettes/lass.pal deleted file mode 100644 index 89e78d683..000000000 --- a/graphics/trainers/palettes/lass.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -222 148 115 -123 90 82 -164 172 197 -90 98 148 -49 57 82 -41 57 98 -222 230 238 -255 197 90 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_brawly.pal b/graphics/trainers/palettes/leader_brawly.pal deleted file mode 100644 index 5a5a482f2..000000000 --- a/graphics/trainers/palettes/leader_brawly.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -49 49 74 -213 213 222 -255 164 197 -115 115 115 -255 139 65 -213 98 24 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_flannery.pal b/graphics/trainers/palettes/leader_flannery.pal deleted file mode 100644 index 20f2f8579..000000000 --- a/graphics/trainers/palettes/leader_flannery.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 197 230 -90 156 213 -65 115 164 -49 49 74 -213 213 222 -131 74 16 -115 115 115 -255 139 65 -197 98 32 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_juan.pal b/graphics/trainers/palettes/leader_juan.pal deleted file mode 100644 index 96467bdc3..000000000 --- a/graphics/trainers/palettes/leader_juan.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 180 148 -180 131 98 -123 90 82 -213 115 222 -148 65 180 -106 148 255 -82 106 189 -74 74 148 -164 180 189 -98 115 123 -98 49 90 -213 213 222 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_norman.pal b/graphics/trainers/palettes/leader_norman.pal deleted file mode 100644 index e53c16837..000000000 --- a/graphics/trainers/palettes/leader_norman.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 197 230 -139 156 172 -74 98 123 -49 65 82 -213 213 222 -131 16 41 -115 115 115 -213 82 90 -180 41 57 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_roxanne.pal b/graphics/trainers/palettes/leader_roxanne.pal deleted file mode 100644 index c2b28ead9..000000000 --- a/graphics/trainers/palettes/leader_roxanne.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 164 197 -189 156 90 -255 115 148 -213 82 115 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_tate_and_liza.pal b/graphics/trainers/palettes/leader_tate_and_liza.pal deleted file mode 100644 index ab64e9bea..000000000 --- a/graphics/trainers/palettes/leader_tate_and_liza.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 172 65 -255 222 205 -238 180 148 -180 131 106 -106 74 74 -189 189 197 -123 123 131 -74 82 98 -41 49 65 -255 98 90 -164 49 57 -255 197 90 -106 189 255 -90 139 197 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_wattson.pal b/graphics/trainers/palettes/leader_wattson.pal deleted file mode 100644 index c8a4e1420..000000000 --- a/graphics/trainers/palettes/leader_wattson.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -123 90 82 -164 139 90 -131 106 74 -139 131 106 -82 65 74 -213 213 222 -255 197 90 -189 156 90 -57 41 49 -222 115 131 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leader_winona.pal b/graphics/trainers/palettes/leader_winona.pal deleted file mode 100644 index 62783523b..000000000 --- a/graphics/trainers/palettes/leader_winona.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -172 189 213 -139 156 205 -74 98 148 -49 65 82 -205 213 222 -115 57 123 -255 197 90 -189 123 222 -148 90 172 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leaf.pal b/graphics/trainers/palettes/leaf.pal deleted file mode 100644 index 30e2cdde0..000000000 --- a/graphics/trainers/palettes/leaf.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 180 -230 189 156 -205 148 115 -123 90 82 -123 189 222 -82 139 180 -49 106 139 -24 41 82 -213 213 222 -255 197 90 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/leaf_back_pic.pal b/graphics/trainers/palettes/leaf_back_pic.pal deleted file mode 100644 index 27436be92..000000000 --- a/graphics/trainers/palettes/leaf_back_pic.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -172 123 65 -255 197 148 -222 148 115 -123 65 65 -65 65 213 -57 57 123 -115 164 197 -106 41 41 -238 238 255 -180 180 213 -255 106 74 -197 57 57 -255 222 90 -189 156 57 -0 0 0 diff --git a/graphics/trainers/palettes/magma_admin.pal b/graphics/trainers/palettes/magma_admin.pal deleted file mode 100644 index a987cdbc1..000000000 --- a/graphics/trainers/palettes/magma_admin.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -123 123 123 -90 90 90 -82 98 148 -57 57 65 -65 74 115 -139 49 65 -189 189 180 -222 82 98 -189 57 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/magma_grunt_f.pal b/graphics/trainers/palettes/magma_grunt_f.pal deleted file mode 100644 index a987cdbc1..000000000 --- a/graphics/trainers/palettes/magma_grunt_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -123 123 123 -90 90 90 -82 98 148 -57 57 65 -65 74 115 -139 49 65 -189 189 180 -222 82 98 -189 57 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/magma_grunt_m.pal b/graphics/trainers/palettes/magma_grunt_m.pal deleted file mode 100644 index a987cdbc1..000000000 --- a/graphics/trainers/palettes/magma_grunt_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -123 123 123 -90 90 90 -82 98 148 -57 57 65 -65 74 115 -139 49 65 -189 189 180 -222 82 98 -189 57 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/magma_leader_maxie.pal b/graphics/trainers/palettes/magma_leader_maxie.pal deleted file mode 100644 index 151bf6d5b..000000000 --- a/graphics/trainers/palettes/magma_leader_maxie.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -164 180 197 -115 123 139 -74 82 98 -49 57 82 -213 213 222 -131 16 41 -24 32 49 -213 82 90 -180 41 57 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/ruby_sapphire_may.pal b/graphics/trainers/palettes/may_rs.pal similarity index 100% rename from graphics/trainers/palettes/ruby_sapphire_may.pal rename to graphics/trainers/palettes/may_rs.pal diff --git a/graphics/trainers/palettes/ninja_boy.pal b/graphics/trainers/palettes/ninja_boy.pal deleted file mode 100644 index 524d3f4ba..000000000 --- a/graphics/trainers/palettes/ninja_boy.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 180 148 -213 148 115 -123 90 82 -164 180 197 -131 139 156 -82 98 115 -49 57 82 -213 213 222 -131 16 41 -255 172 32 -213 82 90 -180 41 57 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/old_couple.pal b/graphics/trainers/palettes/old_couple.pal deleted file mode 100644 index 2fa5f5202..000000000 --- a/graphics/trainers/palettes/old_couple.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 180 172 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -139 139 131 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/palace_maven_spenser.pal b/graphics/trainers/palettes/palace_maven_spenser.pal deleted file mode 100644 index 40a634974..000000000 --- a/graphics/trainers/palettes/palace_maven_spenser.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -230 205 156 -189 164 115 -164 131 82 -106 74 74 -172 172 213 -123 131 189 -90 98 148 -57 65 90 -222 213 246 -238 213 106 -246 230 180 -230 115 74 -222 180 98 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/parasol_lady.pal b/graphics/trainers/palettes/parasol_lady.pal deleted file mode 100644 index dc5c6f67f..000000000 --- a/graphics/trainers/palettes/parasol_lady.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -123 82 65 -90 131 189 -65 90 139 -41 65 98 -255 98 90 -197 65 65 -255 156 106 -131 74 65 -255 205 106 -213 172 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/picnicker.pal b/graphics/trainers/palettes/picnicker.pal deleted file mode 100644 index acd90e943..000000000 --- a/graphics/trainers/palettes/picnicker.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -246 205 156 -205 156 115 -115 82 65 -131 213 205 -82 164 148 -180 189 222 -57 90 74 -24 49 90 -98 115 230 -57 82 131 -255 98 41 -189 74 41 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pike_queen_lucy.pal b/graphics/trainers/palettes/pike_queen_lucy.pal deleted file mode 100644 index fd3b46b8b..000000000 --- a/graphics/trainers/palettes/pike_queen_lucy.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -205 123 213 -148 90 148 -115 57 106 -57 57 57 -213 222 230 -172 65 65 -255 197 90 -115 106 123 -213 82 115 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokefan_f.pal b/graphics/trainers/palettes/pokefan_f.pal deleted file mode 100644 index 09728f005..000000000 --- a/graphics/trainers/palettes/pokefan_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 172 189 -65 123 180 -255 0 255 -32 57 82 -197 205 213 -180 139 90 -131 90 41 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokefan_m.pal b/graphics/trainers/palettes/pokefan_m.pal deleted file mode 100644 index 1d1f48875..000000000 --- a/graphics/trainers/palettes/pokefan_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -222 189 148 -197 156 115 -156 123 82 -49 57 49 -230 90 41 -131 172 222 -172 49 32 -82 123 172 -255 238 74 -213 189 41 -205 205 213 -98 98 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokemaniac.pal b/graphics/trainers/palettes/pokemaniac.pal deleted file mode 100644 index 3ede03b14..000000000 --- a/graphics/trainers/palettes/pokemaniac.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -246 205 156 -205 156 115 -115 82 65 -246 189 115 -213 123 74 -180 82 74 -139 57 41 -74 74 49 -255 230 57 -98 123 106 -230 82 24 -213 205 230 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokemon_breeder_f.pal b/graphics/trainers/palettes/pokemon_breeder_f.pal deleted file mode 100644 index b15f5db8a..000000000 --- a/graphics/trainers/palettes/pokemon_breeder_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -255 98 90 -164 49 65 -255 148 131 -49 49 74 -213 222 230 -205 74 74 -115 148 197 -49 74 123 -57 115 164 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokemon_breeder_m.pal b/graphics/trainers/palettes/pokemon_breeder_m.pal deleted file mode 100644 index 6551f8482..000000000 --- a/graphics/trainers/palettes/pokemon_breeder_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -131 90 74 -255 98 90 -156 65 74 -255 148 131 -49 49 74 -213 222 230 -205 74 74 -115 148 197 -49 74 123 -57 115 164 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokemon_ranger_f.pal b/graphics/trainers/palettes/pokemon_ranger_f.pal deleted file mode 100644 index 93220f5cb..000000000 --- a/graphics/trainers/palettes/pokemon_ranger_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -131 90 65 -82 49 49 -131 139 156 -82 90 115 -49 57 82 -213 213 222 -255 205 65 -255 131 74 -205 98 74 -156 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pokemon_ranger_m.pal b/graphics/trainers/palettes/pokemon_ranger_m.pal deleted file mode 100644 index 2f16ca0cb..000000000 --- a/graphics/trainers/palettes/pokemon_ranger_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -139 106 82 -82 49 49 -131 139 156 -90 98 115 -49 57 82 -213 213 222 -255 205 65 -238 139 82 -197 82 74 -115 57 49 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/psychic_f.pal b/graphics/trainers/palettes/psychic_f.pal deleted file mode 100644 index 232cfd755..000000000 --- a/graphics/trainers/palettes/psychic_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -246 205 156 -205 156 115 -115 82 65 -98 123 180 -32 98 131 -255 0 246 -41 57 90 -213 131 255 -156 115 180 -115 82 148 -246 139 90 -197 90 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/psychic_m.pal b/graphics/trainers/palettes/psychic_m.pal deleted file mode 100644 index 0ddd2894b..000000000 --- a/graphics/trainers/palettes/psychic_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -230 189 148 -205 156 115 -115 82 65 -98 123 180 -32 98 131 -0 255 0 -41 57 90 -213 131 255 -131 106 172 -90 74 131 -246 139 90 -197 90 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/pyramid_king_brandon.pal b/graphics/trainers/palettes/pyramid_king_brandon.pal deleted file mode 100644 index 77b5483b8..000000000 --- a/graphics/trainers/palettes/pyramid_king_brandon.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -164 213 90 -123 172 65 -82 115 41 -57 82 41 -213 205 213 -172 123 90 -139 139 123 -131 98 65 -213 106 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/red.pal b/graphics/trainers/palettes/red.pal deleted file mode 100644 index 30e2cdde0..000000000 --- a/graphics/trainers/palettes/red.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 180 -230 189 156 -205 148 115 -123 90 82 -123 189 222 -82 139 180 -49 106 139 -24 41 82 -213 213 222 -255 197 90 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/red_back_pic.pal b/graphics/trainers/palettes/red_back_pic.pal deleted file mode 100644 index 3097a6556..000000000 --- a/graphics/trainers/palettes/red_back_pic.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -131 123 164 -172 123 65 -255 197 148 -222 148 115 -123 65 65 -65 65 213 -57 57 123 -115 164 197 -106 41 41 -238 238 255 -180 180 213 -255 106 74 -197 57 57 -255 222 90 -189 156 57 -0 0 0 diff --git a/graphics/trainers/palettes/rich_boy.pal b/graphics/trainers/palettes/rich_boy.pal deleted file mode 100644 index 1ebb77204..000000000 --- a/graphics/trainers/palettes/rich_boy.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -213 222 230 -255 230 98 -222 180 90 -156 123 115 -115 82 90 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/ruin_maniac.pal b/graphics/trainers/palettes/ruin_maniac.pal deleted file mode 100644 index bbc342a06..000000000 --- a/graphics/trainers/palettes/ruin_maniac.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -255 238 106 -246 246 230 -222 222 189 -180 180 139 -115 106 65 -222 213 246 -115 131 205 -222 189 8 -213 115 139 -172 74 90 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/running_triathlete_f.pal b/graphics/trainers/palettes/running_triathlete_f.pal deleted file mode 100644 index 671c1593f..000000000 --- a/graphics/trainers/palettes/running_triathlete_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -180 139 90 -139 65 65 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/running_triathlete_m.pal b/graphics/trainers/palettes/running_triathlete_m.pal deleted file mode 100644 index 13a56a556..000000000 --- a/graphics/trainers/palettes/running_triathlete_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -246 205 180 -230 180 148 -180 139 106 -115 82 65 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -180 139 90 -139 65 65 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/sailor.pal b/graphics/trainers/palettes/sailor.pal deleted file mode 100644 index 3b6248576..000000000 --- a/graphics/trainers/palettes/sailor.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 180 172 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -139 139 131 -131 180 230 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/salon_maiden_anabel.pal b/graphics/trainers/palettes/salon_maiden_anabel.pal deleted file mode 100644 index 91776562f..000000000 --- a/graphics/trainers/palettes/salon_maiden_anabel.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -230 139 255 -189 115 213 -148 90 172 -123 74 139 -213 205 246 -255 197 90 -156 148 197 -255 222 115 -213 106 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/school_kid_f.pal b/graphics/trainers/palettes/school_kid_f.pal deleted file mode 100644 index ce758377a..000000000 --- a/graphics/trainers/palettes/school_kid_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -238 189 156 -205 148 115 -106 74 57 -255 139 164 -213 82 131 -131 139 255 -98 115 180 -57 74 131 -246 189 123 -197 131 65 -230 82 41 -139 90 32 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/school_kid_m.pal b/graphics/trainers/palettes/school_kid_m.pal deleted file mode 100644 index dc4298ea0..000000000 --- a/graphics/trainers/palettes/school_kid_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 180 148 -213 148 115 -123 90 82 -172 164 115 -65 90 148 -49 57 82 -131 123 82 -197 197 238 -255 222 65 -205 189 123 -98 164 222 -49 123 156 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/sis_and_bro.pal b/graphics/trainers/palettes/sis_and_bro.pal deleted file mode 100644 index 823ef66ef..000000000 --- a/graphics/trainers/palettes/sis_and_bro.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -246 205 189 -222 164 148 -164 123 98 -74 57 49 -255 139 90 -230 82 74 -180 65 65 -90 65 82 -197 65 65 -213 222 230 -255 230 205 -139 172 213 -90 131 189 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/sr_and_jr.pal b/graphics/trainers/palettes/sr_and_jr.pal deleted file mode 100644 index 72238881f..000000000 --- a/graphics/trainers/palettes/sr_and_jr.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -180 139 90 -131 90 41 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/swimmer_f.pal b/graphics/trainers/palettes/swimmer_f.pal deleted file mode 100644 index 823ef66ef..000000000 --- a/graphics/trainers/palettes/swimmer_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -246 205 189 -222 164 148 -164 123 98 -74 57 49 -255 139 90 -230 82 74 -180 65 65 -90 65 82 -197 65 65 -213 222 230 -255 230 205 -139 172 213 -90 131 189 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/swimmer_m.pal b/graphics/trainers/palettes/swimmer_m.pal deleted file mode 100644 index 259a53b9a..000000000 --- a/graphics/trainers/palettes/swimmer_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -230 197 172 -213 172 148 -172 123 106 -115 82 65 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -172 172 180 -139 65 65 -222 238 238 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/swimming_triathlete_f.pal b/graphics/trainers/palettes/swimming_triathlete_f.pal deleted file mode 100644 index 671c1593f..000000000 --- a/graphics/trainers/palettes/swimming_triathlete_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -180 139 90 -139 65 65 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/swimming_triathlete_m.pal b/graphics/trainers/palettes/swimming_triathlete_m.pal deleted file mode 100644 index 671c1593f..000000000 --- a/graphics/trainers/palettes/swimming_triathlete_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -180 139 90 -139 65 65 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/tuber_f.pal b/graphics/trainers/palettes/tuber_f.pal deleted file mode 100644 index b5cb0047a..000000000 --- a/graphics/trainers/palettes/tuber_f.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 230 74 -205 57 82 -238 180 57 -189 131 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/tuber_m.pal b/graphics/trainers/palettes/tuber_m.pal deleted file mode 100644 index b5cb0047a..000000000 --- a/graphics/trainers/palettes/tuber_m.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 230 74 -205 57 82 -238 180 57 -189 131 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/twins.pal b/graphics/trainers/palettes/twins.pal deleted file mode 100644 index 3b162de25..000000000 --- a/graphics/trainers/palettes/twins.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 230 74 -180 82 98 -238 180 57 -189 131 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/palettes/young_couple.pal b/graphics/trainers/palettes/young_couple.pal deleted file mode 100644 index bba95c19a..000000000 --- a/graphics/trainers/palettes/young_couple.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -148 164 172 -82 123 164 -57 82 106 -32 49 74 -205 213 222 -123 197 156 -90 164 131 -255 98 90 -197 65 65 -106 106 139 -0 0 0 diff --git a/graphics/trainers/palettes/youngster.pal b/graphics/trainers/palettes/youngster.pal deleted file mode 100644 index f91520d9b..000000000 --- a/graphics/trainers/palettes/youngster.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 180 148 -213 148 115 -123 90 82 -139 197 222 -65 90 148 -49 57 82 -41 57 98 -197 197 238 -255 222 65 -222 172 90 -98 164 222 -49 123 156 -255 255 255 -0 0 0 diff --git a/include/battle.h b/include/battle.h index 71b731da6..b328b46bb 100644 --- a/include/battle.h +++ b/include/battle.h @@ -246,6 +246,27 @@ struct AI_SavedBattleMon u16 species; }; +struct AiPartyMon +{ + u16 species; + u16 item; + u16 heldEffect; + u16 ability; + u16 gender; + u16 level; + u16 moves[MAX_MON_MOVES]; + u32 status; + bool8 isFainted; + bool8 wasSentInBattle; + u8 switchInCount; // Counts how many times this Pokemon has been sent out or switched into in a battle. +}; + +struct AIPartyData // Opposing battlers - party mons. +{ + struct AiPartyMon mons[2][PARTY_SIZE]; // 2 parties(player, opponent). Used to save information on opposing party. + u8 count[2]; +}; + struct AiLogicData { u16 abilities[MAX_BATTLERS_COUNT]; @@ -314,6 +335,7 @@ struct BattleResources struct StatsArray* beforeLvlUp; struct AI_ThinkingStruct *ai; struct AiLogicData *aiData; + struct AIPartyData *aiParty; struct BattleHistory *battleHistory; u8 bufferA[MAX_BATTLERS_COUNT][0x200]; u8 bufferB[MAX_BATTLERS_COUNT][0x200]; @@ -321,6 +343,7 @@ struct BattleResources #define AI_THINKING_STRUCT ((struct AI_ThinkingStruct *)(gBattleResources->ai)) #define AI_DATA ((struct AiLogicData *)(gBattleResources->aiData)) +#define AI_PARTY ((struct AIPartyData *)(gBattleResources->aiParty)) #define BATTLE_HISTORY ((struct BattleHistory *)(gBattleResources->battleHistory)) struct BattleResults @@ -623,6 +646,7 @@ struct BattleStruct // When using a move which hits multiple opponents which is then bounced by a target, we need to make sure, the move hits both opponents, the one with bounce, and the one without. u8 attackerBeforeBounce:2; u8 targetsDone[MAX_BATTLERS_COUNT]; // Each battler as a bit. + u16 overwrittenAbilities[MAX_BATTLERS_COUNT]; // abilities overwritten during battle (keep separate from battle history in case of switching) }; #define F_DYNAMIC_TYPE_1 (1 << 6) diff --git a/include/battle_ai_main.h b/include/battle_ai_main.h index fcb31a9b2..1d53a3f39 100644 --- a/include/battle_ai_main.h +++ b/include/battle_ai_main.h @@ -24,6 +24,9 @@ void BattleAI_SetupItems(void); void BattleAI_SetupFlags(void); void BattleAI_SetupAIData(u8 defaultScoreMoves); u8 BattleAI_ChooseMoveOrAction(void); +void Ai_InitPartyStruct(void); +void Ai_UpdateSwitchInData(u32 battler); +void Ai_UpdateFaintData(u32 battler); void GetAiLogicData(void); extern u8 sBattler_AI; diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 00a0747bd..2d6364fb9 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -428,6 +428,7 @@ extern const u8 BattleScript_BeakBlastBurn[]; extern const u8 BattleScript_DefDownSpeedUp[]; extern const u8 BattleScript_AffectionBasedStatusHeal[]; extern const u8 BattleScript_AffectionBasedEndurance[]; +extern const u8 BattleScript_SymbiosisActivates[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/include/config.h b/include/config.h index d6c60a2fa..ad8b3268f 100644 --- a/include/config.h +++ b/include/config.h @@ -8,12 +8,31 @@ // Ruby's actual debug build does not use the AGBPrint features. #define NDEBUG -// To enable print debugging, comment out "#define NDEBUG". This allows +// To enable printf debugging, comment out "#define NDEBUG". This allows // the various AGBPrint functions to be used. (See include/gba/isagbprint.h). -// Some emulators support a debug console window: uncomment NoCashGBAPrint() -// and NoCashGBAPrintf() in libisagbprn.c to use no$gba's own proprietary -// printing system. Use NoCashGBAPrint() and NoCashGBAPrintf() like you -// would normally use AGBPrint() and AGBPrintf(). +// See below for enabling different pretty printing versions. + +#ifndef NDEBUG + +#define PRETTY_PRINT_MINI_PRINTF (0) +#define PRETTY_PRINT_LIBC (1) + +#define LOG_HANDLER_AGB_PRINT (0) +#define LOG_HANDLER_NOCASH_PRINT (1) +#define LOG_HANDLER_MGBA_PRINT (2) + +// Use this switch to choose a handler for pretty printing. +// NOTE: mini_printf supports a custom pretty printing formatter to display preproc encoded strings. (%S) +// some libc distributions (especially dkp arm-libc) will fail to link pretty printing. +#define PRETTY_PRINT_HANDLER (PRETTY_PRINT_MINI_PRINTF) + +// Use this switch to choose a handler for printf output. +// NOTE: These will only work on the respective emulators and should not be used in a productive environment. +// Some emulators or real hardware might (and is allowed to) crash if they are used. +// AGB_PRINT is supported on respective debug units. + +#define LOG_HANDLER (LOG_HANDLER_MGBA_PRINT) +#endif #define ENGLISH diff --git a/include/constants/battle_ai.h b/include/constants/battle_ai.h index 5dbbccf48..1cfb9cd4d 100644 --- a/include/constants/battle_ai.h +++ b/include/constants/battle_ai.h @@ -56,7 +56,7 @@ #define AI_FLAG_STALL (1 << 13) // AI stalls battle and prefers secondary damage/trapping/etc. TODO not finished #define AI_FLAG_SCREENER (1 << 14) // AI prefers screening effects like reflect, mist, etc. TODO unfinished #define AI_FLAG_SMART_SWITCHING (1 << 15) // AI includes a lot more switching checks -#define AI_FLAG_ACE_POKEMON (1 << 16) // AI has Ace Pokemon. The last Pokemon in the party will not used until last remaining. +#define AI_FLAG_ACE_POKEMON (1 << 16) // AI has an Ace Pokemon. The last Pokemon in the party will not be used until it's the last one remaining. // 'other' ai logic flags #define AI_FLAG_ROAMING (1 << 29) diff --git a/include/constants/battle_config.h b/include/constants/battle_config.h index 82822f28a..d863ae929 100644 --- a/include/constants/battle_config.h +++ b/include/constants/battle_config.h @@ -51,7 +51,8 @@ #define B_FAINT_SWITCH_IN GEN_LATEST // In Gen4+, sending out a new Pokémon after the previous one fainted happens at the end of the turn. Before, it would happen after each action. // Move data settings -#define B_UPDATED_MOVE_DATA GEN_LATEST // Updates move data in gBattleMoves, including Power, Accuracy, PP, stat changes, targets, chances of secondary effects, etc. +#define B_UPDATED_MOVE_DATA GEN_LATEST // Updates move data in gBattleMoves, including Power, Accuracy, PP, stat changes, targets and chances of secondary effects. +#define B_UPDATED_MOVE_TYPES GEN_LATEST // Updates move types. #define B_PHYSICAL_SPECIAL_SPLIT GEN_LATEST // In Gen3, the move's type determines if it will do physical or special damage. The split icon in the summary will reflect this. #define B_RECOIL_IF_MISS_DMG GEN_LATEST // In Gen5+, Jump Kick and High Jump Kick will always do half of the user's max HP when missing. #define B_KLUTZ_FLING_INTERACTION GEN_LATEST // In Gen5+, Pokémon with the Klutz ability can't use Fling. @@ -87,6 +88,7 @@ // Draining abilities will not heal but will prevent damage. In Gen6+, Heal Block prevents the use of most HP-draining moves. #define B_ROOTED_GROUNDING GEN_LATEST // In Gen4+, Ingrain causes the affected Pokémon to become grounded. #define B_METRONOME_MOVES GEN_LATEST // This config will determine up to which generation will Metronome pull moves from. +#define B_TELEPORT_BEHAVIOR GEN_LATEST // In Gen7+, starting with Pokémon LGPE, Teleport allows the user to swap out with another party member. #define B_BURN_HIT_THAW GEN_LATEST // In Gen6+, damaging moves with a chance of burn will thaw the target, regardless if they're fire-type moves or not. // Ability settings @@ -104,6 +106,7 @@ #define B_STURDY GEN_LATEST // In Gen5+, Sturdy causes the Pokémon to have 1 HP remaining if another Pokémon's attack or confusion damage would have brought it from full health to 0 HP. #define B_PLUS_MINUS_INTERACTION GEN_LATEST // In Gen5+, Plus and Minus can be activated with themselves and the opposite ability. Before, only the opposing ability could activate it. #define B_WEATHER_FORMS GEN_LATEST // In Gen5+, Castform and Cherrim revert to their base form upon losing their respective ability. Cherrim needs Flower Gift to swap forms. +#define B_SYMBIOSIS_GEMS GEN_LATEST // In Gen7+, Symbiosis passes an item after a gem-boosted attack. Previously, items are passed before the gem-boosted attack hits, making the item effect apply. // Item settings #define B_HP_BERRIES GEN_LATEST // In Gen4+, berries which restore hp activate immediately after HP drops to half. In Gen3, the effect occurs at the end of the turn. diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index 47b0dbe79..b11e7eb65 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -242,6 +242,9 @@ #define VARIOUS_SET_BEAK_BLAST 151 #define VARIOUS_SWAP_SIDE_STATUSES 152 #define VARIOUS_SET_Z_EFFECT 153 +#define VARIOUS_TRY_SYMBIOSIS 154 +#define VARIOUS_CAN_TELEPORT 155 +#define VARIOUS_GET_BATTLER_SIDE 156 // Cmd_manipulatedamage #define DMG_CHANGE_SIGN 0 @@ -312,8 +315,9 @@ #define MOVEEND_DANCER 28 #define MOVEEND_EMERGENCY_EXIT 29 #define MOVEEND_WEATHER_FORM 30 -#define MOVEEND_CLEAR_BITS 31 -#define MOVEEND_COUNT 32 +#define MOVEEND_SYMBIOSIS 31 +#define MOVEEND_CLEAR_BITS 32 +#define MOVEEND_COUNT 33 // switch cases #define B_SWITCH_NORMAL 0 diff --git a/include/constants/global.h b/include/constants/global.h index 07ed19020..5870cf416 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -39,7 +39,9 @@ #define FRONTIER_PARTY_SIZE 3 #define FRONTIER_DOUBLES_PARTY_SIZE 4 #define FRONTIER_MULTI_PARTY_SIZE 2 -#define MAX_FRONTIER_PARTY_SIZE FRONTIER_DOUBLES_PARTY_SIZE +#define MAX_FRONTIER_PARTY_SIZE (max(FRONTIER_PARTY_SIZE, \ + max(FRONTIER_DOUBLES_PARTY_SIZE,\ + FRONTIER_MULTI_PARTY_SIZE))) #define UNION_ROOM_PARTY_SIZE 2 // capacities of various saveblock objects diff --git a/include/constants/pokedex.h b/include/constants/pokedex.h index 6b6582af0..39c09c312 100644 --- a/include/constants/pokedex.h +++ b/include/constants/pokedex.h @@ -2,7 +2,8 @@ #define GUARD_CONSTANTS_POKEDEX_H #include "constants/pokemon_config.h" -// National Pokedex order. Gen 4+ mons and forms are not disabled by P_NEW_POKEMON to keep pokedex_orders.h clean. +// National Pokedex order. +// These constants are NOT disabled by P_GEN_X_POKEMON to keep pokedex_orders.h clean. enum { NATIONAL_DEX_NONE, // Kanto @@ -923,11 +924,21 @@ enum { #define KANTO_DEX_COUNT NATIONAL_DEX_MEW #define JOHTO_DEX_COUNT NATIONAL_DEX_CELEBI -#if P_NEW_POKEMON == TRUE -#define NATIONAL_DEX_COUNT NATIONAL_DEX_ENAMORUS + +#if P_GEN_8_POKEMON == TRUE + #define NATIONAL_DEX_COUNT NATIONAL_DEX_ENAMORUS +#elif P_GEN_7_POKEMON == TRUE + #define NATIONAL_DEX_COUNT NATIONAL_DEX_MELMETAL +#elif P_GEN_6_POKEMON == TRUE + #define NATIONAL_DEX_COUNT NATIONAL_DEX_VOLCANION +#elif P_GEN_5_POKEMON == TRUE + #define NATIONAL_DEX_COUNT NATIONAL_DEX_GENESECT +#elif P_GEN_4_POKEMON == TRUE + #define NATIONAL_DEX_COUNT NATIONAL_DEX_ARCEUS #else -#define NATIONAL_DEX_COUNT NATIONAL_DEX_DEOXYS + #define NATIONAL_DEX_COUNT NATIONAL_DEX_DEOXYS #endif + #define POKEMON_SLOTS_NUMBER (NATIONAL_DEX_COUNT + 1) // Hoenn Pokedex order @@ -964,7 +975,7 @@ enum { HOENN_DEX_RALTS, HOENN_DEX_KIRLIA, HOENN_DEX_GARDEVOIR, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE HOENN_DEX_GALLADE, #endif HOENN_DEX_SURSKIT, @@ -996,7 +1007,7 @@ enum { HOENN_DEX_GRAVELER, HOENN_DEX_GOLEM, HOENN_DEX_NOSEPASS, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE HOENN_DEX_PROBOPASS, #endif HOENN_DEX_SKITTY, @@ -1022,7 +1033,7 @@ enum { HOENN_DEX_MINUN, HOENN_DEX_MAGNEMITE, HOENN_DEX_MAGNETON, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE HOENN_DEX_MAGNEZONE, #endif HOENN_DEX_VOLTORB, @@ -1035,7 +1046,7 @@ enum { HOENN_DEX_BELLOSSOM, HOENN_DEX_DODUO, HOENN_DEX_DODRIO, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE HOENN_DEX_BUDEW, HOENN_DEX_ROSELIA, HOENN_DEX_ROSERADE, @@ -1097,7 +1108,7 @@ enum { HOENN_DEX_BANETTE, HOENN_DEX_DUSKULL, HOENN_DEX_DUSCLOPS, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE HOENN_DEX_DUSKNOIR, HOENN_DEX_TROPIUS, HOENN_DEX_CHINGLING, @@ -1124,12 +1135,12 @@ enum { HOENN_DEX_HERACROSS, HOENN_DEX_RHYHORN, HOENN_DEX_RHYDON, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE HOENN_DEX_RHYPERIOR, #endif HOENN_DEX_SNORUNT, HOENN_DEX_GLALIE, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE HOENN_DEX_FROSLASS, #endif HOENN_DEX_SPHEAL, diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 189007045..5167f5f55 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -340,13 +340,17 @@ #define NUM_HIDDEN_ABILITY_SLOTS 1 // Species Flags -#define FLAG_LEGENDARY (1 << 0) -#define FLAG_MYTHICAL (1 << 1) -#define FLAG_ULTRA_BEAST (1 << 2) -#define FLAG_ALOLAN_FORM (1 << 3) -#define FLAG_GALARIAN_FORM (1 << 4) -#define FLAG_HISUIAN_FORM (1 << 5) -#define FLAG_GENDER_DIFFERENCE (1 << 6) +#define SPECIES_FLAG_LEGENDARY (1 << 0) +#define SPECIES_FLAG_MYTHICAL (1 << 1) +#define SPECIES_FLAG_MEGA_EVOLUTION (1 << 2) +#define SPECIES_FLAG_ULTRA_BEAST (1 << 3) +#define SPECIES_FLAG_ALOLAN_FORM (1 << 4) +#define SPECIES_FLAG_GALARIAN_FORM (1 << 5) +#define SPECIES_FLAG_HISUIAN_FORM (1 << 6) +#define SPECIES_FLAG_GENDER_DIFFERENCE (1 << 7) +#define SPECIES_FLAG_ALL_PERFECT_IVS (1 << 8) +#define SPECIES_FLAG_SHINY_LOCKED (1 << 9) +#define SPECIES_FLAG_CANNOT_BE_TRADED (1 << 10) #define LEGENDARY_PERFECT_IV_COUNT 3 diff --git a/include/constants/pokemon_config.h b/include/constants/pokemon_config.h index 40acd8c80..dd10ee236 100644 --- a/include/constants/pokemon_config.h +++ b/include/constants/pokemon_config.h @@ -10,7 +10,15 @@ #define P_KADABRA_EVERSTONE GEN_LATEST // Since Gen 4, Kadabra can evolve even when holding an Everstone. #define P_NIDORAN_M_DITTO_BREED GEN_LATEST // Since Gen 5, when Nidoran♂ breeds with Ditto it can produce Nidoran♀ offspring. Before, it would only yield male offspring. This change also applies to Volbeat. -#define P_NEW_POKEMON TRUE // Turning this to FALSE will remove all newly added Pokémon and Forms. Only Unown, Castform and Deoxys forms will remain. +// Modifying the latest generation WILL change the saveblock due to Dex flags and will require a new save file. +// Forms are kept based on the base species, Eg: Meowth and Persian will keep all of their forms, but Perrserker will not be available if P_GEN_8_POKEMON is set to FALSE. +// If you're disabling a generation previous to others (eg: Gen 5 but not Gen 6, 7 and 8), +// remember to update NATIONAL_DEX enum in include/constants/pokedex.h to avoid players from softlocking in the non-existant entries. +#define P_GEN_4_POKEMON TRUE // Generation 4 Pokémon (DPPt, HGSS) +#define P_GEN_5_POKEMON TRUE // Generation 5 Pokémon (BW, B2W2) +#define P_GEN_6_POKEMON TRUE // Generation 6 Pokémon (XY, ORAS) +#define P_GEN_7_POKEMON TRUE // Generation 7 Pokémon (SM, USUM, LGPE) +#define P_GEN_8_POKEMON TRUE // Generation 8 Pokémon (SwSh, BDSP, LA) #define P_ENABLE_DEBUG TRUE // Enables a debug menu for pokemon sprites and icons, accessed by pressing SELECT in the summary screen. diff --git a/include/constants/species.h b/include/constants/species.h index 976b30302..18e3138ce 100644 --- a/include/constants/species.h +++ b/include/constants/species.h @@ -1046,7 +1046,6 @@ // Pichu #define SPECIES_PICHU_SPIKY_EARED FORMS_START + 118 -#if P_NEW_POKEMON == TRUE // Unown #define SPECIES_UNOWN_B FORMS_START + 119 #define SPECIES_UNOWN_C FORMS_START + 120 @@ -1086,47 +1085,6 @@ #define SPECIES_DEOXYS_DEFENSE FORMS_START + 150 #define SPECIES_DEOXYS_SPEED FORMS_START + 151 -#else -// Unown -#define SPECIES_UNOWN_B FORMS_START + 1 -#define SPECIES_UNOWN_C FORMS_START + 2 -#define SPECIES_UNOWN_D FORMS_START + 3 -#define SPECIES_UNOWN_E FORMS_START + 4 -#define SPECIES_UNOWN_F FORMS_START + 5 -#define SPECIES_UNOWN_G FORMS_START + 6 -#define SPECIES_UNOWN_H FORMS_START + 7 -#define SPECIES_UNOWN_I FORMS_START + 8 -#define SPECIES_UNOWN_J FORMS_START + 9 -#define SPECIES_UNOWN_K FORMS_START + 10 -#define SPECIES_UNOWN_L FORMS_START + 11 -#define SPECIES_UNOWN_M FORMS_START + 12 -#define SPECIES_UNOWN_N FORMS_START + 13 -#define SPECIES_UNOWN_O FORMS_START + 14 -#define SPECIES_UNOWN_P FORMS_START + 15 -#define SPECIES_UNOWN_Q FORMS_START + 16 -#define SPECIES_UNOWN_R FORMS_START + 17 -#define SPECIES_UNOWN_S FORMS_START + 18 -#define SPECIES_UNOWN_T FORMS_START + 19 -#define SPECIES_UNOWN_U FORMS_START + 20 -#define SPECIES_UNOWN_V FORMS_START + 21 -#define SPECIES_UNOWN_W FORMS_START + 22 -#define SPECIES_UNOWN_X FORMS_START + 23 -#define SPECIES_UNOWN_Y FORMS_START + 24 -#define SPECIES_UNOWN_Z FORMS_START + 25 -#define SPECIES_UNOWN_EMARK FORMS_START + 26 -#define SPECIES_UNOWN_QMARK FORMS_START + 27 - -// Castform -#define SPECIES_CASTFORM_SUNNY FORMS_START + 28 -#define SPECIES_CASTFORM_RAINY FORMS_START + 29 -#define SPECIES_CASTFORM_SNOWY FORMS_START + 30 - -// Deoxys -#define SPECIES_DEOXYS_ATTACK FORMS_START + 31 -#define SPECIES_DEOXYS_DEFENSE FORMS_START + 32 -#define SPECIES_DEOXYS_SPEED FORMS_START + 33 -#endif - // Burmy #define SPECIES_BURMY_SANDY_CLOAK FORMS_START + 152 #define SPECIES_BURMY_TRASH_CLOAK FORMS_START + 153 @@ -1412,13 +1370,8 @@ #define SPECIES_CALYREX_ICE_RIDER FORMS_START + 327 #define SPECIES_CALYREX_SHADOW_RIDER FORMS_START + 328 -#if P_NEW_POKEMON == TRUE #define FORMS_START SPECIES_ENAMORUS #define SPECIES_EGG SPECIES_CALYREX_SHADOW_RIDER + 1 -#else -#define FORMS_START SPECIES_DEOXYS -#define SPECIES_EGG SPECIES_DEOXYS_SPEED + 1 -#endif #define NUM_SPECIES SPECIES_EGG diff --git a/include/constants/trade.h b/include/constants/trade.h index fa42e6b43..e8afc2a77 100644 --- a/include/constants/trade.h +++ b/include/constants/trade.h @@ -99,8 +99,8 @@ #define UR_TRADE_MSG_NONE 0 #define UR_TRADE_MSG_NOT_MON_PARTNER_WANTS 1 #define UR_TRADE_MSG_NOT_EGG 2 -#define UR_TRADE_MSG_MON_CANT_BE_TRADED_1 3 -#define UR_TRADE_MSG_MON_CANT_BE_TRADED_2 4 +#define UR_TRADE_MSG_MON_CANT_BE_TRADED_NOW 3 +#define UR_TRADE_MSG_MON_CANT_BE_TRADED 4 #define UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED 5 #define UR_TRADE_MSG_EGG_CANT_BE_TRADED 6 #define UR_TRADE_MSG_PARTNER_CANT_ACCEPT_MON 7 @@ -108,9 +108,10 @@ #define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_2 9 // Return values for CanRegisterMonForTradingBoard -#define CAN_REGISTER_MON 0 -#define CANT_REGISTER_MON 1 -#define CANT_REGISTER_EGG 2 +#define CAN_REGISTER_MON 0 +#define CANT_REGISTER_MON_NOW 1 +#define CANT_REGISTER_MON 2 +#define CANT_REGISTER_EGG 3 #endif //GUARD_CONSTANTS_TRADE_H diff --git a/include/gba/isagbprint.h b/include/gba/isagbprint.h index 13687825e..91aa9f214 100644 --- a/include/gba/isagbprint.h +++ b/include/gba/isagbprint.h @@ -1,50 +1,64 @@ #ifndef GUARD_GBA_ISAGBPRINT_H #define GUARD_GBA_ISAGBPRINT_H +#include "gba/types.h" + +#define MGBA_LOG_FATAL (0) +#define MGBA_LOG_ERROR (1) +#define MGBA_LOG_WARN (2) +#define MGBA_LOG_INFO (3) +#define MGBA_LOG_DEBUG (4) + #ifdef NDEBUG +#define DebugPrintf(pBuf, ...) +#define MgbaOpen() +#define MgbaClose() #define AGBPrintInit() -#define AGBPutc(cChr) -#define AGBPrint(pBuf) -#define AGBPrintf(pBuf, ...) -#define AGBPrintFlush1Block() -#define AGBPrintFlush() -#define AGBAssert(pFile, nLine, pExpression, nStopProgram) +#define DebugAssert(pFile, nLine, pExpression, nStopProgram) #else -void AGBPrintInit(void); -void AGBPutc(const char cChr); -void AGBPrint(const char *pBuf); + +bool32 MgbaOpen(void); +void MgbaClose(void); +void MgbaPrintf(s32 level, const char *pBuf, ...); +void MgbaAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nStopProgram); +void NoCashGBAPrintf(const char *pBuf, ...); +void NoCashGBAAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nStopProgram); void AGBPrintf(const char *pBuf, ...); -void AGBPrintFlush1Block(void); -void AGBPrintFlush(void); void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopProgram); +void AGBPrintInit(void); + +#if (LOG_HANDLER == LOG_HANDLER_MGBA_PRINT) + +#define DebugPrintf(pBuf, ...) MgbaPrintf(MGBA_LOG_INFO, pBuf, __VA_ARGS__) +#define DebugAssert(pFile, nLine, pExpression, nStopProgram) MgbaAssert(pFile, nLine, pExpression, nStopProgram) + +#elif (LOG_HANDLER == LOG_HANDLER_NOCASH_PRINT) + +#define DebugPrintf(pBuf, ...) NoCashGBAPrintf(pBuf, __VA_ARGS__) +#define DebugAssert(pFile, nLine, pExpression, nStopProgram) NoCashGBAAssert(pFile, nLine, pExpression, nStopProgram) + +#else // Default to AGBPrint + +#define DebugPrintf(pBuf, ...) AGBPrintf(const char *pBuf, ...) +#define DebugAssert(pFile, nLine, pExpression, nStopProgram) AGBAssert(pFile, nLine, pExpression, nStopProgram) + +#endif #endif -#undef AGB_ASSERT #ifdef NDEBUG + #define AGB_ASSERT(exp) -#else -#define AGB_ASSERT(exp) (exp) ? ((void *)0) : AGBAssert(__FILE__, __LINE__, #exp, 1); -#endif - -#undef AGB_WARNING -#ifdef NDEBUG #define AGB_WARNING(exp) -#else -#define AGB_WARNING(exp) (exp) ? ((void *)0) : AGBAssert(__FILE__, __LINE__, #exp, 0); -#endif +#define AGB_ASSERT_EX(exp, file, line) +#define AGB_WARNING_EX(exp, file, line) -// for matching purposes - -#ifdef NDEBUG -#define AGB_ASSERT_EX(exp, file, line) #else -#define AGB_ASSERT_EX(exp, file, line) (exp) ? ((void *)0) : AGBAssert(file, line, #exp, 1); -#endif -#ifdef NDEBUG -#define AGB_WARNING_EX(exp, file, line) -#else -#define AGB_WARNING_EX(exp, file, line) (exp) ? ((void *)0) : AGBAssert(file, line, #exp, 0); +#define AGB_ASSERT(exp) (exp) ? ((void*)0) : DebugAssert(__FILE__, __LINE__, #exp, TRUE) +#define AGB_WARNING(exp) (exp) ? ((void*)0) : DebugAssert(__FILE__, __LINE__, #exp, FALSE) + +#define AGB_WARNING_EX(exp, file, line) (exp) ? ((void *)0) : DebugAssert(file, line, #exp, FALSE); +#define AGB_ASSERT_EX(exp, file, line) (exp) ? ((void *)0) : DebugAssert(file, line, #exp, TRUE); #endif #endif // GUARD_GBA_ISAGBPRINT_H diff --git a/include/graphics.h b/include/graphics.h index 4f8534f9a..512038b5f 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -454,7 +454,7 @@ extern const u32 gMonFrontPic_Groudon[]; extern const u32 gMonFrontPic_Rayquaza[]; extern const u32 gMonFrontPic_Jirachi[]; extern const u32 gMonFrontPic_Deoxys[]; -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonFrontPic_Turtwig[]; extern const u32 gMonFrontPic_Grotle[]; extern const u32 gMonFrontPic_Torterra[]; @@ -571,6 +571,8 @@ extern const u32 gMonFrontPic_Manaphy[]; extern const u32 gMonFrontPic_Darkrai[]; extern const u32 gMonFrontPic_Shaymin[]; extern const u32 gMonFrontPic_Arceus[]; +#endif +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonFrontPic_Victini[]; extern const u32 gMonFrontPic_Snivy[]; extern const u32 gMonFrontPic_Servine[]; @@ -730,6 +732,8 @@ extern const u32 gMonFrontPic_Kyurem[]; extern const u32 gMonFrontPic_Keldeo[]; extern const u32 gMonFrontPic_Meloetta[]; extern const u32 gMonFrontPic_Genesect[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonFrontPic_Chespin[]; extern const u32 gMonFrontPic_Quilladin[]; extern const u32 gMonFrontPic_Chesnaught[]; @@ -803,6 +807,8 @@ extern const u32 gMonFrontPic_Zygarde[]; extern const u32 gMonFrontPic_Diancie[]; extern const u32 gMonFrontPic_Hoopa[]; extern const u32 gMonFrontPic_Volcanion[]; +#endif +#if P_GEN_7_POKEMON == TRUE extern const u32 gMonFrontPic_Rowlet[]; extern const u32 gMonFrontPic_Dartrix[]; extern const u32 gMonFrontPic_Decidueye[]; @@ -891,6 +897,8 @@ extern const u32 gMonFrontPic_Blacephalon[]; extern const u32 gMonFrontPic_Zeraora[]; extern const u32 gMonFrontPic_Meltan[]; extern const u32 gMonFrontPic_Melmetal[]; +#endif +#if P_GEN_8_POKEMON == TRUE extern const u32 gMonFrontPic_Grookey[]; extern const u32 gMonFrontPic_Thwackey[]; extern const u32 gMonFrontPic_Rillaboom[]; @@ -988,6 +996,7 @@ extern const u32 gMonFrontPic_Ursaluna[]; //extern const u32 gMonFrontPic_Sneasler[]; extern const u32 gMonFrontPic_Overqwil[]; //extern const u32 gMonFrontPic_Enamorus[]; +#endif extern const u32 gMonFrontPic_VenusaurMega[]; extern const u32 gMonFrontPic_CharizardMegaX[]; extern const u32 gMonFrontPic_CharizardMegaY[]; @@ -1028,13 +1037,19 @@ extern const u32 gMonFrontPic_SalamenceMega[]; extern const u32 gMonFrontPic_MetagrossMega[]; extern const u32 gMonFrontPic_LatiasMega[]; extern const u32 gMonFrontPic_LatiosMega[]; +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonFrontPic_LopunnyMega[]; extern const u32 gMonFrontPic_GarchompMega[]; extern const u32 gMonFrontPic_LucarioMega[]; extern const u32 gMonFrontPic_AbomasnowMega[]; extern const u32 gMonFrontPic_GalladeMega[]; +#endif +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonFrontPic_AudinoMega[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonFrontPic_DiancieMega[]; +#endif extern const u32 gMonFrontPic_RayquazaMega[]; extern const u32 gMonFrontPic_KyogrePrimal[]; extern const u32 gMonFrontPic_GroudonPrimal[]; @@ -1071,10 +1086,12 @@ extern const u32 gMonFrontPic_SlowkingGalarian[]; extern const u32 gMonFrontPic_CorsolaGalarian[]; extern const u32 gMonFrontPic_ZigzagoonGalarian[]; extern const u32 gMonFrontPic_LinooneGalarian[]; +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonFrontPic_DarumakaGalarian[]; extern const u32 gMonFrontPic_DarmanitanGalarian[]; extern const u32 gMonFrontPic_YamaskGalarian[]; extern const u32 gMonFrontPic_StunfiskGalarian[]; +#endif extern const u32 gMonFrontPic_GrowlitheHisuian[]; extern const u32 gMonFrontPic_ArcanineHisuian[]; extern const u32 gMonFrontPic_VoltorbHisuian[]; @@ -1082,15 +1099,21 @@ extern const u32 gMonFrontPic_ElectrodeHisuian[]; extern const u32 gMonFrontPic_TyphlosionHisuian[]; extern const u32 gMonFrontPic_QwilfishHisuian[]; extern const u32 gMonFrontPic_SneaselHisuian[]; +#if P_GEN_5_POKEMON == TRUE //extern const u32 gMonFrontPic_SamurottHisuian[]; extern const u32 gMonFrontPic_LilligantHisuian[]; extern const u32 gMonFrontPic_ZoruaHisuian[]; extern const u32 gMonFrontPic_ZoroarkHisuian[]; extern const u32 gMonFrontPic_BraviaryHisuian[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonFrontPic_SliggooHisuian[]; extern const u32 gMonFrontPic_GoodraHisuian[]; extern const u32 gMonFrontPic_AvaluggHisuian[]; +#endif +#if P_GEN_7_POKEMON == TRUE //extern const u32 gMonFrontPic_DecidueyeHisuian[]; +#endif extern const u32 gMonFrontPic_PikachuCosplay[]; extern const u32 gMonFrontPic_PikachuRockStar[]; extern const u32 gMonFrontPic_PikachuBelle[]; @@ -1106,7 +1129,6 @@ extern const u32 gMonFrontPic_PikachuAlolaCap[]; extern const u32 gMonFrontPic_PikachuPartnerCap[]; extern const u32 gMonFrontPic_PikachuWorldCap[]; extern const u32 gMonFrontPic_PichuSpikyEared[]; -#endif extern const u32 gMonFrontPic_UnownB[]; extern const u32 gMonFrontPic_UnownC[]; extern const u32 gMonFrontPic_UnownD[]; @@ -1140,7 +1162,7 @@ extern const u32 gMonFrontPic_CastformSnowy[]; extern const u32 gMonFrontPic_DeoxysAttack[]; extern const u32 gMonFrontPic_DeoxysDefense[]; extern const u32 gMonFrontPic_DeoxysSpeed[]; -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonFrontPic_BurmySandyCloak[]; extern const u32 gMonFrontPic_BurmyTrashCloak[]; extern const u32 gMonFrontPic_WormadamSandyCloak[]; @@ -1157,6 +1179,8 @@ extern const u32 gMonFrontPic_DialgaOrigin[]; extern const u32 gMonFrontPic_PalkiaOrigin[]; extern const u32 gMonFrontPic_GiratinaOrigin[]; extern const u32 gMonFrontPic_ShayminSky[]; +#endif +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonFrontPic_BasculinBlueStriped[]; extern const u32 gMonFrontPic_BasculinWhiteStriped[]; extern const u32 gMonFrontPic_DarmanitanZenMode[]; @@ -1167,11 +1191,14 @@ extern const u32 gMonFrontPic_SawsbuckWinter[]; extern const u32 gMonFrontPic_TornadusTherian[]; extern const u32 gMonFrontPic_ThundurusTherian[]; extern const u32 gMonFrontPic_LandorusTherian[]; -//extern const u32 gMonFrontPic_EnamorusTherian[]; +#endif +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonFrontPic_KyuremWhite[]; extern const u32 gMonFrontPic_KyuremBlack[]; extern const u32 gMonFrontPic_KeldeoResolute[]; extern const u32 gMonFrontPic_MeloettaPirouette[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonFrontPic_GreninjaAsh[]; extern const u32 gMonFrontPic_VivillonPolar[]; extern const u32 gMonFrontPic_VivillonTundra[]; @@ -1214,6 +1241,8 @@ extern const u32 gMonFrontPic_XerneasActive[]; extern const u32 gMonFrontPic_Zygarde10[]; extern const u32 gMonFrontPic_ZygardeComplete[]; extern const u32 gMonFrontPic_HoopaUnbound[]; +#endif +#if P_GEN_7_POKEMON == TRUE extern const u32 gMonFrontPic_OricorioPomPom[]; extern const u32 gMonFrontPic_OricorioPau[]; extern const u32 gMonFrontPic_OricorioSensu[]; @@ -1226,6 +1255,8 @@ extern const u32 gMonFrontPic_NecrozmaDuskMane[]; extern const u32 gMonFrontPic_NecrozmaDawnWings[]; extern const u32 gMonFrontPic_NecrozmaUltra[]; extern const u32 gMonFrontPic_MagearnaOriginalColor[]; +#endif +#if P_GEN_8_POKEMON == TRUE extern const u32 gMonFrontPic_CramorantGulping[]; extern const u32 gMonFrontPic_CramorantGorging[]; extern const u32 gMonFrontPic_ToxtricityLowKey[]; @@ -1247,6 +1278,7 @@ extern const u32 gMonFrontPic_UrshifuRapidStrikeStyle[]; extern const u32 gMonFrontPic_ZarudeDada[]; extern const u32 gMonFrontPic_CalyrexIceRider[]; extern const u32 gMonFrontPic_CalyrexShadowRider[]; +//extern const u32 gMonFrontPic_EnamorusTherian[]; #endif extern const u32 gMonFrontPic_Egg[]; @@ -1639,7 +1671,7 @@ extern const u32 gMonBackPic_Groudon[]; extern const u32 gMonBackPic_Rayquaza[]; extern const u32 gMonBackPic_Jirachi[]; extern const u32 gMonBackPic_Deoxys[]; -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonBackPic_Turtwig[]; extern const u32 gMonBackPic_Grotle[]; extern const u32 gMonBackPic_Torterra[]; @@ -1755,6 +1787,8 @@ extern const u32 gMonBackPic_Manaphy[]; extern const u32 gMonBackPic_Darkrai[]; extern const u32 gMonBackPic_Shaymin[]; extern const u32 gMonBackPic_Arceus[]; +#endif +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonBackPic_Victini[]; extern const u32 gMonBackPic_Snivy[]; extern const u32 gMonBackPic_Servine[]; @@ -1914,6 +1948,8 @@ extern const u32 gMonBackPic_Kyurem[]; extern const u32 gMonBackPic_Keldeo[]; extern const u32 gMonBackPic_Meloetta[]; extern const u32 gMonBackPic_Genesect[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonBackPic_Chespin[]; extern const u32 gMonBackPic_Quilladin[]; extern const u32 gMonBackPic_Chesnaught[]; @@ -1987,6 +2023,8 @@ extern const u32 gMonBackPic_Zygarde[]; extern const u32 gMonBackPic_Diancie[]; extern const u32 gMonBackPic_Hoopa[]; extern const u32 gMonBackPic_Volcanion[]; +#endif +#if P_GEN_7_POKEMON == TRUE extern const u32 gMonBackPic_Rowlet[]; extern const u32 gMonBackPic_Dartrix[]; extern const u32 gMonBackPic_Decidueye[]; @@ -2075,6 +2113,8 @@ extern const u32 gMonBackPic_Blacephalon[]; extern const u32 gMonBackPic_Zeraora[]; extern const u32 gMonBackPic_Meltan[]; extern const u32 gMonBackPic_Melmetal[]; +#endif +#if P_GEN_8_POKEMON == TRUE extern const u32 gMonBackPic_Grookey[]; extern const u32 gMonBackPic_Thwackey[]; extern const u32 gMonBackPic_Rillaboom[]; @@ -2172,6 +2212,7 @@ extern const u32 gMonBackPic_Ursaluna[]; //extern const u32 gMonBackPic_Sneasler[]; extern const u32 gMonBackPic_Overqwil[]; //extern const u32 gMonBackPic_Enamorus[]; +#endif extern const u32 gMonBackPic_VenusaurMega[]; extern const u32 gMonBackPic_CharizardMegaX[]; extern const u32 gMonBackPic_CharizardMegaY[]; @@ -2212,13 +2253,19 @@ extern const u32 gMonBackPic_SalamenceMega[]; extern const u32 gMonBackPic_MetagrossMega[]; extern const u32 gMonBackPic_LatiasMega[]; extern const u32 gMonBackPic_LatiosMega[]; +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonBackPic_LopunnyMega[]; extern const u32 gMonBackPic_GarchompMega[]; extern const u32 gMonBackPic_LucarioMega[]; extern const u32 gMonBackPic_AbomasnowMega[]; extern const u32 gMonBackPic_GalladeMega[]; +#endif +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonBackPic_AudinoMega[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonBackPic_DiancieMega[]; +#endif extern const u32 gMonBackPic_RayquazaMega[]; extern const u32 gMonBackPic_KyogrePrimal[]; extern const u32 gMonBackPic_GroudonPrimal[]; @@ -2255,10 +2302,12 @@ extern const u32 gMonBackPic_SlowkingGalarian[]; extern const u32 gMonBackPic_CorsolaGalarian[]; extern const u32 gMonBackPic_ZigzagoonGalarian[]; extern const u32 gMonBackPic_LinooneGalarian[]; +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonBackPic_DarumakaGalarian[]; extern const u32 gMonBackPic_DarmanitanGalarian[]; extern const u32 gMonBackPic_YamaskGalarian[]; extern const u32 gMonBackPic_StunfiskGalarian[]; +#endif extern const u32 gMonBackPic_GrowlitheHisuian[]; extern const u32 gMonBackPic_ArcanineHisuian[]; extern const u32 gMonBackPic_VoltorbHisuian[]; @@ -2266,15 +2315,21 @@ extern const u32 gMonBackPic_ElectrodeHisuian[]; extern const u32 gMonBackPic_TyphlosionHisuian[]; extern const u32 gMonBackPic_QwilfishHisuian[]; extern const u32 gMonBackPic_SneaselHisuian[]; +#if P_GEN_5_POKEMON == TRUE //extern const u32 gMonBackPic_SamurottHisuian[]; extern const u32 gMonBackPic_LilligantHisuian[]; extern const u32 gMonBackPic_ZoruaHisuian[]; extern const u32 gMonBackPic_ZoroarkHisuian[]; extern const u32 gMonBackPic_BraviaryHisuian[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonBackPic_SliggooHisuian[]; extern const u32 gMonBackPic_GoodraHisuian[]; extern const u32 gMonBackPic_AvaluggHisuian[]; +#endif +#if P_GEN_7_POKEMON == TRUE //extern const u32 gMonBackPic_DecidueyeHisuian[]; +#endif extern const u32 gMonBackPic_PikachuCosplay[]; extern const u32 gMonBackPic_PikachuRockStar[]; extern const u32 gMonBackPic_PikachuBelle[]; @@ -2290,7 +2345,6 @@ extern const u32 gMonBackPic_PikachuAlolaCap[]; extern const u32 gMonBackPic_PikachuPartnerCap[]; extern const u32 gMonBackPic_PikachuWorldCap[]; extern const u32 gMonBackPic_PichuSpikyEared[]; -#endif extern const u32 gMonBackPic_UnownB[]; extern const u32 gMonBackPic_UnownC[]; extern const u32 gMonBackPic_UnownD[]; @@ -2324,7 +2378,7 @@ extern const u32 gMonBackPic_CastformSnowy[]; extern const u32 gMonBackPic_DeoxysAttack[]; extern const u32 gMonBackPic_DeoxysDefense[]; extern const u32 gMonBackPic_DeoxysSpeed[]; -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonBackPic_BurmySandyCloak[]; extern const u32 gMonBackPic_BurmyTrashCloak[]; extern const u32 gMonBackPic_WormadamSandyCloak[]; @@ -2341,6 +2395,8 @@ extern const u32 gMonBackPic_DialgaOrigin[]; extern const u32 gMonBackPic_PalkiaOrigin[]; extern const u32 gMonBackPic_GiratinaOrigin[]; extern const u32 gMonBackPic_ShayminSky[]; +#endif +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonBackPic_BasculinBlueStriped[]; extern const u32 gMonBackPic_BasculinWhiteStriped[]; extern const u32 gMonBackPic_DarmanitanZenMode[]; @@ -2351,11 +2407,12 @@ extern const u32 gMonBackPic_SawsbuckWinter[]; extern const u32 gMonBackPic_TornadusTherian[]; extern const u32 gMonBackPic_ThundurusTherian[]; extern const u32 gMonBackPic_LandorusTherian[]; -//extern const u32 gMonBackPic_EnamorusTherian[]; extern const u32 gMonBackPic_KyuremWhite[]; extern const u32 gMonBackPic_KyuremBlack[]; extern const u32 gMonBackPic_KeldeoResolute[]; extern const u32 gMonBackPic_MeloettaPirouette[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonBackPic_GreninjaAsh[]; extern const u32 gMonBackPic_VivillonPolar[]; extern const u32 gMonBackPic_VivillonTundra[]; @@ -2398,6 +2455,8 @@ extern const u32 gMonBackPic_XerneasActive[]; extern const u32 gMonBackPic_Zygarde10[]; extern const u32 gMonBackPic_ZygardeComplete[]; extern const u32 gMonBackPic_HoopaUnbound[]; +#endif +#if P_GEN_7_POKEMON == TRUE extern const u32 gMonBackPic_OricorioPomPom[]; extern const u32 gMonBackPic_OricorioPau[]; extern const u32 gMonBackPic_OricorioSensu[]; @@ -2410,6 +2469,8 @@ extern const u32 gMonBackPic_NecrozmaDuskMane[]; extern const u32 gMonBackPic_NecrozmaDawnWings[]; extern const u32 gMonBackPic_NecrozmaUltra[]; extern const u32 gMonBackPic_MagearnaOriginalColor[]; +#endif +#if P_GEN_8_POKEMON == TRUE extern const u32 gMonBackPic_CramorantGulping[]; extern const u32 gMonBackPic_CramorantGorging[]; extern const u32 gMonBackPic_ToxtricityLowKey[]; @@ -2431,6 +2492,7 @@ extern const u32 gMonBackPic_UrshifuRapidStrikeStyle[]; extern const u32 gMonBackPic_ZarudeDada[]; extern const u32 gMonBackPic_CalyrexIceRider[]; extern const u32 gMonBackPic_CalyrexShadowRider[]; +//extern const u32 gMonBackPic_EnamorusTherian[]; #endif extern const u32 gMonPalette_CircledQuestionMark[]; @@ -2821,7 +2883,7 @@ extern const u32 gMonPalette_Groudon[]; extern const u32 gMonPalette_Rayquaza[]; extern const u32 gMonPalette_Jirachi[]; extern const u32 gMonPalette_Deoxys[]; -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonPalette_Turtwig[]; extern const u32 gMonPalette_Grotle[]; extern const u32 gMonPalette_Torterra[]; @@ -2931,6 +2993,8 @@ extern const u32 gMonPalette_Manaphy[]; extern const u32 gMonPalette_Darkrai[]; extern const u32 gMonPalette_Shaymin[]; extern const u32 gMonPalette_Arceus[]; +#endif +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonPalette_Victini[]; extern const u32 gMonPalette_Snivy[]; extern const u32 gMonPalette_Servine[]; @@ -3090,6 +3154,8 @@ extern const u32 gMonPalette_Kyurem[]; extern const u32 gMonPalette_Keldeo[]; extern const u32 gMonPalette_Meloetta[]; extern const u32 gMonPalette_Genesect[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonPalette_Chespin[]; extern const u32 gMonPalette_Quilladin[]; extern const u32 gMonPalette_Chesnaught[]; @@ -3163,6 +3229,8 @@ extern const u32 gMonPalette_Zygarde[]; extern const u32 gMonPalette_Diancie[]; extern const u32 gMonPalette_Hoopa[]; extern const u32 gMonPalette_Volcanion[]; +#endif +#if P_GEN_7_POKEMON == TRUE extern const u32 gMonPalette_Rowlet[]; extern const u32 gMonPalette_Dartrix[]; extern const u32 gMonPalette_Decidueye[]; @@ -3251,6 +3319,8 @@ extern const u32 gMonPalette_Blacephalon[]; extern const u32 gMonPalette_Zeraora[]; extern const u32 gMonPalette_Meltan[]; extern const u32 gMonPalette_Melmetal[]; +#endif +#if P_GEN_8_POKEMON == TRUE extern const u32 gMonPalette_Grookey[]; extern const u32 gMonPalette_Thwackey[]; extern const u32 gMonPalette_Rillaboom[]; @@ -3348,6 +3418,7 @@ extern const u32 gMonPalette_Ursaluna[]; //extern const u32 gMonPalette_Sneasler[]; extern const u32 gMonPalette_Overqwil[]; //extern const u32 gMonPalette_Enamorus[]; +#endif extern const u32 gMonPalette_VenusaurMega[]; extern const u32 gMonPalette_CharizardMegaX[]; extern const u32 gMonPalette_CharizardMegaY[]; @@ -3388,13 +3459,19 @@ extern const u32 gMonPalette_SalamenceMega[]; extern const u32 gMonPalette_MetagrossMega[]; extern const u32 gMonPalette_LatiasMega[]; extern const u32 gMonPalette_LatiosMega[]; +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonPalette_LopunnyMega[]; extern const u32 gMonPalette_GarchompMega[]; extern const u32 gMonPalette_LucarioMega[]; extern const u32 gMonPalette_AbomasnowMega[]; extern const u32 gMonPalette_GalladeMega[]; +#endif +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonPalette_AudinoMega[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonPalette_DiancieMega[]; +#endif extern const u32 gMonPalette_RayquazaMega[]; extern const u32 gMonPalette_KyogrePrimal[]; extern const u32 gMonPalette_GroudonPrimal[]; @@ -3431,10 +3508,12 @@ extern const u32 gMonPalette_SlowkingGalarian[]; extern const u32 gMonPalette_CorsolaGalarian[]; extern const u32 gMonPalette_ZigzagoonGalarian[]; extern const u32 gMonPalette_LinooneGalarian[]; +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonPalette_DarumakaGalarian[]; extern const u32 gMonPalette_DarmanitanGalarian[]; extern const u32 gMonPalette_YamaskGalarian[]; extern const u32 gMonPalette_StunfiskGalarian[]; +#endif extern const u32 gMonPalette_GrowlitheHisuian[]; extern const u32 gMonPalette_ArcanineHisuian[]; extern const u32 gMonPalette_VoltorbHisuian[]; @@ -3442,15 +3521,21 @@ extern const u32 gMonPalette_ElectrodeHisuian[]; extern const u32 gMonPalette_TyphlosionHisuian[]; extern const u32 gMonPalette_QwilfishHisuian[]; extern const u32 gMonPalette_SneaselHisuian[]; +#if P_GEN_5_POKEMON == TRUE //extern const u32 gMonPalette_SamurottHisuian[]; extern const u32 gMonPalette_LilligantHisuian[]; extern const u32 gMonPalette_ZoruaHisuian[]; extern const u32 gMonPalette_ZoroarkHisuian[]; extern const u32 gMonPalette_BraviaryHisuian[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonPalette_SliggooHisuian[]; extern const u32 gMonPalette_GoodraHisuian[]; extern const u32 gMonPalette_AvaluggHisuian[]; +#endif +#if P_GEN_7_POKEMON == TRUE //extern const u32 gMonPalette_DecidueyeHisuian[]; +#endif extern const u32 gMonPalette_PikachuCosplay[]; extern const u32 gMonPalette_PikachuRockStar[]; extern const u32 gMonPalette_PikachuBelle[]; @@ -3466,14 +3551,13 @@ extern const u32 gMonPalette_PikachuAlolaCap[]; extern const u32 gMonPalette_PikachuPartnerCap[]; extern const u32 gMonPalette_PikachuWorldCap[]; extern const u32 gMonPalette_PichuSpikyEared[]; -#endif extern const u32 gMonPalette_CastformSunny[]; extern const u32 gMonPalette_CastformRainy[]; extern const u32 gMonPalette_CastformSnowy[]; extern const u32 gMonPalette_DeoxysAttack[]; extern const u32 gMonPalette_DeoxysDefense[]; extern const u32 gMonPalette_DeoxysSpeed[]; -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonPalette_BurmySandyCloak[]; extern const u32 gMonPalette_BurmyTrashCloak[]; extern const u32 gMonPalette_WormadamSandyCloak[]; @@ -3507,6 +3591,8 @@ extern const u32 gMonPalette_ArceusIce[]; extern const u32 gMonPalette_ArceusDragon[]; extern const u32 gMonPalette_ArceusDark[]; extern const u32 gMonPalette_ArceusFairy[]; +#endif +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonPalette_BasculinBlueStriped[]; extern const u32 gMonPalette_BasculinWhiteStriped[]; extern const u32 gMonPalette_DarmanitanZenMode[]; @@ -3520,7 +3606,6 @@ extern const u32 gMonPalette_SawsbuckWinter[]; extern const u32 gMonPalette_TornadusTherian[]; extern const u32 gMonPalette_ThundurusTherian[]; extern const u32 gMonPalette_LandorusTherian[]; -//extern const u32 gMonPalette_EnamorusTherian[]; extern const u32 gMonPalette_KyuremWhite[]; extern const u32 gMonPalette_KyuremBlack[]; extern const u32 gMonPalette_KeldeoResolute[]; @@ -3529,6 +3614,8 @@ extern const u32 gMonPalette_GenesectDouseDrive[]; extern const u32 gMonPalette_GenesectShockDrive[]; extern const u32 gMonPalette_GenesectBurnDrive[]; extern const u32 gMonPalette_GenesectChillDrive[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonPalette_GreninjaAsh[]; extern const u32 gMonPalette_VivillonPolar[]; extern const u32 gMonPalette_VivillonTundra[]; @@ -3577,6 +3664,8 @@ extern const u32 gMonPalette_XerneasActive[]; extern const u32 gMonPalette_Zygarde10[]; extern const u32 gMonPalette_ZygardeComplete[]; extern const u32 gMonPalette_HoopaUnbound[]; +#endif +#if P_GEN_7_POKEMON == TRUE extern const u32 gMonPalette_OricorioPomPom[]; extern const u32 gMonPalette_OricorioPau[]; extern const u32 gMonPalette_OricorioSensu[]; @@ -3612,6 +3701,8 @@ extern const u32 gMonPalette_NecrozmaDuskMane[]; extern const u32 gMonPalette_NecrozmaDawnWings[]; extern const u32 gMonPalette_NecrozmaUltra[]; extern const u32 gMonPalette_MagearnaOriginalColor[]; +#endif +#if P_GEN_8_POKEMON == TRUE extern const u32 gMonPalette_CramorantGulping[]; extern const u32 gMonPalette_CramorantGorging[]; extern const u32 gMonPalette_ToxtricityLowKey[]; @@ -3633,6 +3724,7 @@ extern const u32 gMonPalette_UrshifuRapidStrikeStyle[]; extern const u32 gMonPalette_ZarudeDada[]; extern const u32 gMonPalette_CalyrexIceRider[]; extern const u32 gMonPalette_CalyrexShadowRider[]; +//extern const u32 gMonPalette_EnamorusTherian[]; #endif extern const u32 gMonPalette_Egg[]; @@ -4024,7 +4116,7 @@ extern const u32 gMonShinyPalette_Groudon[]; extern const u32 gMonShinyPalette_Rayquaza[]; extern const u32 gMonShinyPalette_Jirachi[]; extern const u32 gMonShinyPalette_Deoxys[]; -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonShinyPalette_Turtwig[]; extern const u32 gMonShinyPalette_Grotle[]; extern const u32 gMonShinyPalette_Torterra[]; @@ -4135,6 +4227,8 @@ extern const u32 gMonShinyPalette_Manaphy[]; extern const u32 gMonShinyPalette_Darkrai[]; extern const u32 gMonShinyPalette_Shaymin[]; extern const u32 gMonShinyPalette_Arceus[]; +#endif +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonShinyPalette_Victini[]; extern const u32 gMonShinyPalette_Snivy[]; extern const u32 gMonShinyPalette_Servine[]; @@ -4294,6 +4388,8 @@ extern const u32 gMonShinyPalette_Kyurem[]; extern const u32 gMonShinyPalette_Keldeo[]; extern const u32 gMonShinyPalette_Meloetta[]; extern const u32 gMonShinyPalette_Genesect[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonShinyPalette_Chespin[]; extern const u32 gMonShinyPalette_Quilladin[]; extern const u32 gMonShinyPalette_Chesnaught[]; @@ -4367,6 +4463,8 @@ extern const u32 gMonShinyPalette_Zygarde[]; extern const u32 gMonShinyPalette_Diancie[]; extern const u32 gMonShinyPalette_Hoopa[]; extern const u32 gMonShinyPalette_Volcanion[]; +#endif +#if P_GEN_7_POKEMON == TRUE extern const u32 gMonShinyPalette_Rowlet[]; extern const u32 gMonShinyPalette_Dartrix[]; extern const u32 gMonShinyPalette_Decidueye[]; @@ -4455,6 +4553,8 @@ extern const u32 gMonShinyPalette_Blacephalon[]; extern const u32 gMonShinyPalette_Zeraora[]; extern const u32 gMonShinyPalette_Meltan[]; extern const u32 gMonShinyPalette_Melmetal[]; +#endif +#if P_GEN_8_POKEMON == TRUE extern const u32 gMonShinyPalette_Grookey[]; extern const u32 gMonShinyPalette_Thwackey[]; extern const u32 gMonShinyPalette_Rillaboom[]; @@ -4552,6 +4652,7 @@ extern const u32 gMonShinyPalette_Ursaluna[]; //extern const u32 gMonShinyPalette_Sneasler[]; extern const u32 gMonShinyPalette_Overqwil[]; //extern const u32 gMonShinyPalette_Enamorus[]; +#endif extern const u32 gMonShinyPalette_VenusaurMega[]; extern const u32 gMonShinyPalette_CharizardMegaX[]; extern const u32 gMonShinyPalette_CharizardMegaY[]; @@ -4592,13 +4693,19 @@ extern const u32 gMonShinyPalette_SalamenceMega[]; extern const u32 gMonShinyPalette_MetagrossMega[]; extern const u32 gMonShinyPalette_LatiasMega[]; extern const u32 gMonShinyPalette_LatiosMega[]; +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonShinyPalette_LopunnyMega[]; extern const u32 gMonShinyPalette_GarchompMega[]; extern const u32 gMonShinyPalette_LucarioMega[]; extern const u32 gMonShinyPalette_AbomasnowMega[]; extern const u32 gMonShinyPalette_GalladeMega[]; +#endif +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonShinyPalette_AudinoMega[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonShinyPalette_DiancieMega[]; +#endif extern const u32 gMonShinyPalette_RayquazaMega[]; extern const u32 gMonShinyPalette_KyogrePrimal[]; extern const u32 gMonShinyPalette_GroudonPrimal[]; @@ -4635,10 +4742,12 @@ extern const u32 gMonShinyPalette_SlowkingGalarian[]; extern const u32 gMonShinyPalette_CorsolaGalarian[]; extern const u32 gMonShinyPalette_ZigzagoonGalarian[]; extern const u32 gMonShinyPalette_LinooneGalarian[]; +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonShinyPalette_DarumakaGalarian[]; extern const u32 gMonShinyPalette_DarmanitanGalarian[]; extern const u32 gMonShinyPalette_YamaskGalarian[]; extern const u32 gMonShinyPalette_StunfiskGalarian[]; +#endif extern const u32 gMonShinyPalette_GrowlitheHisuian[]; extern const u32 gMonShinyPalette_ArcanineHisuian[]; extern const u32 gMonShinyPalette_VoltorbHisuian[]; @@ -4646,15 +4755,21 @@ extern const u32 gMonShinyPalette_ElectrodeHisuian[]; extern const u32 gMonShinyPalette_TyphlosionHisuian[]; extern const u32 gMonShinyPalette_QwilfishHisuian[]; extern const u32 gMonShinyPalette_SneaselHisuian[]; +#if P_GEN_5_POKEMON == TRUE //extern const u32 gMonShinyPalette_SamurottHisuian[]; extern const u32 gMonShinyPalette_LilligantHisuian[]; extern const u32 gMonShinyPalette_ZoruaHisuian[]; extern const u32 gMonShinyPalette_ZoroarkHisuian[]; extern const u32 gMonShinyPalette_BraviaryHisuian[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonShinyPalette_SliggooHisuian[]; extern const u32 gMonShinyPalette_GoodraHisuian[]; extern const u32 gMonShinyPalette_AvaluggHisuian[]; +#endif +#if P_GEN_7_POKEMON == TRUE //extern const u32 gMonShinyPalette_DecidueyeHisuian[]; +#endif extern const u32 gMonShinyPalette_PikachuCosplay[]; extern const u32 gMonShinyPalette_PikachuRockStar[]; extern const u32 gMonShinyPalette_PikachuBelle[]; @@ -4670,14 +4785,13 @@ extern const u32 gMonShinyPalette_PikachuAlolaCap[]; extern const u32 gMonShinyPalette_PikachuPartnerCap[]; extern const u32 gMonShinyPalette_PikachuWorldCap[]; extern const u32 gMonShinyPalette_PichuSpikyEared[]; -#endif extern const u32 gMonShinyPalette_CastformSunny[]; extern const u32 gMonShinyPalette_CastformRainy[]; extern const u32 gMonShinyPalette_CastformSnowy[]; extern const u32 gMonShinyPalette_DeoxysAttack[]; extern const u32 gMonShinyPalette_DeoxysDefense[]; extern const u32 gMonShinyPalette_DeoxysSpeed[]; -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE extern const u32 gMonShinyPalette_BurmySandyCloak[]; extern const u32 gMonShinyPalette_BurmyTrashCloak[]; extern const u32 gMonShinyPalette_WormadamSandyCloak[]; @@ -4711,6 +4825,8 @@ extern const u32 gMonShinyPalette_ArceusIce[]; extern const u32 gMonShinyPalette_ArceusDragon[]; extern const u32 gMonShinyPalette_ArceusDark[]; extern const u32 gMonShinyPalette_ArceusFairy[]; +#endif +#if P_GEN_5_POKEMON == TRUE extern const u32 gMonShinyPalette_BasculinBlueStriped[]; extern const u32 gMonShinyPalette_BasculinWhiteStriped[]; extern const u32 gMonShinyPalette_DarmanitanZenMode[]; @@ -4724,7 +4840,6 @@ extern const u32 gMonShinyPalette_SawsbuckWinter[]; extern const u32 gMonShinyPalette_TornadusTherian[]; extern const u32 gMonShinyPalette_ThundurusTherian[]; extern const u32 gMonShinyPalette_LandorusTherian[]; -//extern const u32 gMonShinyPalette_EnamorusTherian[]; extern const u32 gMonShinyPalette_KyuremWhite[]; extern const u32 gMonShinyPalette_KyuremBlack[]; extern const u32 gMonShinyPalette_KeldeoResolute[]; @@ -4733,6 +4848,8 @@ extern const u32 gMonShinyPalette_GenesectDouseDrive[]; extern const u32 gMonShinyPalette_GenesectShockDrive[]; extern const u32 gMonShinyPalette_GenesectBurnDrive[]; extern const u32 gMonShinyPalette_GenesectChillDrive[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u32 gMonShinyPalette_GreninjaAsh[]; extern const u32 gMonShinyPalette_VivillonPolar[]; extern const u32 gMonShinyPalette_VivillonTundra[]; @@ -4781,6 +4898,8 @@ extern const u32 gMonShinyPalette_XerneasActive[]; extern const u32 gMonShinyPalette_Zygarde10[]; extern const u32 gMonShinyPalette_ZygardeComplete[]; extern const u32 gMonShinyPalette_HoopaUnbound[]; +#endif +#if P_GEN_7_POKEMON == TRUE extern const u32 gMonShinyPalette_OricorioPomPom[]; extern const u32 gMonShinyPalette_OricorioPau[]; extern const u32 gMonShinyPalette_OricorioSensu[]; @@ -4810,6 +4929,8 @@ extern const u32 gMonShinyPalette_NecrozmaDuskMane[]; extern const u32 gMonShinyPalette_NecrozmaDawnWings[]; extern const u32 gMonShinyPalette_NecrozmaUltra[]; extern const u32 gMonShinyPalette_MagearnaOriginalColor[]; +#endif +#if P_GEN_8_POKEMON == TRUE extern const u32 gMonShinyPalette_CramorantGulping[]; extern const u32 gMonShinyPalette_CramorantGorging[]; extern const u32 gMonShinyPalette_ToxtricityLowKey[]; @@ -4831,6 +4952,7 @@ extern const u32 gMonShinyPalette_UrshifuRapidStrikeStyle[]; extern const u32 gMonShinyPalette_ZarudeDada[]; extern const u32 gMonShinyPalette_CalyrexIceRider[]; extern const u32 gMonShinyPalette_CalyrexShadowRider[]; +//extern const u32 gMonShinyPalette_EnamorusTherian[]; #endif extern const u8 gMonIcon_QuestionMark[]; @@ -5220,7 +5342,7 @@ extern const u8 gMonIcon_Groudon[]; extern const u8 gMonIcon_Rayquaza[]; extern const u8 gMonIcon_Jirachi[]; extern const u8 gMonIcon_Deoxys[]; -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE extern const u8 gMonIcon_Turtwig[]; extern const u8 gMonIcon_Grotle[]; extern const u8 gMonIcon_Torterra[]; @@ -5328,6 +5450,8 @@ extern const u8 gMonIcon_Manaphy[]; extern const u8 gMonIcon_Darkrai[]; extern const u8 gMonIcon_Shaymin[]; extern const u8 gMonIcon_Arceus[]; +#endif +#if P_GEN_5_POKEMON == TRUE extern const u8 gMonIcon_Victini[]; extern const u8 gMonIcon_Snivy[]; extern const u8 gMonIcon_Servine[]; @@ -5487,6 +5611,8 @@ extern const u8 gMonIcon_Kyurem[]; extern const u8 gMonIcon_Keldeo[]; extern const u8 gMonIcon_Meloetta[]; extern const u8 gMonIcon_Genesect[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u8 gMonIcon_Chespin[]; extern const u8 gMonIcon_Quilladin[]; extern const u8 gMonIcon_Chesnaught[]; @@ -5560,6 +5686,8 @@ extern const u8 gMonIcon_Zygarde[]; extern const u8 gMonIcon_Diancie[]; extern const u8 gMonIcon_Hoopa[]; extern const u8 gMonIcon_Volcanion[]; +#endif +#if P_GEN_7_POKEMON == TRUE extern const u8 gMonIcon_Rowlet[]; extern const u8 gMonIcon_Dartrix[]; extern const u8 gMonIcon_Decidueye[]; @@ -5648,6 +5776,8 @@ extern const u8 gMonIcon_Blacephalon[]; extern const u8 gMonIcon_Zeraora[]; extern const u8 gMonIcon_Meltan[]; extern const u8 gMonIcon_Melmetal[]; +#endif +#if P_GEN_8_POKEMON == TRUE extern const u8 gMonIcon_Grookey[]; extern const u8 gMonIcon_Thwackey[]; extern const u8 gMonIcon_Rillaboom[]; @@ -5745,6 +5875,7 @@ extern const u8 gMonIcon_BasculegionF[]; extern const u8 gMonIcon_Sneasler[]; extern const u8 gMonIcon_Overqwil[]; extern const u8 gMonIcon_Enamorus[]; +#endif extern const u8 gMonIcon_VenusaurMega[]; extern const u8 gMonIcon_CharizardMegaX[]; extern const u8 gMonIcon_CharizardMegaY[]; @@ -5785,13 +5916,19 @@ extern const u8 gMonIcon_SalamenceMega[]; extern const u8 gMonIcon_MetagrossMega[]; extern const u8 gMonIcon_LatiasMega[]; extern const u8 gMonIcon_LatiosMega[]; +#if P_GEN_4_POKEMON == TRUE extern const u8 gMonIcon_LopunnyMega[]; extern const u8 gMonIcon_GarchompMega[]; extern const u8 gMonIcon_LucarioMega[]; extern const u8 gMonIcon_AbomasnowMega[]; extern const u8 gMonIcon_GalladeMega[]; +#endif +#if P_GEN_5_POKEMON == TRUE extern const u8 gMonIcon_AudinoMega[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u8 gMonIcon_DiancieMega[]; +#endif extern const u8 gMonIcon_RayquazaMega[]; extern const u8 gMonIcon_KyogrePrimal[]; extern const u8 gMonIcon_GroudonPrimal[]; @@ -5828,10 +5965,12 @@ extern const u8 gMonIcon_SlowkingGalarian[]; extern const u8 gMonIcon_CorsolaGalarian[]; extern const u8 gMonIcon_ZigzagoonGalarian[]; extern const u8 gMonIcon_LinooneGalarian[]; +#if P_GEN_5_POKEMON == TRUE extern const u8 gMonIcon_DarumakaGalarian[]; extern const u8 gMonIcon_DarmanitanGalarian[]; extern const u8 gMonIcon_YamaskGalarian[]; extern const u8 gMonIcon_StunfiskGalarian[]; +#endif extern const u8 gMonIcon_GrowlitheHisuian[]; extern const u8 gMonIcon_ArcanineHisuian[]; extern const u8 gMonIcon_VoltorbHisuian[]; @@ -5839,15 +5978,21 @@ extern const u8 gMonIcon_ElectrodeHisuian[]; extern const u8 gMonIcon_TyphlosionHisuian[]; extern const u8 gMonIcon_QwilfishHisuian[]; extern const u8 gMonIcon_SneaselHisuian[]; +#if P_GEN_5_POKEMON == TRUE extern const u8 gMonIcon_SamurottHisuian[]; extern const u8 gMonIcon_LilligantHisuian[]; extern const u8 gMonIcon_ZoruaHisuian[]; extern const u8 gMonIcon_ZoroarkHisuian[]; extern const u8 gMonIcon_BraviaryHisuian[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u8 gMonIcon_SliggooHisuian[]; extern const u8 gMonIcon_GoodraHisuian[]; extern const u8 gMonIcon_AvaluggHisuian[]; +#endif +#if P_GEN_7_POKEMON == TRUE extern const u8 gMonIcon_DecidueyeHisuian[]; +#endif extern const u8 gMonIcon_PikachuCosplay[]; extern const u8 gMonIcon_PikachuRockStar[]; extern const u8 gMonIcon_PikachuBelle[]; @@ -5862,7 +6007,6 @@ extern const u8 gMonIcon_PikachuKalosCap[]; extern const u8 gMonIcon_PikachuAlolaCap[]; extern const u8 gMonIcon_PikachuPartnerCap[]; extern const u8 gMonIcon_PichuSpikyEared[]; -#endif extern const u8 gMonIcon_UnownB[]; extern const u8 gMonIcon_UnownC[]; extern const u8 gMonIcon_UnownD[]; @@ -5896,7 +6040,7 @@ extern const u8 gMonIcon_CastformSnowy[]; extern const u8 gMonIcon_DeoxysAttack[]; extern const u8 gMonIcon_DeoxysDefense[]; extern const u8 gMonIcon_DeoxysSpeed[]; -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE extern const u8 gMonIcon_BurmySandyCloak[]; extern const u8 gMonIcon_BurmyTrashCloak[]; extern const u8 gMonIcon_WormadamSandyCloak[]; @@ -5913,6 +6057,8 @@ extern const u8 gMonIcon_DialgaOrigin[]; extern const u8 gMonIcon_PalkiaOrigin[]; extern const u8 gMonIcon_GiratinaOrigin[]; extern const u8 gMonIcon_ShayminSky[]; +#endif +#if P_GEN_5_POKEMON == TRUE extern const u8 gMonIcon_BasculinBlueStriped[]; extern const u8 gMonIcon_BasculinWhiteStriped[]; extern const u8 gMonIcon_DarmanitanZenMode[]; @@ -5926,11 +6072,12 @@ extern const u8 gMonIcon_SawsbuckWinter[]; extern const u8 gMonIcon_TornadusTherian[]; extern const u8 gMonIcon_ThundurusTherian[]; extern const u8 gMonIcon_LandorusTherian[]; -extern const u8 gMonIcon_EnamorusTherian[]; extern const u8 gMonIcon_KyuremWhite[]; extern const u8 gMonIcon_KyuremBlack[]; extern const u8 gMonIcon_KeldeoResolute[]; extern const u8 gMonIcon_MeloettaPirouette[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u8 gMonIcon_GreninjaAsh[]; extern const u8 gMonIcon_VivillonPolar[]; extern const u8 gMonIcon_VivillonTundra[]; @@ -5979,6 +6126,8 @@ extern const u8 gMonIcon_XerneasActive[]; extern const u8 gMonIcon_Zygarde10[]; extern const u8 gMonIcon_ZygardeComplete[]; extern const u8 gMonIcon_HoopaUnbound[]; +#endif +#if P_GEN_7_POKEMON == TRUE extern const u8 gMonIcon_OricorioPomPom[]; extern const u8 gMonIcon_OricorioPau[]; extern const u8 gMonIcon_OricorioSensu[]; @@ -5997,6 +6146,8 @@ extern const u8 gMonIcon_NecrozmaDuskMane[]; extern const u8 gMonIcon_NecrozmaDawnWings[]; extern const u8 gMonIcon_NecrozmaUltra[]; extern const u8 gMonIcon_MagearnaOriginalColor[]; +#endif +#if P_GEN_8_POKEMON == TRUE extern const u8 gMonIcon_CramorantGulping[]; extern const u8 gMonIcon_CramorantGorging[]; extern const u8 gMonIcon_ToxtricityLowKey[]; @@ -6017,6 +6168,7 @@ extern const u8 gMonIcon_EternatusEternamax[]; extern const u8 gMonIcon_ZarudeDada[]; extern const u8 gMonIcon_CalyrexIceRider[]; extern const u8 gMonIcon_CalyrexShadowRider[]; +extern const u8 gMonIcon_EnamorusTherian[]; #endif extern const u8 gMonIcon_Egg[]; @@ -6407,7 +6559,7 @@ extern const u8 gMonFootprint_Latios[]; extern const u8 gMonFootprint_Jirachi[]; extern const u8 gMonFootprint_Deoxys[]; extern const u8 gMonFootprint_Chimecho[]; -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE extern const u8 gMonFootprint_Turtwig[]; extern const u8 gMonFootprint_Grotle[]; extern const u8 gMonFootprint_Torterra[]; @@ -6515,6 +6667,8 @@ extern const u8 gMonFootprint_Manaphy[]; extern const u8 gMonFootprint_Darkrai[]; extern const u8 gMonFootprint_Shaymin[]; extern const u8 gMonFootprint_Arceus[]; +#endif +#if P_GEN_5_POKEMON == TRUE extern const u8 gMonFootprint_Victini[]; extern const u8 gMonFootprint_Snivy[]; extern const u8 gMonFootprint_Servine[]; @@ -6671,6 +6825,8 @@ extern const u8 gMonFootprint_Kyurem[]; extern const u8 gMonFootprint_Keldeo[]; extern const u8 gMonFootprint_Meloetta[]; extern const u8 gMonFootprint_Genesect[]; +#endif +#if P_GEN_6_POKEMON == TRUE extern const u8 gMonFootprint_Chespin[]; extern const u8 gMonFootprint_Quilladin[]; extern const u8 gMonFootprint_Chesnaught[]; @@ -6743,6 +6899,8 @@ extern const u8 gMonFootprint_Zygarde[]; extern const u8 gMonFootprint_Diancie[]; extern const u8 gMonFootprint_Hoopa[]; extern const u8 gMonFootprint_Volcanion[]; +#endif +#if P_GEN_7_POKEMON == TRUE extern const u8 gMonFootprint_Rowlet[]; extern const u8 gMonFootprint_Dartrix[]; extern const u8 gMonFootprint_Decidueye[]; @@ -6831,6 +6989,8 @@ extern const u8 gMonFootprint_Blacephalon[]; extern const u8 gMonFootprint_Zeraora[]; extern const u8 gMonFootprint_Meltan[]; extern const u8 gMonFootprint_Melmetal[]; +#endif +#if P_GEN_8_POKEMON == TRUE extern const u8 gMonFootprint_Grookey[]; extern const u8 gMonFootprint_Thwackey[]; extern const u8 gMonFootprint_Rillaboom[]; diff --git a/include/mini_printf.h b/include/mini_printf.h new file mode 100644 index 000000000..a891327cc --- /dev/null +++ b/include/mini_printf.h @@ -0,0 +1,52 @@ +/* + * The Minimal snprintf() implementation + * + * Copyright (c) 2013 Michal Ludvig + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the auhor nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Courtey of https://github.com/mludvig/mini-printf + * stripped to reduce file size for agb needs + */ + +#ifndef __MINI_PRINTF__ +#define __MINI_PRINTF__ + +#include +#include "gba/types.h" + +#ifdef NDEBUG + +#define mini_vsnprintf(buffer, buffer_len, fmt, va) +#define mini_vpprintf(buf, fmt, va) + +#else + +s32 mini_vsnprintf(char* buffer, u32 buffer_len, const char *fmt, va_list va); +s32 mini_vpprintf(void* buf, const char *fmt, va_list va); + +#endif +#endif diff --git a/include/party_menu.h b/include/party_menu.h index b00fd7324..afb320e18 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -28,6 +28,7 @@ extern u8 gSelectedOrderFromParty[MAX_FRONTIER_PARTY_SIZE]; extern u8 gBattlePartyCurrentOrder[PARTY_SIZE / 2]; extern void (*gItemUseCB)(u8, TaskFunc); +extern const struct SpriteTemplate gSpriteTemplate_StatusIcons; void AnimatePartySlot(u8 slot, u8 animNum); bool8 IsMultiBattle(void); @@ -45,6 +46,7 @@ bool8 FieldCallback_PrepareFadeInFromMenu(void); void CB2_ReturnToPartyMenuFromFlyMap(void); void LoadHeldItemIcons(void); void DrawHeldItemIconsForTrade(u8 *partyCounts, u8 *partySpriteIds, u8 whichParty); +void LoadPartyMenuAilmentGfx(void); void CB2_ShowPartyMenuForItemUse(void); void ItemUseCB_Medicine(u8 taskId, TaskFunc task); void ItemUseCB_AbilityCapsule(u8 taskId, TaskFunc task); @@ -55,7 +57,7 @@ void ItemUseCB_PPUp(u8 taskId, TaskFunc task); u16 ItemIdToBattleMoveId(u16 item); bool8 IsMoveHm(u16 move); bool8 MonKnowsMove(struct Pokemon *mon, u16 move); -bool8 BoxMonKnowsMove(struct BoxPokemon *mon, u16 move); +bool8 BoxMonKnowsMove(struct BoxPokemon *boxMon, u16 move); void ItemUseCB_TMHM(u8 taskId, TaskFunc task); void ItemUseCB_RareCandy(u8 taskId, TaskFunc task); void ItemUseCB_SacredAsh(u8 taskId, TaskFunc task); diff --git a/include/pokemon.h b/include/pokemon.h index ee2898570..2f2991139 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -324,7 +324,7 @@ struct BaseStats u8 safariZoneFleeRate; u8 bodyColor : 7; u8 noFlip : 1; - u8 flags; + u16 flags; }; #include "constants/battle_config.h" diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index fba6a6740..6e27689f9 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -23,6 +23,7 @@ void FreeAndDestroyMonIconSprite(struct Sprite *sprite); u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality); u8 UpdateMonIconFrame(struct Sprite *sprite); void LoadMonIconPalette(u16 species); +void LoadMonIconPalettePersonality(u16 species, u32 personality); void SpriteCB_MonIcon(struct Sprite *sprite); void SetPartyHPBarSprite(struct Sprite *sprite, u8 animNum); u8 GetMonIconPaletteIndexFromSpecies(u16 species); diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index 4e9e62284..d1d7c5983 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -11,7 +11,7 @@ extern const u8 *const gNatureNamePointers[]; void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); void ShowSelectMovePokemonSummaryScreen(struct Pokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void), u16 newMove); -void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); +void ShowPokemonSummaryScreenHandleDeoxys(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); u8 GetMoveSlotToReplace(void); void SummaryScreen_SetAnimDelayTaskId(u8 taskId); diff --git a/include/strings.h b/include/strings.h index 4c9f130f7..3736adf9b 100644 --- a/include/strings.h +++ b/include/strings.h @@ -464,6 +464,7 @@ extern const u8 gText_MailMessageWillBeLost[]; extern const u8 gText_MailTakenFromPkmn[]; extern const u8 gText_NoMoreThanVar1Pkmn[]; extern const u8 gText_PkmnCantBeTradedNow[]; +extern const u8 gText_PkmnCantBeTraded[]; extern const u8 gText_EggCantBeTradedNow[]; extern const u8 gText_OnlyPkmnForBattle[]; extern const u8 gJPText_AreYouSureYouWantToSpinTradeMon[]; diff --git a/sound/cry_tables.inc b/sound/cry_tables.inc index 30eef3327..b2eef2d02 100644 --- a/sound/cry_tables.inc +++ b/sound/cry_tables.inc @@ -386,7 +386,7 @@ gCryTable:: cry Cry_Rayquaza cry Cry_Jirachi cry Cry_Deoxys -.if P_NEW_POKEMON == TRUE +.if P_GEN_4_POKEMON == TRUE cry Cry_Turtwig cry Cry_Grotle cry Cry_Torterra @@ -494,6 +494,116 @@ gCryTable:: cry Cry_Darkrai cry Cry_Shaymin cry Cry_Arceus +.else + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif +.if P_GEN_5_POKEMON == TRUE cry Cry_Victini cry Cry_Snivy cry Cry_Servine @@ -650,6 +760,165 @@ gCryTable:: cry Cry_Keldeo cry Cry_Meloetta cry Cry_Genesect +.else + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif +.if P_GEN_6_POKEMON == TRUE cry Cry_Chespin cry Cry_Quilladin cry Cry_Chesnaught @@ -722,6 +991,81 @@ gCryTable:: cry Cry_Diancie cry Cry_Hoopa cry Cry_Volcanion +.else + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif +.if P_GEN_7_POKEMON == TRUE cry Cry_Rowlet cry Cry_Dartrix cry Cry_Decidueye @@ -810,6 +1154,97 @@ gCryTable:: cry Cry_Zeraora cry Cry_Meltan cry Cry_Melmetal +.else + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif +.if P_GEN_8_POKEMON == TRUE cry Cry_Grookey cry Cry_Thwackey cry Cry_Rillaboom @@ -899,13 +1334,111 @@ gCryTable:: cry Cry_Glastrier cry Cry_Spectrier cry Cry_Calyrex - cry Cry_Bulbasaur //Cry_Wyrdeer - cry Cry_Bulbasaur //Cry_Kleavor - cry Cry_Bulbasaur //Cry_Ursaluna - cry Cry_Bulbasaur //Cry_Basculegion - cry Cry_Bulbasaur //Cry_Sneasler - cry Cry_Bulbasaur //Cry_Overqwil - cry Cry_Bulbasaur //Cry_Enamorus + cry Cry_Unown //Cry_Wyrdeer + cry Cry_Unown //Cry_Kleavor + cry Cry_Unown //Cry_Ursaluna + cry Cry_Unown //Cry_Basculegion + cry Cry_Unown //Cry_Sneasler + cry Cry_Unown //Cry_Overqwil + cry Cry_Unown //Cry_Enamorus +.else + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif @ Megas cry Cry_VenusaurMega cry Cry_CharizardMegaX @@ -947,13 +1480,29 @@ gCryTable:: cry Cry_MetagrossMega cry Cry_LatiasMega cry Cry_LatiosMega +.if P_GEN_4_POKEMON == TRUE cry Cry_LopunnyMega cry Cry_GarchompMega cry Cry_LucarioMega cry Cry_AbomasnowMega cry Cry_GalladeMega +.else + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif +.if P_GEN_5_POKEMON == TRUE cry Cry_AudinoMega +.else + cry Cry_Unown +.endif +.if P_GEN_6_POKEMON == TRUE cry Cry_DiancieMega +.else + cry Cry_Unown +.endif @ Special Mega + Primals cry Cry_RayquazaMega cry Cry_KyogrePrimal @@ -993,10 +1542,17 @@ gCryTable:: cry Cry_Corsola cry Cry_Zigzagoon cry Cry_Linoone +.if P_GEN_5_POKEMON == TRUE cry Cry_Darumaka cry Cry_Darmanitan cry Cry_Yamask cry Cry_Stunfisk +.else + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif @ Hisuian Forms cry Cry_Growlithe cry Cry_Arcanine @@ -1005,15 +1561,33 @@ gCryTable:: cry Cry_Typhlosion cry Cry_Qwilfish cry Cry_Sneasel +.if P_GEN_5_POKEMON == TRUE cry Cry_Samurott cry Cry_Lilligant cry Cry_Zorua cry Cry_Zoroark cry Cry_Braviary +.else + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif +.if P_GEN_6_POKEMON == TRUE cry Cry_Sliggoo cry Cry_Goodra cry Cry_Avalugg +.else + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif +.if P_GEN_7_POKEMON == TRUE cry Cry_Decidueye +.else + cry Cry_Unown +.endif @ Misc Forms @ Cosplay Pikachu cry Cry_Pikachu @@ -1069,6 +1643,7 @@ gCryTable:: cry Cry_Deoxys cry Cry_Deoxys cry Cry_Deoxys +.if P_GEN_4_POKEMON == TRUE @ Burmy cry Cry_Burmy cry Cry_Burmy @@ -1111,6 +1686,51 @@ gCryTable:: cry Cry_Arceus cry Cry_Arceus cry Cry_Arceus +.else + @ Burmy + cry Cry_Unown + cry Cry_Unown + @ Wormadam + cry Cry_Unown + cry Cry_Unown + @ Cherrim + cry Cry_Unown + @ Shellos + cry Cry_Unown + @ Gastrodon + cry Cry_Unown + @ Rotom + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Origin Forme + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Shaymin + cry Cry_Unown + @ Arceus + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif +.if P_GEN_5_POKEMON == TRUE @ Basculin cry Cry_Basculin cry Cry_Basculin @@ -1141,6 +1761,39 @@ gCryTable:: cry Cry_Genesect cry Cry_Genesect cry Cry_Genesect +.else + @ Basculin + cry Cry_Unown + cry Cry_Unown + @ Darmanitan + cry Cry_Unown + cry Cry_Unown + @ Deerling + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Sawsbuck + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Therian Forms + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Kyurem + cry Cry_Unown + cry Cry_Unown + @ Keldeo + cry Cry_Unown + @ Meloetta + cry Cry_Unown + @ Genesect + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown +.endif +.if P_GEN_6_POKEMON == TRUE @ Greninja cry Cry_Greninja cry Cry_Greninja @@ -1211,6 +1864,79 @@ gCryTable:: cry Cry_ZygardeComplete @ Hoopa cry Cry_HoopaUnbound +.else +@ Greninja + cry Cry_Unown + cry Cry_Unown + @ Vivillon + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Flabébé + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Floette + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Florges + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Furfrou + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Meowstic + cry Cry_Unown + @ Aegislash + cry Cry_Unown + @ Pumpkaboo + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Gourgeist + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Xerneas + cry Cry_Unown + @ Zygarde + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Hoopa + cry Cry_Unown +.endif +.if P_GEN_7_POKEMON == TRUE @ Oricorio cry Cry_OricorioPomPom cry Cry_OricorioPau @@ -1262,6 +1988,60 @@ gCryTable:: cry Cry_NecrozmaUltra @ Magearna cry Cry_Magearna +.else + @ Oricorio + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Rockruff + cry Cry_Unown + @ Lycanroc + cry Cry_Unown + cry Cry_Unown + @ Wishiwashi + cry Cry_Unown + @ Silvally + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Minior + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Mimikyu + cry Cry_Unown + @ Necrozma + cry Cry_Unown + cry Cry_Unown + cry Cry_Unown + @ Magearna + cry Cry_Unown +.endif +.if P_GEN_8_POKEMON == TRUE @ Cramorant cry Cry_Cramorant cry Cry_Cramorant @@ -1300,7 +2080,16 @@ gCryTable:: cry Cry_CalyrexIceRider cry Cry_CalyrexShadowRider .else - @ Unown + @ Cramorant + cry Cry_Unown + cry Cry_Unown + @ Toxtricity + cry Cry_Unown + @ Sinistea + cry Cry_Unown + @ Polteageist + cry Cry_Unown + @ Alcremie cry Cry_Unown cry Cry_Unown cry Cry_Unown @@ -1309,33 +2098,25 @@ gCryTable:: cry Cry_Unown cry Cry_Unown cry Cry_Unown + @ Eiscue + cry Cry_Unown + @ Indeedee + cry Cry_Unown + @ Morpeko + cry Cry_Unown + @ Zacian + cry Cry_Unown + @ Zamazenta + cry Cry_Unown + @ Eternatus + cry Cry_Unown + @ Urshifu + cry Cry_Unown + @ Zarude + cry Cry_Unown + @ Calyrex cry Cry_Unown cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - cry Cry_Unown - @ Castform - cry Cry_Castform - cry Cry_Castform - cry Cry_Castform - @ Deoxys - cry Cry_Deoxys - cry Cry_Deoxys - cry Cry_Deoxys .endif .align 2 @@ -1726,7 +2507,7 @@ gCryTable_Reverse:: cry_reverse Cry_Rayquaza cry_reverse Cry_Jirachi cry_reverse Cry_Deoxys -.if P_NEW_POKEMON == TRUE +.if P_GEN_4_POKEMON == TRUE cry_reverse Cry_Turtwig cry_reverse Cry_Grotle cry_reverse Cry_Torterra @@ -1834,6 +2615,116 @@ gCryTable_Reverse:: cry_reverse Cry_Darkrai cry_reverse Cry_Shaymin cry_reverse Cry_Arceus +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_GEN_5_POKEMON == TRUE cry_reverse Cry_Victini cry_reverse Cry_Snivy cry_reverse Cry_Servine @@ -1990,6 +2881,165 @@ gCryTable_Reverse:: cry_reverse Cry_Keldeo cry_reverse Cry_Meloetta cry_reverse Cry_Genesect +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_GEN_6_POKEMON == TRUE cry_reverse Cry_Chespin cry_reverse Cry_Quilladin cry_reverse Cry_Chesnaught @@ -2062,6 +3112,81 @@ gCryTable_Reverse:: cry_reverse Cry_Diancie cry_reverse Cry_Hoopa cry_reverse Cry_Volcanion +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_GEN_7_POKEMON == TRUE cry_reverse Cry_Rowlet cry_reverse Cry_Dartrix cry_reverse Cry_Decidueye @@ -2150,6 +3275,97 @@ gCryTable_Reverse:: cry_reverse Cry_Zeraora cry_reverse Cry_Meltan cry_reverse Cry_Melmetal +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_GEN_8_POKEMON == TRUE cry_reverse Cry_Grookey cry_reverse Cry_Thwackey cry_reverse Cry_Rillaboom @@ -2239,13 +3455,111 @@ gCryTable_Reverse:: cry_reverse Cry_Glastrier cry_reverse Cry_Spectrier cry_reverse Cry_Calyrex - cry_reverse Cry_Bulbasaur //Cry_Wyrdeer - cry_reverse Cry_Bulbasaur //Cry_Kleavor - cry_reverse Cry_Bulbasaur //Cry_Ursaluna - cry_reverse Cry_Bulbasaur //Cry_Basculegion - cry_reverse Cry_Bulbasaur //Cry_Sneasler - cry_reverse Cry_Bulbasaur //Cry_Overqwil - cry_reverse Cry_Bulbasaur //Cry_Enamorus + cry_reverse Cry_Unown //Cry_Wyrdeer + cry_reverse Cry_Unown //Cry_Kleavor + cry_reverse Cry_Unown //Cry_Ursaluna + cry_reverse Cry_Unown //Cry_Basculegion + cry_reverse Cry_Unown //Cry_Sneasler + cry_reverse Cry_Unown //Cry_Overqwil + cry_reverse Cry_Unown //Cry_Enamorus +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif @ Megas cry_reverse Cry_VenusaurMega cry_reverse Cry_CharizardMegaX @@ -2287,13 +3601,29 @@ gCryTable_Reverse:: cry_reverse Cry_MetagrossMega cry_reverse Cry_LatiasMega cry_reverse Cry_LatiosMega +.if P_GEN_4_POKEMON == TRUE cry_reverse Cry_LopunnyMega cry_reverse Cry_GarchompMega cry_reverse Cry_LucarioMega cry_reverse Cry_AbomasnowMega cry_reverse Cry_GalladeMega +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_GEN_5_POKEMON == TRUE cry_reverse Cry_AudinoMega +.else + cry_reverse Cry_Unown +.endif +.if P_GEN_6_POKEMON == TRUE cry_reverse Cry_DiancieMega +.else + cry_reverse Cry_Unown +.endif @ Special Mega + Primals cry_reverse Cry_RayquazaMega cry_reverse Cry_KyogrePrimal @@ -2333,10 +3663,17 @@ gCryTable_Reverse:: cry_reverse Cry_Corsola cry_reverse Cry_Zigzagoon cry_reverse Cry_Linoone +.if P_GEN_5_POKEMON == TRUE cry_reverse Cry_Darumaka cry_reverse Cry_Darmanitan cry_reverse Cry_Yamask cry_reverse Cry_Stunfisk +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif @ Hisuian Forms cry_reverse Cry_Growlithe cry_reverse Cry_Arcanine @@ -2345,15 +3682,33 @@ gCryTable_Reverse:: cry_reverse Cry_Typhlosion cry_reverse Cry_Qwilfish cry_reverse Cry_Sneasel +.if P_GEN_5_POKEMON == TRUE cry_reverse Cry_Samurott cry_reverse Cry_Lilligant cry_reverse Cry_Zorua cry_reverse Cry_Zoroark cry_reverse Cry_Braviary +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_GEN_6_POKEMON == TRUE cry_reverse Cry_Sliggoo cry_reverse Cry_Goodra cry_reverse Cry_Avalugg +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_GEN_7_POKEMON == TRUE cry_reverse Cry_Decidueye +.else + cry_reverse Cry_Unown +.endif @ Misc Forms @ Cosplay Pikachu cry_reverse Cry_Pikachu @@ -2409,6 +3764,7 @@ gCryTable_Reverse:: cry_reverse Cry_Deoxys cry_reverse Cry_Deoxys cry_reverse Cry_Deoxys +.if P_GEN_4_POKEMON == TRUE @ Burmy cry_reverse Cry_Burmy cry_reverse Cry_Burmy @@ -2451,6 +3807,42 @@ gCryTable_Reverse:: cry_reverse Cry_Arceus cry_reverse Cry_Arceus cry_reverse Cry_Arceus +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_GEN_5_POKEMON == TRUE @ Basculin cry_reverse Cry_Basculin cry_reverse Cry_Basculin @@ -2482,6 +3874,31 @@ gCryTable_Reverse:: cry_reverse Cry_Genesect cry_reverse Cry_Genesect cry_reverse Cry_Genesect +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_GEN_6_POKEMON == TRUE @ Greninja cry_reverse Cry_Greninja cry_reverse Cry_Greninja @@ -2552,6 +3969,66 @@ gCryTable_Reverse:: cry_reverse Cry_ZygardeComplete @ Hoopa cry_reverse Cry_HoopaUnbound +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_GEN_7_POKEMON == TRUE @ Oricorio cry_reverse Cry_OricorioPomPom cry_reverse Cry_OricorioPau @@ -2603,6 +4080,51 @@ gCryTable_Reverse:: cry_reverse Cry_NecrozmaUltra @ Magearna cry_reverse Cry_Magearna +.else + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown + cry_reverse Cry_Unown +.endif +.if P_GEN_8_POKEMON == TRUE @ Cramorant cry_reverse Cry_Cramorant cry_reverse Cry_Cramorant @@ -2641,7 +4163,6 @@ gCryTable_Reverse:: cry_reverse Cry_CalyrexIceRider cry_reverse Cry_CalyrexShadowRider .else - @ Unown cry_reverse Cry_Unown cry_reverse Cry_Unown cry_reverse Cry_Unown @@ -2665,16 +4186,4 @@ gCryTable_Reverse:: cry_reverse Cry_Unown cry_reverse Cry_Unown cry_reverse Cry_Unown - cry_reverse Cry_Unown - cry_reverse Cry_Unown - cry_reverse Cry_Unown - cry_reverse Cry_Unown - @ Castform - cry_reverse Cry_Castform - cry_reverse Cry_Castform - cry_reverse Cry_Castform - @ Deoxys - cry_reverse Cry_Deoxys - cry_reverse Cry_Deoxys - cry_reverse Cry_Deoxys .endif diff --git a/sound/direct_sound_data.inc b/sound/direct_sound_data.inc index 95c96fc1e..fb4c6b44f 100644 --- a/sound/direct_sound_data.inc +++ b/sound/direct_sound_data.inc @@ -1930,7 +1930,7 @@ Cry_Jirachi:: Cry_Deoxys:: .incbin "sound/direct_sound_samples/cries/deoxys.bin" -.if P_NEW_POKEMON == TRUE +.if P_GEN_4_POKEMON == TRUE .align 2 Cry_Turtwig:: .incbin "sound/direct_sound_samples/cries/turtwig.bin" @@ -2358,7 +2358,9 @@ Cry_Shaymin:: .align 2 Cry_Arceus:: .incbin "sound/direct_sound_samples/cries/arceus.bin" +.endif +.if P_GEN_5_POKEMON == TRUE .align 2 Cry_Victini:: .incbin "sound/direct_sound_samples/cries/victini.bin" @@ -2982,7 +2984,9 @@ Cry_Meloetta:: .align 2 Cry_Genesect:: .incbin "sound/direct_sound_samples/cries/genesect.bin" +.endif +.if P_GEN_6_POKEMON == TRUE .align 2 Cry_Chespin:: .incbin "sound/direct_sound_samples/cries/chespin.bin" @@ -3270,7 +3274,9 @@ Cry_Hoopa:: .align 2 Cry_Volcanion:: .incbin "sound/direct_sound_samples/cries/volcanion.bin" +.endif +.if P_GEN_7_POKEMON == TRUE .align 2 Cry_Rowlet:: .incbin "sound/direct_sound_samples/cries/rowlet.bin" @@ -3622,7 +3628,9 @@ Cry_Meltan:: .align 2 Cry_Melmetal:: .incbin "sound/direct_sound_samples/cries/melmetal.bin" +.endif +.if P_GEN_8_POKEMON == TRUE .align 2 Cry_Grookey:: .incbin "sound/direct_sound_samples/cries/grookey.bin" @@ -4007,6 +4015,7 @@ Cry_Overqwil:: Cry_Enamorus:: .incbin "sound/direct_sound_samples/cries/enamorus.bin" */ +.endif .align 2 Cry_VenusaurMega:: @@ -4168,6 +4177,7 @@ Cry_LatiasMega:: Cry_LatiosMega:: .incbin "sound/direct_sound_samples/cries/mega_latios.bin" +.if P_GEN_4_POKEMON == TRUE .align 2 Cry_LopunnyMega:: .incbin "sound/direct_sound_samples/cries/mega_lopunny.bin" @@ -4187,14 +4197,19 @@ Cry_AbomasnowMega:: .align 2 Cry_GalladeMega:: .incbin "sound/direct_sound_samples/cries/mega_gallade.bin" +.endif +.if P_GEN_5_POKEMON == TRUE .align 2 Cry_AudinoMega:: .incbin "sound/direct_sound_samples/cries/mega_audino.bin" +.endif +.if P_GEN_6_POKEMON == TRUE .align 2 Cry_DiancieMega:: .incbin "sound/direct_sound_samples/cries/mega_diancie.bin" +.endif .align 2 Cry_RayquazaMega:: @@ -4212,10 +4227,13 @@ Cry_GroudonPrimal:: Cry_SlowpokeGalarian:: .incbin "sound/direct_sound_samples/cries/slowpoke_galarian.bin" +.if P_GEN_4_POKEMON == TRUE .align 2 Cry_ShayminSky:: .incbin "sound/direct_sound_samples/cries/shaymin_sky.bin" +.endif +.if P_GEN_5_POKEMON == TRUE .align 2 Cry_TornadusTherian:: .incbin "sound/direct_sound_samples/cries/tornadus_therian.bin" @@ -4227,11 +4245,6 @@ Cry_ThundurusTherian:: .align 2 Cry_LandorusTherian:: .incbin "sound/direct_sound_samples/cries/landorus_therian.bin" -/* - .align 2 -Cry_EnamorusTherian:: - .incbin "sound/direct_sound_samples/cries/enamorus_therian.bin" -*/ .align 2 Cry_KyuremWhite:: @@ -4240,7 +4253,9 @@ Cry_KyuremWhite:: .align 2 Cry_KyuremBlack:: .incbin "sound/direct_sound_samples/cries/kyurem_black.bin" +.endif +.if P_GEN_6_POKEMON == TRUE .align 2 Cry_FloetteEternalFlower:: .incbin "sound/direct_sound_samples/cries/floette_eternal_flower.bin" @@ -4264,7 +4279,9 @@ Cry_ZygardeComplete:: .align 2 Cry_HoopaUnbound:: .incbin "sound/direct_sound_samples/cries/hoopa_unbound.bin" +.endif +.if P_GEN_7_POKEMON == TRUE .align 2 Cry_OricorioPomPom:: .incbin "sound/direct_sound_samples/cries/oricorio_pom_pom.bin" @@ -4300,7 +4317,9 @@ Cry_NecrozmaDawnWings:: .align 2 Cry_NecrozmaUltra:: .incbin "sound/direct_sound_samples/cries/necrozma_ultra.bin" +.endif +.if P_GEN_8_POKEMON == TRUE .align 2 Cry_ToxtricityLowKey:: .incbin "sound/direct_sound_samples/cries/toxtricity_low_key.bin" @@ -4340,6 +4359,12 @@ Cry_CalyrexIceRider:: .align 2 Cry_CalyrexShadowRider:: .incbin "sound/direct_sound_samples/cries/calyrex_shadow_rider.bin" + +/* + .align 2 +Cry_EnamorusTherian:: + .incbin "sound/direct_sound_samples/cries/enamorus_therian.bin" +*/ .endif .align 2 diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 312ff853c..b1154e793 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -239,6 +239,87 @@ u8 ComputeBattleAiScores(u8 battler) return BattleAI_ChooseMoveOrAction(); } +static void CopyBattlerDataToAIParty(u32 bPosition, u32 side) +{ + u32 battler = GetBattlerAtPosition(bPosition); + struct AiPartyMon *aiMon = &AI_PARTY->mons[side][gBattlerPartyIndexes[battler]]; + struct BattlePokemon *bMon = &gBattleMons[battler]; + + aiMon->species = bMon->species; + aiMon->level = bMon->level; + aiMon->status = bMon->status1; + aiMon->gender = GetGenderFromSpeciesAndPersonality(bMon->species, bMon->personality); + aiMon->isFainted = FALSE; + aiMon->wasSentInBattle = TRUE; + aiMon->switchInCount++; +} + +void Ai_InitPartyStruct(void) +{ + u32 i; + + AI_PARTY->count[B_SIDE_PLAYER] = gPlayerPartyCount; + AI_PARTY->count[B_SIDE_OPPONENT] = gEnemyPartyCount; + + // Save first 2 or 4(in doubles) mons + CopyBattlerDataToAIParty(B_POSITION_PLAYER_LEFT, B_SIDE_PLAYER); + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + CopyBattlerDataToAIParty(B_POSITION_PLAYER_RIGHT, B_SIDE_PLAYER); + + // If player's partner is AI, save opponent mons + if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) + { + CopyBattlerDataToAIParty(B_POSITION_OPPONENT_LEFT, B_SIDE_OPPONENT); + CopyBattlerDataToAIParty(B_POSITION_OPPONENT_RIGHT, B_SIDE_OPPONENT); + } + + // Find fainted mons + for (i = 0; i < AI_PARTY->count[B_SIDE_PLAYER]; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0) + AI_PARTY->mons[B_SIDE_PLAYER][i].isFainted = TRUE; + } +} + +void Ai_UpdateSwitchInData(u32 battler) +{ + u32 i; + u32 side = GetBattlerSide(battler); + struct AiPartyMon *aiMon = &AI_PARTY->mons[side][gBattlerPartyIndexes[battler]]; + + // See if the switched-in mon has been already in battle + if (aiMon->wasSentInBattle) + { + if (aiMon->ability) + BATTLE_HISTORY->abilities[battler] = aiMon->ability; + if (aiMon->heldEffect) + BATTLE_HISTORY->itemEffects[battler] = aiMon->heldEffect; + for (i = 0; i < MAX_MON_MOVES; i++) + { + if (aiMon->moves[i]) + BATTLE_HISTORY->usedMoves[battler][i] = aiMon->moves[i]; + } + aiMon->switchInCount++; + aiMon->status = gBattleMons[battler].status1; // Copy status, because it could've been changed in battle. + } + else // If not, copy the newly switched-in mon in battle and clear battle history. + { + ClearBattlerMoveHistory(battler); + ClearBattlerAbilityHistory(battler); + ClearBattlerItemEffectHistory(battler); + CopyBattlerDataToAIParty(GetBattlerPosition(battler), side); + } +} + +void Ai_UpdateFaintData(u32 battler) +{ + struct AiPartyMon *aiMon = &AI_PARTY->mons[GET_BATTLER_SIDE(battler)][gBattlerPartyIndexes[battler]]; + ClearBattlerMoveHistory(battler); + ClearBattlerAbilityHistory(battler); + ClearBattlerItemEffectHistory(battler); + aiMon->isFainted = TRUE; +} + static void SetBattlerAiData(u8 battlerId) { AI_DATA->abilities[battlerId] = AI_GetAbility(battlerId); @@ -258,8 +339,7 @@ void GetAiLogicData(void) memset(AI_DATA, 0, sizeof(struct AiLogicData)); - if (!(gBattleTypeFlags & (BATTLE_TYPE_TRAINER | BATTLE_TYPE_FIRST_BATTLE | BATTLE_TYPE_SAFARI | BATTLE_TYPE_ROAMER)) - && !IsWildMonSmart()) + if (!(gBattleTypeFlags & BATTLE_TYPE_HAS_AI) && !IsWildMonSmart()) return; // get/assume all battler data diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 7493be32b..5876e8b47 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -312,7 +312,9 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) switchMon = FALSE; //Checks to see if active Pokemon can do something against sleep - if (monAbility == (ABILITY_NATURAL_CURE | ABILITY_SHED_SKIN | ABILITY_EARLY_BIRD) + if ((monAbility == ABILITY_NATURAL_CURE + || monAbility == ABILITY_SHED_SKIN + || monAbility == ABILITY_EARLY_BIRD) || holdEffect == (HOLD_EFFECT_CURE_SLP | HOLD_EFFECT_CURE_STATUS) || HasMove(gActiveBattler, MOVE_SLEEP_TALK) || (HasMoveEffect(gActiveBattler, MOVE_SNORE) && AI_GetTypeEffectiveness(MOVE_SNORE, gActiveBattler, opposingBattler) >= UQ_4_12(1.0)) @@ -957,8 +959,8 @@ u8 GetMostSuitableMonToSwitchInto(void) || i == *(gBattleStruct->monToSwitchIntoId + battlerIn1) || i == *(gBattleStruct->monToSwitchIntoId + battlerIn2) || (GetMonAbility(&party[i]) == ABILITY_TRUANT && IsTruantMonVulnerable(gActiveBattler, opposingBattler)) // While not really invalid per say, not really wise to switch into this mon. - || (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON - && i == (CalculateEnemyPartyCount()-1))) //Save Ace Pokemon for last + || ((AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON) + && i == (CalculateEnemyPartyCount() - 1))) //Save Ace Pokemon for last invalidMons |= gBitTable[i]; else aliveCount++; diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index e1654eb30..344dd1657 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -499,6 +499,7 @@ void RecordKnownMove(u8 battlerId, u32 move) if (BATTLE_HISTORY->usedMoves[battlerId][i] == MOVE_NONE) { BATTLE_HISTORY->usedMoves[battlerId][i] = move; + AI_PARTY->mons[GetBattlerSide(battlerId)][gBattlerPartyIndexes[battlerId]].moves[i] = move; break; } } @@ -507,6 +508,7 @@ void RecordKnownMove(u8 battlerId, u32 move) void RecordAbilityBattle(u8 battlerId, u16 abilityId) { BATTLE_HISTORY->abilities[battlerId] = abilityId; + AI_PARTY->mons[GetBattlerSide(battlerId)][gBattlerPartyIndexes[battlerId]].ability = abilityId; } void ClearBattlerAbilityHistory(u8 battlerId) @@ -517,6 +519,7 @@ void ClearBattlerAbilityHistory(u8 battlerId) void RecordItemEffectBattle(u8 battlerId, u8 itemEffect) { BATTLE_HISTORY->itemEffects[battlerId] = itemEffect; + AI_PARTY->mons[GetBattlerSide(battlerId)][gBattlerPartyIndexes[battlerId]].heldEffect = itemEffect; } void ClearBattlerItemEffectHistory(u8 battlerId) @@ -1160,6 +1163,10 @@ s32 AI_GetAbility(u32 battlerId) { u32 knownAbility = GetBattlerAbility(battlerId); + // We've had ability overwritten by e.g. Worry Seed. It is not part of AI_PARTY in case of switching + if (gBattleStruct->overwrittenAbilities[battlerId]) + return gBattleStruct->overwrittenAbilities[battlerId]; + // The AI knows its own ability. if (IsBattlerAIControlled(battlerId)) return knownAbility; diff --git a/src/battle_arena.c b/src/battle_arena.c index 82f6a47d0..7fb8b6e59 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -21,6 +21,7 @@ #include "util.h" #include "constants/songs.h" #include "constants/battle_arena.h" +#include "constants/battle_move_effects.h" #include "constants/battle_string_ids.h" #include "constants/battle_frontier.h" #include "constants/frontier_util.h" @@ -49,232 +50,6 @@ enum { ANIM_ICON_LINE, // Line segment for separating the score total at the bottom }; -// This table holds the number of points to add to the 'mind' score for each move. -// All moves with power != 0 give 1 point, with the following exceptions: -// - Counter, Mirror Coat, and Bide give 0 points -// - Fake Out subtracts 1 point -// All moves with power == 0 give 0 points, with the following exceptions: -// - Protect, Detect, and Endure subtract 1 point -static const s8 sMindRatings[MOVES_COUNT] = -{ - [MOVE_POUND] = 1, - [MOVE_KARATE_CHOP] = 1, - [MOVE_DOUBLE_SLAP] = 1, - [MOVE_COMET_PUNCH] = 1, - [MOVE_MEGA_PUNCH] = 1, - [MOVE_PAY_DAY] = 1, - [MOVE_FIRE_PUNCH] = 1, - [MOVE_ICE_PUNCH] = 1, - [MOVE_THUNDER_PUNCH] = 1, - [MOVE_SCRATCH] = 1, - [MOVE_VISE_GRIP] = 1, - [MOVE_GUILLOTINE] = 1, - [MOVE_RAZOR_WIND] = 1, - [MOVE_CUT] = 1, - [MOVE_GUST] = 1, - [MOVE_WING_ATTACK] = 1, - [MOVE_FLY] = 1, - [MOVE_BIND] = 1, - [MOVE_SLAM] = 1, - [MOVE_VINE_WHIP] = 1, - [MOVE_STOMP] = 1, - [MOVE_DOUBLE_KICK] = 1, - [MOVE_MEGA_KICK] = 1, - [MOVE_JUMP_KICK] = 1, - [MOVE_ROLLING_KICK] = 1, - [MOVE_HEADBUTT] = 1, - [MOVE_HORN_ATTACK] = 1, - [MOVE_FURY_ATTACK] = 1, - [MOVE_HORN_DRILL] = 1, - [MOVE_TACKLE] = 1, - [MOVE_BODY_SLAM] = 1, - [MOVE_WRAP] = 1, - [MOVE_TAKE_DOWN] = 1, - [MOVE_THRASH] = 1, - [MOVE_DOUBLE_EDGE] = 1, - [MOVE_POISON_STING] = 1, - [MOVE_TWINEEDLE] = 1, - [MOVE_PIN_MISSILE] = 1, - [MOVE_BITE] = 1, - [MOVE_SONIC_BOOM] = 1, - [MOVE_ACID] = 1, - [MOVE_EMBER] = 1, - [MOVE_FLAMETHROWER] = 1, - [MOVE_WATER_GUN] = 1, - [MOVE_HYDRO_PUMP] = 1, - [MOVE_SURF] = 1, - [MOVE_ICE_BEAM] = 1, - [MOVE_BLIZZARD] = 1, - [MOVE_PSYBEAM] = 1, - [MOVE_BUBBLE_BEAM] = 1, - [MOVE_AURORA_BEAM] = 1, - [MOVE_HYPER_BEAM] = 1, - [MOVE_PECK] = 1, - [MOVE_DRILL_PECK] = 1, - [MOVE_SUBMISSION] = 1, - [MOVE_LOW_KICK] = 1, - [MOVE_SEISMIC_TOSS] = 1, - [MOVE_STRENGTH] = 1, - [MOVE_ABSORB] = 1, - [MOVE_MEGA_DRAIN] = 1, - [MOVE_RAZOR_LEAF] = 1, - [MOVE_SOLAR_BEAM] = 1, - [MOVE_PETAL_DANCE] = 1, - [MOVE_DRAGON_RAGE] = 1, - [MOVE_FIRE_SPIN] = 1, - [MOVE_THUNDER_SHOCK] = 1, - [MOVE_THUNDERBOLT] = 1, - [MOVE_THUNDER] = 1, - [MOVE_ROCK_THROW] = 1, - [MOVE_EARTHQUAKE] = 1, - [MOVE_FISSURE] = 1, - [MOVE_DIG] = 1, - [MOVE_CONFUSION] = 1, - [MOVE_PSYCHIC] = 1, - [MOVE_QUICK_ATTACK] = 1, - [MOVE_RAGE] = 1, - [MOVE_NIGHT_SHADE] = 1, - [MOVE_SELF_DESTRUCT] = 1, - [MOVE_EGG_BOMB] = 1, - [MOVE_LICK] = 1, - [MOVE_SMOG] = 1, - [MOVE_SLUDGE] = 1, - [MOVE_BONE_CLUB] = 1, - [MOVE_FIRE_BLAST] = 1, - [MOVE_WATERFALL] = 1, - [MOVE_CLAMP] = 1, - [MOVE_SWIFT] = 1, - [MOVE_SKULL_BASH] = 1, - [MOVE_SPIKE_CANNON] = 1, - [MOVE_CONSTRICT] = 1, - [MOVE_HIGH_JUMP_KICK] = 1, - [MOVE_DREAM_EATER] = 1, - [MOVE_BARRAGE] = 1, - [MOVE_LEECH_LIFE] = 1, - [MOVE_SKY_ATTACK] = 1, - [MOVE_BUBBLE] = 1, - [MOVE_DIZZY_PUNCH] = 1, - [MOVE_PSYWAVE] = 1, - [MOVE_CRABHAMMER] = 1, - [MOVE_EXPLOSION] = 1, - [MOVE_FURY_SWIPES] = 1, - [MOVE_BONEMERANG] = 1, - [MOVE_ROCK_SLIDE] = 1, - [MOVE_HYPER_FANG] = 1, - [MOVE_TRI_ATTACK] = 1, - [MOVE_SUPER_FANG] = 1, - [MOVE_SLASH] = 1, - [MOVE_STRUGGLE] = 1, - [MOVE_TRIPLE_KICK] = 1, - [MOVE_THIEF] = 1, - [MOVE_FLAME_WHEEL] = 1, - [MOVE_SNORE] = 1, - [MOVE_FLAIL] = 1, - [MOVE_AEROBLAST] = 1, - [MOVE_REVERSAL] = 1, - [MOVE_POWDER_SNOW] = 1, - [MOVE_PROTECT] = -1, - [MOVE_MACH_PUNCH] = 1, - [MOVE_FEINT_ATTACK] = 1, - [MOVE_SLUDGE_BOMB] = 1, - [MOVE_MUD_SLAP] = 1, - [MOVE_OCTAZOOKA] = 1, - [MOVE_ZAP_CANNON] = 1, - [MOVE_ICY_WIND] = 1, - [MOVE_DETECT] = -1, - [MOVE_BONE_RUSH] = 1, - [MOVE_OUTRAGE] = 1, - [MOVE_GIGA_DRAIN] = 1, - [MOVE_ENDURE] = -1, - [MOVE_ROLLOUT] = 1, - [MOVE_FALSE_SWIPE] = 1, - [MOVE_SPARK] = 1, - [MOVE_FURY_CUTTER] = 1, - [MOVE_STEEL_WING] = 1, - [MOVE_RETURN] = 1, - [MOVE_PRESENT] = 1, - [MOVE_FRUSTRATION] = 1, - [MOVE_SACRED_FIRE] = 1, - [MOVE_MAGNITUDE] = 1, - [MOVE_DYNAMIC_PUNCH] = 1, - [MOVE_MEGAHORN] = 1, - [MOVE_DRAGON_BREATH] = 1, - [MOVE_PURSUIT] = 1, - [MOVE_RAPID_SPIN] = 1, - [MOVE_IRON_TAIL] = 1, - [MOVE_METAL_CLAW] = 1, - [MOVE_VITAL_THROW] = 1, - [MOVE_HIDDEN_POWER] = 1, - [MOVE_CROSS_CHOP] = 1, - [MOVE_TWISTER] = 1, - [MOVE_CRUNCH] = 1, - [MOVE_EXTREME_SPEED] = 1, - [MOVE_ANCIENT_POWER] = 1, - [MOVE_SHADOW_BALL] = 1, - [MOVE_FUTURE_SIGHT] = 1, - [MOVE_ROCK_SMASH] = 1, - [MOVE_WHIRLPOOL] = 1, - [MOVE_BEAT_UP] = 1, - [MOVE_FAKE_OUT] = -1, - [MOVE_UPROAR] = 1, - [MOVE_SPIT_UP] = 1, - [MOVE_HEAT_WAVE] = 1, - [MOVE_FACADE] = 1, - [MOVE_FOCUS_PUNCH] = 1, - [MOVE_SMELLING_SALTS] = 1, - [MOVE_SUPERPOWER] = 1, - [MOVE_REVENGE] = 1, - [MOVE_BRICK_BREAK] = 1, - [MOVE_KNOCK_OFF] = 1, - [MOVE_ENDEAVOR] = 1, - [MOVE_ERUPTION] = 1, - [MOVE_SECRET_POWER] = 1, - [MOVE_DIVE] = 1, - [MOVE_ARM_THRUST] = 1, - [MOVE_LUSTER_PURGE] = 1, - [MOVE_MIST_BALL] = 1, - [MOVE_BLAZE_KICK] = 1, - [MOVE_ICE_BALL] = 1, - [MOVE_NEEDLE_ARM] = 1, - [MOVE_HYPER_VOICE] = 1, - [MOVE_POISON_FANG] = 1, - [MOVE_CRUSH_CLAW] = 1, - [MOVE_BLAST_BURN] = 1, - [MOVE_HYDRO_CANNON] = 1, - [MOVE_METEOR_MASH] = 1, - [MOVE_ASTONISH] = 1, - [MOVE_WEATHER_BALL] = 1, - [MOVE_AIR_CUTTER] = 1, - [MOVE_OVERHEAT] = 1, - [MOVE_ROCK_TOMB] = 1, - [MOVE_SILVER_WIND] = 1, - [MOVE_WATER_SPOUT] = 1, - [MOVE_SIGNAL_BEAM] = 1, - [MOVE_SHADOW_PUNCH] = 1, - [MOVE_EXTRASENSORY] = 1, - [MOVE_SKY_UPPERCUT] = 1, - [MOVE_SAND_TOMB] = 1, - [MOVE_SHEER_COLD] = 1, - [MOVE_MUDDY_WATER] = 1, - [MOVE_BULLET_SEED] = 1, - [MOVE_AERIAL_ACE] = 1, - [MOVE_ICICLE_SPEAR] = 1, - [MOVE_DRAGON_CLAW] = 1, - [MOVE_FRENZY_PLANT] = 1, - [MOVE_BOUNCE] = 1, - [MOVE_MUD_SHOT] = 1, - [MOVE_POISON_TAIL] = 1, - [MOVE_COVET] = 1, - [MOVE_VOLT_TACKLE] = 1, - [MOVE_MAGICAL_LEAF] = 1, - [MOVE_LEAF_BLADE] = 1, - [MOVE_ROCK_BLAST] = 1, - [MOVE_SHOCK_WAVE] = 1, - [MOVE_WATER_PULSE] = 1, - [MOVE_DOOM_DESIRE] = 1, - [MOVE_PSYCHO_BOOST] = 1, -}; - static const struct OamData sOam_JudgmentIcon = { .y = 0, @@ -582,7 +357,26 @@ void BattleArena_InitPoints(void) void BattleArena_AddMindPoints(u8 battler) { - gBattleStruct->arenaMindPoints[battler] += sMindRatings[gCurrentMove]; +// All moves with power != 0 give 1 point, with the following exceptions: +// - Counter, Mirror Coat, and Bide give 0 points +// - Fake Out subtracts 1 point +// All moves with power == 0 give 0 points, with the following exceptions: +// - Protect, Detect, and Endure subtract 1 point + + if (gBattleMoves[gCurrentMove].effect == EFFECT_FAKE_OUT + || gBattleMoves[gCurrentMove].effect == EFFECT_PROTECT + || gBattleMoves[gCurrentMove].effect == EFFECT_ENDURE) + { + gBattleStruct->arenaMindPoints[battler]--; + } + else if (gBattleMoves[gCurrentMove].power != 0 + && gBattleMoves[gCurrentMove].effect != EFFECT_COUNTER + && gBattleMoves[gCurrentMove].effect != EFFECT_MIRROR_COAT + && gBattleMoves[gCurrentMove].effect != EFFECT_METAL_BURST + && gBattleMoves[gCurrentMove].effect != EFFECT_BIDE) + { + gBattleStruct->arenaMindPoints[battler]++; + } } void BattleArena_AddSkillPoints(u8 battler) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 07cf95589..5a307cfc9 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1699,9 +1699,9 @@ static void OpponentHandleChoosePokemon(void) if (GetMonData(&gEnemyParty[chosenMonId], MON_DATA_HP) != 0 && chosenMonId != gBattlerPartyIndexes[battler1] && chosenMonId != gBattlerPartyIndexes[battler2] - && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON - && (!(chosenMonId == (CalculateEnemyPartyCount()-1)) - || CountAIAliveNonEggMonsExcept(PARTY_SIZE) == pokemonInBattle))) + && (!(AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON) + || chosenMonId != CalculateEnemyPartyCount() - 1 + || CountAIAliveNonEggMonsExcept(PARTY_SIZE) == pokemonInBattle)) { break; } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 6e9cdcc25..4be342640 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -331,7 +331,7 @@ static void HandleInputChooseAction(void) SwapHpBarsWithHpText(); } #if B_ENABLE_DEBUG == TRUE - else if (gMain.newKeys & SELECT_BUTTON) + else if (JOY_NEW(SELECT_BUTTON)) { BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_DEBUG, 0); PlayerBufferExecCompleted(); @@ -543,7 +543,7 @@ static void HandleInputShowEntireFieldTargets(void) HideMegaTriggerSprite(); PlayerBufferExecCompleted(); } - else if (gMain.newKeys & B_BUTTON || gPlayerDpadHoldFrames > 59) + else if (JOY_NEW(B_BUTTON) || gPlayerDpadHoldFrames > 59) { PlaySE(SE_SELECT); HideAllTargets(); @@ -572,7 +572,7 @@ static void HandleInputShowTargets(void) TryHideLastUsedBall(); PlayerBufferExecCompleted(); } - else if (gMain.newKeys & B_BUTTON || gPlayerDpadHoldFrames > 59) + else if (JOY_NEW(B_BUTTON) || gPlayerDpadHoldFrames > 59) { PlaySE(SE_SELECT); HideShownTargets(); @@ -597,12 +597,12 @@ static void HandleInputChooseMove(void) u32 canSelectTarget = 0; struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); - if (gMain.heldKeys & DPAD_ANY && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_L_EQUALS_A) + if (JOY_HELD(DPAD_ANY) && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_L_EQUALS_A) gPlayerDpadHoldFrames++; else gPlayerDpadHoldFrames = 0; - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); if (moveInfo->moves[gMoveSelectionCursor[gActiveBattler]] == MOVE_CURSE) diff --git a/src/battle_debug.c b/src/battle_debug.c index 8e869df9c..4450fe0cb 100644 --- a/src/battle_debug.c +++ b/src/battle_debug.c @@ -7,6 +7,7 @@ #include "menu_helpers.h" #include "scanline_effect.h" #include "palette.h" +#include "party_menu.h" #include "pokemon_icon.h" #include "sprite.h" #include "item.h" @@ -30,6 +31,7 @@ #include "reset_rtc_screen.h" #include "reshow_battle_screen.h" #include "constants/abilities.h" +#include "constants/party_menu.h" #include "constants/moves.h" #include "constants/items.h" #include "constants/rgb.h" @@ -43,8 +45,8 @@ struct BattleDebugModifyArrows u16 minValue; u16 maxValue; int currValue; - u8 currentDigit; - u8 maxDigits; + u8 currentDigit:4; + u8 maxDigits:4; u8 charDigits[MAX_MODIFY_DIGITS]; void *modifiedValPtr; u8 typeOfVal; @@ -52,7 +54,9 @@ struct BattleDebugModifyArrows struct BattleDebugMenu { - u8 battlerId; + u8 battlerId:2; + u8 aiBattlerId:2; + u8 battlerWindowId; u8 mainListWindowId; @@ -72,11 +76,16 @@ struct BattleDebugMenu const struct BitfieldInfo *bitfield; bool8 battlerWasChanged[MAX_BATTLERS_COUNT]; - u8 aiBattlerId; u8 aiViewState; - u8 aiIconSpriteIds[MAX_BATTLERS_COUNT]; + u8 aiMonSpriteId; u8 aiMovesWindowId; + + union + { + u8 aiIconSpriteIds[MAX_BATTLERS_COUNT]; + u8 aiPartyIcons[PARTY_SIZE]; + } spriteIds; }; struct __attribute__((__packed__)) BitfieldInfo @@ -102,6 +111,7 @@ enum LIST_ITEM_AI, LIST_ITEM_AI_MOVES_PTS, LIST_ITEM_AI_INFO, + LIST_ITEM_AI_PARTY, LIST_ITEM_VARIOUS, LIST_ITEM_COUNT }; @@ -234,6 +244,7 @@ static const u8 sText_Unknown[] = _("Unknown"); static const u8 sText_InLove[] = _("In Love"); static const u8 sText_AIMovePts[] = _("AI Pts/Dmg"); static const u8 sText_AiKnowledge[] = _("AI Info"); +static const u8 sText_AiParty[] = _("AI Party"); static const u8 sText_EffectOverride[] = _("Effect Override"); static const u8 sText_EmptyString[] = _(""); @@ -340,6 +351,7 @@ static const struct ListMenuItem sMainListItems[] = {sText_AI, LIST_ITEM_AI}, {sText_AIMovePts, LIST_ITEM_AI_MOVES_PTS}, {sText_AiKnowledge, LIST_ITEM_AI_INFO}, + {sText_AiParty, LIST_ITEM_AI_PARTY}, {sText_Various, LIST_ITEM_VARIOUS}, }; @@ -610,6 +622,7 @@ static void UpdateMonData(struct BattleDebugMenu *data); static u8 *GetSideStatusValue(struct BattleDebugMenu *data, bool32 changeStatus, bool32 statusTrue); static bool32 TryMoveDigit(struct BattleDebugModifyArrows *modArrows, bool32 moveUp); static void SwitchToDebugView(u8 taskId); +static void SwitchToDebugViewFromAiParty(u8 taskId); // code static struct BattleDebugMenu *GetStructPtr(u8 taskId) @@ -715,7 +728,7 @@ void CB2_BattleDebugMenu(void) static void PutMovesPointsText(struct BattleDebugMenu *data) { u32 i, j, count, battlerDef; - u8 *text = malloc(0x50); + u8 *text = Alloc(0x50); FillWindowPixelBuffer(data->aiMovesWindowId, 0x11); for (i = 0; i < MAX_MON_MOVES; i++) @@ -725,9 +738,9 @@ static void PutMovesPointsText(struct BattleDebugMenu *data) AddTextPrinterParameterized(data->aiMovesWindowId, 1, text, 0, i * 15, 0, NULL); for (count = 0, j = 0; j < MAX_BATTLERS_COUNT; j++) { - if (data->aiIconSpriteIds[j] == 0xFF) + if (data->spriteIds.aiIconSpriteIds[j] == 0xFF) continue; - battlerDef = gSprites[data->aiIconSpriteIds[j]].data[0]; + battlerDef = gSprites[data->spriteIds.aiIconSpriteIds[j]].data[0]; ConvertIntToDecimalStringN(text, gBattleStruct->aiFinalScore[data->aiBattlerId][battlerDef][i], STR_CONV_MODE_RIGHT_ALIGN, 3); @@ -743,7 +756,7 @@ static void PutMovesPointsText(struct BattleDebugMenu *data) } CopyWindowToVram(data->aiMovesWindowId, 3); - free(text); + Free(text); } static void Task_ShowAiPoints(u8 taskId) @@ -771,15 +784,15 @@ static void Task_ShowAiPoints(u8 taskId) { if (i != data->aiBattlerId && IsBattlerAlive(i)) { - data->aiIconSpriteIds[i] = CreateMonIcon(gBattleMons[i].species, + data->spriteIds.aiIconSpriteIds[i] = CreateMonIcon(gBattleMons[i].species, SpriteCallbackDummy, 95 + (count * 60), 17, 0, 0); - gSprites[data->aiIconSpriteIds[i]].data[0] = i; // battler id + gSprites[data->spriteIds.aiIconSpriteIds[i]].data[0] = i; // battler id count++; } else { - data->aiIconSpriteIds[i] = 0xFF; + data->spriteIds.aiIconSpriteIds[i] = 0xFF; } } data->aiMonSpriteId = CreateMonPicSprite(gBattleMons[data->aiBattlerId].species, @@ -800,7 +813,7 @@ static void Task_ShowAiPoints(u8 taskId) break; // Input case 2: - if (gMain.newKeys & (SELECT_BUTTON | B_BUTTON)) + if (JOY_NEW(SELECT_BUTTON | B_BUTTON)) { SwitchToDebugView(taskId); HideBg(1); @@ -823,10 +836,11 @@ static const u8 *const sAiInfoItemNames[] = sText_HeldItem, sText_HoldEffect, }; + static void PutAiInfoText(struct BattleDebugMenu *data) { u32 i, j, count; - u8 *text = malloc(0x50); + u8 *text = Alloc(0x50); FillWindowPixelBuffer(data->aiMovesWindowId, 0x11); @@ -852,7 +866,54 @@ static void PutAiInfoText(struct BattleDebugMenu *data) } CopyWindowToVram(data->aiMovesWindowId, 3); - free(text); + Free(text); +} + +static void PutAiPartyText(struct BattleDebugMenu *data) +{ + u32 i, j, count; + u8 *text = Alloc(0x50), *txtPtr; + struct AiPartyMon *aiMons = AI_PARTY->mons[GET_BATTLER_SIDE(data->aiBattlerId)]; + + FillWindowPixelBuffer(data->aiMovesWindowId, 0x11); + count = AI_PARTY->count[GET_BATTLER_SIDE(data->aiBattlerId)]; + for (i = 0; i < count; i++) + { + if (aiMons[i].wasSentInBattle) + { + text[0] = CHAR_LV; + txtPtr = ConvertIntToDecimalStringN(text + 1, aiMons[i].level, STR_CONV_MODE_LEFT_ALIGN, 3); + *txtPtr++ = CHAR_SPACE; + if (aiMons[i].gender == MON_MALE) + *txtPtr++ = CHAR_MALE; + else if (aiMons[i].gender == MON_FEMALE) + *txtPtr++ = CHAR_FEMALE; + *txtPtr = EOS; + AddTextPrinterParameterized5(data->aiMovesWindowId, FONT_SMALL_NARROW, text, i * 41, 0, 0, NULL, 0, 0); + } + + txtPtr = StringCopyN(text, gAbilityNames[aiMons[i].ability], 7); // The screen is too small to fit the whole string, so we need to drop the last letters. + *txtPtr = EOS; + AddTextPrinterParameterized5(data->aiMovesWindowId, FONT_SMALL_NARROW, text, i * 41, 15, 0, NULL, 0, 0); + + for (j = 0; j < MAX_MON_MOVES; j++) + { + txtPtr = StringCopyN(text, gMoveNames[aiMons[i].moves[j]], 8); + *txtPtr = EOS; + AddTextPrinterParameterized5(data->aiMovesWindowId, FONT_SMALL_NARROW, text, i * 41, 35 + j * 15, 0, NULL, 0, 0); + } + + txtPtr = StringCopyN(text, GetHoldEffectName(aiMons[i].heldEffect), 7); + *txtPtr = EOS; + AddTextPrinterParameterized5(data->aiMovesWindowId, FONT_SMALL_NARROW, text, i * 41, 35 + j * 15, 0, NULL, 0, 0); + + txtPtr = ConvertIntToDecimalStringN(text, aiMons[i].switchInCount, STR_CONV_MODE_LEFT_ALIGN, 2); + *txtPtr = EOS; + AddTextPrinterParameterized5(data->aiMovesWindowId, FONT_SMALL_NARROW, text, i * 41, 35 + (j + 1) * 15, 0, NULL, 0, 0); + } + + CopyWindowToVram(data->aiMovesWindowId, 3); + Free(text); } static void Task_ShowAiKnowledge(u8 taskId) @@ -880,15 +941,15 @@ static void Task_ShowAiKnowledge(u8 taskId) { if (GET_BATTLER_SIDE(i) == B_SIDE_PLAYER && IsBattlerAlive(i)) { - data->aiIconSpriteIds[i] = CreateMonIcon(gBattleMons[i].species, + data->spriteIds.aiIconSpriteIds[i] = CreateMonIcon(gBattleMons[i].species, SpriteCallbackDummy, 95 + (count * 80), 17, 0, 0); - gSprites[data->aiIconSpriteIds[i]].data[0] = i; // battler id + gSprites[data->spriteIds.aiIconSpriteIds[i]].data[0] = i; // battler id count++; } else { - data->aiIconSpriteIds[i] = 0xFF; + data->spriteIds.aiIconSpriteIds[i] = 0xFF; } } data->aiMonSpriteId = CreateMonPicSprite(gBattleMons[data->aiBattlerId].species, @@ -908,7 +969,7 @@ static void Task_ShowAiKnowledge(u8 taskId) break; // Input case 2: - if (gMain.newKeys & (SELECT_BUTTON | B_BUTTON)) + if (JOY_NEW(SELECT_BUTTON | B_BUTTON)) { SwitchToDebugView(taskId); HideBg(1); @@ -919,12 +980,102 @@ static void Task_ShowAiKnowledge(u8 taskId) } } +#define sConditionSpriteId data[1] + +static void Task_ShowAiParty(u8 taskId) +{ + u32 i, ailment; + struct WindowTemplate winTemplate; + struct AiPartyMon *aiMons; + struct BattleDebugMenu *data = GetStructPtr(taskId); + + switch (data->aiViewState) + { + case 0: + HideBg(0); + ShowBg(1); + + LoadMonIconPalettes(); + LoadPartyMenuAilmentGfx(); + data->aiBattlerId = data->battlerId; + aiMons = AI_PARTY->mons[GET_BATTLER_SIDE(data->aiBattlerId)]; + for (i = 0; i < AI_PARTY->count[GET_BATTLER_SIDE(data->aiBattlerId)]; i++) + { + u16 species = SPECIES_NONE; // Question mark + if (aiMons[i].wasSentInBattle && aiMons[i].species) + species = aiMons[i].species; + data->spriteIds.aiPartyIcons[i] = CreateMonIcon(species, SpriteCallbackDummy, (i * 41) + 15, 7, 1, 0); + gSprites[data->spriteIds.aiPartyIcons[i]].oam.priority = 0; + + gSprites[data->spriteIds.aiPartyIcons[i]].sConditionSpriteId = CreateSprite(&gSpriteTemplate_StatusIcons, (i * 41) + 15, 7, 0); + gSprites[gSprites[data->spriteIds.aiPartyIcons[i]].sConditionSpriteId].oam.priority = 0; + if (aiMons[i].isFainted) + ailment = AILMENT_FNT; + else if (aiMons[i].status) + ailment = GetAilmentFromStatus(aiMons[i].status); + else + ailment = AILMENT_FNT + 1; // blank + StartSpriteAnim(&gSprites[gSprites[data->spriteIds.aiPartyIcons[i]].sConditionSpriteId], ailment - 1); + } + for (; i < PARTY_SIZE; i++) + data->spriteIds.aiPartyIcons[i] = 0xFF; + data->aiViewState++; + break; + // Put text + case 1: + winTemplate = CreateWindowTemplate(1, 0, 3, 29, 16, 15, 0x150); + data->aiMovesWindowId = AddWindow(&winTemplate); + PutWindowTilemap(data->aiMovesWindowId); + PutAiPartyText(data); + data->aiViewState++; + break; + // Input + case 2: + if (JOY_NEW(SELECT_BUTTON | B_BUTTON)) + { + SwitchToDebugViewFromAiParty(taskId); + HideBg(1); + ShowBg(0); + return; + } + break; + } +} + static void SwitchToAiInfoView(u8 taskId) { gTasks[taskId].func = Task_ShowAiKnowledge; GetStructPtr(taskId)->aiViewState = 0; } +static void SwitchToAiPartyView(u8 taskId) +{ + gTasks[taskId].func = Task_ShowAiParty; + GetStructPtr(taskId)->aiViewState = 0; +} + +static void SwitchToDebugViewFromAiParty(u8 taskId) +{ + u32 i; + struct BattleDebugMenu *data = GetStructPtr(taskId); + + FreeMonIconPalettes(); + for (i = 0; i < PARTY_SIZE; i++) + { + if (data->spriteIds.aiPartyIcons[i] != 0xFF) + { + DestroySpriteAndFreeResources(&gSprites[gSprites[data->spriteIds.aiPartyIcons[i]].sConditionSpriteId]); + FreeAndDestroyMonIconSprite(&gSprites[data->spriteIds.aiPartyIcons[i]]); + } + } + ClearWindowTilemap(data->aiMovesWindowId); + RemoveWindow(data->aiMovesWindowId); + + gTasks[taskId].func = Task_DebugMenuProcessInput; +} + +#undef sConditionSpriteId + static void SwitchToDebugView(u8 taskId) { u32 i; @@ -933,10 +1084,11 @@ static void SwitchToDebugView(u8 taskId) FreeMonIconPalettes(); for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - if (data->aiIconSpriteIds[i] != 0xFF) - FreeAndDestroyMonIconSprite(&gSprites[data->aiIconSpriteIds[i]]); + if (data->spriteIds.aiIconSpriteIds[i] != 0xFF) + FreeAndDestroyMonIconSprite(&gSprites[data->spriteIds.aiIconSpriteIds[i]]); } FreeAndDestroyMonPicSprite(data->aiMonSpriteId); + ClearWindowTilemap(data->aiMovesWindowId); RemoveWindow(data->aiMovesWindowId); gTasks[taskId].func = Task_DebugMenuProcessInput; @@ -954,7 +1106,7 @@ static void Task_DebugMenuProcessInput(u8 taskId) struct BattleDebugMenu *data = GetStructPtr(taskId); // Exit the menu. - if (gMain.newKeys & SELECT_BUTTON) + if (JOY_NEW(SELECT_BUTTON)) { BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); gTasks[taskId].func = Task_DebugMenuFadeOut; @@ -962,13 +1114,13 @@ static void Task_DebugMenuProcessInput(u8 taskId) } // Try changing active battler. - if (gMain.newKeys & R_BUTTON) + if (JOY_NEW(R_BUTTON)) { if (data->battlerId++ == gBattlersCount - 1) data->battlerId = 0; UpdateWindowsOnChangedBattler(data); } - else if (gMain.newKeys & L_BUTTON) + else if (JOY_NEW(L_BUTTON)) { if (data->battlerId-- == 0) data->battlerId = gBattlersCount - 1; @@ -981,16 +1133,21 @@ static void Task_DebugMenuProcessInput(u8 taskId) listItemId = ListMenu_ProcessInput(data->mainListTaskId); if (listItemId != LIST_CANCEL && listItemId != LIST_NOTHING_CHOSEN && listItemId < LIST_ITEM_COUNT) { - if (listItemId == LIST_ITEM_AI_MOVES_PTS && gMain.newKeys & A_BUTTON) + if (listItemId == LIST_ITEM_AI_MOVES_PTS && JOY_NEW(A_BUTTON)) { SwitchToAiPointsView(taskId); return; } - else if (listItemId == LIST_ITEM_AI_INFO && gMain.newKeys & A_BUTTON) + else if (listItemId == LIST_ITEM_AI_INFO && JOY_NEW(A_BUTTON)) { SwitchToAiInfoView(taskId); return; } + else if (listItemId == LIST_ITEM_AI_PARTY && JOY_NEW(A_BUTTON)) + { + SwitchToAiPartyView(taskId); + return; + } data->currentMainListItemId = listItemId; // Create the secondary menu list. @@ -1025,14 +1182,14 @@ static void Task_DebugMenuProcessInput(u8 taskId) // Handle value modifying. else if (data->activeWindow == ACTIVE_WIN_MODIFY) { - if (gMain.newKeys & (B_BUTTON | A_BUTTON)) + if (JOY_NEW(B_BUTTON | A_BUTTON)) { ClearStdWindowAndFrameToTransparent(data->modifyWindowId, TRUE); RemoveWindow(data->modifyWindowId); DestroyModifyArrows(data); data->activeWindow = ACTIVE_WIN_SECONDARY; } - else if (gMain.newKeys & DPAD_RIGHT) + else if (JOY_NEW(DPAD_RIGHT)) { if (data->modifyArrows.currentDigit != (data->modifyArrows.maxDigits - 1)) { @@ -1041,7 +1198,7 @@ static void Task_DebugMenuProcessInput(u8 taskId) gSprites[data->modifyArrows.arrowSpriteId[1]].x2 += 6; } } - else if (gMain.newKeys & DPAD_LEFT) + else if (JOY_NEW(DPAD_LEFT)) { if (data->modifyArrows.currentDigit != 0) { @@ -1050,7 +1207,7 @@ static void Task_DebugMenuProcessInput(u8 taskId) gSprites[data->modifyArrows.arrowSpriteId[1]].x2 -= 6; } } - else if (gMain.newKeys & DPAD_UP) + else if (JOY_NEW(DPAD_UP)) { if (TryMoveDigit(&data->modifyArrows, TRUE)) { @@ -1059,7 +1216,7 @@ static void Task_DebugMenuProcessInput(u8 taskId) PrintSecondaryEntries(data); } } - else if (gMain.newKeys & DPAD_DOWN) + else if (JOY_NEW(DPAD_DOWN)) { if (TryMoveDigit(&data->modifyArrows, FALSE)) { diff --git a/src/battle_interface.c b/src/battle_interface.c index ebd7a3ab3..6c3daf8e9 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -767,7 +767,9 @@ static void InitLastUsedBallAssets(void) // This function is here to cover a specific case - one player's mon in a 2 vs 1 double battle. In this scenario - display singles layout. u32 WhichBattleCoords(u32 battlerId) // 0 - singles, 1 - doubles { - if (GetBattlerPosition(battlerId) == B_POSITION_PLAYER_LEFT && gPlayerPartyCount == 1) + if (GetBattlerPosition(battlerId) == B_POSITION_PLAYER_LEFT + && gPlayerPartyCount == 1 + && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) return 0; else return IsDoubleBattle(); diff --git a/src/battle_main.c b/src/battle_main.c index 97e1fe459..e79879662 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -545,7 +545,7 @@ static void CB2_InitBattleInternal(void) ResetTasks(); DrawBattleEntryBackground(); FreeAllSpritePalettes(); - gReservedSpritePaletteCount = 4; + gReservedSpritePaletteCount = MAX_BATTLERS_COUNT; SetVBlankCallback(VBlankCB_Battle); SetUpBattleVarsAndBirchZigzagoon(); @@ -2113,7 +2113,7 @@ void CB2_InitEndLinkBattle(void) DrawBattleEntryBackground(); SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); FreeAllSpritePalettes(); - gReservedSpritePaletteCount = 4; + gReservedSpritePaletteCount = MAX_BATTLERS_COUNT; SetVBlankCallback(VBlankCB_Battle); // Show end Vs screen with battle results @@ -2317,7 +2317,7 @@ static void CB2_InitAskRecordBattle(void) ResetSpriteData(); ResetTasks(); FreeAllSpritePalettes(); - gReservedSpritePaletteCount = 4; + gReservedSpritePaletteCount = MAX_BATTLERS_COUNT; SetVBlankCallback(VBlankCB_Battle); SetMainCallback2(CB2_AskRecordBattle); BeginNormalPaletteFade(PALETTES_ALL, 0, 0x10, 0, RGB_BLACK); @@ -2940,6 +2940,7 @@ static void BattleStartClearSetData(void) gBattleStruct->lastTakenMoveFrom[i][3] = MOVE_NONE; gBattleStruct->AI_monToSwitchIntoId[i] = PARTY_SIZE; gBattleStruct->skyDropTargets[i] = 0xFF; + gBattleStruct->overwrittenAbilities[i] = ABILITY_NONE; } gLastUsedMove = 0; @@ -3126,10 +3127,10 @@ void SwitchInClearSetData(void) // Reset damage to prevent things like red card activating if the switched-in mon is holding it gSpecialStatuses[gActiveBattler].physicalDmg = 0; gSpecialStatuses[gActiveBattler].specialDmg = 0; + + gBattleStruct->overwrittenAbilities[gActiveBattler] = ABILITY_NONE; - ClearBattlerMoveHistory(gActiveBattler); - ClearBattlerAbilityHistory(gActiveBattler); - ClearBattlerItemEffectHistory(gActiveBattler); + Ai_UpdateSwitchInData(gActiveBattler); } void FaintClearSetData(void) @@ -3225,13 +3226,13 @@ void FaintClearSetData(void) gBattleMons[gActiveBattler].type2 = gBaseStats[gBattleMons[gActiveBattler].species].type2; gBattleMons[gActiveBattler].type3 = TYPE_MYSTERY; - ClearBattlerMoveHistory(gActiveBattler); - ClearBattlerAbilityHistory(gActiveBattler); - ClearBattlerItemEffectHistory(gActiveBattler); + Ai_UpdateFaintData(gActiveBattler); UndoFormChange(gBattlerPartyIndexes[gActiveBattler], GET_BATTLER_SIDE(gActiveBattler), FALSE); if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) UndoMegaEvolution(gBattlerPartyIndexes[gActiveBattler]); + gBattleStruct->overwrittenAbilities[gActiveBattler] = ABILITY_NONE; + // If the fainted mon was involved in a Sky Drop if (gBattleStruct->skyDropTargets[gActiveBattler] != 0xFF) { @@ -3590,7 +3591,8 @@ static void DoBattleIntro(void) gBattleStruct->switchInAbilitiesCounter = 0; gBattleStruct->switchInItemsCounter = 0; gBattleStruct->overworldWeatherDone = FALSE; - + GetAiLogicData(); // get assumed abilities, hold effects, etc of all battlers + Ai_InitPartyStruct(); // Save mons party counts, and first 2/4 mons on the battlefield. gBattleMainFunc = TryDoEventsBeforeFirstTurn; } break; diff --git a/src/battle_message.c b/src/battle_message.c index e56269eb5..568aac774 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -607,7 +607,7 @@ static const u8 sText_HarvestBerry[] = _("{B_ATK_NAME_WITH_PREFIX} harvested\nit static const u8 sText_LastAbilityRaisedBuff1[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_LAST_ABILITY}\nraised its {B_BUFF1}!"); static const u8 sText_MagicBounceActivates[] = _("The {B_DEF_NAME_WITH_PREFIX} bounced the\n{B_ATK_NAME_WITH_PREFIX} back!"); static const u8 sText_ProteanTypeChange[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY} transformed\nit into the {B_BUFF1} type!"); -static const u8 sText_SymbiosisItemPass[] = _("{B_ATK_NAME_WITH_PREFIX} passed its {B_LAST_ITEM}\nto {B_SCR_ACTIVE_NAME_WITH_PREFIX} through {B_ATK_ABILITY}!"); +static const u8 sText_SymbiosisItemPass[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} passed its {B_LAST_ITEM}\nto {B_ATK_NAME_WITH_PREFIX} through {B_LAST_ABILITY}!"); static const u8 sText_StealthRockDmg[] = _("Pointed stones dug into\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}!"); static const u8 sText_ToxicSpikesAbsorbed[] = _("The poison spikes disappeared\nfrom around the opposing team's feet!"); static const u8 sText_ToxicSpikesPoisoned[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} was poisoned!"); diff --git a/src/battle_pike.c b/src/battle_pike.c index 3519bb2ce..f86328242 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -1091,7 +1091,7 @@ static u8 GetNextRoomType(void) } nextRoomType = roomCandidates[Random() % numRoomCandidates]; - free(roomCandidates); + Free(roomCandidates); if (nextRoomType == PIKE_ROOM_STATUS) TryInflictRandomStatus(); @@ -1370,7 +1370,7 @@ static void SetHintedRoom(void) } gSaveBlock2Ptr->frontier.pikeHintedRoomType = roomCandidates[Random() % count]; - free(roomCandidates); + Free(roomCandidates); if (gSaveBlock2Ptr->frontier.pikeHintedRoomType == PIKE_ROOM_STATUS && !AtLeastOneHealthyMon()) gSaveBlock2Ptr->frontier.pikeHintedRoomType = PIKE_ROOM_NPC; if (gSaveBlock2Ptr->frontier.pikeHintedRoomType == PIKE_ROOM_DOUBLE_BATTLE && !AtLeastTwoAliveMons()) diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index d1f418ccb..2c1e20d0d 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -1568,7 +1568,7 @@ void GenerateBattlePyramidFloorLayout(u16 *backupMapData, bool8 setPlayerPositio } } RunOnLoadMapScript(); - free(floorLayoutOffsets); + Free(floorLayoutOffsets); } void LoadBattlePyramidObjectEventTemplates(void) @@ -1697,7 +1697,7 @@ static void SetPyramidObjectPositionsUniformly(u8 objType) } while (!(bits & 4) && TrySetPyramidObjectEventPositionInSquare(objType, floorLayoutOffsets, squareId, objectStartIndex + i)); bits &= 1; } - free(floorLayoutOffsets); + Free(floorLayoutOffsets); } static bool8 SetPyramidObjectPositionsInAndNearSquare(u8 objType, u8 squareId) @@ -1760,7 +1760,7 @@ static bool8 SetPyramidObjectPositionsInAndNearSquare(u8 objType, u8 squareId) r7 &= 1; } #ifdef BUGFIX - free(floorLayoutOffsets); + Free(floorLayoutOffsets); #endif return (numObjects / 2) > numPlacedObjects; @@ -1814,7 +1814,7 @@ static bool8 SetPyramidObjectPositionsNearSquare(u8 objType, u8 squareId) break; } #ifdef BUGFIX - free(floorLayoutOffsets); + Free(floorLayoutOffsets); #endif return (numObjects / 2) > numPlacedObjects; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 9a34e3c4a..5b872ea75 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -317,6 +317,7 @@ static void PutMonIconOnLvlUpBanner(void); static void DrawLevelUpBannerText(void); static void SpriteCB_MonIconOnLvlUpBanner(struct Sprite *sprite); static bool32 CriticalCapture(u32 odds); +static void BestowItem(u32 battlerAtk, u32 battlerDef); static void Cmd_attackcanceler(void); static void Cmd_accuracycheck(void); @@ -5084,6 +5085,15 @@ static bool32 TryKnockOffBattleScript(u32 battlerDef) return FALSE; } +#define SYMBIOSIS_CHECK(battler, ally) \ + GetBattlerAbility(ally) == ABILITY_SYMBIOSIS \ + && gBattleMons[battler].item == ITEM_NONE \ + && gBattleMons[ally].item != ITEM_NONE \ + && CanBattlerGetOrLoseItem(battler, gBattleMons[ally].item) \ + && CanBattlerGetOrLoseItem(ally, gBattleMons[ally].item) \ + && gBattleMons[battler].hp != 0 \ + && gBattleMons[ally].hp != 0 + static u32 GetNextTarget(u32 moveTarget) { u32 i; @@ -5752,13 +5762,11 @@ static void Cmd_moveend(void) switch (gBattleMons[i].species) { case SPECIES_CASTFORM: - case SPECIES_CHERRIM: -#ifdef POKEMON_EXPANSION case SPECIES_CASTFORM_RAINY: case SPECIES_CASTFORM_SNOWY: case SPECIES_CASTFORM_SUNNY: + case SPECIES_CHERRIM: case SPECIES_CHERRIM_SUNSHINE: -#endif effect = TryWeatherFormChange(i); if (effect) { @@ -5770,6 +5778,26 @@ static void Cmd_moveend(void) } gBattleScripting.moveendState++; break; + case MOVEEND_SYMBIOSIS: + for (i = 0; i < gBattlersCount; i++) + { + if ((gSpecialStatuses[i].berryReduced + #if B_SYMBIOSIS_GEMS >= GEN_7 + || gSpecialStatuses[i].gemBoost + #endif + ) && SYMBIOSIS_CHECK(i, BATTLE_PARTNER(i))) + { + BestowItem(BATTLE_PARTNER(i), i); + gLastUsedAbility = gBattleMons[BATTLE_PARTNER(i)].ability; + gBattleScripting.battler = gBattlerAbility = BATTLE_PARTNER(i); + gBattlerAttacker = i; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_SymbiosisActivates; + effect = TRUE; + } + } + gBattleScripting.moveendState++; + break; case MOVEEND_CLEAR_BITS: // Clear/Set bits for things like using a move for all targets and all hits. if (gSpecialStatuses[gBattlerAttacker].instructedChosenTarget) *(gBattleStruct->moveTarget + gBattlerAttacker) = gSpecialStatuses[gBattlerAttacker].instructedChosenTarget & 0x3; @@ -7248,6 +7276,49 @@ static bool32 TryCheekPouch(u32 battlerId, u32 itemId) return FALSE; } +// Used by Bestow and Symbiosis to take an item from one battler and give to another. +static void BestowItem(u32 battlerAtk, u32 battlerDef) +{ + gLastUsedItem = gBattleMons[battlerAtk].item; + + gActiveBattler = battlerAtk; + gBattleMons[battlerAtk].item = ITEM_NONE; + BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battlerAtk].item), &gBattleMons[battlerAtk].item); + MarkBattlerForControllerExec(battlerAtk); + CheckSetUnburden(battlerAtk); + + gActiveBattler = battlerDef; + gBattleMons[battlerDef].item = gLastUsedItem; + BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battlerDef].item), &gBattleMons[battlerDef].item); + MarkBattlerForControllerExec(battlerDef); + gBattleResources->flags->flags[battlerDef] &= ~RESOURCE_FLAG_UNBURDEN; +} + +// Called by Cmd_removeitem. itemId represents the item that was removed, not being given. +static bool32 TrySymbiosis(u32 battler, u32 itemId) +{ + if (!gBattleStruct->itemStolen[gBattlerPartyIndexes[battler]].stolen + && gBattleStruct->changedItems[battler] == ITEM_NONE + && GetBattlerHoldEffect(battler, TRUE) != HOLD_EFFECT_EJECT_BUTTON + && GetBattlerHoldEffect(battler, TRUE) != HOLD_EFFECT_EJECT_PACK + #if B_SYMBIOSIS_GEMS >= GEN_7 + && !(gSpecialStatuses[battler].gemBoost) + #endif + && gCurrentMove != MOVE_FLING //Fling and damage-reducing berries are handled separately. + && !gSpecialStatuses[battler].berryReduced + && SYMBIOSIS_CHECK(battler, BATTLE_PARTNER(battler))) + { + BestowItem(BATTLE_PARTNER(battler), battler); + gLastUsedAbility = gBattleMons[BATTLE_PARTNER(battler)].ability; + gBattleScripting.battler = gBattlerAbility = BATTLE_PARTNER(battler); + gBattlerAttacker = battler; + BattleScriptPush(gBattlescriptCurrInstr + 2); + gBattlescriptCurrInstr = BattleScript_SymbiosisActivates; + return TRUE; + } + return FALSE; +} + static void Cmd_removeitem(void) { u16 itemId = 0; @@ -7266,7 +7337,7 @@ static void Cmd_removeitem(void) MarkBattlerForControllerExec(gActiveBattler); ClearBattlerItemEffectHistory(gActiveBattler); - if (!TryCheekPouch(gActiveBattler, itemId)) + if (!TryCheekPouch(gActiveBattler, itemId) && !TrySymbiosis(gActiveBattler, itemId)) gBattlescriptCurrInstr += 2; } @@ -7954,6 +8025,38 @@ static bool32 CourtChangeSwapSideStatuses(void) SWAP(sideTimerPlayer->stickyWebBattlerSide, sideTimerOpp->stickyWebBattlerSide, temp); } +static bool32 CanTeleport(u8 battlerId) +{ + struct Pokemon* party = NULL; + u32 species, count, i; + + if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + party = gPlayerParty; + else + party = gEnemyParty; + + for (i = 0; i < PARTY_SIZE; i++) + { + species = GetMonData(&party[i], MON_DATA_SPECIES2); + if (species != SPECIES_NONE && species != SPECIES_EGG && GetMonData(&party[i], MON_DATA_HP) != 0) + count++; + } + + switch (GetBattlerSide(battlerId)) + { + case B_SIDE_OPPONENT: + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + return FALSE; + break; + case B_SIDE_PLAYER: + if (count == 1 || (count <= 2 && gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + return FALSE; + break; + } + + return TRUE; +} + static void Cmd_various(void) { struct Pokemon *mon; @@ -8085,8 +8188,7 @@ static void Cmd_various(void) gBattlescriptCurrInstr += 8; return; case VARIOUS_TRACE_ABILITY: - gBattleMons[gActiveBattler].ability = gBattleStruct->tracedAbility[gActiveBattler]; - RecordAbilityBattle(gActiveBattler, gBattleMons[gActiveBattler].ability); + gBattleMons[gActiveBattler].ability = gBattleStruct->overwrittenAbilities[gActiveBattler] = gBattleStruct->tracedAbility[gActiveBattler]; break; case VARIOUS_TRY_ILLUSION_OFF: if (GetIllusionMonPtr(gActiveBattler) != NULL) @@ -8561,7 +8663,7 @@ static void Cmd_various(void) if (gBattleMons[gBattlerTarget].ability == ABILITY_NEUTRALIZING_GAS) gSpecialStatuses[gBattlerTarget].neutralizingGasRemoved = TRUE; - gBattleMons[gBattlerTarget].ability = ABILITY_SIMPLE; + gBattleMons[gBattlerTarget].ability = gBattleStruct->overwrittenAbilities[gBattlerTarget] = ABILITY_SIMPLE; gBattlescriptCurrInstr += 7; } return; @@ -8579,7 +8681,7 @@ static void Cmd_various(void) } else { - gBattleMons[gBattlerTarget].ability = gBattleMons[gBattlerAttacker].ability; + gBattleMons[gBattlerTarget].ability = gBattleStruct->overwrittenAbilities[gBattlerTarget] = gBattleMons[gBattlerAttacker].ability; gBattlescriptCurrInstr += 7; } return; @@ -9049,20 +9151,7 @@ static void Cmd_various(void) } else { - gLastUsedItem = gBattleMons[gBattlerAttacker].item; - - gActiveBattler = gBattlerAttacker; - gBattleMons[gActiveBattler].item = ITEM_NONE; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); - MarkBattlerForControllerExec(gActiveBattler); - CheckSetUnburden(gBattlerAttacker); - - gActiveBattler = gBattlerTarget; - gBattleMons[gActiveBattler].item = gLastUsedItem; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); - MarkBattlerForControllerExec(gActiveBattler); - gBattleResources->flags->flags[gBattlerTarget] &= ~RESOURCE_FLAG_UNBURDEN; - + BestowItem(gBattlerAttacker, gBattlerTarget); gBattlescriptCurrInstr += 7; } return; @@ -9792,6 +9881,27 @@ static void Cmd_various(void) case VARIOUS_SWAP_SIDE_STATUSES: CourtChangeSwapSideStatuses(); break; + case VARIOUS_TRY_SYMBIOSIS: //called by Bestow, Fling, and Bug Bite, which don't work with Cmd_removeitem. + if (SYMBIOSIS_CHECK(gActiveBattler, BATTLE_PARTNER(gActiveBattler))) + { + BestowItem(BATTLE_PARTNER(gActiveBattler), gActiveBattler); + gLastUsedAbility = gBattleMons[BATTLE_PARTNER(gActiveBattler)].ability; + gBattleScripting.battler = gBattlerAbility = BATTLE_PARTNER(gActiveBattler); + gBattlerAttacker = gActiveBattler; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_SymbiosisActivates; + return; + } + break; + case VARIOUS_CAN_TELEPORT: + gBattleCommunication[0] = CanTeleport(gActiveBattler); + break; + case VARIOUS_GET_BATTLER_SIDE: + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + gBattleCommunication[0] = B_SIDE_PLAYER; + else + gBattleCommunication[0] = B_SIDE_OPPONENT; + break; } // End of switch (gBattlescriptCurrInstr[2]) gBattlescriptCurrInstr += 3; @@ -11392,7 +11502,8 @@ static void Cmd_transformdataexecution(void) for (i = 0; i < offsetof(struct BattlePokemon, pp); i++) battleMonAttacker[i] = battleMonTarget[i]; - + + gBattleStruct->overwrittenAbilities[gBattlerAttacker] = GetBattlerAbility(gBattlerTarget); for (i = 0; i < MAX_MON_MOVES; i++) { if (gBattleMoves[gBattleMons[gBattlerAttacker].moves[i]].pp < 5) @@ -12916,7 +13027,7 @@ static void Cmd_trycopyability(void) else { gBattleScripting.abilityPopupOverwrite = gBattleMons[gBattlerAttacker].ability; - gBattleMons[gBattlerAttacker].ability = defAbility; + gBattleMons[gBattlerAttacker].ability = gBattleStruct->overwrittenAbilities[gBattlerAttacker] = defAbility; gLastUsedAbility = defAbility; gBattlescriptCurrInstr += 5; } @@ -13082,8 +13193,8 @@ static void Cmd_tryswapabilities(void) else { u16 abilityAtk = gBattleMons[gBattlerAttacker].ability; - gBattleMons[gBattlerAttacker].ability = gBattleMons[gBattlerTarget].ability; - gBattleMons[gBattlerTarget].ability = abilityAtk; + gBattleMons[gBattlerAttacker].ability = gBattleStruct->overwrittenAbilities[gBattlerAttacker] = gBattleMons[gBattlerTarget].ability; + gBattleMons[gBattlerTarget].ability = gBattleStruct->overwrittenAbilities[gBattlerTarget] = abilityAtk; gBattlescriptCurrInstr += 5; } @@ -13773,7 +13884,7 @@ u8 GetCatchingBattler(void) static void Cmd_handleballthrow(void) { - u8 ballMultiplier = 10; + u16 ballMultiplier = 100; s8 ballAddition = 0; if (gBattleControllerExecFlags) @@ -13805,33 +13916,33 @@ static void Cmd_handleballthrow(void) else catchRate = gBaseStats[gBattleMons[gBattlerTarget].species].catchRate; - if (gBaseStats[gBattleMons[gBattlerTarget].species].flags & FLAG_ULTRA_BEAST) + if (gBaseStats[gBattleMons[gBattlerTarget].species].flags & SPECIES_FLAG_ULTRA_BEAST) { if (gLastUsedItem == ITEM_BEAST_BALL) - ballMultiplier = 50; + ballMultiplier = 500; else - ballMultiplier = 1; + ballMultiplier = 10; } else { switch (gLastUsedItem) { case ITEM_ULTRA_BALL: - ballMultiplier = 20; + ballMultiplier = 200; break; #if B_SPORT_BALL_MODIFIER <= GEN_7 case ITEM_SPORT_BALL: #endif case ITEM_GREAT_BALL: case ITEM_SAFARI_BALL: - ballMultiplier = 15; + ballMultiplier = 150; break; case ITEM_NET_BALL: if (IS_BATTLER_OF_TYPE(gBattlerTarget, TYPE_WATER) || IS_BATTLER_OF_TYPE(gBattlerTarget, TYPE_BUG)) #if B_NET_BALL_MODIFIER >= GEN_7 - ballMultiplier = 35; + ballMultiplier = 350; #else - ballMultiplier = 30; + ballMultiplier = 300; #endif break; case ITEM_DIVE_BALL: @@ -13840,75 +13951,75 @@ static void Cmd_handleballthrow(void) || gIsFishingEncounter || gIsSurfingEncounter #endif ) - ballMultiplier = 35; + ballMultiplier = 350; break; case ITEM_NEST_BALL: #if B_NEST_BALL_MODIFIER >= GEN_6 //((41 - Pokémon's level) ÷ 10)× if Pokémon's level is between 1 and 29, 1× otherwise. if (gBattleMons[gBattlerTarget].level < 30) - ballMultiplier = 41 - gBattleMons[gBattlerTarget].level; + ballMultiplier = 410 - (gBattleMons[gBattlerTarget].level * 10); #elif B_NEST_BALL_MODIFIER == GEN_5 //((41 - Pokémon's level) ÷ 10)×, minimum 1× if (gBattleMons[gBattlerTarget].level < 31) - ballMultiplier = 41 - gBattleMons[gBattlerTarget].level; + ballMultiplier = 410 - (gBattleMons[gBattlerTarget].level * 10); #else //((40 - Pokémon's level) ÷ 10)×, minimum 1× if (gBattleMons[gBattlerTarget].level < 40) { - ballMultiplier = 40 - gBattleMons[gBattlerTarget].level; - if (ballMultiplier <= 9) - ballMultiplier = 10; + ballMultiplier = 400 - (gBattleMons[gBattlerTarget].level * 10); + if (ballMultiplier <= 90) + ballMultiplier = 100; } #endif break; case ITEM_REPEAT_BALL: if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBattlerTarget].species), FLAG_GET_CAUGHT)) #if B_REPEAT_BALL_MODIFIER >= GEN_7 - ballMultiplier = 35; + ballMultiplier = 350; #else - ballMultiplier = 30; + ballMultiplier = 300; #endif break; case ITEM_TIMER_BALL: #if B_TIMER_BALL_MODIFIER >= GEN_5 - ballMultiplier = (gBattleResults.battleTurnCounter * 3) + 10; + ballMultiplier = (gBattleResults.battleTurnCounter * 30) + 100; #else - ballMultiplier = gBattleResults.battleTurnCounter + 10; + ballMultiplier = (gBattleResults.battleTurnCounter * 10) + 100; #endif - if (ballMultiplier > 40) - ballMultiplier = 40; + if (ballMultiplier > 400) + ballMultiplier = 400; break; case ITEM_DUSK_BALL: RtcCalcLocalTime(); if ((gLocalTime.hours >= 20 && gLocalTime.hours <= 3) || gMapHeader.cave || gMapHeader.mapType == MAP_TYPE_UNDERGROUND) #if B_DUSK_BALL_MODIFIER >= GEN_7 - ballMultiplier = 30; + ballMultiplier = 300; #else - ballMultiplier = 35; + ballMultiplier = 350; #endif break; case ITEM_QUICK_BALL: if (gBattleResults.battleTurnCounter == 0) #if B_QUICK_BALL_MODIFIER >= GEN_5 - ballMultiplier = 50; + ballMultiplier = 500; #else - ballMultiplier = 40; + ballMultiplier = 400; #endif break; case ITEM_LEVEL_BALL: if (gBattleMons[gBattlerAttacker].level >= 4 * gBattleMons[gBattlerTarget].level) - ballMultiplier = 80; + ballMultiplier = 800; else if (gBattleMons[gBattlerAttacker].level > 2 * gBattleMons[gBattlerTarget].level) - ballMultiplier = 40; + ballMultiplier = 400; else if (gBattleMons[gBattlerAttacker].level > gBattleMons[gBattlerTarget].level) - ballMultiplier = 20; + ballMultiplier = 200; break; case ITEM_LURE_BALL: if (gIsFishingEncounter) #if B_LURE_BALL_MODIFIER >= GEN_7 - ballMultiplier = 50; + ballMultiplier = 500; #else - ballMultiplier = 30; + ballMultiplier = 300; #endif break; case ITEM_MOON_BALL: @@ -13916,7 +14027,7 @@ static void Cmd_handleballthrow(void) { if (gEvolutionTable[gBattleMons[gBattlerTarget].species][i].method == EVO_ITEM && gEvolutionTable[gBattleMons[gBattlerTarget].species][i].param == ITEM_MOON_STONE) - ballMultiplier = 40; + ballMultiplier = 400; } break; case ITEM_LOVE_BALL: @@ -13926,12 +14037,12 @@ static void Cmd_handleballthrow(void) u8 gender2 = GetMonGender(&gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]]); if (gender1 != gender2 && gender1 != MON_GENDERLESS && gender2 != MON_GENDERLESS) - ballMultiplier = 80; + ballMultiplier = 800; } break; case ITEM_FAST_BALL: if (gBaseStats[gBattleMons[gBattlerTarget].species].baseSpeed >= 100) - ballMultiplier = 40; + ballMultiplier = 400; break; case ITEM_HEAVY_BALL: i = GetPokedexHeightWeight(SpeciesToNationalPokedexNum(gBattleMons[gBattlerTarget].species), 1); @@ -13969,13 +14080,13 @@ static void Cmd_handleballthrow(void) case ITEM_DREAM_BALL: #if B_DREAM_BALL_MODIFIER >= GEN_8 if (gBattleMons[gBattlerTarget].status1 & STATUS1_SLEEP || GetBattlerAbility(gBattlerTarget) == ABILITY_COMATOSE) - ballMultiplier = 40; + ballMultiplier = 400; #else - ballMultiplier = 10; + ballMultiplier = 100; #endif break; case ITEM_BEAST_BALL: - ballMultiplier = 1; + ballMultiplier = 10; break; } } @@ -13986,7 +14097,7 @@ static void Cmd_handleballthrow(void) else catchRate = catchRate + ballAddition; - odds = (catchRate * ballMultiplier / 10) + odds = (catchRate * ballMultiplier / 100) * (gBattleMons[gBattlerTarget].maxHP * 3 - gBattleMons[gBattlerTarget].hp * 2) / (3 * gBattleMons[gBattlerTarget].maxHP); @@ -14461,7 +14572,7 @@ static void Cmd_tryworryseed(void) } else { - gBattleMons[gBattlerTarget].ability = ABILITY_INSOMNIA; + gBattleMons[gBattlerTarget].ability = gBattleStruct->overwrittenAbilities[gBattlerTarget] = ABILITY_INSOMNIA; gBattlescriptCurrInstr += 5; } } diff --git a/src/battle_util.c b/src/battle_util.c index 64c2e7557..fe71189be 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4224,7 +4224,7 @@ static u8 ForewarnChooseMove(u32 battler) u16 moveId; }; u32 i, j, bestId, count; - struct Forewarn *data = malloc(sizeof(struct Forewarn) * MAX_BATTLERS_COUNT * MAX_MON_MOVES); + struct Forewarn *data = Alloc(sizeof(struct Forewarn) * MAX_BATTLERS_COUNT * MAX_MON_MOVES); // Put all moves for (count = 0, i = 0; i < MAX_BATTLERS_COUNT; i++) @@ -4271,7 +4271,7 @@ static u8 ForewarnChooseMove(u32 battler) PREPARE_MOVE_BUFFER(gBattleTextBuff1, data[bestId].moveId) RecordKnownMove(gBattlerTarget, data[bestId].moveId); - free(data); + Free(data); } u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 moveArg) @@ -5209,7 +5209,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move && TARGET_TURN_DAMAGED && IsBattlerAlive(battler) // Had more than half of hp before, now has less - && gBattleStruct->hpBefore[battler] > gBattleMons[battler].maxHP / 2 + && gBattleStruct->hpBefore[battler] >= gBattleMons[battler].maxHP / 2 && gBattleMons[battler].hp < gBattleMons[battler].maxHP / 2 && (gMultiHitCounter == 0 || gMultiHitCounter == 1) && !(TestSheerForceFlag(gBattlerAttacker, gCurrentMove)) @@ -5294,7 +5294,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move case ABILITY_STANCE_CHANGE: break; default: - gLastUsedAbility = gBattleMons[gBattlerAttacker].ability = ABILITY_MUMMY; + gLastUsedAbility = gBattleMons[gBattlerAttacker].ability = gBattleStruct->overwrittenAbilities[gBattlerAttacker] = ABILITY_MUMMY; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MummyActivates; effect++; @@ -5326,10 +5326,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move break; default: gLastUsedAbility = gBattleMons[gBattlerAttacker].ability; - gBattleMons[gBattlerAttacker].ability = gBattleMons[gBattlerTarget].ability; - gBattleMons[gBattlerTarget].ability = gLastUsedAbility; - RecordAbilityBattle(gBattlerAttacker, gBattleMons[gBattlerAttacker].ability); - RecordAbilityBattle(gBattlerTarget, gBattleMons[gBattlerTarget].ability); + gBattleMons[gBattlerAttacker].ability = gBattleStruct->overwrittenAbilities[gBattlerAttacker] = gBattleMons[gBattlerTarget].ability; + gBattleMons[gBattlerTarget].ability = gBattleStruct->overwrittenAbilities[gBattlerTarget] = gLastUsedAbility; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_WanderingSpiritActivates; effect++; @@ -5941,6 +5939,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move } gBattleResources->flags->flags[i] &= ~RESOURCE_FLAG_TRACED; gBattleStruct->tracedAbility[i] = gLastUsedAbility = gBattleMons[gActiveBattler].ability; + RecordAbilityBattle(gActiveBattler, gLastUsedAbility); // Record the opposing battler has this ability battler = gBattlerAbility = gBattleScripting.battler = i; PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattlerPartyIndexes[gActiveBattler]) diff --git a/src/battle_util2.c b/src/battle_util2.c index 7bc1459d8..0f04a6eb4 100644 --- a/src/battle_util2.c +++ b/src/battle_util2.c @@ -27,6 +27,7 @@ void AllocateBattleResources(void) gBattleResources->beforeLvlUp = AllocZeroed(sizeof(*gBattleResources->beforeLvlUp)); gBattleResources->ai = AllocZeroed(sizeof(*gBattleResources->ai)); gBattleResources->aiData = AllocZeroed(sizeof(*gBattleResources->aiData)); + gBattleResources->aiParty = AllocZeroed(sizeof(*gBattleResources->aiParty)); gBattleResources->battleHistory = AllocZeroed(sizeof(*gBattleResources->battleHistory)); gLinkBattleSendBuffer = AllocZeroed(BATTLE_BUFFER_LINK_SIZE); @@ -59,6 +60,7 @@ void FreeBattleResources(void) FREE_AND_SET_NULL(gBattleResources->beforeLvlUp); FREE_AND_SET_NULL(gBattleResources->ai); FREE_AND_SET_NULL(gBattleResources->aiData); + FREE_AND_SET_NULL(gBattleResources->aiParty); FREE_AND_SET_NULL(gBattleResources->battleHistory); FREE_AND_SET_NULL(gBattleResources); diff --git a/src/battle_z_move.c b/src/battle_z_move.c index c257df599..f0d62f7fe 100644 --- a/src/battle_z_move.c +++ b/src/battle_z_move.c @@ -54,6 +54,7 @@ static void ZMoveSelectionDisplayPower(u16 move, u16 zMove); static void ShowZMoveTriggerSprite(void); static bool32 AreStatsMaxed(u8 battlerId, u8 n); static u8 GetZMoveScore(u8 battlerAtk, u8 battlerDef, u16 baseMove, u16 zMove); +static void ZMoveSelectionDisplayMoveType(u16 zMove); // Const Data static const struct SignatureZMove sSignatureZMoves[] = @@ -174,10 +175,8 @@ bool32 IsViableZMove(u8 battlerId, u16 move) if (gBattleTypeFlags & (BATTLE_TYPE_SAFARI | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_FRONTIER)) return FALSE; - #ifdef ITEM_Z_RING - if ((GetBattlerPosition(battlerId) == B_POSITION_PLAYER_LEFT || (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBattlerPosition(battlerId) == B_POSITION_PLAYER_RIGHT)) && !CheckBagHasItem(ITEM_Z_RING, 1)) + if ((GetBattlerPosition(battlerId) == B_POSITION_PLAYER_LEFT || (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBattlerPosition(battlerId) == B_POSITION_PLAYER_RIGHT)) && !CheckBagHasItem(ITEM_Z_POWER_RING, 1)) return FALSE; - #endif if (mega->alreadyEvolved[battlerPosition]) return FALSE; // Trainer has mega evolved @@ -522,6 +521,7 @@ bool32 MoveSelectionDisplayZMove(u16 zmove) BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MOVE_NAME_1); ZMoveSelectionDisplayPpNumber(); + ZMoveSelectionDisplayMoveType(zmove); MoveSelectionCreateCursorAt(0, 0); return TRUE; } @@ -561,6 +561,23 @@ static void ZMoveSelectionDisplayPpNumber(void) BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_PP_REMAINING); } +static void ZMoveSelectionDisplayMoveType(u16 zMove) +{ + u8 *txtPtr; + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); + u8 zMoveType; + + GET_MOVE_TYPE(zMove, zMoveType); + + txtPtr = StringCopy(gDisplayedStringBattle, gText_MoveInterfaceType); + *(txtPtr)++ = EXT_CTRL_CODE_BEGIN; + *(txtPtr)++ = EXT_CTRL_CODE_FONT; + *(txtPtr)++ = FONT_NORMAL; + + StringCopy(txtPtr, gTypeNames[zMoveType]); + BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MOVE_TYPE); +} + const u8 *GetZMoveName(u16 move) { if (IsZMove(move)) diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 26f0fd094..9eadefd88 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -3122,7 +3122,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_CURSE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 + #if B_UPDATED_MOVE_TYPES >= GEN_5 .type = TYPE_GHOST, #else .type = TYPE_MYSTERY, @@ -3342,7 +3342,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_SWEET_KISS] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 + #if B_UPDATED_MOVE_TYPES >= GEN_6 .type = TYPE_FAIRY, #else .type = TYPE_NORMAL, @@ -3687,7 +3687,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_CHARM] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 + #if B_UPDATED_MOVE_TYPES >= GEN_6 .type = TYPE_FAIRY, #else .type = TYPE_NORMAL, @@ -4233,7 +4233,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_MOONLIGHT] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 + #if B_UPDATED_MOVE_TYPES >= GEN_6 .type = TYPE_FAIRY, #else .type = TYPE_NORMAL, diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index afb9ecd9a..ec7f079f7 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -387,7 +387,7 @@ const u32 gMonFrontPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/anim_fro const u32 gMonFrontPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/anim_front.4bpp.lz"); const u32 gMonFrontPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/anim_front.4bpp.lz"); const u32 gMonFrontPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/anim_front.4bpp.lz"); -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE const u32 gMonFrontPic_Turtwig[] = INCBIN_U32("graphics/pokemon/turtwig/anim_front.4bpp.lz"); const u32 gMonFrontPic_Grotle[] = INCBIN_U32("graphics/pokemon/grotle/anim_front.4bpp.lz"); const u32 gMonFrontPic_Torterra[] = INCBIN_U32("graphics/pokemon/torterra/anim_front.4bpp.lz"); @@ -504,6 +504,8 @@ const u32 gMonFrontPic_Manaphy[] = INCBIN_U32("graphics/pokemon/manaphy/anim_fro const u32 gMonFrontPic_Darkrai[] = INCBIN_U32("graphics/pokemon/darkrai/anim_front.4bpp.lz"); const u32 gMonFrontPic_Shaymin[] = INCBIN_U32("graphics/pokemon/shaymin/anim_front.4bpp.lz"); const u32 gMonFrontPic_Arceus[] = INCBIN_U32("graphics/pokemon/arceus/anim_front.4bpp.lz"); +#endif +#if P_GEN_5_POKEMON == TRUE const u32 gMonFrontPic_Victini[] = INCBIN_U32("graphics/pokemon/victini/anim_front.4bpp.lz"); const u32 gMonFrontPic_Snivy[] = INCBIN_U32("graphics/pokemon/snivy/anim_front.4bpp.lz"); const u32 gMonFrontPic_Servine[] = INCBIN_U32("graphics/pokemon/servine/anim_front.4bpp.lz"); @@ -663,6 +665,8 @@ const u32 gMonFrontPic_Kyurem[] = INCBIN_U32("graphics/pokemon/kyurem/anim_front const u32 gMonFrontPic_Keldeo[] = INCBIN_U32("graphics/pokemon/keldeo/anim_front.4bpp.lz"); const u32 gMonFrontPic_Meloetta[] = INCBIN_U32("graphics/pokemon/meloetta/anim_front.4bpp.lz"); const u32 gMonFrontPic_Genesect[] = INCBIN_U32("graphics/pokemon/genesect/anim_front.4bpp.lz"); +#endif +#if P_GEN_6_POKEMON == TRUE const u32 gMonFrontPic_Chespin[] = INCBIN_U32("graphics/pokemon/chespin/anim_front.4bpp.lz"); const u32 gMonFrontPic_Quilladin[] = INCBIN_U32("graphics/pokemon/quilladin/anim_front.4bpp.lz"); const u32 gMonFrontPic_Chesnaught[] = INCBIN_U32("graphics/pokemon/chesnaught/anim_front.4bpp.lz"); @@ -736,6 +740,8 @@ const u32 gMonFrontPic_Zygarde[] = INCBIN_U32("graphics/pokemon/zygarde/anim_fro const u32 gMonFrontPic_Diancie[] = INCBIN_U32("graphics/pokemon/diancie/anim_front.4bpp.lz"); const u32 gMonFrontPic_Hoopa[] = INCBIN_U32("graphics/pokemon/hoopa/anim_front.4bpp.lz"); const u32 gMonFrontPic_Volcanion[] = INCBIN_U32("graphics/pokemon/volcanion/anim_front.4bpp.lz"); +#endif +#if P_GEN_7_POKEMON == TRUE const u32 gMonFrontPic_Rowlet[] = INCBIN_U32("graphics/pokemon/rowlet/front.4bpp.lz"); const u32 gMonFrontPic_Dartrix[] = INCBIN_U32("graphics/pokemon/dartrix/front.4bpp.lz"); const u32 gMonFrontPic_Decidueye[] = INCBIN_U32("graphics/pokemon/decidueye/front.4bpp.lz"); @@ -824,6 +830,8 @@ const u32 gMonFrontPic_Blacephalon[] = INCBIN_U32("graphics/pokemon/blacephalon/ const u32 gMonFrontPic_Zeraora[] = INCBIN_U32("graphics/pokemon/zeraora/front.4bpp.lz"); const u32 gMonFrontPic_Meltan[] = INCBIN_U32("graphics/pokemon/meltan/front.4bpp.lz"); const u32 gMonFrontPic_Melmetal[] = INCBIN_U32("graphics/pokemon/melmetal/front.4bpp.lz"); +#endif +#if P_GEN_8_POKEMON == TRUE const u32 gMonFrontPic_Grookey[] = INCBIN_U32("graphics/pokemon/grookey/front.4bpp.lz"); const u32 gMonFrontPic_Thwackey[] = INCBIN_U32("graphics/pokemon/thwackey/front.4bpp.lz"); const u32 gMonFrontPic_Rillaboom[] = INCBIN_U32("graphics/pokemon/rillaboom/front.4bpp.lz"); @@ -921,6 +929,7 @@ const u32 gMonFrontPic_Ursaluna[] = INCBIN_U32("graphics/pokemon/ursaluna/front. //const u32 gMonFrontPic_Sneasler[] = INCBIN_U32("graphics/pokemon/sneasler/front.4bpp.lz"); const u32 gMonFrontPic_Overqwil[] = INCBIN_U32("graphics/pokemon/overqwil/front.4bpp.lz"); //const u32 gMonFrontPic_Enamorus[] = INCBIN_U32("graphics/pokemon/enamorus/front.4bpp.lz"); +#endif const u32 gMonFrontPic_VenusaurMega[] = INCBIN_U32("graphics/pokemon/venusaur/mega/front.4bpp.lz"); const u32 gMonFrontPic_CharizardMegaX[] = INCBIN_U32("graphics/pokemon/charizard/mega_x/front.4bpp.lz"); const u32 gMonFrontPic_CharizardMegaY[] = INCBIN_U32("graphics/pokemon/charizard/mega_y/front.4bpp.lz"); @@ -961,13 +970,19 @@ const u32 gMonFrontPic_SalamenceMega[] = INCBIN_U32("graphics/pokemon/salamence/ const u32 gMonFrontPic_MetagrossMega[] = INCBIN_U32("graphics/pokemon/metagross/mega/front.4bpp.lz"); const u32 gMonFrontPic_LatiasMega[] = INCBIN_U32("graphics/pokemon/latias/mega/front.4bpp.lz"); const u32 gMonFrontPic_LatiosMega[] = INCBIN_U32("graphics/pokemon/latios/mega/front.4bpp.lz"); +#if P_GEN_4_POKEMON == TRUE const u32 gMonFrontPic_LopunnyMega[] = INCBIN_U32("graphics/pokemon/lopunny/mega/front.4bpp.lz"); const u32 gMonFrontPic_GarchompMega[] = INCBIN_U32("graphics/pokemon/garchomp/mega/front.4bpp.lz"); const u32 gMonFrontPic_LucarioMega[] = INCBIN_U32("graphics/pokemon/lucario/mega/front.4bpp.lz"); const u32 gMonFrontPic_AbomasnowMega[] = INCBIN_U32("graphics/pokemon/abomasnow/mega/front.4bpp.lz"); const u32 gMonFrontPic_GalladeMega[] = INCBIN_U32("graphics/pokemon/gallade/mega/front.4bpp.lz"); +#endif +#if P_GEN_5_POKEMON == TRUE const u32 gMonFrontPic_AudinoMega[] = INCBIN_U32("graphics/pokemon/audino/mega/front.4bpp.lz"); +#endif +#if P_GEN_6_POKEMON == TRUE const u32 gMonFrontPic_DiancieMega[] = INCBIN_U32("graphics/pokemon/diancie/mega/front.4bpp.lz"); +#endif const u32 gMonFrontPic_RayquazaMega[] = INCBIN_U32("graphics/pokemon/rayquaza/mega/front.4bpp.lz"); const u32 gMonFrontPic_KyogrePrimal[] = INCBIN_U32("graphics/pokemon/kyogre/primal/front.4bpp.lz"); const u32 gMonFrontPic_GroudonPrimal[] = INCBIN_U32("graphics/pokemon/groudon/primal/front.4bpp.lz"); @@ -1004,10 +1019,12 @@ const u32 gMonFrontPic_SlowkingGalarian[] = INCBIN_U32("graphics/pokemon/slowkin const u32 gMonFrontPic_CorsolaGalarian[] = INCBIN_U32("graphics/pokemon/corsola/galarian/front.4bpp.lz"); const u32 gMonFrontPic_ZigzagoonGalarian[] = INCBIN_U32("graphics/pokemon/zigzagoon/galarian/front.4bpp.lz"); const u32 gMonFrontPic_LinooneGalarian[] = INCBIN_U32("graphics/pokemon/linoone/galarian/front.4bpp.lz"); +#if P_GEN_5_POKEMON == TRUE const u32 gMonFrontPic_DarumakaGalarian[] = INCBIN_U32("graphics/pokemon/darumaka/galarian/front.4bpp.lz"); const u32 gMonFrontPic_DarmanitanGalarian[] = INCBIN_U32("graphics/pokemon/darmanitan/galarian/front.4bpp.lz"); const u32 gMonFrontPic_YamaskGalarian[] = INCBIN_U32("graphics/pokemon/yamask/galarian/front.4bpp.lz"); const u32 gMonFrontPic_StunfiskGalarian[] = INCBIN_U32("graphics/pokemon/stunfisk/galarian/front.4bpp.lz"); +#endif const u32 gMonFrontPic_GrowlitheHisuian[] = INCBIN_U32("graphics/pokemon/growlithe/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_ArcanineHisuian[] = INCBIN_U32("graphics/pokemon/arcanine/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_VoltorbHisuian[] = INCBIN_U32("graphics/pokemon/voltorb/hisuian/front.4bpp.lz"); @@ -1015,15 +1032,21 @@ const u32 gMonFrontPic_ElectrodeHisuian[] = INCBIN_U32("graphics/pokemon/electro const u32 gMonFrontPic_TyphlosionHisuian[] = INCBIN_U32("graphics/pokemon/typhlosion/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_QwilfishHisuian[] = INCBIN_U32("graphics/pokemon/qwilfish/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_SneaselHisuian[] = INCBIN_U32("graphics/pokemon/sneasel/hisuian/front.4bpp.lz"); +#if P_GEN_5_POKEMON == TRUE //const u32 gMonFrontPic_SamurottHisuian[] = INCBIN_U32("graphics/pokemon/samurott/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_LilligantHisuian[] = INCBIN_U32("graphics/pokemon/lilligant/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_ZoruaHisuian[] = INCBIN_U32("graphics/pokemon/zorua/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_ZoroarkHisuian[] = INCBIN_U32("graphics/pokemon/zoroark/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_BraviaryHisuian[] = INCBIN_U32("graphics/pokemon/braviary/hisuian/front.4bpp.lz"); +#endif +#if P_GEN_6_POKEMON == TRUE const u32 gMonFrontPic_SliggooHisuian[] = INCBIN_U32("graphics/pokemon/sliggoo/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_GoodraHisuian[] = INCBIN_U32("graphics/pokemon/goodra/hisuian/front.4bpp.lz"); const u32 gMonFrontPic_AvaluggHisuian[] = INCBIN_U32("graphics/pokemon/avalugg/hisuian/front.4bpp.lz"); +#endif +#if P_GEN_7_POKEMON == TRUE //const u32 gMonFrontPic_DecidueyeHisuian[] = INCBIN_U32("graphics/pokemon/decidueye/hisuian/front.4bpp.lz"); +#endif const u32 gMonFrontPic_PikachuCosplay[] = INCBIN_U32("graphics/pokemon/pikachu/cosplay/front.4bpp.lz"); const u32 gMonFrontPic_PikachuRockStar[] = INCBIN_U32("graphics/pokemon/pikachu/rock_star/front.4bpp.lz"); const u32 gMonFrontPic_PikachuBelle[] = INCBIN_U32("graphics/pokemon/pikachu/belle/front.4bpp.lz"); @@ -1039,7 +1062,6 @@ const u32 gMonFrontPic_PikachuAlolaCap[] = INCBIN_U32("graphics/pokemon/pikachu/ const u32 gMonFrontPic_PikachuPartnerCap[] = INCBIN_U32("graphics/pokemon/pikachu/partner_cap/front.4bpp.lz"); const u32 gMonFrontPic_PikachuWorldCap[] = INCBIN_U32("graphics/pokemon/pikachu/world_cap/front.4bpp.lz"); const u32 gMonFrontPic_PichuSpikyEared[] = INCBIN_U32("graphics/pokemon/pichu/spiky_eared/front.4bpp.lz"); -#endif const u32 gMonFrontPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/b/anim_front.4bpp.lz"); const u32 gMonFrontPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/c/anim_front.4bpp.lz"); const u32 gMonFrontPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/d/anim_front.4bpp.lz"); @@ -1073,7 +1095,7 @@ const u32 gMonFrontPic_CastformSnowy[] = INCBIN_U32("graphics/pokemon/castform/s const u32 gMonFrontPic_DeoxysAttack[] = INCBIN_U32("graphics/pokemon/deoxys/attack/anim_front.4bpp.lz"); const u32 gMonFrontPic_DeoxysDefense[] = INCBIN_U32("graphics/pokemon/deoxys/defense/anim_front.4bpp.lz"); const u32 gMonFrontPic_DeoxysSpeed[] = INCBIN_U32("graphics/pokemon/deoxys/speed/anim_front.4bpp.lz"); -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE const u32 gMonFrontPic_BurmySandyCloak[] = INCBIN_U32("graphics/pokemon/burmy/sandy_cloak/anim_front.4bpp.lz"); const u32 gMonFrontPic_BurmyTrashCloak[] = INCBIN_U32("graphics/pokemon/burmy/trash_cloak/anim_front.4bpp.lz"); const u32 gMonFrontPic_WormadamSandyCloak[] = INCBIN_U32("graphics/pokemon/wormadam/sandy_cloak/anim_front.4bpp.lz"); @@ -1090,6 +1112,8 @@ const u32 gMonFrontPic_DialgaOrigin[] = INCBIN_U32("graphics/pokemon/dialga/orig const u32 gMonFrontPic_PalkiaOrigin[] = INCBIN_U32("graphics/pokemon/palkia/origin/front.4bpp.lz"); const u32 gMonFrontPic_GiratinaOrigin[] = INCBIN_U32("graphics/pokemon/giratina/origin/anim_front.4bpp.lz"); const u32 gMonFrontPic_ShayminSky[] = INCBIN_U32("graphics/pokemon/shaymin/sky/anim_front.4bpp.lz"); +#endif +#if P_GEN_5_POKEMON == TRUE const u32 gMonFrontPic_BasculinBlueStriped[] = INCBIN_U32("graphics/pokemon/basculin/blue_striped/front.4bpp.lz"); const u32 gMonFrontPic_BasculinWhiteStriped[] = INCBIN_U32("graphics/pokemon/basculin/white_striped/front.4bpp.lz"); const u32 gMonFrontPic_DarmanitanZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/anim_front.4bpp.lz"); @@ -1100,11 +1124,12 @@ const u32 gMonFrontPic_SawsbuckWinter[] = INCBIN_U32("graphics/pokemon/sawsbuck/ const u32 gMonFrontPic_TornadusTherian[] = INCBIN_U32("graphics/pokemon/tornadus/therian/anim_front.4bpp.lz"); const u32 gMonFrontPic_ThundurusTherian[] = INCBIN_U32("graphics/pokemon/thundurus/therian/anim_front.4bpp.lz"); const u32 gMonFrontPic_LandorusTherian[] = INCBIN_U32("graphics/pokemon/landorus/therian/anim_front.4bpp.lz"); -//const u32 gMonFrontPic_EnamorusTherian[] = INCBIN_U32("graphics/pokemon/enamorus/therian/front.4bpp.lz"); const u32 gMonFrontPic_KyuremWhite[] = INCBIN_U32("graphics/pokemon/kyurem/white/anim_front.4bpp.lz"); const u32 gMonFrontPic_KyuremBlack[] = INCBIN_U32("graphics/pokemon/kyurem/black/anim_front.4bpp.lz"); const u32 gMonFrontPic_KeldeoResolute[] = INCBIN_U32("graphics/pokemon/keldeo/resolute/front.4bpp.lz"); const u32 gMonFrontPic_MeloettaPirouette[] = INCBIN_U32("graphics/pokemon/meloetta/pirouette/front.4bpp.lz"); +#endif +#if P_GEN_6_POKEMON == TRUE const u32 gMonFrontPic_GreninjaAsh[] = INCBIN_U32("graphics/pokemon/greninja/ash/anim_front.4bpp.lz"); const u32 gMonFrontPic_VivillonPolar[] = INCBIN_U32("graphics/pokemon/vivillon/polar/anim_front.4bpp.lz"); const u32 gMonFrontPic_VivillonTundra[] = INCBIN_U32("graphics/pokemon/vivillon/tundra/anim_front.4bpp.lz"); @@ -1147,6 +1172,8 @@ const u32 gMonFrontPic_XerneasActive[] = INCBIN_U32("graphics/pokemon/xerneas/ac const u32 gMonFrontPic_Zygarde10[] = INCBIN_U32("graphics/pokemon/zygarde/10_percent/anim_front.4bpp.lz"); const u32 gMonFrontPic_ZygardeComplete[] = INCBIN_U32("graphics/pokemon/zygarde/complete/anim_front.4bpp.lz"); const u32 gMonFrontPic_HoopaUnbound[] = INCBIN_U32("graphics/pokemon/hoopa/unbound/anim_front.4bpp.lz"); +#endif +#if P_GEN_7_POKEMON == TRUE const u32 gMonFrontPic_OricorioPomPom[] = INCBIN_U32("graphics/pokemon/oricorio/pom_pom/front.4bpp.lz"); const u32 gMonFrontPic_OricorioPau[] = INCBIN_U32("graphics/pokemon/oricorio/pau/front.4bpp.lz"); const u32 gMonFrontPic_OricorioSensu[] = INCBIN_U32("graphics/pokemon/oricorio/sensu/front.4bpp.lz"); @@ -1159,6 +1186,8 @@ const u32 gMonFrontPic_NecrozmaDuskMane[] = INCBIN_U32("graphics/pokemon/necrozm const u32 gMonFrontPic_NecrozmaDawnWings[] = INCBIN_U32("graphics/pokemon/necrozma/dawn_wings/front.4bpp.lz"); const u32 gMonFrontPic_NecrozmaUltra[] = INCBIN_U32("graphics/pokemon/necrozma/ultra/front.4bpp.lz"); const u32 gMonFrontPic_MagearnaOriginalColor[] = INCBIN_U32("graphics/pokemon/magearna/original_color/front.4bpp.lz"); +#endif +#if P_GEN_8_POKEMON == TRUE const u32 gMonFrontPic_CramorantGulping[] = INCBIN_U32("graphics/pokemon/cramorant/gulping/front.4bpp.lz"); const u32 gMonFrontPic_CramorantGorging[] = INCBIN_U32("graphics/pokemon/cramorant/gorging/front.4bpp.lz"); const u32 gMonFrontPic_ToxtricityLowKey[] = INCBIN_U32("graphics/pokemon/toxtricity/low_key/front.4bpp.lz"); @@ -1180,6 +1209,7 @@ const u32 gMonFrontPic_UrshifuRapidStrikeStyle[] = INCBIN_U32("graphics/pokemon/ const u32 gMonFrontPic_ZarudeDada[] = INCBIN_U32("graphics/pokemon/zarude/dada/front.4bpp.lz"); const u32 gMonFrontPic_CalyrexIceRider[] = INCBIN_U32("graphics/pokemon/calyrex/ice_rider/front.4bpp.lz"); const u32 gMonFrontPic_CalyrexShadowRider[] = INCBIN_U32("graphics/pokemon/calyrex/shadow_rider/front.4bpp.lz"); +//const u32 gMonFrontPic_EnamorusTherian[] = INCBIN_U32("graphics/pokemon/enamorus/therian/front.4bpp.lz"); #endif const u32 gMonFrontPic_Egg[] = INCBIN_U32("graphics/pokemon/egg/anim_front.4bpp.lz"); @@ -1572,7 +1602,7 @@ const u32 gMonBackPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/back.4bpp const u32 gMonBackPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/back.4bpp.lz"); const u32 gMonBackPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/back.4bpp.lz"); const u32 gMonBackPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/back.4bpp.lz"); -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE const u32 gMonBackPic_Turtwig[] = INCBIN_U32("graphics/pokemon/turtwig/back.4bpp.lz"); const u32 gMonBackPic_Grotle[] = INCBIN_U32("graphics/pokemon/grotle/back.4bpp.lz"); const u32 gMonBackPic_Torterra[] = INCBIN_U32("graphics/pokemon/torterra/back.4bpp.lz"); @@ -1688,6 +1718,8 @@ const u32 gMonBackPic_Manaphy[] = INCBIN_U32("graphics/pokemon/manaphy/back.4bpp const u32 gMonBackPic_Darkrai[] = INCBIN_U32("graphics/pokemon/darkrai/back.4bpp.lz"); const u32 gMonBackPic_Shaymin[] = INCBIN_U32("graphics/pokemon/shaymin/back.4bpp.lz"); const u32 gMonBackPic_Arceus[] = INCBIN_U32("graphics/pokemon/arceus/back.4bpp.lz"); +#endif +#if P_GEN_5_POKEMON == TRUE const u32 gMonBackPic_Victini[] = INCBIN_U32("graphics/pokemon/victini/back.4bpp.lz"); const u32 gMonBackPic_Snivy[] = INCBIN_U32("graphics/pokemon/snivy/back.4bpp.lz"); const u32 gMonBackPic_Servine[] = INCBIN_U32("graphics/pokemon/servine/back.4bpp.lz"); @@ -1847,6 +1879,8 @@ const u32 gMonBackPic_Kyurem[] = INCBIN_U32("graphics/pokemon/kyurem/back.4bpp.l const u32 gMonBackPic_Keldeo[] = INCBIN_U32("graphics/pokemon/keldeo/back.4bpp.lz"); const u32 gMonBackPic_Meloetta[] = INCBIN_U32("graphics/pokemon/meloetta/back.4bpp.lz"); const u32 gMonBackPic_Genesect[] = INCBIN_U32("graphics/pokemon/genesect/back.4bpp.lz"); +#endif +#if P_GEN_6_POKEMON == TRUE const u32 gMonBackPic_Chespin[] = INCBIN_U32("graphics/pokemon/chespin/back.4bpp.lz"); const u32 gMonBackPic_Quilladin[] = INCBIN_U32("graphics/pokemon/quilladin/back.4bpp.lz"); const u32 gMonBackPic_Chesnaught[] = INCBIN_U32("graphics/pokemon/chesnaught/back.4bpp.lz"); @@ -1920,6 +1954,8 @@ const u32 gMonBackPic_Zygarde[] = INCBIN_U32("graphics/pokemon/zygarde/back.4bpp const u32 gMonBackPic_Diancie[] = INCBIN_U32("graphics/pokemon/diancie/back.4bpp.lz"); const u32 gMonBackPic_Hoopa[] = INCBIN_U32("graphics/pokemon/hoopa/back.4bpp.lz"); const u32 gMonBackPic_Volcanion[] = INCBIN_U32("graphics/pokemon/volcanion/back.4bpp.lz"); +#endif +#if P_GEN_7_POKEMON == TRUE const u32 gMonBackPic_Rowlet[] = INCBIN_U32("graphics/pokemon/rowlet/back.4bpp.lz"); const u32 gMonBackPic_Dartrix[] = INCBIN_U32("graphics/pokemon/dartrix/back.4bpp.lz"); const u32 gMonBackPic_Decidueye[] = INCBIN_U32("graphics/pokemon/decidueye/back.4bpp.lz"); @@ -2008,6 +2044,8 @@ const u32 gMonBackPic_Blacephalon[] = INCBIN_U32("graphics/pokemon/blacephalon/b const u32 gMonBackPic_Zeraora[] = INCBIN_U32("graphics/pokemon/zeraora/back.4bpp.lz"); const u32 gMonBackPic_Meltan[] = INCBIN_U32("graphics/pokemon/meltan/back.4bpp.lz"); const u32 gMonBackPic_Melmetal[] = INCBIN_U32("graphics/pokemon/melmetal/back.4bpp.lz"); +#endif +#if P_GEN_8_POKEMON == TRUE const u32 gMonBackPic_Grookey[] = INCBIN_U32("graphics/pokemon/grookey/back.4bpp.lz"); const u32 gMonBackPic_Thwackey[] = INCBIN_U32("graphics/pokemon/thwackey/back.4bpp.lz"); const u32 gMonBackPic_Rillaboom[] = INCBIN_U32("graphics/pokemon/rillaboom/back.4bpp.lz"); @@ -2105,6 +2143,7 @@ const u32 gMonBackPic_Ursaluna[] = INCBIN_U32("graphics/pokemon/ursaluna/back.4b //const u32 gMonBackPic_Sneasler[] = INCBIN_U32("graphics/pokemon/sneasler/back.4bpp.lz"); const u32 gMonBackPic_Overqwil[] = INCBIN_U32("graphics/pokemon/overqwil/back.4bpp.lz"); //const u32 gMonBackPic_Enamorus[] = INCBIN_U32("graphics/pokemon/enamorus/back.4bpp.lz"); +#endif const u32 gMonBackPic_VenusaurMega[] = INCBIN_U32("graphics/pokemon/venusaur/mega/back.4bpp.lz"); const u32 gMonBackPic_CharizardMegaX[] = INCBIN_U32("graphics/pokemon/charizard/mega_x/back.4bpp.lz"); const u32 gMonBackPic_CharizardMegaY[] = INCBIN_U32("graphics/pokemon/charizard/mega_y/back.4bpp.lz"); @@ -2145,13 +2184,19 @@ const u32 gMonBackPic_SalamenceMega[] = INCBIN_U32("graphics/pokemon/salamence/m const u32 gMonBackPic_MetagrossMega[] = INCBIN_U32("graphics/pokemon/metagross/mega/back.4bpp.lz"); const u32 gMonBackPic_LatiasMega[] = INCBIN_U32("graphics/pokemon/latias/mega/back.4bpp.lz"); const u32 gMonBackPic_LatiosMega[] = INCBIN_U32("graphics/pokemon/latios/mega/back.4bpp.lz"); +#if P_GEN_4_POKEMON == TRUE const u32 gMonBackPic_LopunnyMega[] = INCBIN_U32("graphics/pokemon/lopunny/mega/back.4bpp.lz"); const u32 gMonBackPic_GarchompMega[] = INCBIN_U32("graphics/pokemon/garchomp/mega/back.4bpp.lz"); const u32 gMonBackPic_LucarioMega[] = INCBIN_U32("graphics/pokemon/lucario/mega/back.4bpp.lz"); const u32 gMonBackPic_AbomasnowMega[] = INCBIN_U32("graphics/pokemon/abomasnow/mega/back.4bpp.lz"); const u32 gMonBackPic_GalladeMega[] = INCBIN_U32("graphics/pokemon/gallade/mega/back.4bpp.lz"); +#endif +#if P_GEN_5_POKEMON == TRUE const u32 gMonBackPic_AudinoMega[] = INCBIN_U32("graphics/pokemon/audino/mega/back.4bpp.lz"); +#endif +#if P_GEN_6_POKEMON == TRUE const u32 gMonBackPic_DiancieMega[] = INCBIN_U32("graphics/pokemon/diancie/mega/back.4bpp.lz"); +#endif const u32 gMonBackPic_RayquazaMega[] = INCBIN_U32("graphics/pokemon/rayquaza/mega/back.4bpp.lz"); const u32 gMonBackPic_KyogrePrimal[] = INCBIN_U32("graphics/pokemon/kyogre/primal/back.4bpp.lz"); const u32 gMonBackPic_GroudonPrimal[] = INCBIN_U32("graphics/pokemon/groudon/primal/back.4bpp.lz"); @@ -2188,10 +2233,12 @@ const u32 gMonBackPic_SlowkingGalarian[] = INCBIN_U32("graphics/pokemon/slowking const u32 gMonBackPic_CorsolaGalarian[] = INCBIN_U32("graphics/pokemon/corsola/galarian/back.4bpp.lz"); const u32 gMonBackPic_ZigzagoonGalarian[] = INCBIN_U32("graphics/pokemon/zigzagoon/galarian/back.4bpp.lz"); const u32 gMonBackPic_LinooneGalarian[] = INCBIN_U32("graphics/pokemon/linoone/galarian/back.4bpp.lz"); +#if P_GEN_5_POKEMON == TRUE const u32 gMonBackPic_DarumakaGalarian[] = INCBIN_U32("graphics/pokemon/darumaka/galarian/back.4bpp.lz"); const u32 gMonBackPic_DarmanitanGalarian[] = INCBIN_U32("graphics/pokemon/darmanitan/galarian/back.4bpp.lz"); const u32 gMonBackPic_YamaskGalarian[] = INCBIN_U32("graphics/pokemon/yamask/galarian/back.4bpp.lz"); const u32 gMonBackPic_StunfiskGalarian[] = INCBIN_U32("graphics/pokemon/stunfisk/galarian/back.4bpp.lz"); +#endif const u32 gMonBackPic_GrowlitheHisuian[] = INCBIN_U32("graphics/pokemon/growlithe/hisuian/back.4bpp.lz"); const u32 gMonBackPic_ArcanineHisuian[] = INCBIN_U32("graphics/pokemon/arcanine/hisuian/back.4bpp.lz"); const u32 gMonBackPic_VoltorbHisuian[] = INCBIN_U32("graphics/pokemon/voltorb/hisuian/back.4bpp.lz"); @@ -2199,15 +2246,21 @@ const u32 gMonBackPic_ElectrodeHisuian[] = INCBIN_U32("graphics/pokemon/electrod const u32 gMonBackPic_TyphlosionHisuian[] = INCBIN_U32("graphics/pokemon/typhlosion/hisuian/back.4bpp.lz"); const u32 gMonBackPic_QwilfishHisuian[] = INCBIN_U32("graphics/pokemon/qwilfish/hisuian/back.4bpp.lz"); const u32 gMonBackPic_SneaselHisuian[] = INCBIN_U32("graphics/pokemon/sneasel/hisuian/back.4bpp.lz"); +#if P_GEN_5_POKEMON == TRUE //const u32 gMonBackPic_SamurottHisuian[] = INCBIN_U32("graphics/pokemon/samurott/hisuian/back.4bpp.lz"); const u32 gMonBackPic_LilligantHisuian[] = INCBIN_U32("graphics/pokemon/lilligant/hisuian/back.4bpp.lz"); const u32 gMonBackPic_ZoruaHisuian[] = INCBIN_U32("graphics/pokemon/zorua/hisuian/back.4bpp.lz"); const u32 gMonBackPic_ZoroarkHisuian[] = INCBIN_U32("graphics/pokemon/zoroark/hisuian/back.4bpp.lz"); const u32 gMonBackPic_BraviaryHisuian[] = INCBIN_U32("graphics/pokemon/braviary/hisuian/back.4bpp.lz"); +#endif +#if P_GEN_6_POKEMON == TRUE const u32 gMonBackPic_SliggooHisuian[] = INCBIN_U32("graphics/pokemon/sliggoo/hisuian/back.4bpp.lz"); const u32 gMonBackPic_GoodraHisuian[] = INCBIN_U32("graphics/pokemon/goodra/hisuian/back.4bpp.lz"); const u32 gMonBackPic_AvaluggHisuian[] = INCBIN_U32("graphics/pokemon/avalugg/hisuian/back.4bpp.lz"); +#endif +#if P_GEN_7_POKEMON == TRUE //const u32 gMonBackPic_DecidueyeHisuian[] = INCBIN_U32("graphics/pokemon/decidueye/hisuian/back.4bpp.lz"); +#endif const u32 gMonBackPic_PikachuCosplay[] = INCBIN_U32("graphics/pokemon/pikachu/cosplay/back.4bpp.lz"); const u32 gMonBackPic_PikachuRockStar[] = INCBIN_U32("graphics/pokemon/pikachu/rock_star/back.4bpp.lz"); const u32 gMonBackPic_PikachuBelle[] = INCBIN_U32("graphics/pokemon/pikachu/belle/back.4bpp.lz"); @@ -2223,7 +2276,6 @@ const u32 gMonBackPic_PikachuAlolaCap[] = INCBIN_U32("graphics/pokemon/pikachu/a const u32 gMonBackPic_PikachuPartnerCap[] = INCBIN_U32("graphics/pokemon/pikachu/partner_cap/back.4bpp.lz"); const u32 gMonBackPic_PikachuWorldCap[] = INCBIN_U32("graphics/pokemon/pikachu/world_cap/back.4bpp.lz"); const u32 gMonBackPic_PichuSpikyEared[] = INCBIN_U32("graphics/pokemon/pichu/spiky_eared/back.4bpp.lz"); -#endif const u32 gMonBackPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/b/back.4bpp.lz"); const u32 gMonBackPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/c/back.4bpp.lz"); const u32 gMonBackPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/d/back.4bpp.lz"); @@ -2257,7 +2309,7 @@ const u32 gMonBackPic_CastformSnowy[] = INCBIN_U32("graphics/pokemon/castform/sn const u32 gMonBackPic_DeoxysAttack[] = INCBIN_U32("graphics/pokemon/deoxys/attack/back.4bpp.lz"); const u32 gMonBackPic_DeoxysDefense[] = INCBIN_U32("graphics/pokemon/deoxys/defense/back.4bpp.lz"); const u32 gMonBackPic_DeoxysSpeed[] = INCBIN_U32("graphics/pokemon/deoxys/speed/back.4bpp.lz"); -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE const u32 gMonBackPic_BurmySandyCloak[] = INCBIN_U32("graphics/pokemon/burmy/sandy_cloak/back.4bpp.lz"); const u32 gMonBackPic_BurmyTrashCloak[] = INCBIN_U32("graphics/pokemon/burmy/trash_cloak/back.4bpp.lz"); const u32 gMonBackPic_WormadamSandyCloak[] = INCBIN_U32("graphics/pokemon/wormadam/sandy_cloak/back.4bpp.lz"); @@ -2274,6 +2326,8 @@ const u32 gMonBackPic_DialgaOrigin[] = INCBIN_U32("graphics/pokemon/dialga/origi const u32 gMonBackPic_PalkiaOrigin[] = INCBIN_U32("graphics/pokemon/palkia/origin/back.4bpp.lz"); const u32 gMonBackPic_GiratinaOrigin[] = INCBIN_U32("graphics/pokemon/giratina/origin/back.4bpp.lz"); const u32 gMonBackPic_ShayminSky[] = INCBIN_U32("graphics/pokemon/shaymin/sky/back.4bpp.lz"); +#endif +#if P_GEN_5_POKEMON == TRUE const u32 gMonBackPic_BasculinBlueStriped[] = INCBIN_U32("graphics/pokemon/basculin/blue_striped/back.4bpp.lz"); const u32 gMonBackPic_BasculinWhiteStriped[] = INCBIN_U32("graphics/pokemon/basculin/white_striped/back.4bpp.lz"); const u32 gMonBackPic_DarmanitanZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/back.4bpp.lz"); @@ -2284,11 +2338,12 @@ const u32 gMonBackPic_SawsbuckWinter[] = INCBIN_U32("graphics/pokemon/sawsbuck/w const u32 gMonBackPic_TornadusTherian[] = INCBIN_U32("graphics/pokemon/tornadus/therian/back.4bpp.lz"); const u32 gMonBackPic_ThundurusTherian[] = INCBIN_U32("graphics/pokemon/thundurus/therian/back.4bpp.lz"); const u32 gMonBackPic_LandorusTherian[] = INCBIN_U32("graphics/pokemon/landorus/therian/back.4bpp.lz"); -//const u32 gMonBackPic_EnamorusTherian[] = INCBIN_U32("graphics/pokemon/enamorus/therian/back.4bpp.lz"); const u32 gMonBackPic_KyuremWhite[] = INCBIN_U32("graphics/pokemon/kyurem/white/back.4bpp.lz"); const u32 gMonBackPic_KyuremBlack[] = INCBIN_U32("graphics/pokemon/kyurem/black/back.4bpp.lz"); const u32 gMonBackPic_KeldeoResolute[] = INCBIN_U32("graphics/pokemon/keldeo/resolute/back.4bpp.lz"); const u32 gMonBackPic_MeloettaPirouette[] = INCBIN_U32("graphics/pokemon/meloetta/pirouette/back.4bpp.lz"); +#endif +#if P_GEN_6_POKEMON == TRUE const u32 gMonBackPic_GreninjaAsh[] = INCBIN_U32("graphics/pokemon/greninja/ash/back.4bpp.lz"); const u32 gMonBackPic_VivillonPolar[] = INCBIN_U32("graphics/pokemon/vivillon/polar/back.4bpp.lz"); const u32 gMonBackPic_VivillonTundra[] = INCBIN_U32("graphics/pokemon/vivillon/tundra/back.4bpp.lz"); @@ -2331,6 +2386,8 @@ const u32 gMonBackPic_XerneasActive[] = INCBIN_U32("graphics/pokemon/xerneas/act const u32 gMonBackPic_Zygarde10[] = INCBIN_U32("graphics/pokemon/zygarde/10_percent/back.4bpp.lz"); const u32 gMonBackPic_ZygardeComplete[] = INCBIN_U32("graphics/pokemon/zygarde/complete/back.4bpp.lz"); const u32 gMonBackPic_HoopaUnbound[] = INCBIN_U32("graphics/pokemon/hoopa/unbound/back.4bpp.lz"); +#endif +#if P_GEN_7_POKEMON == TRUE const u32 gMonBackPic_OricorioPomPom[] = INCBIN_U32("graphics/pokemon/oricorio/pom_pom/back.4bpp.lz"); const u32 gMonBackPic_OricorioPau[] = INCBIN_U32("graphics/pokemon/oricorio/pau/back.4bpp.lz"); const u32 gMonBackPic_OricorioSensu[] = INCBIN_U32("graphics/pokemon/oricorio/sensu/back.4bpp.lz"); @@ -2343,6 +2400,8 @@ const u32 gMonBackPic_NecrozmaDuskMane[] = INCBIN_U32("graphics/pokemon/necrozma const u32 gMonBackPic_NecrozmaDawnWings[] = INCBIN_U32("graphics/pokemon/necrozma/dawn_wings/back.4bpp.lz"); const u32 gMonBackPic_NecrozmaUltra[] = INCBIN_U32("graphics/pokemon/necrozma/ultra/back.4bpp.lz"); const u32 gMonBackPic_MagearnaOriginalColor[] = INCBIN_U32("graphics/pokemon/magearna/original_color/back.4bpp.lz"); +#endif +#if P_GEN_8_POKEMON == TRUE const u32 gMonBackPic_CramorantGulping[] = INCBIN_U32("graphics/pokemon/cramorant/gulping/back.4bpp.lz"); const u32 gMonBackPic_CramorantGorging[] = INCBIN_U32("graphics/pokemon/cramorant/gorging/back.4bpp.lz"); const u32 gMonBackPic_ToxtricityLowKey[] = INCBIN_U32("graphics/pokemon/toxtricity/low_key/back.4bpp.lz"); @@ -2364,6 +2423,7 @@ const u32 gMonBackPic_UrshifuRapidStrikeStyle[] = INCBIN_U32("graphics/pokemon/u const u32 gMonBackPic_ZarudeDada[] = INCBIN_U32("graphics/pokemon/zarude/dada/back.4bpp.lz"); const u32 gMonBackPic_CalyrexIceRider[] = INCBIN_U32("graphics/pokemon/calyrex/ice_rider/back.4bpp.lz"); const u32 gMonBackPic_CalyrexShadowRider[] = INCBIN_U32("graphics/pokemon/calyrex/shadow_rider/back.4bpp.lz"); +//const u32 gMonBackPic_EnamorusTherian[] = INCBIN_U32("graphics/pokemon/enamorus/therian/back.4bpp.lz"); #endif const u32 gMonPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/circled/normal.gbapal.lz"); @@ -2754,7 +2814,7 @@ const u32 gMonPalette_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/normal.gb const u32 gMonPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/normal.gbapal.lz"); const u32 gMonPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/normal.gbapal.lz"); const u32 gMonPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/normal.gbapal.lz"); -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE const u32 gMonPalette_Turtwig[] = INCBIN_U32("graphics/pokemon/turtwig/normal.gbapal.lz"); const u32 gMonPalette_Grotle[] = INCBIN_U32("graphics/pokemon/grotle/normal.gbapal.lz"); const u32 gMonPalette_Torterra[] = INCBIN_U32("graphics/pokemon/torterra/normal.gbapal.lz"); @@ -2864,6 +2924,8 @@ const u32 gMonPalette_Manaphy[] = INCBIN_U32("graphics/pokemon/manaphy/normal.gb const u32 gMonPalette_Darkrai[] = INCBIN_U32("graphics/pokemon/darkrai/normal.gbapal.lz"); const u32 gMonPalette_Shaymin[] = INCBIN_U32("graphics/pokemon/shaymin/normal.gbapal.lz"); const u32 gMonPalette_Arceus[] = INCBIN_U32("graphics/pokemon/arceus/normal.gbapal.lz"); +#endif +#if P_GEN_5_POKEMON == TRUE const u32 gMonPalette_Victini[] = INCBIN_U32("graphics/pokemon/victini/normal.gbapal.lz"); const u32 gMonPalette_Snivy[] = INCBIN_U32("graphics/pokemon/snivy/normal.gbapal.lz"); const u32 gMonPalette_Servine[] = INCBIN_U32("graphics/pokemon/servine/normal.gbapal.lz"); @@ -3023,6 +3085,8 @@ const u32 gMonPalette_Kyurem[] = INCBIN_U32("graphics/pokemon/kyurem/normal.gbap const u32 gMonPalette_Keldeo[] = INCBIN_U32("graphics/pokemon/keldeo/normal.gbapal.lz"); const u32 gMonPalette_Meloetta[] = INCBIN_U32("graphics/pokemon/meloetta/normal.gbapal.lz"); const u32 gMonPalette_Genesect[] = INCBIN_U32("graphics/pokemon/genesect/normal.gbapal.lz"); +#endif +#if P_GEN_6_POKEMON == TRUE const u32 gMonPalette_Chespin[] = INCBIN_U32("graphics/pokemon/chespin/normal.gbapal.lz"); const u32 gMonPalette_Quilladin[] = INCBIN_U32("graphics/pokemon/quilladin/normal.gbapal.lz"); const u32 gMonPalette_Chesnaught[] = INCBIN_U32("graphics/pokemon/chesnaught/normal.gbapal.lz"); @@ -3096,6 +3160,8 @@ const u32 gMonPalette_Zygarde[] = INCBIN_U32("graphics/pokemon/zygarde/normal.gb const u32 gMonPalette_Diancie[] = INCBIN_U32("graphics/pokemon/diancie/normal.gbapal.lz"); const u32 gMonPalette_Hoopa[] = INCBIN_U32("graphics/pokemon/hoopa/normal.gbapal.lz"); const u32 gMonPalette_Volcanion[] = INCBIN_U32("graphics/pokemon/volcanion/normal.gbapal.lz"); +#endif +#if P_GEN_7_POKEMON == TRUE const u32 gMonPalette_Rowlet[] = INCBIN_U32("graphics/pokemon/rowlet/normal.gbapal.lz"); const u32 gMonPalette_Dartrix[] = INCBIN_U32("graphics/pokemon/dartrix/normal.gbapal.lz"); const u32 gMonPalette_Decidueye[] = INCBIN_U32("graphics/pokemon/decidueye/normal.gbapal.lz"); @@ -3184,6 +3250,8 @@ const u32 gMonPalette_Blacephalon[] = INCBIN_U32("graphics/pokemon/blacephalon/n const u32 gMonPalette_Zeraora[] = INCBIN_U32("graphics/pokemon/zeraora/normal.gbapal.lz"); const u32 gMonPalette_Meltan[] = INCBIN_U32("graphics/pokemon/meltan/normal.gbapal.lz"); const u32 gMonPalette_Melmetal[] = INCBIN_U32("graphics/pokemon/melmetal/normal.gbapal.lz"); +#endif +#if P_GEN_8_POKEMON == TRUE const u32 gMonPalette_Grookey[] = INCBIN_U32("graphics/pokemon/grookey/normal.gbapal.lz"); const u32 gMonPalette_Thwackey[] = INCBIN_U32("graphics/pokemon/thwackey/normal.gbapal.lz"); const u32 gMonPalette_Rillaboom[] = INCBIN_U32("graphics/pokemon/rillaboom/normal.gbapal.lz"); @@ -3281,6 +3349,7 @@ const u32 gMonPalette_Ursaluna[] = INCBIN_U32("graphics/pokemon/ursaluna/normal. //const u32 gMonPalette_Sneasler[] = INCBIN_U32("graphics/pokemon/sneasler/normal.gbapal.lz"); const u32 gMonPalette_Overqwil[] = INCBIN_U32("graphics/pokemon/overqwil/normal.gbapal.lz"); //const u32 gMonPalette_Enamorus[] = INCBIN_U32("graphics/pokemon/enamorus/normal.gbapal.lz"); +#endif const u32 gMonPalette_VenusaurMega[] = INCBIN_U32("graphics/pokemon/venusaur/mega/normal.gbapal.lz"); const u32 gMonPalette_CharizardMegaX[] = INCBIN_U32("graphics/pokemon/charizard/mega_x/normal.gbapal.lz"); const u32 gMonPalette_CharizardMegaY[] = INCBIN_U32("graphics/pokemon/charizard/mega_y/normal.gbapal.lz"); @@ -3321,13 +3390,19 @@ const u32 gMonPalette_SalamenceMega[] = INCBIN_U32("graphics/pokemon/salamence/m const u32 gMonPalette_MetagrossMega[] = INCBIN_U32("graphics/pokemon/metagross/mega/normal.gbapal.lz"); const u32 gMonPalette_LatiasMega[] = INCBIN_U32("graphics/pokemon/latias/mega/normal.gbapal.lz"); const u32 gMonPalette_LatiosMega[] = INCBIN_U32("graphics/pokemon/latios/mega/normal.gbapal.lz"); +#if P_GEN_4_POKEMON == TRUE const u32 gMonPalette_LopunnyMega[] = INCBIN_U32("graphics/pokemon/lopunny/mega/normal.gbapal.lz"); const u32 gMonPalette_GarchompMega[] = INCBIN_U32("graphics/pokemon/garchomp/mega/normal.gbapal.lz"); const u32 gMonPalette_LucarioMega[] = INCBIN_U32("graphics/pokemon/lucario/mega/normal.gbapal.lz"); const u32 gMonPalette_AbomasnowMega[] = INCBIN_U32("graphics/pokemon/abomasnow/mega/normal.gbapal.lz"); const u32 gMonPalette_GalladeMega[] = INCBIN_U32("graphics/pokemon/gallade/mega/normal.gbapal.lz"); +#endif +#if P_GEN_5_POKEMON == TRUE const u32 gMonPalette_AudinoMega[] = INCBIN_U32("graphics/pokemon/audino/mega/normal.gbapal.lz"); +#endif +#if P_GEN_6_POKEMON == TRUE const u32 gMonPalette_DiancieMega[] = INCBIN_U32("graphics/pokemon/diancie/mega/normal.gbapal.lz"); +#endif const u32 gMonPalette_RayquazaMega[] = INCBIN_U32("graphics/pokemon/rayquaza/mega/normal.gbapal.lz"); const u32 gMonPalette_KyogrePrimal[] = INCBIN_U32("graphics/pokemon/kyogre/primal/normal.gbapal.lz"); const u32 gMonPalette_GroudonPrimal[] = INCBIN_U32("graphics/pokemon/groudon/primal/normal.gbapal.lz"); @@ -3364,10 +3439,12 @@ const u32 gMonPalette_SlowkingGalarian[] = INCBIN_U32("graphics/pokemon/slowking const u32 gMonPalette_CorsolaGalarian[] = INCBIN_U32("graphics/pokemon/corsola/galarian/normal.gbapal.lz"); const u32 gMonPalette_ZigzagoonGalarian[] = INCBIN_U32("graphics/pokemon/zigzagoon/galarian/normal.gbapal.lz"); const u32 gMonPalette_LinooneGalarian[] = INCBIN_U32("graphics/pokemon/linoone/galarian/normal.gbapal.lz"); +#if P_GEN_5_POKEMON == TRUE const u32 gMonPalette_DarumakaGalarian[] = INCBIN_U32("graphics/pokemon/darumaka/galarian/normal.gbapal.lz"); const u32 gMonPalette_DarmanitanGalarian[] = INCBIN_U32("graphics/pokemon/darmanitan/galarian/normal.gbapal.lz"); const u32 gMonPalette_YamaskGalarian[] = INCBIN_U32("graphics/pokemon/yamask/galarian/normal.gbapal.lz"); const u32 gMonPalette_StunfiskGalarian[] = INCBIN_U32("graphics/pokemon/stunfisk/galarian/normal.gbapal.lz"); +#endif const u32 gMonPalette_GrowlitheHisuian[] = INCBIN_U32("graphics/pokemon/growlithe/hisuian/normal.gbapal.lz"); const u32 gMonPalette_ArcanineHisuian[] = INCBIN_U32("graphics/pokemon/arcanine/hisuian/normal.gbapal.lz"); const u32 gMonPalette_VoltorbHisuian[] = INCBIN_U32("graphics/pokemon/voltorb/hisuian/normal.gbapal.lz"); @@ -3375,15 +3452,21 @@ const u32 gMonPalette_ElectrodeHisuian[] = INCBIN_U32("graphics/pokemon/electrod const u32 gMonPalette_TyphlosionHisuian[] = INCBIN_U32("graphics/pokemon/typhlosion/hisuian/normal.gbapal.lz"); const u32 gMonPalette_QwilfishHisuian[] = INCBIN_U32("graphics/pokemon/qwilfish/hisuian/normal.gbapal.lz"); const u32 gMonPalette_SneaselHisuian[] = INCBIN_U32("graphics/pokemon/sneasel/hisuian/normal.gbapal.lz"); +#if P_GEN_5_POKEMON == TRUE //const u32 gMonPalette_SamurottHisuian[] = INCBIN_U32("graphics/pokemon/samurott/hisuian/normal.gbapal.lz"); const u32 gMonPalette_LilligantHisuian[] = INCBIN_U32("graphics/pokemon/lilligant/hisuian/normal.gbapal.lz"); const u32 gMonPalette_ZoruaHisuian[] = INCBIN_U32("graphics/pokemon/zorua/hisuian/normal.gbapal.lz"); const u32 gMonPalette_ZoroarkHisuian[] = INCBIN_U32("graphics/pokemon/zoroark/hisuian/normal.gbapal.lz"); const u32 gMonPalette_BraviaryHisuian[] = INCBIN_U32("graphics/pokemon/braviary/hisuian/normal.gbapal.lz"); +#endif +#if P_GEN_6_POKEMON == TRUE const u32 gMonPalette_SliggooHisuian[] = INCBIN_U32("graphics/pokemon/sliggoo/hisuian/normal.gbapal.lz"); const u32 gMonPalette_GoodraHisuian[] = INCBIN_U32("graphics/pokemon/goodra/hisuian/normal.gbapal.lz"); const u32 gMonPalette_AvaluggHisuian[] = INCBIN_U32("graphics/pokemon/avalugg/hisuian/normal.gbapal.lz"); +#endif +#if P_GEN_7_POKEMON == TRUE //const u32 gMonPalette_DecidueyeHisuian[] = INCBIN_U32("graphics/pokemon/decidueye/hisuian/normal.gbapal.lz"); +#endif const u32 gMonPalette_PikachuCosplay[] = INCBIN_U32("graphics/pokemon/pikachu/cosplay/normal.gbapal.lz"); const u32 gMonPalette_PikachuRockStar[] = INCBIN_U32("graphics/pokemon/pikachu/rock_star/normal.gbapal.lz"); const u32 gMonPalette_PikachuBelle[] = INCBIN_U32("graphics/pokemon/pikachu/belle/normal.gbapal.lz"); @@ -3399,14 +3482,13 @@ const u32 gMonPalette_PikachuAlolaCap[] = INCBIN_U32("graphics/pokemon/pikachu/a const u32 gMonPalette_PikachuPartnerCap[] = INCBIN_U32("graphics/pokemon/pikachu/partner_cap/normal.gbapal.lz"); const u32 gMonPalette_PikachuWorldCap[] = INCBIN_U32("graphics/pokemon/pikachu/world_cap/normal.gbapal.lz"); const u32 gMonPalette_PichuSpikyEared[] = INCBIN_U32("graphics/pokemon/pichu/spiky_eared/normal.gbapal.lz"); -#endif const u32 gMonPalette_CastformSunny[] = INCBIN_U32("graphics/pokemon/castform/sunny/normal.gbapal.lz"); const u32 gMonPalette_CastformRainy[] = INCBIN_U32("graphics/pokemon/castform/rainy/normal.gbapal.lz"); const u32 gMonPalette_CastformSnowy[] = INCBIN_U32("graphics/pokemon/castform/snowy/normal.gbapal.lz"); const u32 gMonPalette_DeoxysAttack[] = INCBIN_U32("graphics/pokemon/deoxys/attack/normal.gbapal.lz"); const u32 gMonPalette_DeoxysDefense[] = INCBIN_U32("graphics/pokemon/deoxys/defense/normal.gbapal.lz"); const u32 gMonPalette_DeoxysSpeed[] = INCBIN_U32("graphics/pokemon/deoxys/speed/normal.gbapal.lz"); -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE const u32 gMonPalette_BurmySandyCloak[] = INCBIN_U32("graphics/pokemon/burmy/sandy_cloak/normal.gbapal.lz"); const u32 gMonPalette_BurmyTrashCloak[] = INCBIN_U32("graphics/pokemon/burmy/trash_cloak/normal.gbapal.lz"); const u32 gMonPalette_WormadamSandyCloak[] = INCBIN_U32("graphics/pokemon/wormadam/sandy_cloak/normal.gbapal.lz"); @@ -3440,6 +3522,8 @@ const u32 gMonPalette_ArceusIce[] = INCBIN_U32("graphics/pokemon/arceus/ice/norm const u32 gMonPalette_ArceusDragon[] = INCBIN_U32("graphics/pokemon/arceus/dragon/normal.gbapal.lz"); const u32 gMonPalette_ArceusDark[] = INCBIN_U32("graphics/pokemon/arceus/dark/normal.gbapal.lz"); const u32 gMonPalette_ArceusFairy[] = INCBIN_U32("graphics/pokemon/arceus/fairy/normal.gbapal.lz"); +#endif +#if P_GEN_5_POKEMON == TRUE const u32 gMonPalette_BasculinBlueStriped[] = INCBIN_U32("graphics/pokemon/basculin/blue_striped/normal.gbapal.lz"); const u32 gMonPalette_BasculinWhiteStriped[] = INCBIN_U32("graphics/pokemon/basculin/white_striped/normal.gbapal.lz"); const u32 gMonPalette_DarmanitanZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/normal.gbapal.lz"); @@ -3453,7 +3537,6 @@ const u32 gMonPalette_SawsbuckWinter[] = INCBIN_U32("graphics/pokemon/sawsbuck/w const u32 gMonPalette_TornadusTherian[] = INCBIN_U32("graphics/pokemon/tornadus/therian/normal.gbapal.lz"); const u32 gMonPalette_ThundurusTherian[] = INCBIN_U32("graphics/pokemon/thundurus/therian/normal.gbapal.lz"); const u32 gMonPalette_LandorusTherian[] = INCBIN_U32("graphics/pokemon/landorus/therian/normal.gbapal.lz"); -//const u32 gMonPalette_EnamorusTherian[] = INCBIN_U32("graphics/pokemon/enamorus/therian/normal.gbapal.lz"); const u32 gMonPalette_KyuremWhite[] = INCBIN_U32("graphics/pokemon/kyurem/white/normal.gbapal.lz"); const u32 gMonPalette_KyuremBlack[] = INCBIN_U32("graphics/pokemon/kyurem/black/normal.gbapal.lz"); const u32 gMonPalette_KeldeoResolute[] = INCBIN_U32("graphics/pokemon/keldeo/resolute/normal.gbapal.lz"); @@ -3462,6 +3545,8 @@ const u32 gMonPalette_GenesectDouseDrive[] = INCBIN_U32("graphics/pokemon/genese const u32 gMonPalette_GenesectShockDrive[] = INCBIN_U32("graphics/pokemon/genesect/shock_drive/normal.gbapal.lz"); const u32 gMonPalette_GenesectBurnDrive[] = INCBIN_U32("graphics/pokemon/genesect/burn_drive/normal.gbapal.lz"); const u32 gMonPalette_GenesectChillDrive[] = INCBIN_U32("graphics/pokemon/genesect/chill_drive/normal.gbapal.lz"); +#endif +#if P_GEN_6_POKEMON == TRUE const u32 gMonPalette_GreninjaAsh[] = INCBIN_U32("graphics/pokemon/greninja/ash/normal.gbapal.lz"); const u32 gMonPalette_VivillonPolar[] = INCBIN_U32("graphics/pokemon/vivillon/polar/normal.gbapal.lz"); const u32 gMonPalette_VivillonTundra[] = INCBIN_U32("graphics/pokemon/vivillon/tundra/normal.gbapal.lz"); @@ -3510,6 +3595,8 @@ const u32 gMonPalette_XerneasActive[] = INCBIN_U32("graphics/pokemon/xerneas/act const u32 gMonPalette_Zygarde10[] = INCBIN_U32("graphics/pokemon/zygarde/10_percent/normal.gbapal.lz"); const u32 gMonPalette_ZygardeComplete[] = INCBIN_U32("graphics/pokemon/zygarde/complete/normal.gbapal.lz"); const u32 gMonPalette_HoopaUnbound[] = INCBIN_U32("graphics/pokemon/hoopa/unbound/normal.gbapal.lz"); +#endif +#if P_GEN_7_POKEMON == TRUE const u32 gMonPalette_OricorioPomPom[] = INCBIN_U32("graphics/pokemon/oricorio/pom_pom/normal.gbapal.lz"); const u32 gMonPalette_OricorioPau[] = INCBIN_U32("graphics/pokemon/oricorio/pau/normal.gbapal.lz"); const u32 gMonPalette_OricorioSensu[] = INCBIN_U32("graphics/pokemon/oricorio/sensu/normal.gbapal.lz"); @@ -3545,6 +3632,8 @@ const u32 gMonPalette_NecrozmaDuskMane[] = INCBIN_U32("graphics/pokemon/necrozma const u32 gMonPalette_NecrozmaDawnWings[] = INCBIN_U32("graphics/pokemon/necrozma/dawn_wings/normal.gbapal.lz"); const u32 gMonPalette_NecrozmaUltra[] = INCBIN_U32("graphics/pokemon/necrozma/ultra/normal.gbapal.lz"); const u32 gMonPalette_MagearnaOriginalColor[] = INCBIN_U32("graphics/pokemon/magearna/original_color/normal.gbapal.lz"); +#endif +#if P_GEN_8_POKEMON == TRUE const u32 gMonPalette_CramorantGulping[] = INCBIN_U32("graphics/pokemon/cramorant/gulping/normal.gbapal.lz"); const u32 gMonPalette_CramorantGorging[] = INCBIN_U32("graphics/pokemon/cramorant/gorging/normal.gbapal.lz"); const u32 gMonPalette_ToxtricityLowKey[] = INCBIN_U32("graphics/pokemon/toxtricity/low_key/normal.gbapal.lz"); @@ -3566,6 +3655,7 @@ const u32 gMonPalette_UrshifuRapidStrikeStyle[] = INCBIN_U32("graphics/pokemon/u const u32 gMonPalette_ZarudeDada[] = INCBIN_U32("graphics/pokemon/zarude/dada/normal.gbapal.lz"); const u32 gMonPalette_CalyrexIceRider[] = INCBIN_U32("graphics/pokemon/calyrex/ice_rider/normal.gbapal.lz"); const u32 gMonPalette_CalyrexShadowRider[] = INCBIN_U32("graphics/pokemon/calyrex/shadow_rider/normal.gbapal.lz"); +//const u32 gMonPalette_EnamorusTherian[] = INCBIN_U32("graphics/pokemon/enamorus/therian/normal.gbapal.lz"); #endif const u32 gMonPalette_Egg[] = INCBIN_U32("graphics/pokemon/egg/normal.gbapal.lz"); @@ -3957,7 +4047,7 @@ const u32 gMonShinyPalette_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/shin const u32 gMonShinyPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/shiny.gbapal.lz"); const u32 gMonShinyPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/shiny.gbapal.lz"); const u32 gMonShinyPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/shiny.gbapal.lz"); -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE const u32 gMonShinyPalette_Turtwig[] = INCBIN_U32("graphics/pokemon/turtwig/shiny.gbapal.lz"); const u32 gMonShinyPalette_Grotle[] = INCBIN_U32("graphics/pokemon/grotle/shiny.gbapal.lz"); const u32 gMonShinyPalette_Torterra[] = INCBIN_U32("graphics/pokemon/torterra/shiny.gbapal.lz"); @@ -4067,6 +4157,8 @@ const u32 gMonShinyPalette_Manaphy[] = INCBIN_U32("graphics/pokemon/manaphy/shin const u32 gMonShinyPalette_Darkrai[] = INCBIN_U32("graphics/pokemon/darkrai/shiny.gbapal.lz"); const u32 gMonShinyPalette_Shaymin[] = INCBIN_U32("graphics/pokemon/shaymin/shiny.gbapal.lz"); const u32 gMonShinyPalette_Arceus[] = INCBIN_U32("graphics/pokemon/arceus/shiny.gbapal.lz"); +#endif +#if P_GEN_5_POKEMON == TRUE const u32 gMonShinyPalette_Victini[] = INCBIN_U32("graphics/pokemon/victini/shiny.gbapal.lz"); const u32 gMonShinyPalette_Snivy[] = INCBIN_U32("graphics/pokemon/snivy/shiny.gbapal.lz"); const u32 gMonShinyPalette_Servine[] = INCBIN_U32("graphics/pokemon/servine/shiny.gbapal.lz"); @@ -4226,6 +4318,8 @@ const u32 gMonShinyPalette_Kyurem[] = INCBIN_U32("graphics/pokemon/kyurem/shiny. const u32 gMonShinyPalette_Keldeo[] = INCBIN_U32("graphics/pokemon/keldeo/shiny.gbapal.lz"); const u32 gMonShinyPalette_Meloetta[] = INCBIN_U32("graphics/pokemon/meloetta/shiny.gbapal.lz"); const u32 gMonShinyPalette_Genesect[] = INCBIN_U32("graphics/pokemon/genesect/shiny.gbapal.lz"); +#endif +#if P_GEN_6_POKEMON == TRUE const u32 gMonShinyPalette_Chespin[] = INCBIN_U32("graphics/pokemon/chespin/shiny.gbapal.lz"); const u32 gMonShinyPalette_Quilladin[] = INCBIN_U32("graphics/pokemon/quilladin/shiny.gbapal.lz"); const u32 gMonShinyPalette_Chesnaught[] = INCBIN_U32("graphics/pokemon/chesnaught/shiny.gbapal.lz"); @@ -4299,6 +4393,8 @@ const u32 gMonShinyPalette_Zygarde[] = INCBIN_U32("graphics/pokemon/zygarde/shin const u32 gMonShinyPalette_Diancie[] = INCBIN_U32("graphics/pokemon/diancie/shiny.gbapal.lz"); const u32 gMonShinyPalette_Hoopa[] = INCBIN_U32("graphics/pokemon/hoopa/shiny.gbapal.lz"); const u32 gMonShinyPalette_Volcanion[] = INCBIN_U32("graphics/pokemon/volcanion/shiny.gbapal.lz"); +#endif +#if P_GEN_7_POKEMON == TRUE const u32 gMonShinyPalette_Rowlet[] = INCBIN_U32("graphics/pokemon/rowlet/shiny.gbapal.lz"); const u32 gMonShinyPalette_Dartrix[] = INCBIN_U32("graphics/pokemon/dartrix/shiny.gbapal.lz"); const u32 gMonShinyPalette_Decidueye[] = INCBIN_U32("graphics/pokemon/decidueye/shiny.gbapal.lz"); @@ -4387,6 +4483,8 @@ const u32 gMonShinyPalette_Blacephalon[] = INCBIN_U32("graphics/pokemon/blacepha const u32 gMonShinyPalette_Zeraora[] = INCBIN_U32("graphics/pokemon/zeraora/shiny.gbapal.lz"); const u32 gMonShinyPalette_Meltan[] = INCBIN_U32("graphics/pokemon/meltan/shiny.gbapal.lz"); const u32 gMonShinyPalette_Melmetal[] = INCBIN_U32("graphics/pokemon/melmetal/shiny.gbapal.lz"); +#endif +#if P_GEN_8_POKEMON == TRUE const u32 gMonShinyPalette_Grookey[] = INCBIN_U32("graphics/pokemon/grookey/shiny.gbapal.lz"); const u32 gMonShinyPalette_Thwackey[] = INCBIN_U32("graphics/pokemon/thwackey/shiny.gbapal.lz"); const u32 gMonShinyPalette_Rillaboom[] = INCBIN_U32("graphics/pokemon/rillaboom/shiny.gbapal.lz"); @@ -4484,6 +4582,7 @@ const u32 gMonShinyPalette_Ursaluna[] = INCBIN_U32("graphics/pokemon/ursaluna/sh //const u32 gMonShinyPalette_Sneasler[] = INCBIN_U32("graphics/pokemon/sneasler/shiny.gbapal.lz"); const u32 gMonShinyPalette_Overqwil[] = INCBIN_U32("graphics/pokemon/overqwil/shiny.gbapal.lz"); //const u32 gMonShinyPalette_Enamorus[] = INCBIN_U32("graphics/pokemon/enamorus/shiny.gbapal.lz"); +#endif const u32 gMonShinyPalette_VenusaurMega[] = INCBIN_U32("graphics/pokemon/venusaur/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_CharizardMegaX[] = INCBIN_U32("graphics/pokemon/charizard/mega_x/shiny.gbapal.lz"); const u32 gMonShinyPalette_CharizardMegaY[] = INCBIN_U32("graphics/pokemon/charizard/mega_y/shiny.gbapal.lz"); @@ -4524,13 +4623,19 @@ const u32 gMonShinyPalette_SalamenceMega[] = INCBIN_U32("graphics/pokemon/salame const u32 gMonShinyPalette_MetagrossMega[] = INCBIN_U32("graphics/pokemon/metagross/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_LatiasMega[] = INCBIN_U32("graphics/pokemon/latias/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_LatiosMega[] = INCBIN_U32("graphics/pokemon/latios/mega/shiny.gbapal.lz"); +#if P_GEN_4_POKEMON == TRUE const u32 gMonShinyPalette_LopunnyMega[] = INCBIN_U32("graphics/pokemon/lopunny/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_GarchompMega[] = INCBIN_U32("graphics/pokemon/garchomp/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_LucarioMega[] = INCBIN_U32("graphics/pokemon/lucario/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_AbomasnowMega[] = INCBIN_U32("graphics/pokemon/abomasnow/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_GalladeMega[] = INCBIN_U32("graphics/pokemon/gallade/mega/shiny.gbapal.lz"); +#endif +#if P_GEN_5_POKEMON == TRUE const u32 gMonShinyPalette_AudinoMega[] = INCBIN_U32("graphics/pokemon/audino/mega/shiny.gbapal.lz"); +#endif +#if P_GEN_6_POKEMON == TRUE const u32 gMonShinyPalette_DiancieMega[] = INCBIN_U32("graphics/pokemon/diancie/mega/shiny.gbapal.lz"); +#endif const u32 gMonShinyPalette_RayquazaMega[] = INCBIN_U32("graphics/pokemon/rayquaza/mega/shiny.gbapal.lz"); const u32 gMonShinyPalette_KyogrePrimal[] = INCBIN_U32("graphics/pokemon/kyogre/primal/shiny.gbapal.lz"); const u32 gMonShinyPalette_GroudonPrimal[] = INCBIN_U32("graphics/pokemon/groudon/primal/shiny.gbapal.lz"); @@ -4567,10 +4672,12 @@ const u32 gMonShinyPalette_SlowkingGalarian[] = INCBIN_U32("graphics/pokemon/slo const u32 gMonShinyPalette_CorsolaGalarian[] = INCBIN_U32("graphics/pokemon/corsola/galarian/shiny.gbapal.lz"); const u32 gMonShinyPalette_ZigzagoonGalarian[] = INCBIN_U32("graphics/pokemon/zigzagoon/galarian/shiny.gbapal.lz"); const u32 gMonShinyPalette_LinooneGalarian[] = INCBIN_U32("graphics/pokemon/linoone/galarian/shiny.gbapal.lz"); +#if P_GEN_5_POKEMON == TRUE const u32 gMonShinyPalette_DarumakaGalarian[] = INCBIN_U32("graphics/pokemon/darumaka/galarian/shiny.gbapal.lz"); const u32 gMonShinyPalette_DarmanitanGalarian[] = INCBIN_U32("graphics/pokemon/darmanitan/galarian/shiny.gbapal.lz"); const u32 gMonShinyPalette_YamaskGalarian[] = INCBIN_U32("graphics/pokemon/yamask/galarian/shiny.gbapal.lz"); const u32 gMonShinyPalette_StunfiskGalarian[] = INCBIN_U32("graphics/pokemon/stunfisk/galarian/shiny.gbapal.lz"); +#endif const u32 gMonShinyPalette_GrowlitheHisuian[] = INCBIN_U32("graphics/pokemon/growlithe/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_ArcanineHisuian[] = INCBIN_U32("graphics/pokemon/arcanine/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_VoltorbHisuian[] = INCBIN_U32("graphics/pokemon/voltorb/hisuian/shiny.gbapal.lz"); @@ -4578,15 +4685,21 @@ const u32 gMonShinyPalette_ElectrodeHisuian[] = INCBIN_U32("graphics/pokemon/ele const u32 gMonShinyPalette_TyphlosionHisuian[] = INCBIN_U32("graphics/pokemon/typhlosion/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_QwilfishHisuian[] = INCBIN_U32("graphics/pokemon/qwilfish/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_SneaselHisuian[] = INCBIN_U32("graphics/pokemon/sneasel/hisuian/shiny.gbapal.lz"); +#if P_GEN_5_POKEMON == TRUE //const u32 gMonShinyPalette_SamurottHisuian[] = INCBIN_U32("graphics/pokemon/samurott/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_LilligantHisuian[] = INCBIN_U32("graphics/pokemon/lilligant/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_ZoruaHisuian[] = INCBIN_U32("graphics/pokemon/zorua/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_ZoroarkHisuian[] = INCBIN_U32("graphics/pokemon/zoroark/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_BraviaryHisuian[] = INCBIN_U32("graphics/pokemon/braviary/hisuian/shiny.gbapal.lz"); +#endif +#if P_GEN_6_POKEMON == TRUE const u32 gMonShinyPalette_SliggooHisuian[] = INCBIN_U32("graphics/pokemon/sliggoo/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_GoodraHisuian[] = INCBIN_U32("graphics/pokemon/goodra/hisuian/shiny.gbapal.lz"); const u32 gMonShinyPalette_AvaluggHisuian[] = INCBIN_U32("graphics/pokemon/avalugg/hisuian/shiny.gbapal.lz"); +#endif +#if P_GEN_7_POKEMON == TRUE //const u32 gMonShinyPalette_DecidueyeHisuian[] = INCBIN_U32("graphics/pokemon/decidueye/hisuian/shiny.gbapal.lz"); +#endif const u32 gMonShinyPalette_PikachuCosplay[] = INCBIN_U32("graphics/pokemon/pikachu/cosplay/shiny.gbapal.lz"); const u32 gMonShinyPalette_PikachuRockStar[] = INCBIN_U32("graphics/pokemon/pikachu/rock_star/shiny.gbapal.lz"); const u32 gMonShinyPalette_PikachuBelle[] = INCBIN_U32("graphics/pokemon/pikachu/belle/shiny.gbapal.lz"); @@ -4602,14 +4715,13 @@ const u32 gMonShinyPalette_PikachuAlolaCap[] = INCBIN_U32("graphics/pokemon/pika const u32 gMonShinyPalette_PikachuPartnerCap[] = INCBIN_U32("graphics/pokemon/pikachu/partner_cap/shiny.gbapal.lz"); const u32 gMonShinyPalette_PikachuWorldCap[] = INCBIN_U32("graphics/pokemon/pikachu/world_cap/shiny.gbapal.lz"); const u32 gMonShinyPalette_PichuSpikyEared[] = INCBIN_U32("graphics/pokemon/pichu/spiky_eared/shiny.gbapal.lz"); -#endif const u32 gMonShinyPalette_CastformSunny[] = INCBIN_U32("graphics/pokemon/castform/sunny/shiny.gbapal.lz"); const u32 gMonShinyPalette_CastformRainy[] = INCBIN_U32("graphics/pokemon/castform/rainy/shiny.gbapal.lz"); const u32 gMonShinyPalette_CastformSnowy[] = INCBIN_U32("graphics/pokemon/castform/snowy/shiny.gbapal.lz"); const u32 gMonShinyPalette_DeoxysAttack[] = INCBIN_U32("graphics/pokemon/deoxys/attack/shiny.gbapal.lz"); const u32 gMonShinyPalette_DeoxysDefense[] = INCBIN_U32("graphics/pokemon/deoxys/defense/shiny.gbapal.lz"); const u32 gMonShinyPalette_DeoxysSpeed[] = INCBIN_U32("graphics/pokemon/deoxys/speed/shiny.gbapal.lz"); -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE const u32 gMonShinyPalette_BurmySandyCloak[] = INCBIN_U32("graphics/pokemon/burmy/sandy_cloak/shiny.gbapal.lz"); const u32 gMonShinyPalette_BurmyTrashCloak[] = INCBIN_U32("graphics/pokemon/burmy/trash_cloak/shiny.gbapal.lz"); const u32 gMonShinyPalette_WormadamSandyCloak[] = INCBIN_U32("graphics/pokemon/wormadam/sandy_cloak/shiny.gbapal.lz"); @@ -4643,6 +4755,8 @@ const u32 gMonShinyPalette_ArceusIce[] = INCBIN_U32("graphics/pokemon/arceus/ice const u32 gMonShinyPalette_ArceusDragon[] = INCBIN_U32("graphics/pokemon/arceus/dragon/shiny.gbapal.lz"); const u32 gMonShinyPalette_ArceusDark[] = INCBIN_U32("graphics/pokemon/arceus/dark/shiny.gbapal.lz"); const u32 gMonShinyPalette_ArceusFairy[] = INCBIN_U32("graphics/pokemon/arceus/fairy/shiny.gbapal.lz"); +#endif +#if P_GEN_5_POKEMON == TRUE const u32 gMonShinyPalette_BasculinBlueStriped[] = INCBIN_U32("graphics/pokemon/basculin/blue_striped/shiny.gbapal.lz"); const u32 gMonShinyPalette_BasculinWhiteStriped[] = INCBIN_U32("graphics/pokemon/basculin/white_striped/shiny.gbapal.lz"); const u32 gMonShinyPalette_DarmanitanZenMode[] = INCBIN_U32("graphics/pokemon/darmanitan/zen_mode/shiny.gbapal.lz"); @@ -4656,7 +4770,6 @@ const u32 gMonShinyPalette_SawsbuckWinter[] = INCBIN_U32("graphics/pokemon/sawsb const u32 gMonShinyPalette_TornadusTherian[] = INCBIN_U32("graphics/pokemon/tornadus/therian/shiny.gbapal.lz"); const u32 gMonShinyPalette_ThundurusTherian[] = INCBIN_U32("graphics/pokemon/thundurus/therian/shiny.gbapal.lz"); const u32 gMonShinyPalette_LandorusTherian[] = INCBIN_U32("graphics/pokemon/landorus/therian/shiny.gbapal.lz"); -//const u32 gMonShinyPalette_EnamorusTherian[] = INCBIN_U32("graphics/pokemon/enamorus/therian/shiny.gbapal.lz"); const u32 gMonShinyPalette_KyuremWhite[] = INCBIN_U32("graphics/pokemon/kyurem/white/shiny.gbapal.lz"); const u32 gMonShinyPalette_KyuremBlack[] = INCBIN_U32("graphics/pokemon/kyurem/black/shiny.gbapal.lz"); const u32 gMonShinyPalette_KeldeoResolute[] = INCBIN_U32("graphics/pokemon/keldeo/resolute/shiny.gbapal.lz"); @@ -4665,6 +4778,8 @@ const u32 gMonShinyPalette_GenesectDouseDrive[] = INCBIN_U32("graphics/pokemon/g const u32 gMonShinyPalette_GenesectShockDrive[] = INCBIN_U32("graphics/pokemon/genesect/shock_drive/shiny.gbapal.lz"); const u32 gMonShinyPalette_GenesectBurnDrive[] = INCBIN_U32("graphics/pokemon/genesect/burn_drive/shiny.gbapal.lz"); const u32 gMonShinyPalette_GenesectChillDrive[] = INCBIN_U32("graphics/pokemon/genesect/chill_drive/shiny.gbapal.lz"); +#endif +#if P_GEN_6_POKEMON == TRUE const u32 gMonShinyPalette_GreninjaAsh[] = INCBIN_U32("graphics/pokemon/greninja/ash/shiny.gbapal.lz"); const u32 gMonShinyPalette_VivillonPolar[] = INCBIN_U32("graphics/pokemon/vivillon/polar/shiny.gbapal.lz"); const u32 gMonShinyPalette_VivillonTundra[] = INCBIN_U32("graphics/pokemon/vivillon/tundra/shiny.gbapal.lz"); @@ -4713,6 +4828,8 @@ const u32 gMonShinyPalette_XerneasActive[] = INCBIN_U32("graphics/pokemon/xernea const u32 gMonShinyPalette_Zygarde10[] = INCBIN_U32("graphics/pokemon/zygarde/10_percent/shiny.gbapal.lz"); const u32 gMonShinyPalette_ZygardeComplete[] = INCBIN_U32("graphics/pokemon/zygarde/complete/shiny.gbapal.lz"); const u32 gMonShinyPalette_HoopaUnbound[] = INCBIN_U32("graphics/pokemon/hoopa/unbound/shiny.gbapal.lz"); +#endif +#if P_GEN_7_POKEMON == TRUE const u32 gMonShinyPalette_OricorioPomPom[] = INCBIN_U32("graphics/pokemon/oricorio/pom_pom/shiny.gbapal.lz"); const u32 gMonShinyPalette_OricorioPau[] = INCBIN_U32("graphics/pokemon/oricorio/pau/shiny.gbapal.lz"); const u32 gMonShinyPalette_OricorioSensu[] = INCBIN_U32("graphics/pokemon/oricorio/sensu/shiny.gbapal.lz"); @@ -4742,6 +4859,8 @@ const u32 gMonShinyPalette_NecrozmaDuskMane[] = INCBIN_U32("graphics/pokemon/nec const u32 gMonShinyPalette_NecrozmaDawnWings[] = INCBIN_U32("graphics/pokemon/necrozma/dawn_wings/shiny.gbapal.lz"); const u32 gMonShinyPalette_NecrozmaUltra[] = INCBIN_U32("graphics/pokemon/necrozma/ultra/shiny.gbapal.lz"); const u32 gMonShinyPalette_MagearnaOriginalColor[] = INCBIN_U32("graphics/pokemon/magearna/original_color/shiny.gbapal.lz"); +#endif +#if P_GEN_8_POKEMON == TRUE const u32 gMonShinyPalette_CramorantGulping[] = INCBIN_U32("graphics/pokemon/cramorant/gulping/shiny.gbapal.lz"); const u32 gMonShinyPalette_CramorantGorging[] = INCBIN_U32("graphics/pokemon/cramorant/gorging/shiny.gbapal.lz"); const u32 gMonShinyPalette_ToxtricityLowKey[] = INCBIN_U32("graphics/pokemon/toxtricity/low_key/shiny.gbapal.lz"); @@ -4763,6 +4882,7 @@ const u32 gMonShinyPalette_UrshifuRapidStrikeStyle[] = INCBIN_U32("graphics/poke const u32 gMonShinyPalette_ZarudeDada[] = INCBIN_U32("graphics/pokemon/zarude/dada/shiny.gbapal.lz"); const u32 gMonShinyPalette_CalyrexIceRider[] = INCBIN_U32("graphics/pokemon/calyrex/ice_rider/shiny.gbapal.lz"); const u32 gMonShinyPalette_CalyrexShadowRider[] = INCBIN_U32("graphics/pokemon/calyrex/shadow_rider/shiny.gbapal.lz"); +//const u32 gMonShinyPalette_EnamorusTherian[] = INCBIN_U32("graphics/pokemon/enamorus/therian/shiny.gbapal.lz"); #endif const u8 gMonIcon_QuestionMark[] = INCBIN_U8("graphics/pokemon/question_mark/icon.4bpp"); @@ -5152,7 +5272,7 @@ const u8 gMonIcon_Groudon[] = INCBIN_U8("graphics/pokemon/groudon/icon.4bpp"); const u8 gMonIcon_Rayquaza[] = INCBIN_U8("graphics/pokemon/rayquaza/icon.4bpp"); const u8 gMonIcon_Jirachi[] = INCBIN_U8("graphics/pokemon/jirachi/icon.4bpp"); const u8 gMonIcon_Deoxys[] = INCBIN_U8("graphics/pokemon/deoxys/icon.4bpp"); -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE const u8 gMonIcon_Turtwig[] = INCBIN_U8("graphics/pokemon/turtwig/icon.4bpp"); const u8 gMonIcon_Grotle[] = INCBIN_U8("graphics/pokemon/grotle/icon.4bpp"); const u8 gMonIcon_Torterra[] = INCBIN_U8("graphics/pokemon/torterra/icon.4bpp"); @@ -5260,6 +5380,8 @@ const u8 gMonIcon_Manaphy[] = INCBIN_U8("graphics/pokemon/manaphy/icon.4bpp"); const u8 gMonIcon_Darkrai[] = INCBIN_U8("graphics/pokemon/darkrai/icon.4bpp"); const u8 gMonIcon_Shaymin[] = INCBIN_U8("graphics/pokemon/shaymin/icon.4bpp"); const u8 gMonIcon_Arceus[] = INCBIN_U8("graphics/pokemon/arceus/icon.4bpp"); +#endif +#if P_GEN_5_POKEMON == TRUE const u8 gMonIcon_Victini[] = INCBIN_U8("graphics/pokemon/victini/icon.4bpp"); const u8 gMonIcon_Snivy[] = INCBIN_U8("graphics/pokemon/snivy/icon.4bpp"); const u8 gMonIcon_Servine[] = INCBIN_U8("graphics/pokemon/servine/icon.4bpp"); @@ -5419,6 +5541,8 @@ const u8 gMonIcon_Kyurem[] = INCBIN_U8("graphics/pokemon/kyurem/icon.4bpp"); const u8 gMonIcon_Keldeo[] = INCBIN_U8("graphics/pokemon/keldeo/icon.4bpp"); const u8 gMonIcon_Meloetta[] = INCBIN_U8("graphics/pokemon/meloetta/icon.4bpp"); const u8 gMonIcon_Genesect[] = INCBIN_U8("graphics/pokemon/genesect/icon.4bpp"); +#endif +#if P_GEN_6_POKEMON == TRUE const u8 gMonIcon_Chespin[] = INCBIN_U8("graphics/pokemon/chespin/icon.4bpp"); const u8 gMonIcon_Quilladin[] = INCBIN_U8("graphics/pokemon/quilladin/icon.4bpp"); const u8 gMonIcon_Chesnaught[] = INCBIN_U8("graphics/pokemon/chesnaught/icon.4bpp"); @@ -5492,6 +5616,8 @@ const u8 gMonIcon_Zygarde[] = INCBIN_U8("graphics/pokemon/zygarde/icon.4bpp"); const u8 gMonIcon_Diancie[] = INCBIN_U8("graphics/pokemon/diancie/icon.4bpp"); const u8 gMonIcon_Hoopa[] = INCBIN_U8("graphics/pokemon/hoopa/icon.4bpp"); const u8 gMonIcon_Volcanion[] = INCBIN_U8("graphics/pokemon/volcanion/icon.4bpp"); +#endif +#if P_GEN_7_POKEMON == TRUE const u8 gMonIcon_Rowlet[] = INCBIN_U8("graphics/pokemon/rowlet/icon.4bpp"); const u8 gMonIcon_Dartrix[] = INCBIN_U8("graphics/pokemon/dartrix/icon.4bpp"); const u8 gMonIcon_Decidueye[] = INCBIN_U8("graphics/pokemon/decidueye/icon.4bpp"); @@ -5580,6 +5706,8 @@ const u8 gMonIcon_Blacephalon[] = INCBIN_U8("graphics/pokemon/blacephalon/icon.4 const u8 gMonIcon_Zeraora[] = INCBIN_U8("graphics/pokemon/zeraora/icon.4bpp"); const u8 gMonIcon_Meltan[] = INCBIN_U8("graphics/pokemon/meltan/icon.4bpp"); const u8 gMonIcon_Melmetal[] = INCBIN_U8("graphics/pokemon/melmetal/icon.4bpp"); +#endif +#if P_GEN_8_POKEMON == TRUE const u8 gMonIcon_Grookey[] = INCBIN_U8("graphics/pokemon/grookey/icon.4bpp"); const u8 gMonIcon_Thwackey[] = INCBIN_U8("graphics/pokemon/thwackey/icon.4bpp"); const u8 gMonIcon_Rillaboom[] = INCBIN_U8("graphics/pokemon/rillaboom/icon.4bpp"); @@ -5677,6 +5805,7 @@ const u8 gMonIcon_BasculegionF[] = INCBIN_U8("graphics/pokemon/basculegion/iconf const u8 gMonIcon_Sneasler[] = INCBIN_U8("graphics/pokemon/sneasler/icon.4bpp"); const u8 gMonIcon_Overqwil[] = INCBIN_U8("graphics/pokemon/overqwil/icon.4bpp"); const u8 gMonIcon_Enamorus[] = INCBIN_U8("graphics/pokemon/enamorus/icon.4bpp"); +#endif const u8 gMonIcon_VenusaurMega[] = INCBIN_U8("graphics/pokemon/venusaur/mega/icon.4bpp"); const u8 gMonIcon_CharizardMegaX[] = INCBIN_U8("graphics/pokemon/charizard/mega_x/icon.4bpp"); const u8 gMonIcon_CharizardMegaY[] = INCBIN_U8("graphics/pokemon/charizard/mega_y/icon.4bpp"); @@ -5717,13 +5846,19 @@ const u8 gMonIcon_SalamenceMega[] = INCBIN_U8("graphics/pokemon/salamence/mega/i const u8 gMonIcon_MetagrossMega[] = INCBIN_U8("graphics/pokemon/metagross/mega/icon.4bpp"); const u8 gMonIcon_LatiasMega[] = INCBIN_U8("graphics/pokemon/latias/mega/icon.4bpp"); const u8 gMonIcon_LatiosMega[] = INCBIN_U8("graphics/pokemon/latios/mega/icon.4bpp"); +#if P_GEN_4_POKEMON == TRUE const u8 gMonIcon_LopunnyMega[] = INCBIN_U8("graphics/pokemon/lopunny/mega/icon.4bpp"); const u8 gMonIcon_GarchompMega[] = INCBIN_U8("graphics/pokemon/garchomp/mega/icon.4bpp"); const u8 gMonIcon_LucarioMega[] = INCBIN_U8("graphics/pokemon/lucario/mega/icon.4bpp"); const u8 gMonIcon_AbomasnowMega[] = INCBIN_U8("graphics/pokemon/abomasnow/mega/icon.4bpp"); const u8 gMonIcon_GalladeMega[] = INCBIN_U8("graphics/pokemon/gallade/mega/icon.4bpp"); +#endif +#if P_GEN_5_POKEMON == TRUE const u8 gMonIcon_AudinoMega[] = INCBIN_U8("graphics/pokemon/audino/mega/icon.4bpp"); +#endif +#if P_GEN_6_POKEMON == TRUE const u8 gMonIcon_DiancieMega[] = INCBIN_U8("graphics/pokemon/diancie/mega/icon.4bpp"); +#endif const u8 gMonIcon_RayquazaMega[] = INCBIN_U8("graphics/pokemon/rayquaza/mega/icon.4bpp"); const u8 gMonIcon_KyogrePrimal[] = INCBIN_U8("graphics/pokemon/kyogre/primal/icon.4bpp"); const u8 gMonIcon_GroudonPrimal[] = INCBIN_U8("graphics/pokemon/groudon/primal/icon.4bpp"); @@ -5760,10 +5895,12 @@ const u8 gMonIcon_SlowkingGalarian[] = INCBIN_U8("graphics/pokemon/slowking/gala const u8 gMonIcon_CorsolaGalarian[] = INCBIN_U8("graphics/pokemon/corsola/galarian/icon.4bpp"); const u8 gMonIcon_ZigzagoonGalarian[] = INCBIN_U8("graphics/pokemon/zigzagoon/galarian/icon.4bpp"); const u8 gMonIcon_LinooneGalarian[] = INCBIN_U8("graphics/pokemon/linoone/galarian/icon.4bpp"); +#if P_GEN_5_POKEMON == TRUE const u8 gMonIcon_DarumakaGalarian[] = INCBIN_U8("graphics/pokemon/darumaka/galarian/icon.4bpp"); const u8 gMonIcon_DarmanitanGalarian[] = INCBIN_U8("graphics/pokemon/darmanitan/galarian/icon.4bpp"); const u8 gMonIcon_YamaskGalarian[] = INCBIN_U8("graphics/pokemon/yamask/galarian/icon.4bpp"); const u8 gMonIcon_StunfiskGalarian[] = INCBIN_U8("graphics/pokemon/stunfisk/galarian/icon.4bpp"); +#endif const u8 gMonIcon_GrowlitheHisuian[] = INCBIN_U8("graphics/pokemon/growlithe/hisuian/icon.4bpp"); const u8 gMonIcon_ArcanineHisuian[] = INCBIN_U8("graphics/pokemon/arcanine/hisuian/icon.4bpp"); const u8 gMonIcon_VoltorbHisuian[] = INCBIN_U8("graphics/pokemon/voltorb/hisuian/icon.4bpp"); @@ -5771,15 +5908,21 @@ const u8 gMonIcon_ElectrodeHisuian[] = INCBIN_U8("graphics/pokemon/electrode/his const u8 gMonIcon_TyphlosionHisuian[] = INCBIN_U8("graphics/pokemon/typhlosion/hisuian/icon.4bpp"); const u8 gMonIcon_QwilfishHisuian[] = INCBIN_U8("graphics/pokemon/qwilfish/hisuian/icon.4bpp"); const u8 gMonIcon_SneaselHisuian[] = INCBIN_U8("graphics/pokemon/sneasel/hisuian/icon.4bpp"); +#if P_GEN_5_POKEMON == TRUE const u8 gMonIcon_SamurottHisuian[] = INCBIN_U8("graphics/pokemon/samurott/hisuian/icon.4bpp"); const u8 gMonIcon_LilligantHisuian[] = INCBIN_U8("graphics/pokemon/lilligant/hisuian/icon.4bpp"); const u8 gMonIcon_ZoruaHisuian[] = INCBIN_U8("graphics/pokemon/zorua/hisuian/icon.4bpp"); const u8 gMonIcon_ZoroarkHisuian[] = INCBIN_U8("graphics/pokemon/zoroark/hisuian/icon.4bpp"); const u8 gMonIcon_BraviaryHisuian[] = INCBIN_U8("graphics/pokemon/braviary/hisuian/icon.4bpp"); +#endif +#if P_GEN_6_POKEMON == TRUE const u8 gMonIcon_SliggooHisuian[] = INCBIN_U8("graphics/pokemon/sliggoo/hisuian/icon.4bpp"); const u8 gMonIcon_GoodraHisuian[] = INCBIN_U8("graphics/pokemon/goodra/hisuian/icon.4bpp"); const u8 gMonIcon_AvaluggHisuian[] = INCBIN_U8("graphics/pokemon/avalugg/hisuian/icon.4bpp"); +#endif +#if P_GEN_7_POKEMON == TRUE const u8 gMonIcon_DecidueyeHisuian[] = INCBIN_U8("graphics/pokemon/decidueye/hisuian/icon.4bpp"); +#endif const u8 gMonIcon_PikachuCosplay[] = INCBIN_U8("graphics/pokemon/pikachu/cosplay/icon.4bpp"); const u8 gMonIcon_PikachuRockStar[] = INCBIN_U8("graphics/pokemon/pikachu/rock_star/icon.4bpp"); const u8 gMonIcon_PikachuBelle[] = INCBIN_U8("graphics/pokemon/pikachu/belle/icon.4bpp"); @@ -5794,7 +5937,6 @@ const u8 gMonIcon_PikachuKalosCap[] = INCBIN_U8("graphics/pokemon/pikachu/kalos_ const u8 gMonIcon_PikachuAlolaCap[] = INCBIN_U8("graphics/pokemon/pikachu/alola_cap/icon.4bpp"); const u8 gMonIcon_PikachuPartnerCap[] = INCBIN_U8("graphics/pokemon/pikachu/partner_cap/icon.4bpp"); const u8 gMonIcon_PichuSpikyEared[] = INCBIN_U8("graphics/pokemon/pichu/spiky_eared/icon.4bpp"); -#endif const u8 gMonIcon_UnownB[] = INCBIN_U8("graphics/pokemon/unown/b/icon.4bpp"); const u8 gMonIcon_UnownC[] = INCBIN_U8("graphics/pokemon/unown/c/icon.4bpp"); const u8 gMonIcon_UnownD[] = INCBIN_U8("graphics/pokemon/unown/d/icon.4bpp"); @@ -5828,7 +5970,7 @@ const u8 gMonIcon_CastformSnowy[] = INCBIN_U8("graphics/pokemon/castform/snowy/i const u8 gMonIcon_DeoxysAttack[] = INCBIN_U8("graphics/pokemon/deoxys/attack/icon.4bpp"); const u8 gMonIcon_DeoxysDefense[] = INCBIN_U8("graphics/pokemon/deoxys/defense/icon.4bpp"); const u8 gMonIcon_DeoxysSpeed[] = INCBIN_U8("graphics/pokemon/deoxys/speed/icon.4bpp"); -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE const u8 gMonIcon_BurmySandyCloak[] = INCBIN_U8("graphics/pokemon/burmy/sandy_cloak/icon.4bpp"); const u8 gMonIcon_BurmyTrashCloak[] = INCBIN_U8("graphics/pokemon/burmy/trash_cloak/icon.4bpp"); const u8 gMonIcon_WormadamSandyCloak[] = INCBIN_U8("graphics/pokemon/wormadam/sandy_cloak/icon.4bpp"); @@ -5845,6 +5987,8 @@ const u8 gMonIcon_DialgaOrigin[] = INCBIN_U8("graphics/pokemon/dialga/origin/ico const u8 gMonIcon_PalkiaOrigin[] = INCBIN_U8("graphics/pokemon/palkia/origin/icon.4bpp"); const u8 gMonIcon_GiratinaOrigin[] = INCBIN_U8("graphics/pokemon/giratina/origin/icon.4bpp"); const u8 gMonIcon_ShayminSky[] = INCBIN_U8("graphics/pokemon/shaymin/sky/icon.4bpp"); +#endif +#if P_GEN_5_POKEMON == TRUE const u8 gMonIcon_BasculinBlueStriped[] = INCBIN_U8("graphics/pokemon/basculin/blue_striped/icon.4bpp"); const u8 gMonIcon_BasculinWhiteStriped[] = INCBIN_U8("graphics/pokemon/basculin/white_striped/icon.4bpp"); const u8 gMonIcon_DarmanitanZenMode[] = INCBIN_U8("graphics/pokemon/darmanitan/zen_mode/icon.4bpp"); @@ -5858,11 +6002,12 @@ const u8 gMonIcon_SawsbuckWinter[] = INCBIN_U8("graphics/pokemon/sawsbuck/winter const u8 gMonIcon_TornadusTherian[] = INCBIN_U8("graphics/pokemon/tornadus/therian/icon.4bpp"); const u8 gMonIcon_ThundurusTherian[] = INCBIN_U8("graphics/pokemon/thundurus/therian/icon.4bpp"); const u8 gMonIcon_LandorusTherian[] = INCBIN_U8("graphics/pokemon/landorus/therian/icon.4bpp"); -const u8 gMonIcon_EnamorusTherian[] = INCBIN_U8("graphics/pokemon/enamorus/therian/icon.4bpp"); const u8 gMonIcon_KyuremWhite[] = INCBIN_U8("graphics/pokemon/kyurem/white/icon.4bpp"); const u8 gMonIcon_KyuremBlack[] = INCBIN_U8("graphics/pokemon/kyurem/black/icon.4bpp"); const u8 gMonIcon_KeldeoResolute[] = INCBIN_U8("graphics/pokemon/keldeo/resolute/icon.4bpp"); const u8 gMonIcon_MeloettaPirouette[] = INCBIN_U8("graphics/pokemon/meloetta/pirouette/icon.4bpp"); +#endif +#if P_GEN_6_POKEMON == TRUE const u8 gMonIcon_GreninjaAsh[] = INCBIN_U8("graphics/pokemon/greninja/ash/icon.4bpp"); const u8 gMonIcon_VivillonPolar[] = INCBIN_U8("graphics/pokemon/vivillon/polar/icon.4bpp"); const u8 gMonIcon_VivillonTundra[] = INCBIN_U8("graphics/pokemon/vivillon/tundra/icon.4bpp"); @@ -5911,6 +6056,8 @@ const u8 gMonIcon_XerneasActive[] = INCBIN_U8("graphics/pokemon/xerneas/active/i const u8 gMonIcon_Zygarde10[] = INCBIN_U8("graphics/pokemon/zygarde/10_percent/icon.4bpp"); const u8 gMonIcon_ZygardeComplete[] = INCBIN_U8("graphics/pokemon/zygarde/complete/icon.4bpp"); const u8 gMonIcon_HoopaUnbound[] = INCBIN_U8("graphics/pokemon/hoopa/unbound/icon.4bpp"); +#endif +#if P_GEN_7_POKEMON == TRUE const u8 gMonIcon_OricorioPomPom[] = INCBIN_U8("graphics/pokemon/oricorio/pom_pom/icon.4bpp"); const u8 gMonIcon_OricorioPau[] = INCBIN_U8("graphics/pokemon/oricorio/pau/icon.4bpp"); const u8 gMonIcon_OricorioSensu[] = INCBIN_U8("graphics/pokemon/oricorio/sensu/icon.4bpp"); @@ -5929,6 +6076,8 @@ const u8 gMonIcon_NecrozmaDuskMane[] = INCBIN_U8("graphics/pokemon/necrozma/dusk const u8 gMonIcon_NecrozmaDawnWings[] = INCBIN_U8("graphics/pokemon/necrozma/dawn_wings/icon.4bpp"); const u8 gMonIcon_NecrozmaUltra[] = INCBIN_U8("graphics/pokemon/necrozma/ultra/icon.4bpp"); const u8 gMonIcon_MagearnaOriginalColor[] = INCBIN_U8("graphics/pokemon/magearna/original_color/icon.4bpp"); +#endif +#if P_GEN_8_POKEMON == TRUE const u8 gMonIcon_CramorantGulping[] = INCBIN_U8("graphics/pokemon/cramorant/gulping/icon.4bpp"); const u8 gMonIcon_CramorantGorging[] = INCBIN_U8("graphics/pokemon/cramorant/gorging/icon.4bpp"); const u8 gMonIcon_ToxtricityLowKey[] = INCBIN_U8("graphics/pokemon/toxtricity/low_key/icon.4bpp"); @@ -5949,6 +6098,7 @@ const u8 gMonIcon_EternatusEternamax[] = INCBIN_U8("graphics/pokemon/eternatus/e const u8 gMonIcon_ZarudeDada[] = INCBIN_U8("graphics/pokemon/zarude/dada/icon.4bpp"); const u8 gMonIcon_CalyrexIceRider[] = INCBIN_U8("graphics/pokemon/calyrex/ice_rider/icon.4bpp"); const u8 gMonIcon_CalyrexShadowRider[] = INCBIN_U8("graphics/pokemon/calyrex/shadow_rider/icon.4bpp"); +const u8 gMonIcon_EnamorusTherian[] = INCBIN_U8("graphics/pokemon/enamorus/therian/icon.4bpp"); #endif const u8 gMonIcon_Egg[] = INCBIN_U8("graphics/pokemon/egg/icon.4bpp"); @@ -6339,7 +6489,7 @@ const u8 gMonFootprint_Latios[] = INCBIN_U8("graphics/pokemon/latios/footprint.1 const u8 gMonFootprint_Jirachi[] = INCBIN_U8("graphics/pokemon/jirachi/footprint.1bpp"); const u8 gMonFootprint_Deoxys[] = INCBIN_U8("graphics/pokemon/deoxys/footprint.1bpp"); const u8 gMonFootprint_Chimecho[] = INCBIN_U8("graphics/pokemon/chimecho/footprint.1bpp"); -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE const u8 gMonFootprint_Turtwig[] = INCBIN_U8("graphics/pokemon/turtwig/footprint.1bpp"); const u8 gMonFootprint_Grotle[] = INCBIN_U8("graphics/pokemon/grotle/footprint.1bpp"); const u8 gMonFootprint_Torterra[] = INCBIN_U8("graphics/pokemon/torterra/footprint.1bpp"); @@ -6447,6 +6597,8 @@ const u8 gMonFootprint_Manaphy[] = INCBIN_U8("graphics/pokemon/manaphy/footprint const u8 gMonFootprint_Darkrai[] = INCBIN_U8("graphics/pokemon/darkrai/footprint.1bpp"); const u8 gMonFootprint_Shaymin[] = INCBIN_U8("graphics/pokemon/shaymin/footprint.1bpp"); const u8 gMonFootprint_Arceus[] = INCBIN_U8("graphics/pokemon/arceus/footprint.1bpp"); +#endif +#if P_GEN_5_POKEMON == TRUE const u8 gMonFootprint_Victini[] = INCBIN_U8("graphics/pokemon/victini/footprint.1bpp"); const u8 gMonFootprint_Snivy[] = INCBIN_U8("graphics/pokemon/snivy/footprint.1bpp"); const u8 gMonFootprint_Servine[] = INCBIN_U8("graphics/pokemon/servine/footprint.1bpp"); @@ -6603,6 +6755,8 @@ const u8 gMonFootprint_Kyurem[] = INCBIN_U8("graphics/pokemon/kyurem/footprint.1 const u8 gMonFootprint_Keldeo[] = INCBIN_U8("graphics/pokemon/keldeo/footprint.1bpp"); const u8 gMonFootprint_Meloetta[] = INCBIN_U8("graphics/pokemon/meloetta/footprint.1bpp"); const u8 gMonFootprint_Genesect[] = INCBIN_U8("graphics/pokemon/genesect/footprint.1bpp"); +#endif +#if P_GEN_6_POKEMON == TRUE const u8 gMonFootprint_Chespin[] = INCBIN_U8("graphics/pokemon/chespin/footprint.1bpp"); const u8 gMonFootprint_Quilladin[] = INCBIN_U8("graphics/pokemon/quilladin/footprint.1bpp"); const u8 gMonFootprint_Chesnaught[] = INCBIN_U8("graphics/pokemon/chesnaught/footprint.1bpp"); @@ -6675,6 +6829,8 @@ const u8 gMonFootprint_Zygarde[] = INCBIN_U8("graphics/pokemon/zygarde/footprint const u8 gMonFootprint_Diancie[] = INCBIN_U8("graphics/pokemon/diancie/footprint.1bpp"); const u8 gMonFootprint_Hoopa[] = INCBIN_U8("graphics/pokemon/hoopa/footprint.1bpp"); const u8 gMonFootprint_Volcanion[] = INCBIN_U8("graphics/pokemon/volcanion/footprint.1bpp"); +#endif +#if P_GEN_7_POKEMON == TRUE const u8 gMonFootprint_Rowlet[] = INCBIN_U8("graphics/pokemon/rowlet/footprint.1bpp"); const u8 gMonFootprint_Dartrix[] = INCBIN_U8("graphics/pokemon/dartrix/footprint.1bpp"); const u8 gMonFootprint_Decidueye[] = INCBIN_U8("graphics/pokemon/decidueye/footprint.1bpp"); @@ -6763,6 +6919,8 @@ const u8 gMonFootprint_Blacephalon[] = INCBIN_U8("graphics/pokemon/blacephalon/f const u8 gMonFootprint_Zeraora[] = INCBIN_U8("graphics/pokemon/zeraora/footprint.1bpp"); const u8 gMonFootprint_Meltan[] = INCBIN_U8("graphics/pokemon/meltan/footprint.1bpp"); const u8 gMonFootprint_Melmetal[] = INCBIN_U8("graphics/pokemon/melmetal/footprint.1bpp"); +#endif +#if P_GEN_8_POKEMON == TRUE const u8 gMonFootprint_Grookey[] = INCBIN_U8("graphics/pokemon/grookey/footprint.1bpp"); const u8 gMonFootprint_Thwackey[] = INCBIN_U8("graphics/pokemon/thwackey/footprint.1bpp"); const u8 gMonFootprint_Rillaboom[] = INCBIN_U8("graphics/pokemon/rillaboom/footprint.1bpp"); diff --git a/src/data/graphics/trainers.h b/src/data/graphics/trainers.h index 206d73a88..fbdea7472 100644 --- a/src/data/graphics/trainers.h +++ b/src/data/graphics/trainers.h @@ -1,290 +1,290 @@ -const u32 gTrainerFrontPic_Hiker[] = INCBIN_U32("graphics/trainers/front_pics/hiker_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Hiker[] = INCBIN_U32("graphics/trainers/palettes/hiker.gbapal.lz"); +const u32 gTrainerFrontPic_Hiker[] = INCBIN_U32("graphics/trainers/front_pics/hiker.4bpp.lz"); +const u32 gTrainerPalette_Hiker[] = INCBIN_U32("graphics/trainers/front_pics/hiker.gbapal.lz"); -const u32 gTrainerFrontPic_AquaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_AquaGruntM[] = INCBIN_U32("graphics/trainers/palettes/aqua_grunt_m.gbapal.lz"); +const u32 gTrainerFrontPic_AquaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_m.4bpp.lz"); +const u32 gTrainerPalette_AquaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_m.gbapal.lz"); -const u32 gTrainerFrontPic_PokemonBreederF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PokemonBreederF[] = INCBIN_U32("graphics/trainers/palettes/pokemon_breeder_f.gbapal.lz"); +const u32 gTrainerFrontPic_PokemonBreederF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_f.4bpp.lz"); +const u32 gTrainerPalette_PokemonBreederF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_f.gbapal.lz"); -const u32 gTrainerFrontPic_CoolTrainerM[] = INCBIN_U32("graphics/trainers/front_pics/cooltrainer_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_CoolTrainerM[] = INCBIN_U32("graphics/trainers/palettes/cooltrainer_m.gbapal.lz"); +const u32 gTrainerFrontPic_CoolTrainerM[] = INCBIN_U32("graphics/trainers/front_pics/cooltrainer_m.4bpp.lz"); +const u32 gTrainerPalette_CoolTrainerM[] = INCBIN_U32("graphics/trainers/front_pics/cooltrainer_m.gbapal.lz"); -const u32 gTrainerFrontPic_BirdKeeper[] = INCBIN_U32("graphics/trainers/front_pics/bird_keeper_front_pic.4bpp.lz"); -const u32 gTrainerPalette_BirdKeeper[] = INCBIN_U32("graphics/trainers/palettes/bird_keeper.gbapal.lz"); +const u32 gTrainerFrontPic_BirdKeeper[] = INCBIN_U32("graphics/trainers/front_pics/bird_keeper.4bpp.lz"); +const u32 gTrainerPalette_BirdKeeper[] = INCBIN_U32("graphics/trainers/front_pics/bird_keeper.gbapal.lz"); -const u32 gTrainerFrontPic_Collector[] = INCBIN_U32("graphics/trainers/front_pics/collector_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Collector[] = INCBIN_U32("graphics/trainers/palettes/collector.gbapal.lz"); +const u32 gTrainerFrontPic_Collector[] = INCBIN_U32("graphics/trainers/front_pics/collector.4bpp.lz"); +const u32 gTrainerPalette_Collector[] = INCBIN_U32("graphics/trainers/front_pics/collector.gbapal.lz"); -const u32 gTrainerFrontPic_AquaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_AquaGruntF[] = INCBIN_U32("graphics/trainers/palettes/aqua_grunt_f.gbapal.lz"); +const u32 gTrainerFrontPic_AquaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_f.4bpp.lz"); +const u32 gTrainerPalette_AquaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_f.gbapal.lz"); -const u32 gTrainerFrontPic_SwimmerM[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SwimmerM[] = INCBIN_U32("graphics/trainers/palettes/swimmer_m.gbapal.lz"); +const u32 gTrainerFrontPic_SwimmerM[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_m.4bpp.lz"); +const u32 gTrainerPalette_SwimmerM[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_m.gbapal.lz"); -const u32 gTrainerFrontPic_MagmaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_MagmaGruntM[] = INCBIN_U32("graphics/trainers/palettes/magma_grunt_m.gbapal.lz"); +const u32 gTrainerFrontPic_MagmaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_m.4bpp.lz"); +const u32 gTrainerPalette_MagmaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_m.gbapal.lz"); -const u32 gTrainerFrontPic_ExpertM[] = INCBIN_U32("graphics/trainers/front_pics/expert_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_ExpertM[] = INCBIN_U32("graphics/trainers/palettes/expert_m.gbapal.lz"); +const u32 gTrainerFrontPic_ExpertM[] = INCBIN_U32("graphics/trainers/front_pics/expert_m.4bpp.lz"); +const u32 gTrainerPalette_ExpertM[] = INCBIN_U32("graphics/trainers/front_pics/expert_m.gbapal.lz"); -const u32 gTrainerFrontPic_AquaAdminM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_AquaAdminM[] = INCBIN_U32("graphics/trainers/palettes/aqua_admin_m.gbapal.lz"); +const u32 gTrainerFrontPic_AquaAdminM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_m.4bpp.lz"); +const u32 gTrainerPalette_AquaAdminM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_m.gbapal.lz"); -const u32 gTrainerFrontPic_BlackBelt[] = INCBIN_U32("graphics/trainers/front_pics/black_belt_front_pic.4bpp.lz"); -const u32 gTrainerPalette_BlackBelt[] = INCBIN_U32("graphics/trainers/palettes/black_belt.gbapal.lz"); +const u32 gTrainerFrontPic_BlackBelt[] = INCBIN_U32("graphics/trainers/front_pics/black_belt.4bpp.lz"); +const u32 gTrainerPalette_BlackBelt[] = INCBIN_U32("graphics/trainers/front_pics/black_belt.gbapal.lz"); -const u32 gTrainerFrontPic_AquaAdminF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_AquaAdminF[] = INCBIN_U32("graphics/trainers/palettes/aqua_admin_f.gbapal.lz"); +const u32 gTrainerFrontPic_AquaAdminF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_f.4bpp.lz"); +const u32 gTrainerPalette_AquaAdminF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_f.gbapal.lz"); -const u32 gTrainerFrontPic_AquaLeaderArchie[] = INCBIN_U32("graphics/trainers/front_pics/aqua_leader_archie_front_pic.4bpp.lz"); -const u32 gTrainerPalette_AquaLeaderArchie[] = INCBIN_U32("graphics/trainers/palettes/aqua_leader_archie.gbapal.lz"); +const u32 gTrainerFrontPic_AquaLeaderArchie[] = INCBIN_U32("graphics/trainers/front_pics/aqua_leader_archie.4bpp.lz"); +const u32 gTrainerPalette_AquaLeaderArchie[] = INCBIN_U32("graphics/trainers/front_pics/aqua_leader_archie.gbapal.lz"); -const u32 gTrainerFrontPic_HexManiac[] = INCBIN_U32("graphics/trainers/front_pics/hex_maniac_front_pic.4bpp.lz"); -const u32 gTrainerPalette_HexManiac[] = INCBIN_U32("graphics/trainers/palettes/hex_maniac.gbapal.lz"); +const u32 gTrainerFrontPic_HexManiac[] = INCBIN_U32("graphics/trainers/front_pics/hex_maniac.4bpp.lz"); +const u32 gTrainerPalette_HexManiac[] = INCBIN_U32("graphics/trainers/front_pics/hex_maniac.gbapal.lz"); -const u32 gTrainerFrontPic_AromaLady[] = INCBIN_U32("graphics/trainers/front_pics/aroma_lady_front_pic.4bpp.lz"); -const u32 gTrainerPalette_AromaLady[] = INCBIN_U32("graphics/trainers/palettes/aroma_lady.gbapal.lz"); +const u32 gTrainerFrontPic_AromaLady[] = INCBIN_U32("graphics/trainers/front_pics/aroma_lady.4bpp.lz"); +const u32 gTrainerPalette_AromaLady[] = INCBIN_U32("graphics/trainers/front_pics/aroma_lady.gbapal.lz"); -const u32 gTrainerFrontPic_RuinManiac[] = INCBIN_U32("graphics/trainers/front_pics/ruin_maniac_front_pic.4bpp.lz"); -const u32 gTrainerPalette_RuinManiac[] = INCBIN_U32("graphics/trainers/palettes/ruin_maniac.gbapal.lz"); +const u32 gTrainerFrontPic_RuinManiac[] = INCBIN_U32("graphics/trainers/front_pics/ruin_maniac.4bpp.lz"); +const u32 gTrainerPalette_RuinManiac[] = INCBIN_U32("graphics/trainers/front_pics/ruin_maniac.gbapal.lz"); -const u32 gTrainerFrontPic_Interviewer[] = INCBIN_U32("graphics/trainers/front_pics/interviewer_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Interviewer[] = INCBIN_U32("graphics/trainers/palettes/interviewer.gbapal.lz"); +const u32 gTrainerFrontPic_Interviewer[] = INCBIN_U32("graphics/trainers/front_pics/interviewer.4bpp.lz"); +const u32 gTrainerPalette_Interviewer[] = INCBIN_U32("graphics/trainers/front_pics/interviewer.gbapal.lz"); -const u32 gTrainerFrontPic_TuberF[] = INCBIN_U32("graphics/trainers/front_pics/tuber_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_TuberF[] = INCBIN_U32("graphics/trainers/palettes/tuber_f.gbapal.lz"); +const u32 gTrainerFrontPic_TuberF[] = INCBIN_U32("graphics/trainers/front_pics/tuber_f.4bpp.lz"); +const u32 gTrainerPalette_TuberF[] = INCBIN_U32("graphics/trainers/front_pics/tuber_f.gbapal.lz"); -const u32 gTrainerFrontPic_TuberM[] = INCBIN_U32("graphics/trainers/front_pics/tuber_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_TuberM[] = INCBIN_U32("graphics/trainers/palettes/tuber_m.gbapal.lz"); +const u32 gTrainerFrontPic_TuberM[] = INCBIN_U32("graphics/trainers/front_pics/tuber_m.4bpp.lz"); +const u32 gTrainerPalette_TuberM[] = INCBIN_U32("graphics/trainers/front_pics/tuber_m.gbapal.lz"); -const u32 gTrainerFrontPic_CoolTrainerF[] = INCBIN_U32("graphics/trainers/front_pics/cooltrainer_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_CoolTrainerF[] = INCBIN_U32("graphics/trainers/palettes/cooltrainer_f.gbapal.lz"); +const u32 gTrainerFrontPic_CoolTrainerF[] = INCBIN_U32("graphics/trainers/front_pics/cooltrainer_f.4bpp.lz"); +const u32 gTrainerPalette_CoolTrainerF[] = INCBIN_U32("graphics/trainers/front_pics/cooltrainer_f.gbapal.lz"); -const u32 gTrainerFrontPic_Lady[] = INCBIN_U32("graphics/trainers/front_pics/lady_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Lady[] = INCBIN_U32("graphics/trainers/palettes/lady.gbapal.lz"); +const u32 gTrainerFrontPic_Lady[] = INCBIN_U32("graphics/trainers/front_pics/lady.4bpp.lz"); +const u32 gTrainerPalette_Lady[] = INCBIN_U32("graphics/trainers/front_pics/lady.gbapal.lz"); -const u32 gTrainerFrontPic_Beauty[] = INCBIN_U32("graphics/trainers/front_pics/beauty_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Beauty[] = INCBIN_U32("graphics/trainers/palettes/beauty.gbapal.lz"); +const u32 gTrainerFrontPic_Beauty[] = INCBIN_U32("graphics/trainers/front_pics/beauty.4bpp.lz"); +const u32 gTrainerPalette_Beauty[] = INCBIN_U32("graphics/trainers/front_pics/beauty.gbapal.lz"); -const u32 gTrainerFrontPic_RichBoy[] = INCBIN_U32("graphics/trainers/front_pics/rich_boy_front_pic.4bpp.lz"); -const u32 gTrainerPalette_RichBoy[] = INCBIN_U32("graphics/trainers/palettes/rich_boy.gbapal.lz"); +const u32 gTrainerFrontPic_RichBoy[] = INCBIN_U32("graphics/trainers/front_pics/rich_boy.4bpp.lz"); +const u32 gTrainerPalette_RichBoy[] = INCBIN_U32("graphics/trainers/front_pics/rich_boy.gbapal.lz"); -const u32 gTrainerFrontPic_ExpertF[] = INCBIN_U32("graphics/trainers/front_pics/expert_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_ExpertF[] = INCBIN_U32("graphics/trainers/palettes/expert_f.gbapal.lz"); +const u32 gTrainerFrontPic_ExpertF[] = INCBIN_U32("graphics/trainers/front_pics/expert_f.4bpp.lz"); +const u32 gTrainerPalette_ExpertF[] = INCBIN_U32("graphics/trainers/front_pics/expert_f.gbapal.lz"); -const u32 gTrainerFrontPic_Pokemaniac[] = INCBIN_U32("graphics/trainers/front_pics/pokemaniac_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Pokemaniac[] = INCBIN_U32("graphics/trainers/palettes/pokemaniac.gbapal.lz"); +const u32 gTrainerFrontPic_Pokemaniac[] = INCBIN_U32("graphics/trainers/front_pics/pokemaniac.4bpp.lz"); +const u32 gTrainerPalette_Pokemaniac[] = INCBIN_U32("graphics/trainers/front_pics/pokemaniac.gbapal.lz"); -const u32 gTrainerFrontPic_MagmaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_MagmaGruntF[] = INCBIN_U32("graphics/trainers/palettes/magma_grunt_f.gbapal.lz"); +const u32 gTrainerFrontPic_MagmaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_f.4bpp.lz"); +const u32 gTrainerPalette_MagmaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_f.gbapal.lz"); -const u32 gTrainerFrontPic_Guitarist[] = INCBIN_U32("graphics/trainers/front_pics/guitarist_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Guitarist[] = INCBIN_U32("graphics/trainers/palettes/guitarist.gbapal.lz"); +const u32 gTrainerFrontPic_Guitarist[] = INCBIN_U32("graphics/trainers/front_pics/guitarist.4bpp.lz"); +const u32 gTrainerPalette_Guitarist[] = INCBIN_U32("graphics/trainers/front_pics/guitarist.gbapal.lz"); -const u32 gTrainerFrontPic_Kindler[] = INCBIN_U32("graphics/trainers/front_pics/kindler_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Kindler[] = INCBIN_U32("graphics/trainers/palettes/kindler.gbapal.lz"); +const u32 gTrainerFrontPic_Kindler[] = INCBIN_U32("graphics/trainers/front_pics/kindler.4bpp.lz"); +const u32 gTrainerPalette_Kindler[] = INCBIN_U32("graphics/trainers/front_pics/kindler.gbapal.lz"); -const u32 gTrainerFrontPic_Camper[] = INCBIN_U32("graphics/trainers/front_pics/camper_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Camper[] = INCBIN_U32("graphics/trainers/palettes/camper.gbapal.lz"); +const u32 gTrainerFrontPic_Camper[] = INCBIN_U32("graphics/trainers/front_pics/camper.4bpp.lz"); +const u32 gTrainerPalette_Camper[] = INCBIN_U32("graphics/trainers/front_pics/camper.gbapal.lz"); -const u32 gTrainerFrontPic_Picnicker[] = INCBIN_U32("graphics/trainers/front_pics/picnicker_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Picnicker[] = INCBIN_U32("graphics/trainers/palettes/picnicker.gbapal.lz"); +const u32 gTrainerFrontPic_Picnicker[] = INCBIN_U32("graphics/trainers/front_pics/picnicker.4bpp.lz"); +const u32 gTrainerPalette_Picnicker[] = INCBIN_U32("graphics/trainers/front_pics/picnicker.gbapal.lz"); -const u32 gTrainerFrontPic_BugManiac[] = INCBIN_U32("graphics/trainers/front_pics/bug_maniac_front_pic.4bpp.lz"); -const u32 gTrainerPalette_BugManiac[] = INCBIN_U32("graphics/trainers/palettes/bug_maniac.gbapal.lz"); +const u32 gTrainerFrontPic_BugManiac[] = INCBIN_U32("graphics/trainers/front_pics/bug_maniac.4bpp.lz"); +const u32 gTrainerPalette_BugManiac[] = INCBIN_U32("graphics/trainers/front_pics/bug_maniac.gbapal.lz"); -const u32 gTrainerFrontPic_PokemonBreederM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PokemonBreederM[] = INCBIN_U32("graphics/trainers/palettes/pokemon_breeder_m.gbapal.lz"); +const u32 gTrainerFrontPic_PokemonBreederM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_m.4bpp.lz"); +const u32 gTrainerPalette_PokemonBreederM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_m.gbapal.lz"); -const u32 gTrainerFrontPic_PsychicM[] = INCBIN_U32("graphics/trainers/front_pics/psychic_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PsychicM[] = INCBIN_U32("graphics/trainers/palettes/psychic_m.gbapal.lz"); +const u32 gTrainerFrontPic_PsychicM[] = INCBIN_U32("graphics/trainers/front_pics/psychic_m.4bpp.lz"); +const u32 gTrainerPalette_PsychicM[] = INCBIN_U32("graphics/trainers/front_pics/psychic_m.gbapal.lz"); -const u32 gTrainerFrontPic_PsychicF[] = INCBIN_U32("graphics/trainers/front_pics/psychic_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PsychicF[] = INCBIN_U32("graphics/trainers/palettes/psychic_f.gbapal.lz"); +const u32 gTrainerFrontPic_PsychicF[] = INCBIN_U32("graphics/trainers/front_pics/psychic_f.4bpp.lz"); +const u32 gTrainerPalette_PsychicF[] = INCBIN_U32("graphics/trainers/front_pics/psychic_f.gbapal.lz"); -const u32 gTrainerFrontPic_Gentleman[] = INCBIN_U32("graphics/trainers/front_pics/gentleman_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Gentleman[] = INCBIN_U32("graphics/trainers/palettes/gentleman.gbapal.lz"); +const u32 gTrainerFrontPic_Gentleman[] = INCBIN_U32("graphics/trainers/front_pics/gentleman.4bpp.lz"); +const u32 gTrainerPalette_Gentleman[] = INCBIN_U32("graphics/trainers/front_pics/gentleman.gbapal.lz"); -const u32 gTrainerFrontPic_EliteFourSidney[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_sidney_front_pic.4bpp.lz"); -const u32 gTrainerPalette_EliteFourSidney[] = INCBIN_U32("graphics/trainers/palettes/elite_four_sidney.gbapal.lz"); +const u32 gTrainerFrontPic_EliteFourSidney[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_sidney.4bpp.lz"); +const u32 gTrainerPalette_EliteFourSidney[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_sidney.gbapal.lz"); -const u32 gTrainerFrontPic_EliteFourPhoebe[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_phoebe_front_pic.4bpp.lz"); -const u32 gTrainerPalette_EliteFourPhoebe[] = INCBIN_U32("graphics/trainers/palettes/elite_four_phoebe.gbapal.lz"); +const u32 gTrainerFrontPic_EliteFourPhoebe[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_phoebe.4bpp.lz"); +const u32 gTrainerPalette_EliteFourPhoebe[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_phoebe.gbapal.lz"); -const u32 gTrainerFrontPic_EliteFourGlacia[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_glacia_front_pic.4bpp.lz"); -const u32 gTrainerPalette_EliteFourGlacia[] = INCBIN_U32("graphics/trainers/palettes/elite_four_glacia.gbapal.lz"); +const u32 gTrainerFrontPic_EliteFourGlacia[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_glacia.4bpp.lz"); +const u32 gTrainerPalette_EliteFourGlacia[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_glacia.gbapal.lz"); -const u32 gTrainerFrontPic_EliteFourDrake[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_drake_front_pic.4bpp.lz"); -const u32 gTrainerPalette_EliteFourDrake[] = INCBIN_U32("graphics/trainers/palettes/elite_four_drake.gbapal.lz"); +const u32 gTrainerFrontPic_EliteFourDrake[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_drake.4bpp.lz"); +const u32 gTrainerPalette_EliteFourDrake[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_drake.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderRoxanne[] = INCBIN_U32("graphics/trainers/front_pics/leader_roxanne_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderRoxanne[] = INCBIN_U32("graphics/trainers/palettes/leader_roxanne.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderRoxanne[] = INCBIN_U32("graphics/trainers/front_pics/leader_roxanne.4bpp.lz"); +const u32 gTrainerPalette_LeaderRoxanne[] = INCBIN_U32("graphics/trainers/front_pics/leader_roxanne.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderBrawly[] = INCBIN_U32("graphics/trainers/front_pics/leader_brawly_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderBrawly[] = INCBIN_U32("graphics/trainers/palettes/leader_brawly.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderBrawly[] = INCBIN_U32("graphics/trainers/front_pics/leader_brawly.4bpp.lz"); +const u32 gTrainerPalette_LeaderBrawly[] = INCBIN_U32("graphics/trainers/front_pics/leader_brawly.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderWattson[] = INCBIN_U32("graphics/trainers/front_pics/leader_wattson_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderWattson[] = INCBIN_U32("graphics/trainers/palettes/leader_wattson.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderWattson[] = INCBIN_U32("graphics/trainers/front_pics/leader_wattson.4bpp.lz"); +const u32 gTrainerPalette_LeaderWattson[] = INCBIN_U32("graphics/trainers/front_pics/leader_wattson.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderFlannery[] = INCBIN_U32("graphics/trainers/front_pics/leader_flannery_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderFlannery[] = INCBIN_U32("graphics/trainers/palettes/leader_flannery.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderFlannery[] = INCBIN_U32("graphics/trainers/front_pics/leader_flannery.4bpp.lz"); +const u32 gTrainerPalette_LeaderFlannery[] = INCBIN_U32("graphics/trainers/front_pics/leader_flannery.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderNorman[] = INCBIN_U32("graphics/trainers/front_pics/leader_norman_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderNorman[] = INCBIN_U32("graphics/trainers/palettes/leader_norman.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderNorman[] = INCBIN_U32("graphics/trainers/front_pics/leader_norman.4bpp.lz"); +const u32 gTrainerPalette_LeaderNorman[] = INCBIN_U32("graphics/trainers/front_pics/leader_norman.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderWinona[] = INCBIN_U32("graphics/trainers/front_pics/leader_winona_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderWinona[] = INCBIN_U32("graphics/trainers/palettes/leader_winona.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderWinona[] = INCBIN_U32("graphics/trainers/front_pics/leader_winona.4bpp.lz"); +const u32 gTrainerPalette_LeaderWinona[] = INCBIN_U32("graphics/trainers/front_pics/leader_winona.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderTateAndLiza[] = INCBIN_U32("graphics/trainers/front_pics/leader_tate_and_liza_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderTateAndLiza[] = INCBIN_U32("graphics/trainers/palettes/leader_tate_and_liza.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderTateAndLiza[] = INCBIN_U32("graphics/trainers/front_pics/leader_tate_and_liza.4bpp.lz"); +const u32 gTrainerPalette_LeaderTateAndLiza[] = INCBIN_U32("graphics/trainers/front_pics/leader_tate_and_liza.gbapal.lz"); -const u32 gTrainerFrontPic_LeaderJuan[] = INCBIN_U32("graphics/trainers/front_pics/leader_juan_front_pic.4bpp.lz"); -const u32 gTrainerPalette_LeaderJuan[] = INCBIN_U32("graphics/trainers/palettes/leader_juan.gbapal.lz"); +const u32 gTrainerFrontPic_LeaderJuan[] = INCBIN_U32("graphics/trainers/front_pics/leader_juan.4bpp.lz"); +const u32 gTrainerPalette_LeaderJuan[] = INCBIN_U32("graphics/trainers/front_pics/leader_juan.gbapal.lz"); -const u32 gTrainerFrontPic_SchoolKidM[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SchoolKidM[] = INCBIN_U32("graphics/trainers/palettes/school_kid_m.gbapal.lz"); +const u32 gTrainerFrontPic_SchoolKidM[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_m.4bpp.lz"); +const u32 gTrainerPalette_SchoolKidM[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_m.gbapal.lz"); -const u32 gTrainerFrontPic_SchoolKidF[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SchoolKidF[] = INCBIN_U32("graphics/trainers/palettes/school_kid_f.gbapal.lz"); +const u32 gTrainerFrontPic_SchoolKidF[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_f.4bpp.lz"); +const u32 gTrainerPalette_SchoolKidF[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_f.gbapal.lz"); -const u32 gTrainerFrontPic_SrAndJr[] = INCBIN_U32("graphics/trainers/front_pics/sr_and_jr_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SrAndJr[] = INCBIN_U32("graphics/trainers/palettes/sr_and_jr.gbapal.lz"); +const u32 gTrainerFrontPic_SrAndJr[] = INCBIN_U32("graphics/trainers/front_pics/sr_and_jr.4bpp.lz"); +const u32 gTrainerPalette_SrAndJr[] = INCBIN_U32("graphics/trainers/front_pics/sr_and_jr.gbapal.lz"); -const u32 gTrainerFrontPic_PokefanM[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PokefanM[] = INCBIN_U32("graphics/trainers/palettes/pokefan_m.gbapal.lz"); +const u32 gTrainerFrontPic_PokefanM[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_m.4bpp.lz"); +const u32 gTrainerPalette_PokefanM[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_m.gbapal.lz"); -const u32 gTrainerFrontPic_PokefanF[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PokefanF[] = INCBIN_U32("graphics/trainers/palettes/pokefan_f.gbapal.lz"); +const u32 gTrainerFrontPic_PokefanF[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_f.4bpp.lz"); +const u32 gTrainerPalette_PokefanF[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_f.gbapal.lz"); -const u32 gTrainerFrontPic_Youngster[] = INCBIN_U32("graphics/trainers/front_pics/youngster_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Youngster[] = INCBIN_U32("graphics/trainers/palettes/youngster.gbapal.lz"); +const u32 gTrainerFrontPic_Youngster[] = INCBIN_U32("graphics/trainers/front_pics/youngster.4bpp.lz"); +const u32 gTrainerPalette_Youngster[] = INCBIN_U32("graphics/trainers/front_pics/youngster.gbapal.lz"); -const u32 gTrainerFrontPic_ChampionWallace[] = INCBIN_U32("graphics/trainers/front_pics/champion_wallace_front_pic.4bpp.lz"); -const u32 gTrainerPalette_ChampionWallace[] = INCBIN_U32("graphics/trainers/palettes/champion_wallace.gbapal.lz"); +const u32 gTrainerFrontPic_ChampionWallace[] = INCBIN_U32("graphics/trainers/front_pics/champion_wallace.4bpp.lz"); +const u32 gTrainerPalette_ChampionWallace[] = INCBIN_U32("graphics/trainers/front_pics/champion_wallace.gbapal.lz"); -const u32 gTrainerFrontPic_Fisherman[] = INCBIN_U32("graphics/trainers/front_pics/fisherman_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Fisherman[] = INCBIN_U32("graphics/trainers/palettes/fisherman.gbapal.lz"); +const u32 gTrainerFrontPic_Fisherman[] = INCBIN_U32("graphics/trainers/front_pics/fisherman.4bpp.lz"); +const u32 gTrainerPalette_Fisherman[] = INCBIN_U32("graphics/trainers/front_pics/fisherman.gbapal.lz"); -const u32 gTrainerFrontPic_CyclingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_CyclingTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/cycling_triathlete_m.gbapal.lz"); +const u32 gTrainerFrontPic_CyclingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_m.4bpp.lz"); +const u32 gTrainerPalette_CyclingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_m.gbapal.lz"); -const u32 gTrainerFrontPic_CyclingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_CyclingTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/cycling_triathlete_f.gbapal.lz"); +const u32 gTrainerFrontPic_CyclingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_f.4bpp.lz"); +const u32 gTrainerPalette_CyclingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_f.gbapal.lz"); -const u32 gTrainerFrontPic_RunningTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_RunningTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/running_triathlete_m.gbapal.lz"); +const u32 gTrainerFrontPic_RunningTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_m.4bpp.lz"); +const u32 gTrainerPalette_RunningTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_m.gbapal.lz"); -const u32 gTrainerFrontPic_RunningTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_RunningTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/running_triathlete_f.gbapal.lz"); +const u32 gTrainerFrontPic_RunningTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_f.4bpp.lz"); +const u32 gTrainerPalette_RunningTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_f.gbapal.lz"); -const u32 gTrainerFrontPic_SwimmingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SwimmingTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/swimming_triathlete_m.gbapal.lz"); +const u32 gTrainerFrontPic_SwimmingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_m.4bpp.lz"); +const u32 gTrainerPalette_SwimmingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_m.gbapal.lz"); -const u32 gTrainerFrontPic_SwimmingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SwimmingTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/swimming_triathlete_f.gbapal.lz"); +const u32 gTrainerFrontPic_SwimmingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_f.4bpp.lz"); +const u32 gTrainerPalette_SwimmingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_f.gbapal.lz"); -const u32 gTrainerFrontPic_DragonTamer[] = INCBIN_U32("graphics/trainers/front_pics/dragon_tamer_front_pic.4bpp.lz"); -const u32 gTrainerPalette_DragonTamer[] = INCBIN_U32("graphics/trainers/palettes/dragon_tamer.gbapal.lz"); +const u32 gTrainerFrontPic_DragonTamer[] = INCBIN_U32("graphics/trainers/front_pics/dragon_tamer.4bpp.lz"); +const u32 gTrainerPalette_DragonTamer[] = INCBIN_U32("graphics/trainers/front_pics/dragon_tamer.gbapal.lz"); -const u32 gTrainerFrontPic_NinjaBoy[] = INCBIN_U32("graphics/trainers/front_pics/ninja_boy_front_pic.4bpp.lz"); -const u32 gTrainerPalette_NinjaBoy[] = INCBIN_U32("graphics/trainers/palettes/ninja_boy.gbapal.lz"); +const u32 gTrainerFrontPic_NinjaBoy[] = INCBIN_U32("graphics/trainers/front_pics/ninja_boy.4bpp.lz"); +const u32 gTrainerPalette_NinjaBoy[] = INCBIN_U32("graphics/trainers/front_pics/ninja_boy.gbapal.lz"); -const u32 gTrainerFrontPic_BattleGirl[] = INCBIN_U32("graphics/trainers/front_pics/battle_girl_front_pic.4bpp.lz"); -const u32 gTrainerPalette_BattleGirl[] = INCBIN_U32("graphics/trainers/palettes/battle_girl.gbapal.lz"); +const u32 gTrainerFrontPic_BattleGirl[] = INCBIN_U32("graphics/trainers/front_pics/battle_girl.4bpp.lz"); +const u32 gTrainerPalette_BattleGirl[] = INCBIN_U32("graphics/trainers/front_pics/battle_girl.gbapal.lz"); -const u32 gTrainerFrontPic_ParasolLady[] = INCBIN_U32("graphics/trainers/front_pics/parasol_lady_front_pic.4bpp.lz"); -const u32 gTrainerPalette_ParasolLady[] = INCBIN_U32("graphics/trainers/palettes/parasol_lady.gbapal.lz"); +const u32 gTrainerFrontPic_ParasolLady[] = INCBIN_U32("graphics/trainers/front_pics/parasol_lady.4bpp.lz"); +const u32 gTrainerPalette_ParasolLady[] = INCBIN_U32("graphics/trainers/front_pics/parasol_lady.gbapal.lz"); -const u32 gTrainerFrontPic_SwimmerF[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SwimmerF[] = INCBIN_U32("graphics/trainers/palettes/swimmer_f.gbapal.lz"); +const u32 gTrainerFrontPic_SwimmerF[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_f.4bpp.lz"); +const u32 gTrainerPalette_SwimmerF[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_f.gbapal.lz"); -const u32 gTrainerFrontPic_Twins[] = INCBIN_U32("graphics/trainers/front_pics/twins_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Twins[] = INCBIN_U32("graphics/trainers/palettes/twins.gbapal.lz"); +const u32 gTrainerFrontPic_Twins[] = INCBIN_U32("graphics/trainers/front_pics/twins.4bpp.lz"); +const u32 gTrainerPalette_Twins[] = INCBIN_U32("graphics/trainers/front_pics/twins.gbapal.lz"); -const u32 gTrainerFrontPic_Sailor[] = INCBIN_U32("graphics/trainers/front_pics/sailor_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Sailor[] = INCBIN_U32("graphics/trainers/palettes/sailor.gbapal.lz"); +const u32 gTrainerFrontPic_Sailor[] = INCBIN_U32("graphics/trainers/front_pics/sailor.4bpp.lz"); +const u32 gTrainerPalette_Sailor[] = INCBIN_U32("graphics/trainers/front_pics/sailor.gbapal.lz"); -const u32 gTrainerFrontPic_MagmaAdmin[] = INCBIN_U32("graphics/trainers/front_pics/magma_admin_front_pic.4bpp.lz"); -const u32 gTrainerPalette_MagmaAdmin[] = INCBIN_U32("graphics/trainers/palettes/magma_admin.gbapal.lz"); +const u32 gTrainerFrontPic_MagmaAdmin[] = INCBIN_U32("graphics/trainers/front_pics/magma_admin.4bpp.lz"); +const u32 gTrainerPalette_MagmaAdmin[] = INCBIN_U32("graphics/trainers/front_pics/magma_admin.gbapal.lz"); -const u32 gTrainerFrontPic_Wally[] = INCBIN_U32("graphics/trainers/front_pics/wally_front_pic.4bpp.lz"); +const u32 gTrainerFrontPic_Wally[] = INCBIN_U32("graphics/trainers/front_pics/wally.4bpp.lz"); const u32 gTrainerPalette_Wally[] = INCBIN_U32("graphics/trainers/palettes/wally.gbapal.lz"); -const u32 gTrainerFrontPic_Brendan[] = INCBIN_U32("graphics/trainers/front_pics/brendan_front_pic.4bpp.lz"); +const u32 gTrainerFrontPic_Brendan[] = INCBIN_U32("graphics/trainers/front_pics/brendan.4bpp.lz"); const u32 gTrainerPalette_Brendan[] = INCBIN_U32("graphics/trainers/palettes/brendan.gbapal.lz"); -const u32 gTrainerFrontPic_May[] = INCBIN_U32("graphics/trainers/front_pics/may_front_pic.4bpp.lz"); +const u32 gTrainerFrontPic_May[] = INCBIN_U32("graphics/trainers/front_pics/may.4bpp.lz"); const u32 gTrainerPalette_May[] = INCBIN_U32("graphics/trainers/palettes/may.gbapal.lz"); -const u32 gTrainerFrontPic_BugCatcher[] = INCBIN_U32("graphics/trainers/front_pics/bug_catcher_front_pic.4bpp.lz"); -const u32 gTrainerPalette_BugCatcher[] = INCBIN_U32("graphics/trainers/palettes/bug_catcher.gbapal.lz"); +const u32 gTrainerFrontPic_BugCatcher[] = INCBIN_U32("graphics/trainers/front_pics/bug_catcher.4bpp.lz"); +const u32 gTrainerPalette_BugCatcher[] = INCBIN_U32("graphics/trainers/front_pics/bug_catcher.gbapal.lz"); -const u32 gTrainerFrontPic_PokemonRangerM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_m_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PokemonRangerM[] = INCBIN_U32("graphics/trainers/palettes/pokemon_ranger_m.gbapal.lz"); +const u32 gTrainerFrontPic_PokemonRangerM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_m.4bpp.lz"); +const u32 gTrainerPalette_PokemonRangerM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_m.gbapal.lz"); -const u32 gTrainerFrontPic_PokemonRangerF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_f_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PokemonRangerF[] = INCBIN_U32("graphics/trainers/palettes/pokemon_ranger_f.gbapal.lz"); +const u32 gTrainerFrontPic_PokemonRangerF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_f.4bpp.lz"); +const u32 gTrainerPalette_PokemonRangerF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_f.gbapal.lz"); -const u32 gTrainerFrontPic_MagmaLeaderMaxie[] = INCBIN_U32("graphics/trainers/front_pics/magma_leader_maxie_front_pic.4bpp.lz"); -const u32 gTrainerPalette_MagmaLeaderMaxie[] = INCBIN_U32("graphics/trainers/palettes/magma_leader_maxie.gbapal.lz"); +const u32 gTrainerFrontPic_MagmaLeaderMaxie[] = INCBIN_U32("graphics/trainers/front_pics/magma_leader_maxie.4bpp.lz"); +const u32 gTrainerPalette_MagmaLeaderMaxie[] = INCBIN_U32("graphics/trainers/front_pics/magma_leader_maxie.gbapal.lz"); -const u32 gTrainerFrontPic_Lass[] = INCBIN_U32("graphics/trainers/front_pics/lass_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Lass[] = INCBIN_U32("graphics/trainers/palettes/lass.gbapal.lz"); +const u32 gTrainerFrontPic_Lass[] = INCBIN_U32("graphics/trainers/front_pics/lass.4bpp.lz"); +const u32 gTrainerPalette_Lass[] = INCBIN_U32("graphics/trainers/front_pics/lass.gbapal.lz"); -const u32 gTrainerFrontPic_YoungCouple[] = INCBIN_U32("graphics/trainers/front_pics/young_couple_front_pic.4bpp.lz"); -const u32 gTrainerPalette_YoungCouple[] = INCBIN_U32("graphics/trainers/palettes/young_couple.gbapal.lz"); +const u32 gTrainerFrontPic_YoungCouple[] = INCBIN_U32("graphics/trainers/front_pics/young_couple.4bpp.lz"); +const u32 gTrainerPalette_YoungCouple[] = INCBIN_U32("graphics/trainers/front_pics/young_couple.gbapal.lz"); -const u32 gTrainerFrontPic_OldCouple[] = INCBIN_U32("graphics/trainers/front_pics/old_couple_front_pic.4bpp.lz"); -const u32 gTrainerPalette_OldCouple[] = INCBIN_U32("graphics/trainers/palettes/old_couple.gbapal.lz"); +const u32 gTrainerFrontPic_OldCouple[] = INCBIN_U32("graphics/trainers/front_pics/old_couple.4bpp.lz"); +const u32 gTrainerPalette_OldCouple[] = INCBIN_U32("graphics/trainers/front_pics/old_couple.gbapal.lz"); -const u32 gTrainerFrontPic_SisAndBro[] = INCBIN_U32("graphics/trainers/front_pics/sis_and_bro_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SisAndBro[] = INCBIN_U32("graphics/trainers/palettes/sis_and_bro.gbapal.lz"); +const u32 gTrainerFrontPic_SisAndBro[] = INCBIN_U32("graphics/trainers/front_pics/sis_and_bro.4bpp.lz"); +const u32 gTrainerPalette_SisAndBro[] = INCBIN_U32("graphics/trainers/front_pics/sis_and_bro.gbapal.lz"); -const u32 gTrainerFrontPic_Steven[] = INCBIN_U32("graphics/trainers/front_pics/steven_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Steven[] = INCBIN_U32("graphics/trainers/palettes/steven.gbapal.lz"); +const u32 gTrainerFrontPic_Steven[] = INCBIN_U32("graphics/trainers/front_pics/steven.4bpp.lz"); +const u32 gTrainerPalette_Steven[] = INCBIN_U32("graphics/trainers/front_pics/steven.gbapal.lz"); -const u32 gTrainerFrontPic_SalonMaidenAnabel[] = INCBIN_U32("graphics/trainers/front_pics/salon_maiden_anabel_front_pic.4bpp.lz"); -const u32 gTrainerPalette_SalonMaidenAnabel[] = INCBIN_U32("graphics/trainers/palettes/salon_maiden_anabel.gbapal.lz"); +const u32 gTrainerFrontPic_SalonMaidenAnabel[] = INCBIN_U32("graphics/trainers/front_pics/salon_maiden_anabel.4bpp.lz"); +const u32 gTrainerPalette_SalonMaidenAnabel[] = INCBIN_U32("graphics/trainers/front_pics/salon_maiden_anabel.gbapal.lz"); -const u32 gTrainerFrontPic_DomeAceTucker[] = INCBIN_U32("graphics/trainers/front_pics/dome_ace_tucker_front_pic.4bpp.lz"); -const u32 gTrainerPalette_DomeAceTucker[] = INCBIN_U32("graphics/trainers/palettes/dome_ace_tucker.gbapal.lz"); +const u32 gTrainerFrontPic_DomeAceTucker[] = INCBIN_U32("graphics/trainers/front_pics/dome_ace_tucker.4bpp.lz"); +const u32 gTrainerPalette_DomeAceTucker[] = INCBIN_U32("graphics/trainers/front_pics/dome_ace_tucker.gbapal.lz"); -const u32 gTrainerFrontPic_PalaceMavenSpenser[] = INCBIN_U32("graphics/trainers/front_pics/palace_maven_spenser_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PalaceMavenSpenser[] = INCBIN_U32("graphics/trainers/palettes/palace_maven_spenser.gbapal.lz"); +const u32 gTrainerFrontPic_PalaceMavenSpenser[] = INCBIN_U32("graphics/trainers/front_pics/palace_maven_spenser.4bpp.lz"); +const u32 gTrainerPalette_PalaceMavenSpenser[] = INCBIN_U32("graphics/trainers/front_pics/palace_maven_spenser.gbapal.lz"); -const u32 gTrainerFrontPic_ArenaTycoonGreta[] = INCBIN_U32("graphics/trainers/front_pics/arena_tycoon_greta_front_pic.4bpp.lz"); -const u32 gTrainerPalette_ArenaTycoonGreta[] = INCBIN_U32("graphics/trainers/palettes/arena_tycoon_greta.gbapal.lz"); +const u32 gTrainerFrontPic_ArenaTycoonGreta[] = INCBIN_U32("graphics/trainers/front_pics/arena_tycoon_greta.4bpp.lz"); +const u32 gTrainerPalette_ArenaTycoonGreta[] = INCBIN_U32("graphics/trainers/front_pics/arena_tycoon_greta.gbapal.lz"); -const u32 gTrainerFrontPic_FactoryHeadNoland[] = INCBIN_U32("graphics/trainers/front_pics/factory_head_noland_front_pic.4bpp.lz"); -const u32 gTrainerPalette_FactoryHeadNoland[] = INCBIN_U32("graphics/trainers/palettes/factory_head_noland.gbapal.lz"); +const u32 gTrainerFrontPic_FactoryHeadNoland[] = INCBIN_U32("graphics/trainers/front_pics/factory_head_noland.4bpp.lz"); +const u32 gTrainerPalette_FactoryHeadNoland[] = INCBIN_U32("graphics/trainers/front_pics/factory_head_noland.gbapal.lz"); -const u32 gTrainerFrontPic_PikeQueenLucy[] = INCBIN_U32("graphics/trainers/front_pics/pike_queen_lucy_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PikeQueenLucy[] = INCBIN_U32("graphics/trainers/palettes/pike_queen_lucy.gbapal.lz"); +const u32 gTrainerFrontPic_PikeQueenLucy[] = INCBIN_U32("graphics/trainers/front_pics/pike_queen_lucy.4bpp.lz"); +const u32 gTrainerPalette_PikeQueenLucy[] = INCBIN_U32("graphics/trainers/front_pics/pike_queen_lucy.gbapal.lz"); -const u32 gTrainerFrontPic_PyramidKingBrandon[] = INCBIN_U32("graphics/trainers/front_pics/pyramid_king_brandon_front_pic.4bpp.lz"); -const u32 gTrainerPalette_PyramidKingBrandon[] = INCBIN_U32("graphics/trainers/palettes/pyramid_king_brandon.gbapal.lz"); +const u32 gTrainerFrontPic_PyramidKingBrandon[] = INCBIN_U32("graphics/trainers/front_pics/pyramid_king_brandon.4bpp.lz"); +const u32 gTrainerPalette_PyramidKingBrandon[] = INCBIN_U32("graphics/trainers/front_pics/pyramid_king_brandon.gbapal.lz"); -const u32 gTrainerFrontPic_Red[] = INCBIN_U32("graphics/trainers/front_pics/red_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Red[] = INCBIN_U32("graphics/trainers/palettes/red.gbapal.lz"); +const u32 gTrainerFrontPic_Red[] = INCBIN_U32("graphics/trainers/front_pics/red.4bpp.lz"); +const u32 gTrainerPalette_Red[] = INCBIN_U32("graphics/trainers/front_pics/red.gbapal.lz"); -const u32 gTrainerFrontPic_Leaf[] = INCBIN_U32("graphics/trainers/front_pics/leaf_front_pic.4bpp.lz"); -const u32 gTrainerPalette_Leaf[] = INCBIN_U32("graphics/trainers/palettes/leaf.gbapal.lz"); +const u32 gTrainerFrontPic_Leaf[] = INCBIN_U32("graphics/trainers/front_pics/leaf.4bpp.lz"); +const u32 gTrainerPalette_Leaf[] = INCBIN_U32("graphics/trainers/front_pics/leaf.gbapal.lz"); -const u32 gTrainerFrontPic_RubySapphireBrendan[] = INCBIN_U32("graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.4bpp.lz"); -const u32 gTrainerPalette_RubySapphireBrendan[] = INCBIN_U32("graphics/trainers/palettes/ruby_sapphire_brendan.gbapal.lz"); +const u32 gTrainerFrontPic_RubySapphireBrendan[] = INCBIN_U32("graphics/trainers/front_pics/brendan_rs.4bpp.lz"); +const u32 gTrainerPalette_RubySapphireBrendan[] = INCBIN_U32("graphics/trainers/palettes/brendan_rs.gbapal.lz"); -const u32 gTrainerFrontPic_RubySapphireMay[] = INCBIN_U32("graphics/trainers/front_pics/ruby_sapphire_may_front_pic.4bpp.lz"); -const u32 gTrainerPalette_RubySapphireMay[] = INCBIN_U32("graphics/trainers/palettes/ruby_sapphire_may.gbapal.lz"); +const u32 gTrainerFrontPic_RubySapphireMay[] = INCBIN_U32("graphics/trainers/front_pics/may_rs.4bpp.lz"); +const u32 gTrainerPalette_RubySapphireMay[] = INCBIN_U32("graphics/trainers/palettes/may_rs.gbapal.lz"); -const u8 gTrainerBackPic_Brendan[] = INCBIN_U8("graphics/trainers/back_pics/brendan_back_pic.4bpp"); -const u8 gTrainerBackPic_May[] = INCBIN_U8("graphics/trainers/back_pics/may_back_pic.4bpp"); -const u8 gTrainerBackPic_Red[] = INCBIN_U8("graphics/trainers/back_pics/red_back_pic.4bpp"); -const u8 gTrainerBackPic_Leaf[] = INCBIN_U8("graphics/trainers/back_pics/leaf_back_pic.4bpp"); -const u8 gTrainerBackPic_RubySapphireBrendan[] = INCBIN_U8("graphics/trainers/back_pics/ruby_sapphire_brendan_back_pic.4bpp"); -const u8 gTrainerBackPic_RubySapphireMay[] = INCBIN_U8("graphics/trainers/back_pics/ruby_sapphire_may_back_pic.4bpp"); -const u8 gTrainerBackPic_Wally[] = INCBIN_U8("graphics/trainers/back_pics/wally_back_pic.4bpp"); -const u8 gTrainerBackPic_Steven[] = INCBIN_U8("graphics/trainers/back_pics/steven_back_pic.4bpp"); +const u8 gTrainerBackPic_Brendan[] = INCBIN_U8("graphics/trainers/back_pics/brendan.4bpp"); +const u8 gTrainerBackPic_May[] = INCBIN_U8("graphics/trainers/back_pics/may.4bpp"); +const u8 gTrainerBackPic_Red[] = INCBIN_U8("graphics/trainers/back_pics/red.4bpp"); +const u8 gTrainerBackPic_Leaf[] = INCBIN_U8("graphics/trainers/back_pics/leaf.4bpp"); +const u8 gTrainerBackPic_RubySapphireBrendan[] = INCBIN_U8("graphics/trainers/back_pics/brendan_rs.4bpp"); +const u8 gTrainerBackPic_RubySapphireMay[] = INCBIN_U8("graphics/trainers/back_pics/may_rs.4bpp"); +const u8 gTrainerBackPic_Wally[] = INCBIN_U8("graphics/trainers/back_pics/wally.4bpp"); +const u8 gTrainerBackPic_Steven[] = INCBIN_U8("graphics/trainers/back_pics/steven.4bpp"); -const u32 gTrainerBackPicPalette_Red[] = INCBIN_U32("graphics/trainers/palettes/red_back_pic.gbapal.lz"); -const u32 gTrainerBackPicPalette_Leaf[] = INCBIN_U32("graphics/trainers/palettes/leaf_back_pic.gbapal.lz"); +const u32 gTrainerBackPicPalette_Red[] = INCBIN_U32("graphics/trainers/back_pics/red.gbapal.lz"); +const u32 gTrainerBackPicPalette_Leaf[] = INCBIN_U32("graphics/trainers/back_pics/leaf.gbapal.lz"); diff --git a/src/data/party_menu.h b/src/data/party_menu.h index 9411ec3bb..663e6f2c0 100644 --- a/src/data/party_menu.h +++ b/src/data/party_menu.h @@ -789,8 +789,8 @@ static const u8 *const sUnionRoomTradeMessages[] = { [UR_TRADE_MSG_NOT_MON_PARTNER_WANTS - 1] = gText_NotPkmnOtherTrainerWants, [UR_TRADE_MSG_NOT_EGG - 1] = gText_ThatIsntAnEgg, - [UR_TRADE_MSG_MON_CANT_BE_TRADED_1 - 1] = gText_PkmnCantBeTradedNow, - [UR_TRADE_MSG_MON_CANT_BE_TRADED_2 - 1] = gText_PkmnCantBeTradedNow, + [UR_TRADE_MSG_MON_CANT_BE_TRADED_NOW - 1] = gText_PkmnCantBeTradedNow, + [UR_TRADE_MSG_MON_CANT_BE_TRADED - 1] = gText_PkmnCantBeTraded, [UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED - 1] = gText_OtherTrainersPkmnCantBeTraded, [UR_TRADE_MSG_EGG_CANT_BE_TRADED -1] = gText_EggCantBeTradedNow, [UR_TRADE_MSG_PARTNER_CANT_ACCEPT_MON - 1] = gText_OtherTrainerCantAcceptPkmn, @@ -1082,7 +1082,7 @@ static const struct CompressedSpritePalette sSpritePalette_StatusIcons = gStatusPal_Icons, TAG_STATUS_ICONS }; -static const struct SpriteTemplate sSpriteTemplate_StatusIcons = +const struct SpriteTemplate gSpriteTemplate_StatusIcons = { .tileTag = TAG_STATUS_ICONS, .paletteTag = TAG_STATUS_ICONS, diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h index 6b866e92e..a161fbf90 100644 --- a/src/data/pokemon/base_stats.h +++ b/src/data/pokemon/base_stats.h @@ -262,7 +262,7 @@ .abilities = {ABILITY_MULTITYPE, ABILITY_NONE},\ .bodyColor = BODY_COLOR_WHITE, \ .noFlip = FALSE, \ - .flags = FLAG_MYTHICAL, \ + .flags = SPECIES_FLAG_MYTHICAL, \ } #define DEERLING_BASE_STATS(color) \ @@ -337,7 +337,7 @@ .abilities = {ABILITY_DOWNLOAD, ABILITY_NONE},\ .bodyColor = BODY_COLOR_PURPLE, \ .noFlip = FALSE, \ - .flags = FLAG_MYTHICAL, \ + .flags = SPECIES_FLAG_MYTHICAL, \ } #define VIVILLON_BASE_STATS(color) \ @@ -516,7 +516,7 @@ .abilities = {ABILITY_FAIRY_AURA, ABILITY_NONE},\ .bodyColor = BODY_COLOR_BLUE, \ .noFlip = FALSE, \ - .flags = FLAG_LEGENDARY, \ + .flags = SPECIES_FLAG_LEGENDARY, \ } #define ZYGARDE_50_BASE_STATS(ability) \ @@ -541,7 +541,7 @@ .abilities = {ability, ABILITY_NONE},\ .bodyColor = BODY_COLOR_GREEN, \ .noFlip = TRUE, \ - .flags = FLAG_LEGENDARY, \ + .flags = SPECIES_FLAG_LEGENDARY, \ } #define ZYGARDE_10_BASE_STATS(ability) \ @@ -566,7 +566,7 @@ .abilities = {ability, ABILITY_NONE},\ .bodyColor = BODY_COLOR_BLACK, \ .noFlip = TRUE, \ - .flags = FLAG_LEGENDARY, \ + .flags = SPECIES_FLAG_LEGENDARY, \ } #define ORICORIO_BASE_STATS(type, color) \ @@ -640,7 +640,7 @@ .abilities = {ABILITY_RKS_SYSTEM, ABILITY_NONE},\ .bodyColor = BODY_COLOR_GRAY, \ .noFlip = FALSE, \ - .flags = FLAG_LEGENDARY, \ + .flags = SPECIES_FLAG_LEGENDARY, \ } #define MINIOR_METEOR_ATTRIBUTES\ @@ -737,7 +737,7 @@ .abilities = {ABILITY_SOUL_HEART, ABILITY_NONE},\ .bodyColor = color, \ .noFlip = FALSE, \ - .flags = FLAG_MYTHICAL, \ + .flags = SPECIES_FLAG_MYTHICAL, \ } #define CRAMORANT_BASE_STATS \ @@ -906,7 +906,7 @@ .abilities = {ABILITY_LEAF_GUARD, ABILITY_NONE},\ .bodyColor = BODY_COLOR_GREEN, \ .noFlip = FALSE, \ - .flags = FLAG_MYTHICAL, \ + .flags = SPECIES_FLAG_MYTHICAL, \ } const struct BaseStats gBaseStats[] = @@ -4269,7 +4269,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_RUN_AWAY, ABILITY_ADAPTABILITY, ABILITY_ANTICIPATION}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_VAPOREON] = @@ -4536,7 +4536,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_SNOW_CLOAK}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ZAPDOS] = @@ -4565,7 +4565,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_MOLTRES] = @@ -4590,7 +4590,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_FLAME_BODY}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_DRATINI] = @@ -4690,7 +4690,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_UNNERVE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_MEW] = @@ -4717,7 +4717,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SYNCHRONIZE, ABILITY_NONE}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_CHIKORITA] = @@ -7003,7 +7003,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ENTEI] = @@ -7033,7 +7033,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_SUICUNE] = @@ -7063,7 +7063,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_LARVITAR] = @@ -7160,7 +7160,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_MULTISCALE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_HO_OH] = @@ -7187,7 +7187,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_REGENERATOR}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_CELEBI] = @@ -7214,7 +7214,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_NATURAL_CURE, ABILITY_NONE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_TREECKO] = @@ -10403,7 +10403,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_CLEAR_BODY, ABILITY_NONE, ABILITY_STURDY}, .bodyColor = BODY_COLOR_BROWN, .noFlip = TRUE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_REGICE] = @@ -10428,7 +10428,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_CLEAR_BODY, ABILITY_NONE, ABILITY_ICE_BODY}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_REGISTEEL] = @@ -10454,7 +10454,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_CLEAR_BODY, ABILITY_NONE, ABILITY_LIGHT_METAL}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_LATIAS] = @@ -10479,7 +10479,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_LATIOS] = @@ -10504,7 +10504,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_KYOGRE] = @@ -10529,7 +10529,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DRIZZLE, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_GROUDON] = @@ -10554,7 +10554,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DROUGHT, ABILITY_NONE}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_RAYQUAZA] = @@ -10580,7 +10580,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_AIR_LOCK, ABILITY_NONE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_JIRACHI] = @@ -10607,7 +10607,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SERENE_GRACE, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_DEOXYS] = @@ -10634,10 +10634,10 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE [SPECIES_TURTWIG] = { .baseHP = 55, @@ -10881,7 +10881,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE, ABILITY_RECKLESS}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_STARAVIA] = @@ -10906,7 +10906,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE, ABILITY_RECKLESS}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_STARAPTOR] = @@ -10959,7 +10959,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SIMPLE, ABILITY_UNAWARE, ABILITY_MOODY}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_BIBAREL] = @@ -11009,7 +11009,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SHED_SKIN, ABILITY_NONE, ABILITY_RUN_AWAY}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_KRICKETUNE] = @@ -11035,7 +11035,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SWARM, ABILITY_NONE, ABILITY_TECHNICIAN}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SHINX] = @@ -11060,7 +11060,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_RIVALRY, ABILITY_INTIMIDATE, ABILITY_GUTS}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_LUXIO] = @@ -11337,7 +11337,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_HONEY_GATHER, ABILITY_NONE, ABILITY_HUSTLE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_VESPIQUEN] = @@ -12107,7 +12107,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SAND_STREAM, ABILITY_NONE, ABILITY_SAND_FORCE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_HIPPOWDON] = @@ -12132,7 +12132,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SAND_STREAM, ABILITY_NONE, ABILITY_SAND_FORCE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SKORUPI] = @@ -12883,7 +12883,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_MESPRIT] = @@ -12910,7 +12910,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_AZELF] = @@ -12936,7 +12936,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_DIALGA] = @@ -12961,7 +12961,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_PALKIA] = @@ -12986,7 +12986,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_HEATRAN] = @@ -13011,7 +13011,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_FLASH_FIRE, ABILITY_NONE, ABILITY_FLAME_BODY}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_REGIGIGAS] = @@ -13036,7 +13036,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SLOW_START, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_GIRATINA] = @@ -13061,7 +13061,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_CRESSELIA] = @@ -13086,7 +13086,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_PHIONE] = @@ -13111,7 +13111,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_HYDRATION, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_MANAPHY] = @@ -13136,7 +13136,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_HYDRATION, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_DARKRAI] = @@ -13162,7 +13162,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BAD_DREAMS, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_SHAYMIN] = @@ -13189,7 +13189,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_NATURAL_CURE, ABILITY_NONE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_ARCEUS] = @@ -13214,9 +13214,11 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MULTITYPE, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_VICTINI] = { .baseHP = 100, @@ -13239,7 +13241,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_VICTORY_STAR, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_SNIVY] = @@ -13896,7 +13898,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BIG_PECKS, ABILITY_SUPER_LUCK, ABILITY_RIVALRY}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_BLITZLE] = @@ -15650,7 +15652,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_WATER_ABSORB, ABILITY_CURSED_BODY, ABILITY_DAMP}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_JELLICENT] = @@ -15675,7 +15677,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_WATER_ABSORB, ABILITY_CURSED_BODY, ABILITY_DAMP}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_ALOMOMOLA] = @@ -16786,7 +16788,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_JUSTIFIED, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_TERRAKION] = @@ -16811,7 +16813,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_JUSTIFIED, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_VIRIZION] = @@ -16836,7 +16838,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_JUSTIFIED, ABILITY_NONE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_TORNADUS] = @@ -16861,7 +16863,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRANKSTER, ABILITY_NONE, ABILITY_DEFIANT}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_THUNDURUS] = @@ -16886,7 +16888,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRANKSTER, ABILITY_NONE, ABILITY_DEFIANT}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_RESHIRAM] = @@ -16911,7 +16913,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TURBOBLAZE, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ZEKROM] = @@ -16936,7 +16938,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TERAVOLT, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_LANDORUS] = @@ -16961,7 +16963,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SAND_FORCE, ABILITY_NONE, ABILITY_SHEER_FORCE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_KYUREM] = @@ -16988,7 +16990,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_KELDEO] = @@ -17013,7 +17015,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_JUSTIFIED, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_MELOETTA] = @@ -17042,11 +17044,13 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SERENE_GRACE, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = TRUE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_GENESECT] = GENESECT_BASE_STATS, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_CHESPIN] = { .baseHP = 56, @@ -17479,7 +17483,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_RIVALRY, ABILITY_UNNERVE, ABILITY_MOXIE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_FLABEBE] = FLABEBE_BASE_STATS, @@ -18553,7 +18557,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DARK_AURA, ABILITY_NONE}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ZYGARDE] = ZYGARDE_50_BASE_STATS(ABILITY_AURA_BREAK), @@ -18581,7 +18585,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_CLEAR_BODY, ABILITY_NONE}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_HOOPA] = @@ -18606,7 +18610,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MAGICIAN, ABILITY_NONE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_VOLCANION] = @@ -18631,9 +18635,11 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_WATER_ABSORB, ABILITY_NONE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_ROWLET] = { .baseHP = 68, @@ -19842,7 +19848,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BATTLE_ARMOR, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_SILVALLY] = SILVALLY_BASE_STATS(TYPE_NORMAL), @@ -20096,7 +20102,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_ELECTRIC_SURGE, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_TAPU_LELE] = @@ -20121,7 +20127,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PSYCHIC_SURGE, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_TAPU_BULU] = @@ -20146,7 +20152,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_GRASSY_SURGE, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_TAPU_FINI] = @@ -20171,7 +20177,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MISTY_SURGE, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_COSMOG] = @@ -20196,7 +20202,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_UNAWARE, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_COSMOEM] = @@ -20222,7 +20228,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_STURDY, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_SOLGALEO] = @@ -20247,7 +20253,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_FULL_METAL_BODY, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_LUNALA] = @@ -20272,7 +20278,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SHADOW_SHIELD, ABILITY_NONE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_NIHILEGO] = @@ -20297,7 +20303,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_BUZZWOLE] = @@ -20323,7 +20329,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_PHEROMOSA] = @@ -20348,7 +20354,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_XURKITREE] = @@ -20373,7 +20379,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_CELESTEELA] = @@ -20400,7 +20406,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_KARTANA] = @@ -20425,7 +20431,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_GUZZLORD] = @@ -20450,7 +20456,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_NECROZMA] = @@ -20476,7 +20482,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRISM_ARMOR, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLACK, .noFlip = TRUE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_MAGEARNA] = MAGEARNA_BASE_STATS(BODY_COLOR_GRAY), @@ -20504,7 +20510,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TECHNICIAN, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_POIPOLE] = @@ -20529,7 +20535,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_NAGANADEL] = @@ -20554,7 +20560,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_STAKATAKA] = @@ -20579,7 +20585,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_BLACEPHALON] = @@ -20604,7 +20610,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BEAST_BOOST, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = TRUE, - .flags = FLAG_ULTRA_BEAST, + .flags = SPECIES_FLAG_ULTRA_BEAST, }, [SPECIES_ZERAORA] = @@ -20629,7 +20635,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_VOLT_ABSORB, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_MELTAN] = @@ -20654,7 +20660,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MAGNET_PULL, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_MELMETAL] = @@ -20679,9 +20685,11 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_IRON_FIST, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, +#endif +#if P_GEN_8_POKEMON == TRUE [SPECIES_GROOKEY] = { .baseHP = 50, @@ -22454,7 +22462,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INTREPID_SWORD, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ZAMAZENTA] = @@ -22479,7 +22487,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DAUNTLESS_SHIELD, ABILITY_NONE}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ETERNATUS] = @@ -22504,7 +22512,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_KUBFU] = @@ -22529,7 +22537,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INNER_FOCUS, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_URSHIFU] = @@ -22554,7 +22562,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_UNSEEN_FIST, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ZARUDE] = ZARUDE_BASE_STATS, @@ -22581,7 +22589,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TRANSISTOR, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_REGIDRAGO] = @@ -22606,7 +22614,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DRAGONS_MAW, ABILITY_NONE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_GLASTRIER] = @@ -22631,7 +22639,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_CHILLING_NEIGH, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_SPECTRIER] = @@ -22656,7 +22664,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_GRIM_NEIGH, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_CALYREX] = @@ -22681,7 +22689,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_UNNERVE, ABILITY_NONE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_WYRDEER] = @@ -22778,7 +22786,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_RATTLED, ABILITY_ADAPTABILITY, ABILITY_MOLD_BREAKER}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SNEASLER] = @@ -22852,8 +22860,9 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_HEALER, ABILITY_NONE, ABILITY_CONTRARY}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, +#endif [SPECIES_VENUSAUR_MEGA] = { @@ -22878,6 +22887,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_THICK_FAT, ABILITY_THICK_FAT}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_CHARIZARD_MEGA_X] = @@ -22902,6 +22912,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TOUGH_CLAWS, ABILITY_TOUGH_CLAWS}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_CHARIZARD_MEGA_Y] = @@ -22926,6 +22937,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DROUGHT, ABILITY_DROUGHT}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_BLASTOISE_MEGA] = @@ -22950,6 +22962,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MEGA_LAUNCHER, ABILITY_MEGA_LAUNCHER}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_BEEDRILL_MEGA] = @@ -22976,6 +22989,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_ADAPTABILITY, ABILITY_ADAPTABILITY}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_PIDGEOT_MEGA] = @@ -23000,6 +23014,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_NO_GUARD, ABILITY_NO_GUARD}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_ALAKAZAM_MEGA] = @@ -23029,6 +23044,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TRACE, ABILITY_TRACE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_SLOWBRO_MEGA] = @@ -23054,6 +23070,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SHELL_ARMOR, ABILITY_SHELL_ARMOR}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_GENGAR_MEGA] = @@ -23078,6 +23095,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SHADOW_TAG, ABILITY_SHADOW_TAG}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_KANGASKHAN_MEGA] = @@ -23102,6 +23120,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PARENTAL_BOND, ABILITY_PARENTAL_BOND}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_PINSIR_MEGA] = @@ -23126,6 +23145,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_AERILATE, ABILITY_AERILATE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_GYARADOS_MEGA] = @@ -23150,6 +23170,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MOLD_BREAKER, ABILITY_MOLD_BREAKER}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_AERODACTYL_MEGA] = @@ -23174,6 +23195,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TOUGH_CLAWS, ABILITY_TOUGH_CLAWS}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_MEWTWO_MEGA_X] = @@ -23198,7 +23220,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_STEADFAST, ABILITY_STEADFAST}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_MEWTWO_MEGA_Y] = @@ -23223,7 +23245,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INSOMNIA, ABILITY_INSOMNIA}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_AMPHAROS_MEGA] = @@ -23248,6 +23270,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MOLD_BREAKER, ABILITY_MOLD_BREAKER}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_STEELIX_MEGA] = @@ -23273,6 +23296,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SAND_FORCE, ABILITY_SAND_FORCE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_SCIZOR_MEGA] = @@ -23297,6 +23321,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TECHNICIAN, ABILITY_TECHNICIAN}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_HERACROSS_MEGA] = @@ -23321,6 +23346,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SKILL_LINK, ABILITY_SKILL_LINK}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_HOUNDOOM_MEGA] = @@ -23345,6 +23371,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SOLAR_POWER, ABILITY_SOLAR_POWER}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_TYRANITAR_MEGA] = @@ -23369,6 +23396,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SAND_STREAM, ABILITY_SAND_STREAM}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_SCEPTILE_MEGA] = @@ -23393,6 +23421,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LIGHTNING_ROD, ABILITY_LIGHTNING_ROD}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_BLAZIKEN_MEGA] = @@ -23417,6 +23446,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SPEED_BOOST, ABILITY_SPEED_BOOST}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_SWAMPERT_MEGA] = @@ -23441,6 +23471,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SWIFT_SWIM, ABILITY_SWIFT_SWIM}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_GARDEVOIR_MEGA] = @@ -23465,6 +23496,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PIXILATE, ABILITY_PIXILATE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_SABLEYE_MEGA] = @@ -23490,6 +23522,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MAGIC_BOUNCE, ABILITY_MAGIC_BOUNCE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_MAWILE_MEGA] = @@ -23515,6 +23548,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_HUGE_POWER, ABILITY_HUGE_POWER}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_AGGRON_MEGA] = @@ -23540,6 +23574,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_FILTER, ABILITY_FILTER}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_MEDICHAM_MEGA] = @@ -23564,6 +23599,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PURE_POWER, ABILITY_PURE_POWER}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_MANECTRIC_MEGA] = @@ -23588,6 +23624,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INTIMIDATE, ABILITY_INTIMIDATE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_SHARPEDO_MEGA] = @@ -23613,6 +23650,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_STRONG_JAW, ABILITY_STRONG_JAW}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_CAMERUPT_MEGA] = @@ -23638,6 +23676,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SHEER_FORCE, ABILITY_SHEER_FORCE}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_ALTARIA_MEGA] = @@ -23662,6 +23701,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PIXILATE, ABILITY_PIXILATE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_BANETTE_MEGA] = @@ -23687,6 +23727,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRANKSTER, ABILITY_PRANKSTER}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_ABSOL_MEGA] = @@ -23711,6 +23752,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MAGIC_BOUNCE, ABILITY_MAGIC_BOUNCE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = TRUE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_GLALIE_MEGA] = @@ -23735,6 +23777,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_REFRIGERATE, ABILITY_REFRIGERATE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_SALAMENCE_MEGA] = @@ -23760,6 +23803,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_AERILATE, ABILITY_AERILATE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_METAGROSS_MEGA] = @@ -23785,6 +23829,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TOUGH_CLAWS, ABILITY_TOUGH_CLAWS}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_LATIAS_MEGA] = @@ -23809,7 +23854,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LEVITATE, ABILITY_LEVITATE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_LATIOS_MEGA] = @@ -23834,9 +23879,10 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LEVITATE, ABILITY_LEVITATE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_MEGA_EVOLUTION, }, +#if P_GEN_4_POKEMON == TRUE [SPECIES_LOPUNNY_MEGA] = { .baseHP = 65, @@ -23859,6 +23905,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SCRAPPY, ABILITY_SCRAPPY}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_GARCHOMP_MEGA] = @@ -23883,6 +23930,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SAND_FORCE, ABILITY_SAND_FORCE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_LUCARIO_MEGA] = @@ -23908,6 +23956,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_ADAPTABILITY, ABILITY_ADAPTABILITY}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_ABOMASNOW_MEGA] = @@ -23934,6 +23983,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SNOW_WARNING, ABILITY_SNOW_WARNING}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_GALLADE_MEGA] = @@ -23958,8 +24008,11 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INNER_FOCUS, ABILITY_INNER_FOCUS}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_AUDINO_MEGA] = { .baseHP = 103, @@ -23984,8 +24037,11 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_HEALER, ABILITY_HEALER}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, + .flags = SPECIES_FLAG_MEGA_EVOLUTION, }, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_DIANCIE_MEGA] = { .baseHP = 50, @@ -24009,8 +24065,9 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MAGIC_BOUNCE, ABILITY_MAGIC_BOUNCE}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL | SPECIES_FLAG_MEGA_EVOLUTION, }, +#endif [SPECIES_RAYQUAZA_MEGA] = { @@ -24035,7 +24092,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DELTA_STREAM, ABILITY_DELTA_STREAM}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_MEGA_EVOLUTION, }, [SPECIES_KYOGRE_PRIMAL] = @@ -24060,7 +24117,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRIMORDIAL_SEA, ABILITY_PRIMORDIAL_SEA}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_GROUDON_PRIMAL] = @@ -24085,7 +24142,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DESOLATE_LAND, ABILITY_DESOLATE_LAND}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_RATTATA_ALOLAN] = @@ -24111,7 +24168,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_GLUTTONY, ABILITY_HUSTLE, ABILITY_THICK_FAT}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_RATICATE_ALOLAN] = @@ -24137,7 +24194,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_GLUTTONY, ABILITY_HUSTLE, ABILITY_THICK_FAT}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_RAICHU_ALOLAN] = @@ -24162,7 +24219,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SURGE_SURFER, ABILITY_NONE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_SANDSHREW_ALOLAN] = @@ -24188,7 +24245,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SNOW_CLOAK, ABILITY_NONE, ABILITY_SLUSH_RUSH}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_SANDSLASH_ALOLAN] = @@ -24213,7 +24270,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SNOW_CLOAK, ABILITY_NONE, ABILITY_SLUSH_RUSH}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_VULPIX_ALOLAN] = @@ -24239,7 +24296,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SNOW_CLOAK, ABILITY_NONE, ABILITY_SNOW_WARNING}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_NINETALES_ALOLAN] = @@ -24265,7 +24322,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SNOW_CLOAK, ABILITY_NONE, ABILITY_SNOW_WARNING}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_DIGLETT_ALOLAN] = @@ -24291,7 +24348,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SAND_VEIL, ABILITY_TANGLING_HAIR, ABILITY_SAND_FORCE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_DUGTRIO_ALOLAN] = @@ -24317,7 +24374,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SAND_VEIL, ABILITY_TANGLING_HAIR, ABILITY_SAND_FORCE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = TRUE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_MEOWTH_ALOLAN] = @@ -24343,7 +24400,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PICKUP, ABILITY_TECHNICIAN, ABILITY_RATTLED}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_PERSIAN_ALOLAN] = @@ -24369,7 +24426,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_FUR_COAT, ABILITY_TECHNICIAN, ABILITY_RATTLED}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_GEODUDE_ALOLAN] = @@ -24395,7 +24452,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MAGNET_PULL, ABILITY_STURDY, ABILITY_GALVANIZE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_GRAVELER_ALOLAN] = @@ -24421,7 +24478,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MAGNET_PULL, ABILITY_STURDY, ABILITY_GALVANIZE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_GOLEM_ALOLAN] = @@ -24446,7 +24503,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MAGNET_PULL, ABILITY_STURDY, ABILITY_GALVANIZE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_GRIMER_ALOLAN] = @@ -24472,7 +24529,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_POISON_TOUCH, ABILITY_GLUTTONY, ABILITY_POWER_OF_ALCHEMY}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_MUK_ALOLAN] = @@ -24498,7 +24555,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_POISON_TOUCH, ABILITY_GLUTTONY, ABILITY_POWER_OF_ALCHEMY}, .bodyColor = BODY_COLOR_GREEN, .noFlip = TRUE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_EXEGGUTOR_ALOLAN] = @@ -24523,7 +24580,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_FRISK, ABILITY_NONE, ABILITY_HARVEST}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_MAROWAK_ALOLAN] = @@ -24548,7 +24605,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_CURSED_BODY, ABILITY_LIGHTNING_ROD, ABILITY_ROCK_HEAD}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_ALOLAN_FORM, + .flags = SPECIES_FLAG_ALOLAN_FORM, }, [SPECIES_MEOWTH_GALARIAN] = @@ -24573,7 +24630,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PICKUP, ABILITY_TOUGH_CLAWS, ABILITY_UNNERVE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_PONYTA_GALARIAN] = @@ -24598,7 +24655,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_RUN_AWAY, ABILITY_PASTEL_VEIL, ABILITY_ANTICIPATION}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_RAPIDASH_GALARIAN] = @@ -24623,7 +24680,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_RUN_AWAY, ABILITY_PASTEL_VEIL, ABILITY_ANTICIPATION}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_SLOWPOKE_GALARIAN] = @@ -24648,7 +24705,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_GLUTTONY, ABILITY_OWN_TEMPO, ABILITY_REGENERATOR}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_SLOWBRO_GALARIAN] = @@ -24673,7 +24730,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_QUICK_DRAW, ABILITY_OWN_TEMPO, ABILITY_REGENERATOR}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_FARFETCHD_GALARIAN] = @@ -24699,7 +24756,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_STEADFAST, ABILITY_NONE, ABILITY_SCRAPPY}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_WEEZING_GALARIAN] = @@ -24725,7 +24782,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_LEVITATE, ABILITY_NEUTRALIZING_GAS, ABILITY_MISTY_SURGE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_MR_MIME_GALARIAN] = @@ -24750,7 +24807,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_VITAL_SPIRIT, ABILITY_SCREEN_CLEANER, ABILITY_ICE_BODY}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_ARTICUNO_GALARIAN] = @@ -24775,7 +24832,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_COMPETITIVE, ABILITY_NONE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY | FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_ZAPDOS_GALARIAN] = @@ -24800,7 +24857,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DEFIANT, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_LEGENDARY | FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_MOLTRES_GALARIAN] = @@ -24825,7 +24882,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BERSERK, ABILITY_NONE}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_LEGENDARY | FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_SLOWKING_GALARIAN] = @@ -24850,7 +24907,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_CURIOUS_MEDICINE, ABILITY_OWN_TEMPO, ABILITY_REGENERATOR}, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_CORSOLA_GALARIAN] = @@ -24875,7 +24932,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_WEAK_ARMOR, ABILITY_NONE, ABILITY_CURSED_BODY}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_ZIGZAGOON_GALARIAN] = @@ -24900,7 +24957,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PICKUP, ABILITY_GLUTTONY, ABILITY_QUICK_FEET}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_LINOONE_GALARIAN] = @@ -24925,9 +24982,10 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PICKUP, ABILITY_GLUTTONY, ABILITY_QUICK_FEET}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, +#if P_GEN_5_POKEMON == TRUE [SPECIES_DARUMAKA_GALARIAN] = { .baseHP = 70, @@ -24950,7 +25008,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_HUSTLE, ABILITY_NONE, ABILITY_INNER_FOCUS}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_DARMANITAN_GALARIAN] = @@ -24975,7 +25033,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_GORILLA_TACTICS, ABILITY_NONE, ABILITY_ZEN_MODE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_YAMASK_GALARIAN] = @@ -25000,7 +25058,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_WANDERING_SPIRIT, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_STUNFISK_GALARIAN] = @@ -25025,8 +25083,9 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MIMICRY, ABILITY_NONE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, +#endif [SPECIES_GROWLITHE_HISUIAN] = { @@ -25050,7 +25109,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INTIMIDATE, ABILITY_FLASH_FIRE, ABILITY_JUSTIFIED}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_ARCANINE_HISUIAN] = @@ -25075,7 +25134,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INTIMIDATE, ABILITY_FLASH_FIRE, ABILITY_JUSTIFIED}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_VOLTORB_HISUIAN] = @@ -25100,7 +25159,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SOUNDPROOF, ABILITY_STATIC, ABILITY_AFTERMATH}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_ELECTRODE_HISUIAN] = @@ -25125,7 +25184,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SOUNDPROOF, ABILITY_STATIC, ABILITY_AFTERMATH}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_TYPHLOSION_HISUIAN] = @@ -25150,7 +25209,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_BLAZE, ABILITY_NONE, ABILITY_FLASH_FIRE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_QWILFISH_HISUIAN] = @@ -25176,7 +25235,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_POISON_POINT, ABILITY_SWIFT_SWIM, ABILITY_INTIMIDATE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_SNEASEL_HISUIAN] = @@ -25202,9 +25261,10 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INNER_FOCUS, ABILITY_KEEN_EYE, ABILITY_POISON_TOUCH}, .bodyColor = BODY_COLOR_BLACK, .noFlip = TRUE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, +#if P_GEN_5_POKEMON == TRUE [SPECIES_SAMUROTT_HISUIAN] = { .baseHP = 90, @@ -25227,7 +25287,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TORRENT, ABILITY_NONE, ABILITY_SHELL_ARMOR}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_LILLIGANT_HISUIAN] = @@ -25243,9 +25303,7 @@ const struct BaseStats gBaseStats[] = .catchRate = 75, .expYield = 168, .evYield_Attack = 2, - #ifdef ITEM_EXPANSION - .itemRare = ITEM_ABSORB_BULB, - #endif + .itemRare = ITEM_ABSORB_BULB, .genderRatio = MON_FEMALE, .eggCycles = 20, .friendship = 70, @@ -25255,7 +25313,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_CHLOROPHYLL, ABILITY_HUSTLE, ABILITY_LEAF_GUARD}, .bodyColor = BODY_COLOR_GREEN, .noFlip = TRUE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_ZORUA_HISUIAN] = @@ -25280,7 +25338,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_ILLUSION, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_ZOROARK_HISUIAN] = @@ -25305,7 +25363,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_ILLUSION, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_BRAVIARY_HISUIAN] = @@ -25330,9 +25388,11 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_KEEN_EYE, ABILITY_SHEER_FORCE, ABILITY_DEFIANT}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_SLIGGOO_HISUIAN] = { .baseHP = 58, @@ -25346,9 +25406,7 @@ const struct BaseStats gBaseStats[] = .catchRate = 45, .expYield = 158, .evYield_SpDefense = 2, - #ifdef ITEM_EXPANSION - .itemRare = ITEM_SHED_SHELL, - #endif + .itemRare = ITEM_SHED_SHELL, .genderRatio = PERCENT_FEMALE(50), .eggCycles = 40, .friendship = 35, @@ -25358,7 +25416,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SAP_SIPPER, ABILITY_OVERCOAT, ABILITY_GOOEY}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_GOODRA_HISUIAN] = @@ -25383,7 +25441,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SAP_SIPPER, ABILITY_OVERCOAT, ABILITY_GOOEY}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, [SPECIES_AVALUGG_HISUIAN] = @@ -25408,9 +25466,11 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_STRONG_JAW, ABILITY_ICE_BODY, ABILITY_STURDY}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_DECIDUEYE_HISUIAN] = { .baseHP = 88, @@ -25433,8 +25493,9 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_OVERGROW, ABILITY_NONE, ABILITY_LONG_REACH}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_HISUIAN_FORM, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, +#endif [SPECIES_PIKACHU_COSPLAY] = COSPLAY_PIKACHU_BASE_STATS(FLIP), [SPECIES_PIKACHU_ROCK_STAR] = COSPLAY_PIKACHU_BASE_STATS(FLIP), @@ -25453,7 +25514,7 @@ const struct BaseStats gBaseStats[] = [SPECIES_PIKACHU_WORLD_CAP] = CAP_PIKACHU_BASE_STATS(FLIP), [SPECIES_PICHU_SPIKY_EARED] = PICHU_BASE_STATS(NO_FLIP), -#endif + [SPECIES_UNOWN_B] = UNOWN_BASE_STATS(NO_FLIP), [SPECIES_UNOWN_C] = UNOWN_BASE_STATS(NO_FLIP), [SPECIES_UNOWN_D] = UNOWN_BASE_STATS(NO_FLIP), @@ -25560,7 +25621,7 @@ const struct BaseStats gBaseStats[] = .noFlip = TRUE, }, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE [SPECIES_BURMY_SANDY_CLOAK] = BURMY_BASE_STATS(BODY_COLOR_BROWN), [SPECIES_BURMY_TRASH_CLOAK] = BURMY_BASE_STATS(BODY_COLOR_RED), @@ -25649,7 +25710,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_PALKIA_ORIGIN] = @@ -25674,7 +25735,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_GIRATINA_ORIGIN] = @@ -25744,7 +25805,9 @@ const struct BaseStats gBaseStats[] = [SPECIES_ARCEUS_DRAGON] = ARCEUS_BASE_STATS(TYPE_DRAGON), [SPECIES_ARCEUS_DARK] = ARCEUS_BASE_STATS(TYPE_DARK), [SPECIES_ARCEUS_FAIRY] = ARCEUS_BASE_STATS(TYPE_FAIRY), +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_BASCULIN_BLUE_STRIPED] = { .baseHP = 70, @@ -25841,7 +25904,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_GORILLA_TACTICS, ABILITY_NONE, ABILITY_ZEN_MODE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = FLAG_GALARIAN_FORM, + .flags = SPECIES_FLAG_GALARIAN_FORM, }, [SPECIES_DEERLING_SUMMER] = DEERLING_BASE_STATS(BODY_COLOR_GREEN), @@ -25874,7 +25937,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_REGENERATOR, ABILITY_NONE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_THUNDURUS_THERIAN] = @@ -25899,7 +25962,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_VOLT_ABSORB, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_LANDORUS_THERIAN] = @@ -25924,32 +25987,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, - }, - - [SPECIES_ENAMORUS_THERIAN] = - { - .baseHP = 74, - .baseAttack = 115, - .baseDefense = 110, - .baseSpeed = 46, - .baseSpAttack = 135, - .baseSpDefense = 100, - .type1 = TYPE_FAIRY, - .type2 = TYPE_FLYING, - .catchRate = 3, - .expYield = 270, - .evYield_SpAttack = 3, - .genderRatio = MON_FEMALE, - .eggCycles = 120, - .friendship = 90, - .growthRate = GROWTH_SLOW, - .eggGroup1 = EGG_GROUP_UNDISCOVERED, - .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .abilities = {ABILITY_OVERCOAT, ABILITY_NONE}, - .bodyColor = BODY_COLOR_PINK, - .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_KYUREM_WHITE] = @@ -25974,7 +26012,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TURBOBLAZE, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_CANNOT_BE_TRADED, }, [SPECIES_KYUREM_BLACK] = @@ -25999,7 +26037,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_TERAVOLT, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_CANNOT_BE_TRADED, }, [SPECIES_KELDEO_RESOLUTE] = @@ -26024,7 +26062,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_JUSTIFIED, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = TRUE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_MELOETTA_PIROUETTE] = @@ -26053,14 +26091,16 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SERENE_GRACE, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = TRUE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, [SPECIES_GENESECT_DOUSE_DRIVE] = GENESECT_BASE_STATS, [SPECIES_GENESECT_SHOCK_DRIVE] = GENESECT_BASE_STATS, [SPECIES_GENESECT_BURN_DRIVE] = GENESECT_BASE_STATS, [SPECIES_GENESECT_CHILL_DRIVE] = GENESECT_BASE_STATS, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_GRENINJA_BATTLE_BOND] = { .baseHP = 72, @@ -26262,6 +26302,8 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 41, .baseSpAttack = 44, .baseSpDefense = 55, + .itemCommon = ITEM_MIRACLE_SEED, + .itemRare = ITEM_MIRACLE_SEED, PUMKPABOO_MISC_STATS, }, @@ -26295,6 +26337,8 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 54, .baseSpAttack = 58, .baseSpDefense = 75, + .itemCommon = ITEM_MIRACLE_SEED, + .itemRare = ITEM_MIRACLE_SEED, GOURGEIST_MISC_STATS, }, @@ -26326,7 +26370,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_POWER_CONSTRUCT, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLACK, .noFlip = TRUE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_HOOPA_UNBOUND] = @@ -26351,9 +26395,11 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_MAGICIAN, ABILITY_NONE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_MYTHICAL, + .flags = SPECIES_FLAG_MYTHICAL, }, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_ORICORIO_POM_POM] = ORICORIO_BASE_STATS(TYPE_ELECTRIC, BODY_COLOR_YELLOW), [SPECIES_ORICORIO_PAU] = ORICORIO_BASE_STATS(TYPE_PSYCHIC, BODY_COLOR_PINK), [SPECIES_ORICORIO_SENSU] = ORICORIO_BASE_STATS(TYPE_GHOST, BODY_COLOR_PURPLE), @@ -26489,7 +26535,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRISM_ARMOR, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = TRUE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_CANNOT_BE_TRADED, }, [SPECIES_NECROZMA_DAWN_WINGS] = @@ -26514,7 +26560,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRISM_ARMOR, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = TRUE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_CANNOT_BE_TRADED, }, [SPECIES_NECROZMA_ULTRA] = @@ -26541,11 +26587,13 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_NEUROFORCE, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = TRUE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_MAGEARNA_ORIGINAL_COLOR] = MAGEARNA_BASE_STATS(BODY_COLOR_RED), +#endif +#if P_GEN_8_POKEMON == TRUE [SPECIES_CRAMORANT_GULPING] = CRAMORANT_BASE_STATS, [SPECIES_CRAMORANT_GORGING] = CRAMORANT_BASE_STATS, @@ -26636,7 +26684,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_INTREPID_SWORD, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ZAMAZENTA_CROWNED_SHIELD] = @@ -26661,7 +26709,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_DAUNTLESS_SHIELD, ABILITY_NONE}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ETERNATUS_ETERNAMAX] = @@ -26686,7 +26734,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_URSHIFU_RAPID_STRIKE_STYLE] = @@ -26711,7 +26759,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_UNSEEN_FIST, ABILITY_NONE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY, }, [SPECIES_ZARUDE_DADA] = ZARUDE_BASE_STATS, @@ -26738,6 +26786,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_AS_ONE_ICE_RIDER, ABILITY_NONE}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_CANNOT_BE_TRADED, }, [SPECIES_CALYREX_SHADOW_RIDER] = @@ -26762,6 +26811,32 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_AS_ONE_SHADOW_RIDER, ABILITY_NONE}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_CANNOT_BE_TRADED, + }, + + [SPECIES_ENAMORUS_THERIAN] = + { + .baseHP = 74, + .baseAttack = 115, + .baseDefense = 110, + .baseSpeed = 46, + .baseSpAttack = 135, + .baseSpDefense = 100, + .type1 = TYPE_FAIRY, + .type2 = TYPE_FLYING, + .catchRate = 3, + .expYield = 270, + .evYield_SpAttack = 3, + .genderRatio = MON_FEMALE, + .eggCycles = 120, + .friendship = 90, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .abilities = {ABILITY_OVERCOAT, ABILITY_NONE}, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + .flags = SPECIES_FLAG_LEGENDARY, }, #endif }; diff --git a/src/data/pokemon/egg_moves.h b/src/data/pokemon/egg_moves.h index 3a5f3c332..b6cc938b7 100644 --- a/src/data/pokemon/egg_moves.h +++ b/src/data/pokemon/egg_moves.h @@ -2387,7 +2387,7 @@ const u16 gEggMoves[] = { MOVE_ENDURE, MOVE_DEFENSE_CURL), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE egg_moves(TURTWIG, MOVE_WORRY_SEED, MOVE_GROWTH, @@ -2877,7 +2877,9 @@ const u16 gEggMoves[] = { MOVE_AVALANCHE, MOVE_NATURAL_GIFT, MOVE_BULLET_SEED), +#endif +#if P_GEN_5_POKEMON == TRUE egg_moves(SNIVY, MOVE_CAPTIVATE, MOVE_NATURAL_GIFT, @@ -3600,7 +3602,9 @@ const u16 gEggMoves[] = { MOVE_ZEN_HEADBUTT, MOVE_MORNING_SUN, MOVE_MAGNET_RISE), +#endif +#if P_GEN_6_POKEMON == TRUE egg_moves(CHESPIN, MOVE_SYNTHESIS, MOVE_BELLY_DRUM, @@ -3807,7 +3811,9 @@ const u16 gEggMoves[] = { MOVE_SNATCH, MOVE_OUTRAGE, MOVE_TAILWIND), +#endif +#if P_GEN_7_POKEMON == TRUE egg_moves(ROWLET, MOVE_CURSE, MOVE_CONFUSE_RAY, @@ -4034,7 +4040,9 @@ const u16 gEggMoves[] = { MOVE_COUNTER, MOVE_REVERSAL, MOVE_DRAGON_BREATH), +#endif +#if P_GEN_8_POKEMON == TRUE egg_moves(GROOKEY, MOVE_GROWTH, MOVE_HAMMER_ARM, @@ -4230,6 +4238,7 @@ const u16 gEggMoves[] = { MOVE_DISABLE, MOVE_DRAGON_TAIL, MOVE_SUCKER_PUNCH), +#endif egg_moves(RATTATA_ALOLAN, MOVE_COUNTER, @@ -4382,6 +4391,7 @@ const u16 gEggMoves[] = { MOVE_QUICK_GUARD, MOVE_KNOCK_OFF), +#if P_GEN_5_POKEMON == TRUE egg_moves(DARUMAKA_GALARIAN, MOVE_FOCUS_PUNCH, MOVE_HAMMER_ARM, @@ -4404,13 +4414,13 @@ const u16 gEggMoves[] = { MOVE_COUNTER, MOVE_PAIN_SPLIT, MOVE_REFLECT_TYPE), +#endif egg_moves(INDEEDEE_FEMALE, MOVE_PSYCH_UP, MOVE_FAKE_OUT, MOVE_PSYCHO_SHIFT, MOVE_HEAL_PULSE), -#endif EGG_MOVES_TERMINATOR }; diff --git a/src/data/pokemon/evolution.h b/src/data/pokemon/evolution.h index bf15638f2..4f09867a6 100644 --- a/src/data/pokemon/evolution.h +++ b/src/data/pokemon/evolution.h @@ -61,8 +61,10 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = {EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_SLOWKING}}, [SPECIES_SLOWBRO] = {{EVO_MEGA_EVOLUTION, ITEM_SLOWBRONITE, SPECIES_SLOWBRO_MEGA}}, [SPECIES_MAGNEMITE] = {{EVO_LEVEL, 30, SPECIES_MAGNETON}}, +#if P_GEN_4_POKEMON == TRUE [SPECIES_MAGNETON] = {{EVO_MAPSEC, MAPSEC_NEW_MAUVILLE, SPECIES_MAGNEZONE}, {EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_MAGNEZONE}}, +#endif [SPECIES_DODUO] = {{EVO_LEVEL, 31, SPECIES_DODRIO}}, [SPECIES_SEEL] = {{EVO_LEVEL, 34, SPECIES_DEWGONG}}, [SPECIES_GRIMER] = {{EVO_LEVEL, 38, SPECIES_MUK}}, @@ -78,20 +80,28 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = {EVO_ITEM, ITEM_LEAF_STONE, SPECIES_EXEGGUTOR_ALOLAN}}, [SPECIES_CUBONE] = {{EVO_LEVEL, 28, SPECIES_MAROWAK}, {EVO_LEVEL_NIGHT, 28, SPECIES_MAROWAK_ALOLAN}}, +#if P_GEN_4_POKEMON == TRUE [SPECIES_LICKITUNG] = {{EVO_MOVE, MOVE_ROLLOUT, SPECIES_LICKILICKY}}, +#endif [SPECIES_KOFFING] = {{EVO_LEVEL, 35, SPECIES_WEEZING}}, [SPECIES_RHYHORN] = {{EVO_LEVEL, 42, SPECIES_RHYDON}}, +#if P_GEN_4_POKEMON == TRUE [SPECIES_RHYDON] = {{EVO_TRADE_ITEM, ITEM_PROTECTOR, SPECIES_RHYPERIOR}}, +#endif [SPECIES_CHANSEY] = {{EVO_FRIENDSHIP, 0, SPECIES_BLISSEY}}, +#if P_GEN_4_POKEMON == TRUE [SPECIES_TANGELA] = {{EVO_MOVE, MOVE_ANCIENT_POWER, SPECIES_TANGROWTH}}, +#endif [SPECIES_KANGASKHAN] = {{EVO_MEGA_EVOLUTION, ITEM_KANGASKHANITE, SPECIES_KANGASKHAN_MEGA}}, [SPECIES_HORSEA] = {{EVO_LEVEL, 32, SPECIES_SEADRA}}, [SPECIES_SEADRA] = {{EVO_TRADE_ITEM, ITEM_DRAGON_SCALE, SPECIES_KINGDRA}}, [SPECIES_GOLDEEN] = {{EVO_LEVEL, 33, SPECIES_SEAKING}}, [SPECIES_STARYU] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_STARMIE}}, [SPECIES_SCYTHER] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_SCIZOR}}, +#if P_GEN_4_POKEMON == TRUE [SPECIES_ELECTABUZZ] = {{EVO_TRADE_ITEM, ITEM_ELECTIRIZER, SPECIES_ELECTIVIRE}}, [SPECIES_MAGMAR] = {{EVO_TRADE_ITEM, ITEM_MAGMARIZER, SPECIES_MAGMORTAR}}, +#endif [SPECIES_PINSIR] = {{EVO_MEGA_EVOLUTION, ITEM_PINSIRITE, SPECIES_PINSIR_MEGA}}, [SPECIES_MAGIKARP] = {{EVO_LEVEL, 20, SPECIES_GYARADOS}}, [SPECIES_GYARADOS] = {{EVO_MEGA_EVOLUTION, ITEM_GYARADOSITE, SPECIES_GYARADOS_MEGA}}, @@ -100,11 +110,16 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = {EVO_ITEM, ITEM_FIRE_STONE, SPECIES_FLAREON}, {EVO_FRIENDSHIP_DAY, 0, SPECIES_ESPEON}, {EVO_FRIENDSHIP_NIGHT, 0, SPECIES_UMBREON}, + #if P_GEN_4_POKEMON == TRUE {EVO_SPECIFIC_MAP, MAP_PETALBURG_WOODS, SPECIES_LEAFEON}, {EVO_ITEM, ITEM_LEAF_STONE, SPECIES_LEAFEON}, {EVO_SPECIFIC_MAP, MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM, SPECIES_GLACEON}, {EVO_ITEM, ITEM_ICE_STONE, SPECIES_GLACEON}, - {EVO_MOVE_TYPE, TYPE_FAIRY, SPECIES_SYLVEON}}, + #endif + #if P_GEN_6_POKEMON == TRUE + {EVO_MOVE_TYPE, TYPE_FAIRY, SPECIES_SYLVEON} + #endif + }, [SPECIES_PORYGON] = {{EVO_TRADE_ITEM, ITEM_UPGRADE, SPECIES_PORYGON2}}, [SPECIES_OMANYTE] = {{EVO_LEVEL, 40, SPECIES_OMASTAR}}, [SPECIES_KABUTO] = {{EVO_LEVEL, 40, SPECIES_KABUTOPS}}, @@ -128,7 +143,9 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_CLEFFA] = {{EVO_FRIENDSHIP, 0, SPECIES_CLEFAIRY}}, [SPECIES_IGGLYBUFF] = {{EVO_FRIENDSHIP, 0, SPECIES_JIGGLYPUFF}}, [SPECIES_TOGEPI] = {{EVO_FRIENDSHIP, 0, SPECIES_TOGETIC}}, +#if P_GEN_4_POKEMON == TRUE [SPECIES_TOGETIC] = {{EVO_ITEM, ITEM_SHINY_STONE, SPECIES_TOGEKISS}}, +#endif [SPECIES_NATU] = {{EVO_LEVEL, 25, SPECIES_XATU}}, [SPECIES_MAREEP] = {{EVO_LEVEL, 15, SPECIES_FLAAFFY}}, [SPECIES_FLAAFFY] = {{EVO_LEVEL, 30, SPECIES_AMPHAROS}}, @@ -138,26 +155,38 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_SKIPLOOM] = {{EVO_LEVEL, 27, SPECIES_JUMPLUFF}}, [SPECIES_AIPOM] = {{EVO_MOVE, MOVE_DOUBLE_HIT, SPECIES_AMBIPOM}}, [SPECIES_SUNKERN] = {{EVO_ITEM, ITEM_SUN_STONE, SPECIES_SUNFLORA}}, +#if P_GEN_4_POKEMON == TRUE [SPECIES_YANMA] = {{EVO_MOVE, MOVE_ANCIENT_POWER, SPECIES_YANMEGA}}, +#endif [SPECIES_WOOPER] = {{EVO_LEVEL, 20, SPECIES_QUAGSIRE}}, +#if P_GEN_4_POKEMON == TRUE [SPECIES_MURKROW] = {{EVO_ITEM, ITEM_DUSK_STONE, SPECIES_HONCHKROW}}, [SPECIES_MISDREAVUS] = {{EVO_ITEM, ITEM_DUSK_STONE, SPECIES_MISMAGIUS}}, +#endif [SPECIES_PINECO] = {{EVO_LEVEL, 31, SPECIES_FORRETRESS}}, +#if P_GEN_4_POKEMON == TRUE [SPECIES_GLIGAR] = {{EVO_ITEM_HOLD_NIGHT, ITEM_RAZOR_FANG, SPECIES_GLISCOR}}, +#endif [SPECIES_STEELIX] = {{EVO_MEGA_EVOLUTION, ITEM_STEELIXITE, SPECIES_STEELIX_MEGA}}, [SPECIES_SNUBBULL] = {{EVO_LEVEL, 23, SPECIES_GRANBULL}}, [SPECIES_SCIZOR] = {{EVO_MEGA_EVOLUTION, ITEM_SCIZORITE, SPECIES_SCIZOR_MEGA}}, [SPECIES_HERACROSS] = {{EVO_MEGA_EVOLUTION, ITEM_HERACRONITE, SPECIES_HERACROSS_MEGA}}, +#if P_GEN_4_POKEMON == TRUE [SPECIES_SNEASEL] = {{EVO_ITEM_HOLD_NIGHT, ITEM_RAZOR_CLAW, SPECIES_WEAVILE}}, +#endif [SPECIES_TEDDIURSA] = {{EVO_LEVEL, 30, SPECIES_URSARING}}, [SPECIES_SLUGMA] = {{EVO_LEVEL, 38, SPECIES_MAGCARGO}}, [SPECIES_SWINUB] = {{EVO_LEVEL, 33, SPECIES_PILOSWINE}}, +#if P_GEN_4_POKEMON == TRUE [SPECIES_PILOSWINE] = {{EVO_MOVE, MOVE_ANCIENT_POWER, SPECIES_MAMOSWINE}}, +#endif [SPECIES_REMORAID] = {{EVO_LEVEL, 25, SPECIES_OCTILLERY}}, [SPECIES_HOUNDOUR] = {{EVO_LEVEL, 24, SPECIES_HOUNDOOM}}, [SPECIES_HOUNDOOM] = {{EVO_MEGA_EVOLUTION, ITEM_HOUNDOOMINITE, SPECIES_HOUNDOOM_MEGA}}, [SPECIES_PHANPY] = {{EVO_LEVEL, 25, SPECIES_DONPHAN}}, +#if P_GEN_4_POKEMON == TRUE [SPECIES_PORYGON2] = {{EVO_TRADE_ITEM, ITEM_DUBIOUS_DISC, SPECIES_PORYGON_Z}}, +#endif [SPECIES_TYROGUE] = {{EVO_LEVEL_ATK_LT_DEF, 20, SPECIES_HITMONCHAN}, {EVO_LEVEL_ATK_GT_DEF, 20, SPECIES_HITMONLEE}, {EVO_LEVEL_ATK_EQ_DEF, 20, SPECIES_HITMONTOP}}, @@ -195,7 +224,9 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_WAILMER] = {{EVO_LEVEL, 40, SPECIES_WAILORD}}, [SPECIES_SKITTY] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_DELCATTY}}, [SPECIES_BALTOY] = {{EVO_LEVEL, 36, SPECIES_CLAYDOL}}, +#if P_GEN_4_POKEMON == TRUE [SPECIES_NOSEPASS] = {{EVO_MAPSEC, MAPSEC_NEW_MAUVILLE, SPECIES_PROBOPASS}}, +#endif [SPECIES_SABLEYE] = {{EVO_MEGA_EVOLUTION, ITEM_SABLENITE, SPECIES_SABLEYE_MEGA}}, [SPECIES_BARBOACH] = {{EVO_LEVEL, 30, SPECIES_WHISCASH}}, [SPECIES_CORPHISH] = {{EVO_LEVEL, 30, SPECIES_CRAWDAUNT}}, @@ -214,7 +245,10 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_SEALEO] = {{EVO_LEVEL, 44, SPECIES_WALREIN}}, [SPECIES_CACNEA] = {{EVO_LEVEL, 32, SPECIES_CACTURNE}}, [SPECIES_SNORUNT] = {{EVO_LEVEL, 42, SPECIES_GLALIE}, - {EVO_ITEM_FEMALE, ITEM_DAWN_STONE, SPECIES_FROSLASS}}, + #if P_GEN_4_POKEMON == TRUE + {EVO_ITEM_FEMALE, ITEM_DAWN_STONE, SPECIES_FROSLASS} + #endif + }, [SPECIES_GLALIE] = {{EVO_MEGA_EVOLUTION, ITEM_GLALITITE, SPECIES_GLALIE_MEGA}}, [SPECIES_AZURILL] = {{EVO_FRIENDSHIP, 0, SPECIES_MARILL}}, [SPECIES_SPOINK] = {{EVO_LEVEL, 32, SPECIES_GRUMPIG}}, @@ -225,8 +259,10 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_ALTARIA] = {{EVO_MEGA_EVOLUTION, ITEM_ALTARIANITE, SPECIES_ALTARIA_MEGA}}, [SPECIES_WYNAUT] = {{EVO_LEVEL, 15, SPECIES_WOBBUFFET}}, [SPECIES_DUSKULL] = {{EVO_LEVEL, 37, SPECIES_DUSCLOPS}}, +#if P_GEN_4_POKEMON == TRUE [SPECIES_DUSCLOPS] = {{EVO_TRADE_ITEM, ITEM_REAPER_CLOTH, SPECIES_DUSKNOIR}}, [SPECIES_ROSELIA] = {{EVO_ITEM, ITEM_SHINY_STONE, SPECIES_ROSERADE}}, +#endif [SPECIES_SLAKOTH] = {{EVO_LEVEL, 18, SPECIES_VIGOROTH}}, [SPECIES_VIGOROTH] = {{EVO_LEVEL, 36, SPECIES_SLAKING}}, [SPECIES_GULPIN] = {{EVO_LEVEL, 26, SPECIES_SWALOT}}, @@ -244,7 +280,10 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_ANORITH] = {{EVO_LEVEL, 40, SPECIES_ARMALDO}}, [SPECIES_RALTS] = {{EVO_LEVEL, 20, SPECIES_KIRLIA}}, [SPECIES_KIRLIA] = {{EVO_LEVEL, 30, SPECIES_GARDEVOIR}, - {EVO_ITEM_MALE, ITEM_DAWN_STONE, SPECIES_GALLADE}}, + #if P_GEN_4_POKEMON == TRUE + {EVO_ITEM_MALE, ITEM_DAWN_STONE, SPECIES_GALLADE} + #endif + }, [SPECIES_GARDEVOIR] = {{EVO_MEGA_EVOLUTION, ITEM_GARDEVOIRITE, SPECIES_GARDEVOIR_MEGA}}, [SPECIES_BAGON] = {{EVO_LEVEL, 30, SPECIES_SHELGON}}, [SPECIES_SHELGON] = {{EVO_LEVEL, 50, SPECIES_SALAMENCE}}, @@ -258,6 +297,7 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_GROUDON] = {{EVO_PRIMAL_REVERSION, ITEM_RED_ORB, SPECIES_GROUDON_PRIMAL}}, [SPECIES_RAYQUAZA] = {{EVO_MOVE_MEGA_EVOLUTION, MOVE_DRAGON_ASCENT, SPECIES_RAYQUAZA_MEGA}}, +#if P_GEN_4_POKEMON == TRUE // Gens 4-7 [SPECIES_TURTWIG] = {{EVO_LEVEL, 18, SPECIES_GROTLE}}, [SPECIES_GROTLE] = {{EVO_LEVEL, 32, SPECIES_TORTERRA}}, @@ -304,6 +344,8 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_SNOVER] = {{EVO_LEVEL, 40, SPECIES_ABOMASNOW}}, [SPECIES_ABOMASNOW] = {{EVO_MEGA_EVOLUTION, ITEM_ABOMASITE, SPECIES_ABOMASNOW_MEGA}}, [SPECIES_GALLADE] = {{EVO_MEGA_EVOLUTION, ITEM_GALLADITE, SPECIES_GALLADE_MEGA}}, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_SNIVY] = {{EVO_LEVEL, 17, SPECIES_SERVINE}}, [SPECIES_SERVINE] = {{EVO_LEVEL, 36, SPECIES_SERPERIOR}}, [SPECIES_TEPIG] = {{EVO_LEVEL, 17, SPECIES_PIGNITE}}, @@ -379,6 +421,8 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_DEINO] = {{EVO_LEVEL, 50, SPECIES_ZWEILOUS}}, [SPECIES_ZWEILOUS] = {{EVO_LEVEL, 64, SPECIES_HYDREIGON}}, [SPECIES_LARVESTA] = {{EVO_LEVEL, 59, SPECIES_VOLCARONA}}, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_CHESPIN] = {{EVO_LEVEL, 16, SPECIES_QUILLADIN}}, [SPECIES_QUILLADIN] = {{EVO_LEVEL, 36, SPECIES_CHESNAUGHT}}, [SPECIES_FENNEKIN] = {{EVO_LEVEL, 16, SPECIES_BRAIXEN}}, @@ -415,6 +459,8 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_BERGMITE] = {{EVO_LEVEL, 37, SPECIES_AVALUGG}}, [SPECIES_NOIBAT] = {{EVO_LEVEL, 48, SPECIES_NOIVERN}}, [SPECIES_DIANCIE] = {{EVO_MEGA_EVOLUTION, ITEM_DIANCITE, SPECIES_DIANCIE_MEGA}}, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_ROWLET] = {{EVO_LEVEL, 17, SPECIES_DARTRIX}}, [SPECIES_DARTRIX] = {{EVO_LEVEL, 34, SPECIES_DECIDUEYE}}, [SPECIES_LITTEN] = {{EVO_LEVEL, 17, SPECIES_TORRACAT}}, @@ -449,6 +495,8 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_COSMOEM] = {{EVO_LEVEL_DAY, 53, SPECIES_SOLGALEO}, {EVO_LEVEL_NIGHT, 53, SPECIES_LUNALA}}, [SPECIES_POIPOLE] = {{EVO_MOVE, MOVE_DRAGON_PULSE, SPECIES_NAGANADEL}}, +#endif +#if P_GEN_8_POKEMON == TRUE [SPECIES_GROOKEY] = {{EVO_LEVEL, 16, SPECIES_THWACKEY}}, [SPECIES_THWACKEY] = {{EVO_LEVEL, 35, SPECIES_RILLABOOM}}, [SPECIES_SCORBUNNY] = {{EVO_LEVEL, 16, SPECIES_RABOOT}}, @@ -495,6 +543,7 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_DRAKLOAK] = {{EVO_LEVEL, 60, SPECIES_DRAGAPULT}}, [SPECIES_KUBFU] = {{EVO_DARK_SCROLL, 0, SPECIES_URSHIFU}, {EVO_WATER_SCROLL, 0, SPECIES_URSHIFU_RAPID_STRIKE_STYLE}}, +#endif [SPECIES_RATTATA_ALOLAN] = {{EVO_LEVEL_NIGHT, 20, SPECIES_RATICATE_ALOLAN}}, [SPECIES_SANDSHREW_ALOLAN] = {{EVO_ITEM, ITEM_ICE_STONE, SPECIES_SANDSLASH_ALOLAN}}, [SPECIES_VULPIX_ALOLAN] = {{EVO_ITEM, ITEM_ICE_STONE, SPECIES_NINETALES_ALOLAN}}, @@ -503,10 +552,13 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_GEODUDE_ALOLAN] = {{EVO_LEVEL, 25, SPECIES_GRAVELER_ALOLAN}}, [SPECIES_GRAVELER_ALOLAN] = {{EVO_TRADE, 0, SPECIES_GOLEM_ALOLAN}}, [SPECIES_GRIMER_ALOLAN] = {{EVO_LEVEL, 38, SPECIES_MUK_ALOLAN}}, +#if P_GEN_8_POKEMON == TRUE [SPECIES_MEOWTH_GALARIAN] = {{EVO_LEVEL, 28, SPECIES_PERRSERKER}}, +#endif [SPECIES_PONYTA_GALARIAN] = {{EVO_LEVEL, 40, SPECIES_RAPIDASH_GALARIAN}}, [SPECIES_SLOWPOKE_GALARIAN] = {{EVO_ITEM, ITEM_GALARICA_CUFF, SPECIES_SLOWBRO_GALARIAN}, {EVO_ITEM, ITEM_GALARICA_WREATH, SPECIES_SLOWKING_GALARIAN}}, +#if P_GEN_8_POKEMON == TRUE [SPECIES_FARFETCHD_GALARIAN] = {{EVO_CRITICAL_HITS, 3, SPECIES_SIRFETCHD}}, [SPECIES_MR_MIME_GALARIAN] = {{EVO_LEVEL, 42, SPECIES_MR_RIME}}, [SPECIES_CORSOLA_GALARIAN] = {{EVO_LEVEL, 38, SPECIES_CURSOLA}}, @@ -514,14 +566,23 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_LINOONE_GALARIAN] = {{EVO_LEVEL_NIGHT, 35, SPECIES_OBSTAGOON}}, [SPECIES_DARUMAKA_GALARIAN] = {{EVO_ITEM, ITEM_ICE_STONE, SPECIES_DARMANITAN_GALARIAN}}, [SPECIES_YAMASK_GALARIAN] = {{EVO_SCRIPT_TRIGGER_DMG, 49, SPECIES_RUNERIGUS}}, +#else + [SPECIES_ZIGZAGOON_GALARIAN] = {{EVO_LEVEL, 20, SPECIES_LINOONE_GALARIAN}}, + [SPECIES_DARUMAKA_GALARIAN] = {{EVO_ITEM, ITEM_ICE_STONE, SPECIES_DARMANITAN_GALARIAN}}, +#endif +#if P_GEN_4_POKEMON == TRUE [SPECIES_BURMY_SANDY_CLOAK] = {{EVO_LEVEL_FEMALE, 20, SPECIES_WORMADAM_SANDY_CLOAK}, {EVO_LEVEL_MALE, 20, SPECIES_MOTHIM}}, [SPECIES_BURMY_TRASH_CLOAK] = {{EVO_LEVEL_FEMALE, 20, SPECIES_WORMADAM_TRASH_CLOAK}, {EVO_LEVEL_MALE, 20, SPECIES_MOTHIM}}, [SPECIES_SHELLOS_EAST_SEA] = {{EVO_LEVEL, 30, SPECIES_GASTRODON_EAST_SEA}}, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_DEERLING_SUMMER] = {{EVO_LEVEL, 34, SPECIES_SAWSBUCK_SUMMER}}, [SPECIES_DEERLING_AUTUMN] = {{EVO_LEVEL, 34, SPECIES_SAWSBUCK_AUTUMN}}, [SPECIES_DEERLING_WINTER] = {{EVO_LEVEL, 34, SPECIES_SAWSBUCK_WINTER}}, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_FLABEBE_YELLOW_FLOWER] = {{EVO_LEVEL, 19, SPECIES_FLOETTE_YELLOW_FLOWER}}, [SPECIES_FLABEBE_ORANGE_FLOWER] = {{EVO_LEVEL, 19, SPECIES_FLOETTE_ORANGE_FLOWER}}, [SPECIES_FLABEBE_BLUE_FLOWER] = {{EVO_LEVEL, 19, SPECIES_FLOETTE_BLUE_FLOWER}}, @@ -533,6 +594,11 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_PUMPKABOO_SMALL] = {{EVO_TRADE, 0, SPECIES_GOURGEIST_SMALL}}, [SPECIES_PUMPKABOO_LARGE] = {{EVO_TRADE, 0, SPECIES_GOURGEIST_LARGE}}, [SPECIES_PUMPKABOO_SUPER] = {{EVO_TRADE, 0, SPECIES_GOURGEIST_SUPER}}, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_ROCKRUFF_OWN_TEMPO] = {{EVO_LEVEL_DUSK, 25, SPECIES_LYCANROC_DUSK}}, +#endif +#if P_GEN_8_POKEMON == TRUE [SPECIES_SINISTEA_ANTIQUE] = {{EVO_ITEM, ITEM_CHIPPED_POT, SPECIES_POLTEAGEIST_ANTIQUE}}, +#endif }; diff --git a/src/data/pokemon/evolution_old.h b/src/data/pokemon/evolution_old.h deleted file mode 100644 index 0a604defb..000000000 --- a/src/data/pokemon/evolution_old.h +++ /dev/null @@ -1,188 +0,0 @@ -const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = -{ - [SPECIES_BULBASAUR] = {{EVO_LEVEL, 16, SPECIES_IVYSAUR}}, - [SPECIES_IVYSAUR] = {{EVO_LEVEL, 32, SPECIES_VENUSAUR}}, - [SPECIES_CHARMANDER] = {{EVO_LEVEL, 16, SPECIES_CHARMELEON}}, - [SPECIES_CHARMELEON] = {{EVO_LEVEL, 36, SPECIES_CHARIZARD}}, - [SPECIES_SQUIRTLE] = {{EVO_LEVEL, 16, SPECIES_WARTORTLE}}, - [SPECIES_WARTORTLE] = {{EVO_LEVEL, 36, SPECIES_BLASTOISE}}, - [SPECIES_CATERPIE] = {{EVO_LEVEL, 7, SPECIES_METAPOD}}, - [SPECIES_METAPOD] = {{EVO_LEVEL, 10, SPECIES_BUTTERFREE}}, - [SPECIES_WEEDLE] = {{EVO_LEVEL, 7, SPECIES_KAKUNA}}, - [SPECIES_KAKUNA] = {{EVO_LEVEL, 10, SPECIES_BEEDRILL}}, - [SPECIES_PIDGEY] = {{EVO_LEVEL, 18, SPECIES_PIDGEOTTO}}, - [SPECIES_PIDGEOTTO] = {{EVO_LEVEL, 36, SPECIES_PIDGEOT}}, - [SPECIES_RATTATA] = {{EVO_LEVEL, 20, SPECIES_RATICATE}}, - [SPECIES_SPEAROW] = {{EVO_LEVEL, 20, SPECIES_FEAROW}}, - [SPECIES_EKANS] = {{EVO_LEVEL, 22, SPECIES_ARBOK}}, - [SPECIES_PIKACHU] = {{EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_RAICHU}}, - [SPECIES_SANDSHREW] = {{EVO_LEVEL, 22, SPECIES_SANDSLASH}}, - [SPECIES_NIDORAN_F] = {{EVO_LEVEL, 16, SPECIES_NIDORINA}}, - [SPECIES_NIDORINA] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOQUEEN}}, - [SPECIES_NIDORAN_M] = {{EVO_LEVEL, 16, SPECIES_NIDORINO}}, - [SPECIES_NIDORINO] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOKING}}, - [SPECIES_CLEFAIRY] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_CLEFABLE}}, - [SPECIES_VULPIX] = {{EVO_ITEM, ITEM_FIRE_STONE, SPECIES_NINETALES}}, - [SPECIES_JIGGLYPUFF] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_WIGGLYTUFF}}, - [SPECIES_ZUBAT] = {{EVO_LEVEL, 22, SPECIES_GOLBAT}}, - [SPECIES_GOLBAT] = {{EVO_FRIENDSHIP, 0, SPECIES_CROBAT}}, - [SPECIES_ODDISH] = {{EVO_LEVEL, 21, SPECIES_GLOOM}}, - [SPECIES_GLOOM] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VILEPLUME}, - {EVO_ITEM, ITEM_SUN_STONE, SPECIES_BELLOSSOM}}, - [SPECIES_PARAS] = {{EVO_LEVEL, 24, SPECIES_PARASECT}}, - [SPECIES_VENONAT] = {{EVO_LEVEL, 31, SPECIES_VENOMOTH}}, - [SPECIES_DIGLETT] = {{EVO_LEVEL, 26, SPECIES_DUGTRIO}}, - [SPECIES_MEOWTH] = {{EVO_LEVEL, 28, SPECIES_PERSIAN}}, - [SPECIES_PSYDUCK] = {{EVO_LEVEL, 33, SPECIES_GOLDUCK}}, - [SPECIES_MANKEY] = {{EVO_LEVEL, 28, SPECIES_PRIMEAPE}}, - [SPECIES_GROWLITHE] = {{EVO_ITEM, ITEM_FIRE_STONE, SPECIES_ARCANINE}}, - [SPECIES_POLIWAG] = {{EVO_LEVEL, 25, SPECIES_POLIWHIRL}}, - [SPECIES_POLIWHIRL] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_POLIWRATH}, - {EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_POLITOED}}, - [SPECIES_ABRA] = {{EVO_LEVEL, 16, SPECIES_KADABRA}}, - [SPECIES_KADABRA] = {{EVO_TRADE, 0, SPECIES_ALAKAZAM}}, - [SPECIES_MACHOP] = {{EVO_LEVEL, 28, SPECIES_MACHOKE}}, - [SPECIES_MACHOKE] = {{EVO_TRADE, 0, SPECIES_MACHAMP}}, - [SPECIES_BELLSPROUT] = {{EVO_LEVEL, 21, SPECIES_WEEPINBELL}}, - [SPECIES_WEEPINBELL] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VICTREEBEL}}, - [SPECIES_TENTACOOL] = {{EVO_LEVEL, 30, SPECIES_TENTACRUEL}}, - [SPECIES_GEODUDE] = {{EVO_LEVEL, 25, SPECIES_GRAVELER}}, - [SPECIES_GRAVELER] = {{EVO_TRADE, 0, SPECIES_GOLEM}}, - [SPECIES_PONYTA] = {{EVO_LEVEL, 40, SPECIES_RAPIDASH}}, - [SPECIES_SLOWPOKE] = {{EVO_LEVEL, 37, SPECIES_SLOWBRO}, - {EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_SLOWKING}}, - [SPECIES_MAGNEMITE] = {{EVO_LEVEL, 30, SPECIES_MAGNETON}}, - [SPECIES_DODUO] = {{EVO_LEVEL, 31, SPECIES_DODRIO}}, - [SPECIES_SEEL] = {{EVO_LEVEL, 34, SPECIES_DEWGONG}}, - [SPECIES_GRIMER] = {{EVO_LEVEL, 38, SPECIES_MUK}}, - [SPECIES_SHELLDER] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_CLOYSTER}}, - [SPECIES_GASTLY] = {{EVO_LEVEL, 25, SPECIES_HAUNTER}}, - [SPECIES_HAUNTER] = {{EVO_TRADE, 0, SPECIES_GENGAR}}, - [SPECIES_ONIX] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_STEELIX}}, - [SPECIES_DROWZEE] = {{EVO_LEVEL, 26, SPECIES_HYPNO}}, - [SPECIES_KRABBY] = {{EVO_LEVEL, 28, SPECIES_KINGLER}}, - [SPECIES_VOLTORB] = {{EVO_LEVEL, 30, SPECIES_ELECTRODE}}, - [SPECIES_EXEGGCUTE] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_EXEGGUTOR}}, - [SPECIES_CUBONE] = {{EVO_LEVEL, 28, SPECIES_MAROWAK}}, - [SPECIES_KOFFING] = {{EVO_LEVEL, 35, SPECIES_WEEZING}}, - [SPECIES_RHYHORN] = {{EVO_LEVEL, 42, SPECIES_RHYDON}}, - [SPECIES_CHANSEY] = {{EVO_FRIENDSHIP, 0, SPECIES_BLISSEY}}, - [SPECIES_HORSEA] = {{EVO_LEVEL, 32, SPECIES_SEADRA}}, - [SPECIES_SEADRA] = {{EVO_TRADE_ITEM, ITEM_DRAGON_SCALE, SPECIES_KINGDRA}}, - [SPECIES_GOLDEEN] = {{EVO_LEVEL, 33, SPECIES_SEAKING}}, - [SPECIES_STARYU] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_STARMIE}}, - [SPECIES_SCYTHER] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_SCIZOR}}, - [SPECIES_MAGIKARP] = {{EVO_LEVEL, 20, SPECIES_GYARADOS}}, - [SPECIES_EEVEE] = {{EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_JOLTEON}, - {EVO_ITEM, ITEM_WATER_STONE, SPECIES_VAPOREON}, - {EVO_ITEM, ITEM_FIRE_STONE, SPECIES_FLAREON}, - {EVO_FRIENDSHIP_DAY, 0, SPECIES_ESPEON}, - {EVO_FRIENDSHIP_NIGHT, 0, SPECIES_UMBREON}}, - [SPECIES_PORYGON] = {{EVO_TRADE_ITEM, ITEM_UPGRADE, SPECIES_PORYGON2}}, - [SPECIES_OMANYTE] = {{EVO_LEVEL, 40, SPECIES_OMASTAR}}, - [SPECIES_KABUTO] = {{EVO_LEVEL, 40, SPECIES_KABUTOPS}}, - [SPECIES_DRATINI] = {{EVO_LEVEL, 30, SPECIES_DRAGONAIR}}, - [SPECIES_DRAGONAIR] = {{EVO_LEVEL, 55, SPECIES_DRAGONITE}}, - [SPECIES_CHIKORITA] = {{EVO_LEVEL, 16, SPECIES_BAYLEEF}}, - [SPECIES_BAYLEEF] = {{EVO_LEVEL, 32, SPECIES_MEGANIUM}}, - [SPECIES_CYNDAQUIL] = {{EVO_LEVEL, 14, SPECIES_QUILAVA}}, - [SPECIES_QUILAVA] = {{EVO_LEVEL, 36, SPECIES_TYPHLOSION}}, - [SPECIES_TOTODILE] = {{EVO_LEVEL, 18, SPECIES_CROCONAW}}, - [SPECIES_CROCONAW] = {{EVO_LEVEL, 30, SPECIES_FERALIGATR}}, - [SPECIES_SENTRET] = {{EVO_LEVEL, 15, SPECIES_FURRET}}, - [SPECIES_HOOTHOOT] = {{EVO_LEVEL, 20, SPECIES_NOCTOWL}}, - [SPECIES_LEDYBA] = {{EVO_LEVEL, 18, SPECIES_LEDIAN}}, - [SPECIES_SPINARAK] = {{EVO_LEVEL, 22, SPECIES_ARIADOS}}, - [SPECIES_CHINCHOU] = {{EVO_LEVEL, 27, SPECIES_LANTURN}}, - [SPECIES_PICHU] = {{EVO_FRIENDSHIP, 0, SPECIES_PIKACHU}}, - [SPECIES_CLEFFA] = {{EVO_FRIENDSHIP, 0, SPECIES_CLEFAIRY}}, - [SPECIES_IGGLYBUFF] = {{EVO_FRIENDSHIP, 0, SPECIES_JIGGLYPUFF}}, - [SPECIES_TOGEPI] = {{EVO_FRIENDSHIP, 0, SPECIES_TOGETIC}}, - [SPECIES_NATU] = {{EVO_LEVEL, 25, SPECIES_XATU}}, - [SPECIES_MAREEP] = {{EVO_LEVEL, 15, SPECIES_FLAAFFY}}, - [SPECIES_FLAAFFY] = {{EVO_LEVEL, 30, SPECIES_AMPHAROS}}, - [SPECIES_MARILL] = {{EVO_LEVEL, 18, SPECIES_AZUMARILL}}, - [SPECIES_HOPPIP] = {{EVO_LEVEL, 18, SPECIES_SKIPLOOM}}, - [SPECIES_SKIPLOOM] = {{EVO_LEVEL, 27, SPECIES_JUMPLUFF}}, - [SPECIES_SUNKERN] = {{EVO_ITEM, ITEM_SUN_STONE, SPECIES_SUNFLORA}}, - [SPECIES_WOOPER] = {{EVO_LEVEL, 20, SPECIES_QUAGSIRE}}, - [SPECIES_PINECO] = {{EVO_LEVEL, 31, SPECIES_FORRETRESS}}, - [SPECIES_SNUBBULL] = {{EVO_LEVEL, 23, SPECIES_GRANBULL}}, - [SPECIES_TEDDIURSA] = {{EVO_LEVEL, 30, SPECIES_URSARING}}, - [SPECIES_SLUGMA] = {{EVO_LEVEL, 38, SPECIES_MAGCARGO}}, - [SPECIES_SWINUB] = {{EVO_LEVEL, 33, SPECIES_PILOSWINE}}, - [SPECIES_REMORAID] = {{EVO_LEVEL, 25, SPECIES_OCTILLERY}}, - [SPECIES_HOUNDOUR] = {{EVO_LEVEL, 24, SPECIES_HOUNDOOM}}, - [SPECIES_PHANPY] = {{EVO_LEVEL, 25, SPECIES_DONPHAN}}, - [SPECIES_TYROGUE] = {{EVO_LEVEL_ATK_LT_DEF, 20, SPECIES_HITMONCHAN}, - {EVO_LEVEL_ATK_GT_DEF, 20, SPECIES_HITMONLEE}, - {EVO_LEVEL_ATK_EQ_DEF, 20, SPECIES_HITMONTOP}}, - [SPECIES_SMOOCHUM] = {{EVO_LEVEL, 30, SPECIES_JYNX}}, - [SPECIES_ELEKID] = {{EVO_LEVEL, 30, SPECIES_ELECTABUZZ}}, - [SPECIES_MAGBY] = {{EVO_LEVEL, 30, SPECIES_MAGMAR}}, - [SPECIES_LARVITAR] = {{EVO_LEVEL, 30, SPECIES_PUPITAR}}, - [SPECIES_PUPITAR] = {{EVO_LEVEL, 55, SPECIES_TYRANITAR}}, - [SPECIES_TREECKO] = {{EVO_LEVEL, 16, SPECIES_GROVYLE}}, - [SPECIES_GROVYLE] = {{EVO_LEVEL, 36, SPECIES_SCEPTILE}}, - [SPECIES_TORCHIC] = {{EVO_LEVEL, 16, SPECIES_COMBUSKEN}}, - [SPECIES_COMBUSKEN] = {{EVO_LEVEL, 36, SPECIES_BLAZIKEN}}, - [SPECIES_MUDKIP] = {{EVO_LEVEL, 16, SPECIES_MARSHTOMP}}, - [SPECIES_MARSHTOMP] = {{EVO_LEVEL, 36, SPECIES_SWAMPERT}}, - [SPECIES_POOCHYENA] = {{EVO_LEVEL, 18, SPECIES_MIGHTYENA}}, - [SPECIES_ZIGZAGOON] = {{EVO_LEVEL, 20, SPECIES_LINOONE}}, - [SPECIES_WURMPLE] = {{EVO_LEVEL_SILCOON, 7, SPECIES_SILCOON}, - {EVO_LEVEL_CASCOON, 7, SPECIES_CASCOON}}, - [SPECIES_SILCOON] = {{EVO_LEVEL, 10, SPECIES_BEAUTIFLY}}, - [SPECIES_CASCOON] = {{EVO_LEVEL, 10, SPECIES_DUSTOX}}, - [SPECIES_LOTAD] = {{EVO_LEVEL, 14, SPECIES_LOMBRE}}, - [SPECIES_LOMBRE] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_LUDICOLO}}, - [SPECIES_SEEDOT] = {{EVO_LEVEL, 14, SPECIES_NUZLEAF}}, - [SPECIES_NUZLEAF] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_SHIFTRY}}, - [SPECIES_NINCADA] = {{EVO_LEVEL_NINJASK, 20, SPECIES_NINJASK}, - {EVO_LEVEL_SHEDINJA, 20, SPECIES_SHEDINJA}}, - [SPECIES_TAILLOW] = {{EVO_LEVEL, 22, SPECIES_SWELLOW}}, - [SPECIES_SHROOMISH] = {{EVO_LEVEL, 23, SPECIES_BRELOOM}}, - [SPECIES_WINGULL] = {{EVO_LEVEL, 25, SPECIES_PELIPPER}}, - [SPECIES_SURSKIT] = {{EVO_LEVEL, 22, SPECIES_MASQUERAIN}}, - [SPECIES_WAILMER] = {{EVO_LEVEL, 40, SPECIES_WAILORD}}, - [SPECIES_SKITTY] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_DELCATTY}}, - [SPECIES_BALTOY] = {{EVO_LEVEL, 36, SPECIES_CLAYDOL}}, - [SPECIES_BARBOACH] = {{EVO_LEVEL, 30, SPECIES_WHISCASH}}, - [SPECIES_CORPHISH] = {{EVO_LEVEL, 30, SPECIES_CRAWDAUNT}}, - [SPECIES_FEEBAS] = {{EVO_BEAUTY, 170, SPECIES_MILOTIC}, - {EVO_TRADE_ITEM, ITEM_PRISM_SCALE, SPECIES_MILOTIC}}, - [SPECIES_CARVANHA] = {{EVO_LEVEL, 30, SPECIES_SHARPEDO}}, - [SPECIES_TRAPINCH] = {{EVO_LEVEL, 35, SPECIES_VIBRAVA}}, - [SPECIES_VIBRAVA] = {{EVO_LEVEL, 45, SPECIES_FLYGON}}, - [SPECIES_MAKUHITA] = {{EVO_LEVEL, 24, SPECIES_HARIYAMA}}, - [SPECIES_ELECTRIKE] = {{EVO_LEVEL, 26, SPECIES_MANECTRIC}}, - [SPECIES_NUMEL] = {{EVO_LEVEL, 33, SPECIES_CAMERUPT}}, - [SPECIES_SPHEAL] = {{EVO_LEVEL, 32, SPECIES_SEALEO}}, - [SPECIES_SEALEO] = {{EVO_LEVEL, 44, SPECIES_WALREIN}}, - [SPECIES_CACNEA] = {{EVO_LEVEL, 32, SPECIES_CACTURNE}}, - [SPECIES_SNORUNT] = {{EVO_LEVEL, 42, SPECIES_GLALIE}}, - [SPECIES_AZURILL] = {{EVO_FRIENDSHIP, 0, SPECIES_MARILL}}, - [SPECIES_SPOINK] = {{EVO_LEVEL, 32, SPECIES_GRUMPIG}}, - [SPECIES_MEDITITE] = {{EVO_LEVEL, 37, SPECIES_MEDICHAM}}, - [SPECIES_SWABLU] = {{EVO_LEVEL, 35, SPECIES_ALTARIA}}, - [SPECIES_WYNAUT] = {{EVO_LEVEL, 15, SPECIES_WOBBUFFET}}, - [SPECIES_DUSKULL] = {{EVO_LEVEL, 37, SPECIES_DUSCLOPS}}, - [SPECIES_SLAKOTH] = {{EVO_LEVEL, 18, SPECIES_VIGOROTH}}, - [SPECIES_VIGOROTH] = {{EVO_LEVEL, 36, SPECIES_SLAKING}}, - [SPECIES_GULPIN] = {{EVO_LEVEL, 26, SPECIES_SWALOT}}, - [SPECIES_WHISMUR] = {{EVO_LEVEL, 20, SPECIES_LOUDRED}}, - [SPECIES_LOUDRED] = {{EVO_LEVEL, 40, SPECIES_EXPLOUD}}, - [SPECIES_CLAMPERL] = {{EVO_TRADE_ITEM, ITEM_DEEP_SEA_TOOTH, SPECIES_HUNTAIL}, - {EVO_TRADE_ITEM, ITEM_DEEP_SEA_SCALE, SPECIES_GOREBYSS}}, - [SPECIES_SHUPPET] = {{EVO_LEVEL, 37, SPECIES_BANETTE}}, - [SPECIES_ARON] = {{EVO_LEVEL, 32, SPECIES_LAIRON}}, - [SPECIES_LAIRON] = {{EVO_LEVEL, 42, SPECIES_AGGRON}}, - [SPECIES_LILEEP] = {{EVO_LEVEL, 40, SPECIES_CRADILY}}, - [SPECIES_ANORITH] = {{EVO_LEVEL, 40, SPECIES_ARMALDO}}, - [SPECIES_RALTS] = {{EVO_LEVEL, 20, SPECIES_KIRLIA}}, - [SPECIES_KIRLIA] = {{EVO_LEVEL, 30, SPECIES_GARDEVOIR}}, - [SPECIES_BAGON] = {{EVO_LEVEL, 30, SPECIES_SHELGON}}, - [SPECIES_SHELGON] = {{EVO_LEVEL, 50, SPECIES_SALAMENCE}}, - [SPECIES_BELDUM] = {{EVO_LEVEL, 20, SPECIES_METANG}}, - [SPECIES_METANG] = {{EVO_LEVEL, 45, SPECIES_METAGROSS}}, -}; diff --git a/src/data/pokemon/form_change_table_pointers.h b/src/data/pokemon/form_change_table_pointers.h index 0668855cc..90be7112b 100644 --- a/src/data/pokemon/form_change_table_pointers.h +++ b/src/data/pokemon/form_change_table_pointers.h @@ -1,6 +1,6 @@ const struct FormChange *const gFormChangeTablePointers[NUM_SPECIES] = { -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE [SPECIES_GIRATINA] = sGiratinaFormChangeTable, [SPECIES_GIRATINA_ORIGIN] = sGiratinaFormChangeTable, [SPECIES_SHAYMIN] = sShayminFormChangeTable, @@ -23,14 +23,14 @@ const struct FormChange *const gFormChangeTablePointers[NUM_SPECIES] = [SPECIES_ARCEUS_DRAGON] = sArceusFormChangeTable, [SPECIES_ARCEUS_DARK] = sArceusFormChangeTable, [SPECIES_ARCEUS_FAIRY] = sArceusFormChangeTable, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_TORNADUS] = sTornadusFormChangeTable, [SPECIES_TORNADUS_THERIAN] = sTornadusFormChangeTable, [SPECIES_THUNDURUS] = sThundurusFormChangeTable, [SPECIES_THUNDURUS_THERIAN] = sThundurusFormChangeTable, [SPECIES_LANDORUS] = sLandorusFormChangeTable, [SPECIES_LANDORUS_THERIAN] = sLandorusFormChangeTable, - [SPECIES_ENAMORUS] = sEnamorusFormChangeTable, - [SPECIES_ENAMORUS_THERIAN] = sEnamorusFormChangeTable, [SPECIES_KELDEO] = sKeldeoFormChangeTable, [SPECIES_KELDEO_RESOLUTE] = sKeldeoFormChangeTable, [SPECIES_GENESECT] = sGenesectFormChangeTable, @@ -38,10 +38,14 @@ const struct FormChange *const gFormChangeTablePointers[NUM_SPECIES] = [SPECIES_GENESECT_SHOCK_DRIVE] = sGenesectFormChangeTable, [SPECIES_GENESECT_BURN_DRIVE] = sGenesectFormChangeTable, [SPECIES_GENESECT_CHILL_DRIVE] = sGenesectFormChangeTable, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_XERNEAS] = sXerneasFormChangeTable, [SPECIES_XERNEAS_ACTIVE] = sXerneasFormChangeTable, [SPECIES_HOOPA] = sHoopaFormChangeTable, [SPECIES_HOOPA_UNBOUND] = sHoopaFormChangeTable, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_ORICORIO] = sOricorioFormChangeTable, [SPECIES_ORICORIO_POM_POM] = sOricorioFormChangeTable, [SPECIES_ORICORIO_PAU] = sOricorioFormChangeTable, @@ -64,9 +68,13 @@ const struct FormChange *const gFormChangeTablePointers[NUM_SPECIES] = [SPECIES_SILVALLY_ROCK] = sSilvallyFormChangeTable, [SPECIES_SILVALLY_STEEL] = sSilvallyFormChangeTable, [SPECIES_SILVALLY_WATER] = sSilvallyFormChangeTable, +#endif +#if P_GEN_8_POKEMON == TRUE [SPECIES_ZACIAN] = sZacianFormChangeTable, [SPECIES_ZACIAN_CROWNED_SWORD] = sZacianFormChangeTable, [SPECIES_ZAMAZENTA] = sZamazentaFormChangeTable, [SPECIES_ZAMAZENTA_CROWNED_SHIELD] = sZamazentaFormChangeTable, + [SPECIES_ENAMORUS] = sEnamorusFormChangeTable, + [SPECIES_ENAMORUS_THERIAN] = sEnamorusFormChangeTable, #endif }; diff --git a/src/data/pokemon/form_change_tables.h b/src/data/pokemon/form_change_tables.h index 2531a10c9..94da0add3 100644 --- a/src/data/pokemon/form_change_tables.h +++ b/src/data/pokemon/form_change_tables.h @@ -43,7 +43,7 @@ FORM_BATTLE_END: #define DAY 1 #define NIGHT 2 -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE static const struct FormChange sGiratinaFormChangeTable[] = { {FORM_ITEM_HOLD, SPECIES_GIRATINA, ITEM_NONE}, {FORM_ITEM_HOLD, SPECIES_GIRATINA_ORIGIN, ITEM_GRISEOUS_ORB}, @@ -94,7 +94,9 @@ static const struct FormChange sArceusFormChangeTable[] = { {FORM_ITEM_HOLD, SPECIES_ARCEUS_FAIRY, ITEM_FAIRIUM_Z, ABILITY_MULTITYPE}, {FORM_CHANGE_END}, }; +#endif +#if P_GEN_5_POKEMON == TRUE static const struct FormChange sTornadusFormChangeTable[] = { {FORM_ITEM_USE, SPECIES_TORNADUS_THERIAN, ITEM_REVEAL_GLASS}, {FORM_ITEM_USE, SPECIES_TORNADUS, ITEM_REVEAL_GLASS}, @@ -127,13 +129,23 @@ static const struct FormChange sGenesectFormChangeTable[] = { {FORM_ITEM_HOLD, SPECIES_GENESECT_CHILL_DRIVE, ITEM_CHILL_DRIVE}, {FORM_CHANGE_END}, }; +#endif + +#if P_GEN_6_POKEMON == TRUE +static const struct FormChange sXerneasFormChangeTable[] = { + {FORM_BATTLE_BEGIN, SPECIES_XERNEAS_ACTIVE}, + {FORM_BATTLE_END, SPECIES_XERNEAS, }, + {FORM_CHANGE_END}, +}; static const struct FormChange sHoopaFormChangeTable[] = { {FORM_ITEM_USE, SPECIES_HOOPA_UNBOUND, ITEM_PRISON_BOTTLE, SPECIES_HOOPA}, // {FORM_WITHDRAW, SPECIES_HOOPA}, {FORM_CHANGE_END}, }; +#endif +#if P_GEN_7_POKEMON == TRUE static const struct FormChange sOricorioFormChangeTable[] = { {FORM_ITEM_USE, SPECIES_ORICORIO, ITEM_RED_NECTAR}, {FORM_ITEM_USE, SPECIES_ORICORIO_POM_POM, ITEM_YELLOW_NECTAR}, @@ -165,12 +177,7 @@ static const struct FormChange sSilvallyFormChangeTable[] = { }; #endif -static const struct FormChange sXerneasFormChangeTable[] = { - {FORM_BATTLE_BEGIN, SPECIES_XERNEAS_ACTIVE}, - {FORM_BATTLE_END, SPECIES_XERNEAS, }, - {FORM_CHANGE_END}, -}; - +#if P_GEN_8_POKEMON == TRUE static const struct FormChange sZacianFormChangeTable[] = { {FORM_BATTLE_BEGIN, SPECIES_ZACIAN_CROWNED_SWORD, ITEM_RUSTED_SWORD, MOVE_IRON_HEAD, MOVE_BEHEMOTH_BLADE}, {FORM_BATTLE_END, SPECIES_ZACIAN, ITEM_RUSTED_SWORD, MOVE_BEHEMOTH_BLADE, MOVE_IRON_HEAD}, @@ -188,6 +195,7 @@ static const struct FormChange sEnamorusFormChangeTable[] = { {FORM_ITEM_USE, SPECIES_ENAMORUS_THERIAN, ITEM_REVEAL_GLASS}, {FORM_CHANGE_END}, }; +#endif #undef WHEN_LEARNED #undef WHEN_FORGOTTEN diff --git a/src/data/pokemon/form_species_table_pointers.h b/src/data/pokemon/form_species_table_pointers.h index dee4e5813..73b1b07d7 100644 --- a/src/data/pokemon/form_species_table_pointers.h +++ b/src/data/pokemon/form_species_table_pointers.h @@ -1,6 +1,5 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = { -#if P_NEW_POKEMON == TRUE [SPECIES_VENUSAUR] = sVenusaurFormSpeciesIdTable, [SPECIES_CHARIZARD] = sCharizardFormSpeciesIdTable, [SPECIES_BLASTOISE] = sBlastoiseFormSpeciesIdTable, @@ -52,9 +51,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_SLOWKING] = sSlowkingFormSpeciesIdTable, [SPECIES_QWILFISH] = sQwilfishFormSpeciesIdTable, [SPECIES_SNEASEL] = sSneaselFormSpeciesIdTable, -#endif [SPECIES_UNOWN] = sUnownFormSpeciesIdTable, -#if P_NEW_POKEMON == TRUE [SPECIES_STEELIX] = sSteelixFormSpeciesIdTable, [SPECIES_SCIZOR] = sScizorFormSpeciesIdTable, [SPECIES_HERACROSS] = sHeracrossFormSpeciesIdTable, @@ -75,9 +72,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_SHARPEDO] = sSharpedoFormSpeciesIdTable, [SPECIES_CAMERUPT] = sCameruptFormSpeciesIdTable, [SPECIES_ALTARIA] = sAltariaFormSpeciesIdTable, -#endif [SPECIES_CASTFORM] = sCastformFormSpeciesIdTable, -#if P_NEW_POKEMON == TRUE [SPECIES_BANETTE] = sBanetteFormSpeciesIdTable, [SPECIES_ABSOL] = sAbsolFormSpeciesIdTable, [SPECIES_GLALIE] = sGlalieFormSpeciesIdTable, @@ -88,9 +83,8 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_KYOGRE] = sKyogreFormSpeciesIdTable, [SPECIES_GROUDON] = sGroudonFormSpeciesIdTable, [SPECIES_RAYQUAZA] = sRayquazaFormSpeciesIdTable, -#endif [SPECIES_DEOXYS] = sDeoxysFormSpeciesIdTable, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE [SPECIES_BURMY] = sBurmyFormSpeciesIdTable, [SPECIES_WORMADAM] = sWormadamFormSpeciesIdTable, [SPECIES_CHERRIM] = sCherrimFormSpeciesIdTable, @@ -105,9 +99,11 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_DIALGA] = sDialgaFormSpeciesIdTable, [SPECIES_PALKIA] = sPalkiaFormSpeciesIdTable, [SPECIES_GIRATINA] = sGiratinaFormSpeciesIdTable, - [SPECIES_SAMUROTT] = sSamurottFormSpeciesIdTable, [SPECIES_SHAYMIN] = sShayminFormSpeciesIdTable, [SPECIES_ARCEUS] = sArceusFormSpeciesIdTable, +#endif +#if P_GEN_5_POKEMON == TRUE + [SPECIES_SAMUROTT] = sSamurottFormSpeciesIdTable, [SPECIES_AUDINO] = sAudinoFormSpeciesIdTable, [SPECIES_BASCULIN] = sBasculinFormSpeciesIdTable, [SPECIES_LILLIGANT] = sLilligantFormSpeciesIdTable, @@ -127,6 +123,8 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_KELDEO] = sKeldeoFormSpeciesIdTable, [SPECIES_MELOETTA] = sMeloettaFormSpeciesIdTable, [SPECIES_GENESECT] = sGenesectFormSpeciesIdTable, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_GRENINJA] = sGreninjaFormSpeciesIdTable, [SPECIES_VIVILLON] = sVivillonFormSpeciesIdTable, [SPECIES_FLABEBE] = sFlabebeFormSpeciesIdTable, @@ -144,6 +142,8 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_ZYGARDE] = sZygardeFormSpeciesIdTable, [SPECIES_DIANCIE] = sDiancieFormSpeciesIdTable, [SPECIES_HOOPA] = sHoopaFormSpeciesIdTable, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_DECIDUEYE] = sDecidueyeFormSpeciesIdTable, [SPECIES_ORICORIO] = sOricorioFormSpeciesIdTable, [SPECIES_ROCKRUFF] = sRockruffFormSpeciesIdTable, @@ -154,6 +154,8 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_MIMIKYU] = sMimikyuFormSpeciesIdTable, [SPECIES_NECROZMA] = sNecrozmaFormSpeciesIdTable, [SPECIES_MAGEARNA] = sMagearnaFormSpeciesIdTable, +#endif +#if P_GEN_8_POKEMON == TRUE [SPECIES_CRAMORANT] = sCramorantFormSpeciesIdTable, [SPECIES_TOXTRICITY] = sToxtricityFormSpeciesIdTable, [SPECIES_SINISTEA] = sSinisteaFormSpeciesIdTable, @@ -169,6 +171,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_ZARUDE] = sZarudeFormSpeciesIdTable, [SPECIES_CALYREX] = sCalyrexFormSpeciesIdTable, [SPECIES_ENAMORUS] = sEnamorusFormSpeciesIdTable, +#endif // Megas [SPECIES_VENUSAUR_MEGA] = sVenusaurFormSpeciesIdTable, [SPECIES_CHARIZARD_MEGA_X] = sCharizardFormSpeciesIdTable, @@ -210,13 +213,19 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_METAGROSS_MEGA] = sMetagrossFormSpeciesIdTable, [SPECIES_LATIAS_MEGA] = sLatiasFormSpeciesIdTable, [SPECIES_LATIOS_MEGA] = sLatiosFormSpeciesIdTable, +#if P_GEN_4_POKEMON == TRUE [SPECIES_LOPUNNY_MEGA] = sLopunnyFormSpeciesIdTable, [SPECIES_GARCHOMP_MEGA] = sGarchompFormSpeciesIdTable, [SPECIES_LUCARIO_MEGA] = sLucarioFormSpeciesIdTable, [SPECIES_ABOMASNOW_MEGA] = sAbomasnowFormSpeciesIdTable, [SPECIES_GALLADE_MEGA] = sGalladeFormSpeciesIdTable, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_AUDINO_MEGA] = sAudinoFormSpeciesIdTable, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_DIANCIE_MEGA] = sDiancieFormSpeciesIdTable, +#endif // Special Mega + Primals [SPECIES_RAYQUAZA_MEGA] = sRayquazaFormSpeciesIdTable, [SPECIES_KYOGRE_PRIMAL] = sKyogreFormSpeciesIdTable, @@ -256,10 +265,12 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_CORSOLA_GALARIAN] = sCorsolaFormSpeciesIdTable, [SPECIES_ZIGZAGOON_GALARIAN] = sZigzagoonFormSpeciesIdTable, [SPECIES_LINOONE_GALARIAN] = sLinooneFormSpeciesIdTable, +#if P_GEN_5_POKEMON == TRUE [SPECIES_DARUMAKA_GALARIAN] = sDarumakaFormSpeciesIdTable, [SPECIES_DARMANITAN_GALARIAN] = sDarmanitanFormSpeciesIdTable, [SPECIES_YAMASK_GALARIAN] = sYamaskFormSpeciesIdTable, [SPECIES_STUNFISK_GALARIAN] = sStunfiskFormSpeciesIdTable, +#endif //Hisuian Forms [SPECIES_GROWLITHE_HISUIAN] = sGrowlitheFormSpeciesIdTable, [SPECIES_ARCANINE_HISUIAN] = sArcanineFormSpeciesIdTable, @@ -268,15 +279,21 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_TYPHLOSION_HISUIAN] = sTyphlosionFormSpeciesIdTable, [SPECIES_QWILFISH_HISUIAN] = sQwilfishFormSpeciesIdTable, [SPECIES_SNEASEL_HISUIAN] = sSneaselFormSpeciesIdTable, +#if P_GEN_5_POKEMON == TRUE [SPECIES_SAMUROTT_HISUIAN] = sSamurottFormSpeciesIdTable, [SPECIES_LILLIGANT_HISUIAN] = sLilligantFormSpeciesIdTable, [SPECIES_ZORUA_HISUIAN] = sZoruaFormSpeciesIdTable, [SPECIES_ZOROARK_HISUIAN] = sZoroarkFormSpeciesIdTable, [SPECIES_BRAVIARY_HISUIAN] = sBraviaryFormSpeciesIdTable, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_SLIGGOO_HISUIAN] = sSliggooFormSpeciesIdTable, [SPECIES_GOODRA_HISUIAN] = sGoodraFormSpeciesIdTable, [SPECIES_AVALUGG_HISUIAN] = sAvaluggFormSpeciesIdTable, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_DECIDUEYE_HISUIAN] = sDecidueyeFormSpeciesIdTable, +#endif // Misc Forms // Cosplay Pikachu [SPECIES_PIKACHU_COSPLAY] = sPikachuFormSpeciesIdTable, @@ -296,7 +313,6 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_PIKACHU_WORLD_CAP] = sPikachuFormSpeciesIdTable, // Pichu [SPECIES_PICHU_SPIKY_EARED] = sPichuFormSpeciesIdTable, -#endif // Unown [SPECIES_UNOWN_B] = sUnownFormSpeciesIdTable, [SPECIES_UNOWN_C] = sUnownFormSpeciesIdTable, @@ -333,7 +349,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_DEOXYS_ATTACK] = sDeoxysFormSpeciesIdTable, [SPECIES_DEOXYS_DEFENSE] = sDeoxysFormSpeciesIdTable, [SPECIES_DEOXYS_SPEED] = sDeoxysFormSpeciesIdTable, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE // Burmy [SPECIES_BURMY_SANDY_CLOAK] = sBurmyFormSpeciesIdTable, [SPECIES_BURMY_TRASH_CLOAK] = sBurmyFormSpeciesIdTable, @@ -376,6 +392,8 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_ARCEUS_DRAGON] = sArceusFormSpeciesIdTable, [SPECIES_ARCEUS_DARK] = sArceusFormSpeciesIdTable, [SPECIES_ARCEUS_FAIRY] = sArceusFormSpeciesIdTable, +#endif +#if P_GEN_5_POKEMON == TRUE // Basculin [SPECIES_BASCULIN_BLUE_STRIPED] = sBasculinFormSpeciesIdTable, [SPECIES_BASCULIN_WHITE_STRIPED] = sBasculinFormSpeciesIdTable, @@ -394,7 +412,6 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_TORNADUS_THERIAN] = sTornadusFormSpeciesIdTable, [SPECIES_THUNDURUS_THERIAN] = sThundurusFormSpeciesIdTable, [SPECIES_LANDORUS_THERIAN] = sLandorusFormSpeciesIdTable, - [SPECIES_ENAMORUS_THERIAN] = sEnamorusFormSpeciesIdTable, // Kyurem [SPECIES_KYUREM_WHITE] = sKyuremFormSpeciesIdTable, [SPECIES_KYUREM_BLACK] = sKyuremFormSpeciesIdTable, @@ -407,6 +424,8 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_GENESECT_SHOCK_DRIVE] = sGenesectFormSpeciesIdTable, [SPECIES_GENESECT_BURN_DRIVE] = sGenesectFormSpeciesIdTable, [SPECIES_GENESECT_CHILL_DRIVE] = sGenesectFormSpeciesIdTable, +#endif +#if P_GEN_6_POKEMON == TRUE // Greninja [SPECIES_GRENINJA_BATTLE_BOND] = sGreninjaFormSpeciesIdTable, [SPECIES_GRENINJA_ASH] = sGreninjaFormSpeciesIdTable, @@ -477,6 +496,8 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_ZYGARDE_COMPLETE] = sZygardeFormSpeciesIdTable, // Hoopa [SPECIES_HOOPA_UNBOUND] = sHoopaFormSpeciesIdTable, +#endif +#if P_GEN_7_POKEMON == TRUE // Oricorio [SPECIES_ORICORIO_POM_POM] = sOricorioFormSpeciesIdTable, [SPECIES_ORICORIO_PAU] = sOricorioFormSpeciesIdTable, @@ -528,6 +549,8 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = [SPECIES_NECROZMA_ULTRA] = sNecrozmaFormSpeciesIdTable, // Magearna [SPECIES_MAGEARNA_ORIGINAL_COLOR] = sMagearnaFormSpeciesIdTable, +#endif +#if P_GEN_8_POKEMON == TRUE // Cramorant [SPECIES_CRAMORANT_GULPING] = sCramorantFormSpeciesIdTable, [SPECIES_CRAMORANT_GORGING] = sCramorantFormSpeciesIdTable, @@ -565,5 +588,7 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] = // Calyrex [SPECIES_CALYREX_ICE_RIDER] = sCalyrexFormSpeciesIdTable, [SPECIES_CALYREX_SHADOW_RIDER] = sCalyrexFormSpeciesIdTable, + // Enamorus + [SPECIES_ENAMORUS_THERIAN] = sEnamorusFormSpeciesIdTable, #endif }; diff --git a/src/data/pokemon/form_species_tables.h b/src/data/pokemon/form_species_tables.h index 8e89a3836..545201c5a 100644 --- a/src/data/pokemon/form_species_tables.h +++ b/src/data/pokemon/form_species_tables.h @@ -1,4 +1,3 @@ -#if P_NEW_POKEMON == TRUE static const u16 sVenusaurFormSpeciesIdTable[] = { SPECIES_VENUSAUR, SPECIES_VENUSAUR_MEGA, @@ -321,7 +320,7 @@ static const u16 sSneaselFormSpeciesIdTable[] = { SPECIES_SNEASEL_HISUIAN, FORM_SPECIES_END, }; -#endif + static const u16 sUnownFormSpeciesIdTable[] = { SPECIES_UNOWN, SPECIES_UNOWN_B, @@ -354,7 +353,6 @@ static const u16 sUnownFormSpeciesIdTable[] = { FORM_SPECIES_END, }; -#if P_NEW_POKEMON == TRUE static const u16 sSteelixFormSpeciesIdTable[] = { SPECIES_STEELIX, SPECIES_STEELIX_MEGA, @@ -474,7 +472,7 @@ static const u16 sAltariaFormSpeciesIdTable[] = { SPECIES_ALTARIA_MEGA, FORM_SPECIES_END, }; -#endif + static const u16 sCastformFormSpeciesIdTable[] = { SPECIES_CASTFORM, SPECIES_CASTFORM_SUNNY, @@ -483,7 +481,6 @@ static const u16 sCastformFormSpeciesIdTable[] = { FORM_SPECIES_END, }; -#if P_NEW_POKEMON == TRUE static const u16 sBanetteFormSpeciesIdTable[] = { SPECIES_BANETTE, SPECIES_BANETTE_MEGA, @@ -543,7 +540,7 @@ static const u16 sRayquazaFormSpeciesIdTable[] = { SPECIES_RAYQUAZA_MEGA, FORM_SPECIES_END, }; -#endif + static const u16 sDeoxysFormSpeciesIdTable[] = { SPECIES_DEOXYS, SPECIES_DEOXYS_ATTACK, @@ -551,7 +548,8 @@ static const u16 sDeoxysFormSpeciesIdTable[] = { SPECIES_DEOXYS_SPEED, FORM_SPECIES_END, }; -#if P_NEW_POKEMON == TRUE + +#if P_GEN_4_POKEMON == TRUE static const u16 sBurmyFormSpeciesIdTable[] = { SPECIES_BURMY, SPECIES_BURMY_SANDY_CLOAK, @@ -642,12 +640,6 @@ static const u16 sGiratinaFormSpeciesIdTable[] = { FORM_SPECIES_END, }; -static const u16 sSamurottFormSpeciesIdTable[] = { - SPECIES_SAMUROTT, - SPECIES_SAMUROTT_HISUIAN, - FORM_SPECIES_END, -}; - static const u16 sShayminFormSpeciesIdTable[] = { SPECIES_SHAYMIN, SPECIES_SHAYMIN_SKY, @@ -675,6 +667,14 @@ static const u16 sArceusFormSpeciesIdTable[] = { SPECIES_ARCEUS_FAIRY, FORM_SPECIES_END, }; +#endif + +#if P_GEN_5_POKEMON == TRUE +static const u16 sSamurottFormSpeciesIdTable[] = { + SPECIES_SAMUROTT, + SPECIES_SAMUROTT_HISUIAN, + FORM_SPECIES_END, +}; static const u16 sAudinoFormSpeciesIdTable[] = { SPECIES_AUDINO, @@ -773,12 +773,6 @@ static const u16 sLandorusFormSpeciesIdTable[] = { FORM_SPECIES_END, }; -static const u16 sEnamorusFormSpeciesIdTable[] = { - SPECIES_ENAMORUS, - SPECIES_ENAMORUS_THERIAN, - FORM_SPECIES_END, -}; - static const u16 sKyuremFormSpeciesIdTable[] = { SPECIES_KYUREM, SPECIES_KYUREM_WHITE, @@ -806,7 +800,9 @@ static const u16 sGenesectFormSpeciesIdTable[] = { SPECIES_GENESECT_CHILL_DRIVE, FORM_SPECIES_END, }; +#endif +#if P_GEN_6_POKEMON == TRUE static const u16 sGreninjaFormSpeciesIdTable[] = { SPECIES_GRENINJA, SPECIES_GRENINJA_BATTLE_BOND, @@ -952,7 +948,9 @@ static const u16 sHoopaFormSpeciesIdTable[] = { SPECIES_HOOPA_UNBOUND, FORM_SPECIES_END, }; +#endif +#if P_GEN_7_POKEMON == TRUE static const u16 sDecidueyeFormSpeciesIdTable[] = { SPECIES_DECIDUEYE, SPECIES_DECIDUEYE_HISUIAN, @@ -1045,7 +1043,9 @@ static const u16 sMagearnaFormSpeciesIdTable[] = { SPECIES_MAGEARNA_ORIGINAL_COLOR, FORM_SPECIES_END, }; +#endif +#if P_GEN_8_POKEMON == TRUE static const u16 sCramorantFormSpeciesIdTable[] = { SPECIES_CRAMORANT, SPECIES_CRAMORANT_GULPING, @@ -1138,4 +1138,11 @@ static const u16 sCalyrexFormSpeciesIdTable[] = { SPECIES_CALYREX_SHADOW_RIDER, FORM_SPECIES_END, }; + +static const u16 sEnamorusFormSpeciesIdTable[] = { + SPECIES_ENAMORUS, + SPECIES_ENAMORUS_THERIAN, + FORM_SPECIES_END, +}; + #endif diff --git a/src/data/pokemon/level_up_learnset_pointers.h b/src/data/pokemon/level_up_learnset_pointers.h index 27c7b522f..0ecfa59cc 100644 --- a/src/data/pokemon/level_up_learnset_pointers.h +++ b/src/data/pokemon/level_up_learnset_pointers.h @@ -387,7 +387,7 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_JIRACHI] = sJirachiLevelUpLearnset, [SPECIES_DEOXYS] = sDeoxysLevelUpLearnset, [SPECIES_CHIMECHO] = sChimechoLevelUpLearnset, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE [SPECIES_TURTWIG] = sTurtwigLevelUpLearnset, [SPECIES_GROTLE] = sGrotleLevelUpLearnset, [SPECIES_TORTERRA] = sTorterraLevelUpLearnset, @@ -495,6 +495,8 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_DARKRAI] = sDarkraiLevelUpLearnset, [SPECIES_SHAYMIN] = sShayminLevelUpLearnset, [SPECIES_ARCEUS] = sArceusLevelUpLearnset, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_VICTINI] = sVictiniLevelUpLearnset, [SPECIES_SNIVY] = sSnivyLevelUpLearnset, [SPECIES_SERVINE] = sServineLevelUpLearnset, @@ -651,6 +653,8 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_KELDEO] = sKeldeoLevelUpLearnset, [SPECIES_MELOETTA] = sMeloettaLevelUpLearnset, [SPECIES_GENESECT] = sGenesectLevelUpLearnset, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_CHESPIN] = sChespinLevelUpLearnset, [SPECIES_QUILLADIN] = sQuilladinLevelUpLearnset, [SPECIES_CHESNAUGHT] = sChesnaughtLevelUpLearnset, @@ -723,6 +727,8 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_DIANCIE] = sDiancieLevelUpLearnset, [SPECIES_HOOPA] = sHoopaLevelUpLearnset, [SPECIES_VOLCANION] = sVolcanionLevelUpLearnset, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_ROWLET] = sRowletLevelUpLearnset, [SPECIES_DARTRIX] = sDartrixLevelUpLearnset, [SPECIES_DECIDUEYE] = sDecidueyeLevelUpLearnset, @@ -811,6 +817,8 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_ZERAORA] = sZeraoraLevelUpLearnset, [SPECIES_MELTAN] = sMeltanLevelUpLearnset, [SPECIES_MELMETAL] = sMelmetalLevelUpLearnset, +#endif +#if P_GEN_8_POKEMON == TRUE [SPECIES_GROOKEY] = sGrookeyLevelUpLearnset, [SPECIES_THWACKEY] = sThwackeyLevelUpLearnset, [SPECIES_RILLABOOM] = sRillaboomLevelUpLearnset, @@ -907,6 +915,7 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_SNEASLER] = sSneaslerLevelUpLearnset, [SPECIES_OVERQWIL] = sOverqwilLevelUpLearnset, [SPECIES_ENAMORUS] = sEnamorusLevelUpLearnset, +#endif // Megas [SPECIES_VENUSAUR_MEGA] = sVenusaurLevelUpLearnset, [SPECIES_CHARIZARD_MEGA_X] = sCharizardLevelUpLearnset, @@ -948,13 +957,19 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_METAGROSS_MEGA] = sMetagrossLevelUpLearnset, [SPECIES_LATIAS_MEGA] = sLatiasLevelUpLearnset, [SPECIES_LATIOS_MEGA] = sLatiosLevelUpLearnset, +#if P_GEN_4_POKEMON == TRUE [SPECIES_LOPUNNY_MEGA] = sLopunnyLevelUpLearnset, [SPECIES_GARCHOMP_MEGA] = sGarchompLevelUpLearnset, [SPECIES_LUCARIO_MEGA] = sLucarioLevelUpLearnset, [SPECIES_ABOMASNOW_MEGA] = sAbomasnowLevelUpLearnset, [SPECIES_GALLADE_MEGA] = sGalladeLevelUpLearnset, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_AUDINO_MEGA] = sAudinoLevelUpLearnset, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_DIANCIE_MEGA] = sDiancieLevelUpLearnset, +#endif // Special Mega + Primals [SPECIES_RAYQUAZA_MEGA] = sRayquazaLevelUpLearnset, [SPECIES_KYOGRE_PRIMAL] = sKyogreLevelUpLearnset, @@ -994,10 +1009,12 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_CORSOLA_GALARIAN] = sCorsolaGalarianLevelUpLearnset, [SPECIES_ZIGZAGOON_GALARIAN] = sZigzagoonGalarianLevelUpLearnset, [SPECIES_LINOONE_GALARIAN] = sLinooneGalarianLevelUpLearnset, +#if P_GEN_5_POKEMON == TRUE [SPECIES_DARUMAKA_GALARIAN] = sDarumakaGalarianLevelUpLearnset, [SPECIES_DARMANITAN_GALARIAN] = sDarmanitanGalarianLevelUpLearnset, [SPECIES_YAMASK_GALARIAN] = sYamaskGalarianLevelUpLearnset, [SPECIES_STUNFISK_GALARIAN] = sStunfiskGalarianLevelUpLearnset, +#endif // Hisuian Forms [SPECIES_GROWLITHE_HISUIAN] = sGrowlitheHisuianLevelUpLearnset, [SPECIES_ARCANINE_HISUIAN] = sArcanineHisuianLevelUpLearnset, @@ -1006,15 +1023,21 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_TYPHLOSION_HISUIAN] = sTyphlosionHisuianLevelUpLearnset, [SPECIES_QWILFISH_HISUIAN] = sQwilfishHisuianLevelUpLearnset, [SPECIES_SNEASEL_HISUIAN] = sSneaselHisuianLevelUpLearnset, +#if P_GEN_5_POKEMON == TRUE [SPECIES_SAMUROTT_HISUIAN] = sSamurottHisuianLevelUpLearnset, [SPECIES_LILLIGANT_HISUIAN] = sLilligantHisuianLevelUpLearnset, [SPECIES_ZORUA_HISUIAN] = sZoruaHisuianLevelUpLearnset, [SPECIES_ZOROARK_HISUIAN] = sZoroarkHisuianLevelUpLearnset, [SPECIES_BRAVIARY_HISUIAN] = sBraviaryHisuianLevelUpLearnset, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_SLIGGOO_HISUIAN] = sSliggooHisuianLevelUpLearnset, [SPECIES_GOODRA_HISUIAN] = sGoodraHisuianLevelUpLearnset, [SPECIES_AVALUGG_HISUIAN] = sAvaluggHisuianLevelUpLearnset, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_DECIDUEYE_HISUIAN] = sDecidueyeHisuianLevelUpLearnset, +#endif // Misc Forms // Cosplay Pikachu [SPECIES_PIKACHU_COSPLAY] = sPikachuLevelUpLearnset, @@ -1034,7 +1057,6 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_PIKACHU_WORLD_CAP] = sPikachuLevelUpLearnset, // Pichu [SPECIES_PICHU_SPIKY_EARED] = sPichuLevelUpLearnset, -#endif // Unown [SPECIES_UNOWN_B] = sUnownLevelUpLearnset, [SPECIES_UNOWN_C] = sUnownLevelUpLearnset, @@ -1071,7 +1093,7 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_DEOXYS_ATTACK] = sDeoxysAttackLevelUpLearnset, [SPECIES_DEOXYS_DEFENSE] = sDeoxysDefenseLevelUpLearnset, [SPECIES_DEOXYS_SPEED] = sDeoxysSpeedLevelUpLearnset, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE // Burmy [SPECIES_BURMY_SANDY_CLOAK] = sBurmyLevelUpLearnset, [SPECIES_BURMY_TRASH_CLOAK] = sBurmyLevelUpLearnset, @@ -1114,6 +1136,8 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_ARCEUS_DRAGON] = sArceusLevelUpLearnset, [SPECIES_ARCEUS_DARK] = sArceusLevelUpLearnset, [SPECIES_ARCEUS_FAIRY] = sArceusLevelUpLearnset, +#endif +#if P_GEN_5_POKEMON == TRUE // Basculin [SPECIES_BASCULIN_BLUE_STRIPED] = sBasculinLevelUpLearnset, [SPECIES_BASCULIN_WHITE_STRIPED] = sBasculinLevelUpLearnset, @@ -1132,7 +1156,6 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_TORNADUS_THERIAN] = sTornadusLevelUpLearnset, [SPECIES_THUNDURUS_THERIAN] = sThundurusLevelUpLearnset, [SPECIES_LANDORUS_THERIAN] = sLandorusLevelUpLearnset, - [SPECIES_ENAMORUS_THERIAN] = sEnamorusLevelUpLearnset, // Kyurem [SPECIES_KYUREM_WHITE] = sKyuremWhiteLevelUpLearnset, [SPECIES_KYUREM_BLACK] = sKyuremBlackLevelUpLearnset, @@ -1145,6 +1168,8 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_GENESECT_SHOCK_DRIVE] = sGenesectLevelUpLearnset, [SPECIES_GENESECT_BURN_DRIVE] = sGenesectLevelUpLearnset, [SPECIES_GENESECT_CHILL_DRIVE] = sGenesectLevelUpLearnset, +#endif +#if P_GEN_6_POKEMON == TRUE // Greninja [SPECIES_GRENINJA_BATTLE_BOND] = sGreninjaLevelUpLearnset, [SPECIES_GRENINJA_ASH] = sGreninjaLevelUpLearnset, @@ -1215,6 +1240,8 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_ZYGARDE_COMPLETE] = sZygardeLevelUpLearnset, // Hoopa [SPECIES_HOOPA_UNBOUND] = sHoopaUnboundLevelUpLearnset, +#endif +#if P_GEN_7_POKEMON == TRUE // Oricorio [SPECIES_ORICORIO_POM_POM] = sOricorioLevelUpLearnset, [SPECIES_ORICORIO_PAU] = sOricorioLevelUpLearnset, @@ -1266,6 +1293,8 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_NECROZMA_ULTRA] = sNecrozmaLevelUpLearnset, // Magearna [SPECIES_MAGEARNA_ORIGINAL_COLOR] = sMagearnaLevelUpLearnset, +#endif +#if P_GEN_8_POKEMON == TRUE // Cramorant [SPECIES_CRAMORANT_GULPING] = sCramorantLevelUpLearnset, [SPECIES_CRAMORANT_GORGING] = sCramorantLevelUpLearnset, @@ -1303,5 +1332,7 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = // Calyrex [SPECIES_CALYREX_ICE_RIDER] = sCalyrexIceRiderLevelUpLearnset, [SPECIES_CALYREX_SHADOW_RIDER] = sCalyrexShadowRiderLevelUpLearnset, + // Enamorus + [SPECIES_ENAMORUS_THERIAN] = sEnamorusLevelUpLearnset, #endif }; diff --git a/src/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h index d06e4d00b..b501d9aae 100644 --- a/src/data/pokemon/level_up_learnsets.h +++ b/src/data/pokemon/level_up_learnsets.h @@ -7903,7 +7903,7 @@ static const struct LevelUpMove sChimechoLevelUpLearnset[] = { LEVEL_UP_END }; -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE static const struct LevelUpMove sTurtwigLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_WITHDRAW), @@ -9991,7 +9991,9 @@ static const struct LevelUpMove sArceusLevelUpLearnset[] = { LEVEL_UP_MOVE(100, MOVE_JUDGMENT), LEVEL_UP_END }; +#endif +#if P_GEN_5_POKEMON == TRUE static const struct LevelUpMove sVictiniLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SEARING_SHOT), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -13250,7 +13252,9 @@ static const struct LevelUpMove sGenesectLevelUpLearnset[] = { LEVEL_UP_MOVE(77, MOVE_SELF_DESTRUCT), LEVEL_UP_END }; +#endif +#if P_GEN_6_POKEMON == TRUE static const struct LevelUpMove sChespinLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), @@ -14745,7 +14749,9 @@ static const struct LevelUpMove sVolcanionLevelUpLearnset[] = { LEVEL_UP_MOVE(85, MOVE_STEAM_ERUPTION), LEVEL_UP_END }; +#endif +#if P_GEN_7_POKEMON == TRUE static const struct LevelUpMove sRowletLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), @@ -16523,6 +16529,9 @@ static const struct LevelUpMove sMelmetalLevelUpLearnset[] = { LEVEL_UP_MOVE( 90, MOVE_HYPER_BEAM), LEVEL_UP_END }; +#endif + +#if P_GEN_8_POKEMON == TRUE static const struct LevelUpMove sGrookeyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -18177,6 +18186,7 @@ static const struct LevelUpMove sEnamorusLevelUpLearnset[] = { //LEVEL_UP_MOVE( 1, MOVE_SPRINGTIDE_STORM), LEVEL_UP_END }; +#endif static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -18855,6 +18865,7 @@ static const struct LevelUpMove sLinooneGalarianLevelUpLearnset[] = { LEVEL_UP_END }; +#if P_GEN_5_POKEMON == TRUE static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -18931,6 +18942,7 @@ static const struct LevelUpMove sStunfiskGalarianLevelUpLearnset[] = { LEVEL_UP_MOVE(55, MOVE_FISSURE), LEVEL_UP_END }; +#endif static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -19021,6 +19033,7 @@ static const struct LevelUpMove sSneaselHisuianLevelUpLearnset[] = { LEVEL_UP_END }; +#if P_GEN_5_POKEMON == TRUE static const struct LevelUpMove sSamurottHisuianLevelUpLearnset[] = { //LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -19090,7 +19103,9 @@ static const struct LevelUpMove sBraviaryHisuianLevelUpLearnset[] = { //LEVEL_UP_MOVE(52, MOVE_HURRICANE), LEVEL_UP_END }; +#endif +#if P_GEN_6_POKEMON == TRUE static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), //LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), @@ -19129,7 +19144,9 @@ static const struct LevelUpMove sAvaluggHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE(47, MOVE_DOUBLE_EDGE), LEVEL_UP_END }; +#endif +#if P_GEN_7_POKEMON == TRUE static const struct LevelUpMove sDecidueyeHisuianLevelUpLearnset[] = { //LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_GUST), @@ -19203,7 +19220,7 @@ static const struct LevelUpMove sDeoxysSpeedLevelUpLearnset[] = { LEVEL_UP_END }; -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { //LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), @@ -19266,7 +19283,9 @@ static const struct LevelUpMove sShayminSkyLevelUpLearnset[] = { LEVEL_UP_MOVE(100, MOVE_SEED_FLARE), LEVEL_UP_END }; +#endif +#if P_GEN_5_POKEMON == TRUE static const struct LevelUpMove sKyuremWhiteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), LEVEL_UP_MOVE( 1, MOVE_DRAGON_RAGE), @@ -19304,7 +19323,9 @@ static const struct LevelUpMove sKyuremBlackLevelUpLearnset[] = { LEVEL_UP_MOVE(92, MOVE_HYPER_VOICE), LEVEL_UP_END }; +#endif +#if P_GEN_6_POKEMON == TRUE static const struct LevelUpMove sFloetteEternalFlowerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), @@ -19373,7 +19394,9 @@ static const struct LevelUpMove sHoopaUnboundLevelUpLearnset[] = { LEVEL_UP_MOVE(85, MOVE_HYPERSPACE_FURY), LEVEL_UP_END }; +#endif +#if P_GEN_7_POKEMON == TRUE static const struct LevelUpMove sLycanrocMidnightLevelUpLearnset[] = { //LEVEL_UP_MOVE( 0, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_REVERSAL), @@ -19417,7 +19440,9 @@ static const struct LevelUpMove sLycanrocDuskLevelUpLearnset[] = { LEVEL_UP_MOVE(48, MOVE_STONE_EDGE), LEVEL_UP_END }; +#endif +#if P_GEN_8_POKEMON == TRUE static const struct LevelUpMove sToxtricityLowKeyLevelUpLearnset[] = { //LEVEL_UP_MOVE( 0, MOVE_SPARK), LEVEL_UP_MOVE( 1, MOVE_SPARK), diff --git a/src/data/pokemon/pokedex_entries.h b/src/data/pokemon/pokedex_entries.h index 38bbdb5a8..492538260 100644 --- a/src/data/pokemon/pokedex_entries.h +++ b/src/data/pokemon/pokedex_entries.h @@ -4644,7 +4644,7 @@ const struct PokedexEntry gPokedexEntries[] = .trainerOffset = 2, }, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE [NATIONAL_DEX_TURTWIG] = { .categoryName = _("Tiny Leaf"), @@ -5928,7 +5928,9 @@ const struct PokedexEntry gPokedexEntries[] = .trainerScale = 256, .trainerOffset = 0, }, +#endif +#if P_GEN_5_POKEMON == TRUE [NATIONAL_DEX_VICTINI] = { .categoryName = _("Victory"), @@ -7800,7 +7802,9 @@ const struct PokedexEntry gPokedexEntries[] = .trainerScale = 256, .trainerOffset = 0, }, +#endif +#if P_GEN_6_POKEMON == TRUE [NATIONAL_DEX_CHESPIN] = { .categoryName = _("Spiny Nut"), @@ -8664,7 +8668,9 @@ const struct PokedexEntry gPokedexEntries[] = .trainerScale = 256, .trainerOffset = 0, }, +#endif +#if P_GEN_7_POKEMON == TRUE [NATIONAL_DEX_ROWLET] = { .categoryName = _("Grass Quill"), @@ -9720,7 +9726,9 @@ const struct PokedexEntry gPokedexEntries[] = .trainerScale = 387, .trainerOffset = 2, }, +#endif +#if P_GEN_8_POKEMON == TRUE [NATIONAL_DEX_GROOKEY] = { .categoryName = _("Chimp"), diff --git a/src/data/pokemon/pokedex_text.h b/src/data/pokemon/pokedex_text.h index bf3293203..6048d2121 100644 --- a/src/data/pokemon/pokedex_text.h +++ b/src/data/pokemon/pokedex_text.h @@ -2320,7 +2320,7 @@ const u8 gChimechoPokedexText[] = _( "themselves using seven different and\n" "distinguishing cries."); -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE const u8 gTurtwigPokedexText[] = _( "The shell on its back is made of soil. \n" "On a very healthy Turtwig, the shell \n" @@ -2962,7 +2962,9 @@ const u8 gArceusPokedexText[] = _( "emerged from an egg and shaped all there\n" "is in this world, before the universe\n" "even existed."); +#endif +#if P_GEN_5_POKEMON == TRUE const u8 gVictiniPokedexText[] = _( "This Pokémon brings victory.\n" "It is said that Trainers with Victini\n" @@ -3898,7 +3900,9 @@ const u8 gGenesectPokedexText[] = _( "feared as the strongest of hunters.\n" "Team Plasma altered it and attached\n" "a cannon to its back."); +#endif +#if P_GEN_6_POKEMON == TRUE const u8 gChespinPokedexText[] = _( "The quills on its head are usually soft.\n" "When it flexes them, the points become\n" @@ -4330,7 +4334,9 @@ const u8 gVolcanionPokedexText[] = _( "on its back and disappears into the dense\n" "fog. It's said to live in mountains where\n" "humans do not tread."); +#endif +#if P_GEN_7_POKEMON == TRUE const u8 gRowletPokedexText[] = _( "This wary Pokémon uses photosynthesis\n" "to store up energy during the day, while\n" @@ -4851,7 +4857,9 @@ const u8 gMelmetalPokedexText[] = _( "Revered long ago for its capacity to create\n" "iron from nothing, for some reason it has\n" "come back to life after 3,000 years."); +#endif +#if P_GEN_8_POKEMON == TRUE const u8 gGrookeyPokedexText[] = _( "When it uses its special stick to strike up\n" "a beat, the sound waves produced carry\n" diff --git a/src/data/pokemon/teachable_learnset_pointers.h b/src/data/pokemon/teachable_learnset_pointers.h index 7727cde82..28998aae1 100644 --- a/src/data/pokemon/teachable_learnset_pointers.h +++ b/src/data/pokemon/teachable_learnset_pointers.h @@ -387,7 +387,7 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_JIRACHI] = sJirachiTeachableLearnset, [SPECIES_DEOXYS] = sDeoxysTeachableLearnset, [SPECIES_CHIMECHO] = sChimechoTeachableLearnset, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE [SPECIES_TURTWIG] = sTurtwigTeachableLearnset, [SPECIES_GROTLE] = sGrotleTeachableLearnset, [SPECIES_TORTERRA] = sTorterraTeachableLearnset, @@ -495,6 +495,8 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_DARKRAI] = sDarkraiTeachableLearnset, [SPECIES_SHAYMIN] = sShayminTeachableLearnset, [SPECIES_ARCEUS] = sArceusTeachableLearnset, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_VICTINI] = sVictiniTeachableLearnset, [SPECIES_SNIVY] = sSnivyTeachableLearnset, [SPECIES_SERVINE] = sServineTeachableLearnset, @@ -651,6 +653,8 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_KELDEO] = sKeldeoTeachableLearnset, [SPECIES_MELOETTA] = sMeloettaTeachableLearnset, [SPECIES_GENESECT] = sGenesectTeachableLearnset, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_CHESPIN] = sChespinTeachableLearnset, [SPECIES_QUILLADIN] = sQuilladinTeachableLearnset, [SPECIES_CHESNAUGHT] = sChesnaughtTeachableLearnset, @@ -723,6 +727,8 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_DIANCIE] = sDiancieTeachableLearnset, [SPECIES_HOOPA] = sHoopaTeachableLearnset, [SPECIES_VOLCANION] = sVolcanionTeachableLearnset, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_ROWLET] = sRowletTeachableLearnset, [SPECIES_DARTRIX] = sDartrixTeachableLearnset, [SPECIES_DECIDUEYE] = sDecidueyeTeachableLearnset, @@ -811,6 +817,8 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_ZERAORA] = sZeraoraTeachableLearnset, [SPECIES_MELTAN] = sMeltanTeachableLearnset, [SPECIES_MELMETAL] = sMelmetalTeachableLearnset, +#endif +#if P_GEN_8_POKEMON == TRUE [SPECIES_GROOKEY] = sGrookeyTeachableLearnset, [SPECIES_THWACKEY] = sThwackeyTeachableLearnset, [SPECIES_RILLABOOM] = sRillaboomTeachableLearnset, @@ -907,6 +915,7 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_SNEASLER] = sSneaslerTeachableLearnset, [SPECIES_OVERQWIL] = sOverqwilTeachableLearnset, [SPECIES_ENAMORUS] = sEnamorusTeachableLearnset, +#endif // Megas [SPECIES_VENUSAUR_MEGA] = sVenusaurTeachableLearnset, [SPECIES_CHARIZARD_MEGA_X] = sCharizardTeachableLearnset, @@ -948,13 +957,19 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_METAGROSS_MEGA] = sMetagrossTeachableLearnset, [SPECIES_LATIAS_MEGA] = sLatiasTeachableLearnset, [SPECIES_LATIOS_MEGA] = sLatiosTeachableLearnset, +#if P_GEN_4_POKEMON == TRUE [SPECIES_LOPUNNY_MEGA] = sLopunnyTeachableLearnset, [SPECIES_GARCHOMP_MEGA] = sGarchompTeachableLearnset, [SPECIES_LUCARIO_MEGA] = sLucarioTeachableLearnset, [SPECIES_ABOMASNOW_MEGA] = sAbomasnowTeachableLearnset, [SPECIES_GALLADE_MEGA] = sGalladeTeachableLearnset, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_AUDINO_MEGA] = sAudinoTeachableLearnset, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_DIANCIE_MEGA] = sDiancieTeachableLearnset, +#endif // Special Mega + Primals [SPECIES_RAYQUAZA_MEGA] = sRayquazaTeachableLearnset, [SPECIES_KYOGRE_PRIMAL] = sKyogreTeachableLearnset, @@ -994,10 +1009,12 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_CORSOLA_GALARIAN] = sCorsolaGalarianTeachableLearnset, [SPECIES_ZIGZAGOON_GALARIAN] = sZigzagoonGalarianTeachableLearnset, [SPECIES_LINOONE_GALARIAN] = sLinooneGalarianTeachableLearnset, +#if P_GEN_5_POKEMON == TRUE [SPECIES_DARUMAKA_GALARIAN] = sDarumakaGalarianTeachableLearnset, [SPECIES_DARMANITAN_GALARIAN] = sDarmanitanGalarianTeachableLearnset, [SPECIES_YAMASK_GALARIAN] = sYamaskGalarianTeachableLearnset, [SPECIES_STUNFISK_GALARIAN] = sStunfiskGalarianTeachableLearnset, +#endif // Hisuian Forms [SPECIES_GROWLITHE_HISUIAN] = sGrowlitheHisuianTeachableLearnset, [SPECIES_ARCANINE_HISUIAN] = sArcanineHisuianTeachableLearnset, @@ -1006,15 +1023,21 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_TYPHLOSION_HISUIAN] = sTyphlosionHisuianTeachableLearnset, [SPECIES_QWILFISH_HISUIAN] = sQwilfishHisuianTeachableLearnset, [SPECIES_SNEASEL_HISUIAN] = sSneaselHisuianTeachableLearnset, +#if P_GEN_5_POKEMON == TRUE [SPECIES_SAMUROTT_HISUIAN] = sSamurottHisuianTeachableLearnset, [SPECIES_LILLIGANT_HISUIAN] = sLilligantHisuianTeachableLearnset, [SPECIES_ZORUA_HISUIAN] = sZoruaHisuianTeachableLearnset, [SPECIES_ZOROARK_HISUIAN] = sZoroarkHisuianTeachableLearnset, [SPECIES_BRAVIARY_HISUIAN] = sBraviaryHisuianTeachableLearnset, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_SLIGGOO_HISUIAN] = sSliggooHisuianTeachableLearnset, [SPECIES_GOODRA_HISUIAN] = sGoodraHisuianTeachableLearnset, [SPECIES_AVALUGG_HISUIAN] = sAvaluggHisuianTeachableLearnset, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_DECIDUEYE_HISUIAN] = sDecidueyeHisuianTeachableLearnset, +#endif // Misc Forms // Cosplay Pikachu [SPECIES_PIKACHU_COSPLAY] = sPikachuTeachableLearnset, @@ -1034,7 +1057,6 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_PIKACHU_WORLD_CAP] = sPikachuTeachableLearnset, // Pichu [SPECIES_PICHU_SPIKY_EARED] = sPichuTeachableLearnset, -#endif // Unown [SPECIES_UNOWN_B] = sUnownTeachableLearnset, [SPECIES_UNOWN_C] = sUnownTeachableLearnset, @@ -1071,7 +1093,7 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_DEOXYS_ATTACK] = sDeoxysAttackTeachableLearnset, [SPECIES_DEOXYS_DEFENSE] = sDeoxysDefenseTeachableLearnset, [SPECIES_DEOXYS_SPEED] = sDeoxysSpeedTeachableLearnset, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE // Burmy [SPECIES_BURMY_SANDY_CLOAK] = sBurmyTeachableLearnset, [SPECIES_BURMY_TRASH_CLOAK] = sBurmyTeachableLearnset, @@ -1114,6 +1136,8 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_ARCEUS_DRAGON] = sArceusTeachableLearnset, [SPECIES_ARCEUS_DARK] = sArceusTeachableLearnset, [SPECIES_ARCEUS_FAIRY] = sArceusTeachableLearnset, +#endif +#if P_GEN_5_POKEMON == TRUE // Basculin [SPECIES_BASCULIN_BLUE_STRIPED] = sBasculinTeachableLearnset, [SPECIES_BASCULIN_WHITE_STRIPED] = sBasculinTeachableLearnset, @@ -1132,7 +1156,6 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_TORNADUS_THERIAN] = sTornadusTeachableLearnset, [SPECIES_THUNDURUS_THERIAN] = sThundurusTeachableLearnset, [SPECIES_LANDORUS_THERIAN] = sLandorusTeachableLearnset, - [SPECIES_ENAMORUS_THERIAN] = sEnamorusTeachableLearnset, // Kyurem [SPECIES_KYUREM_WHITE] = sKyuremTeachableLearnset, [SPECIES_KYUREM_BLACK] = sKyuremTeachableLearnset, @@ -1145,6 +1168,8 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_GENESECT_SHOCK_DRIVE] = sGenesectTeachableLearnset, [SPECIES_GENESECT_BURN_DRIVE] = sGenesectTeachableLearnset, [SPECIES_GENESECT_CHILL_DRIVE] = sGenesectTeachableLearnset, +#endif +#if P_GEN_6_POKEMON == TRUE // Greninja [SPECIES_GRENINJA_BATTLE_BOND] = sGreninjaTeachableLearnset, [SPECIES_GRENINJA_ASH] = sGreninjaTeachableLearnset, @@ -1215,6 +1240,8 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_ZYGARDE_COMPLETE] = sZygardeTeachableLearnset, // Hoopa [SPECIES_HOOPA_UNBOUND] = sHoopaUnboundTeachableLearnset, +#endif +#if P_GEN_7_POKEMON == TRUE // Oricorio [SPECIES_ORICORIO_POM_POM] = sOricorioTeachableLearnset, [SPECIES_ORICORIO_PAU] = sOricorioTeachableLearnset, @@ -1266,6 +1293,8 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = [SPECIES_NECROZMA_ULTRA] = sNecrozmaTeachableLearnset, // Magearna [SPECIES_MAGEARNA_ORIGINAL_COLOR] = sMagearnaTeachableLearnset, +#endif +#if P_GEN_8_POKEMON == TRUE // Cramorant [SPECIES_CRAMORANT_GULPING] = sCramorantTeachableLearnset, [SPECIES_CRAMORANT_GORGING] = sCramorantTeachableLearnset, @@ -1303,5 +1332,7 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] = // Calyrex [SPECIES_CALYREX_ICE_RIDER] = sCalyrexIceRiderTeachableLearnset, [SPECIES_CALYREX_SHADOW_RIDER] = sCalyrexShadowRiderTeachableLearnset, + // Enamorus + [SPECIES_ENAMORUS_THERIAN] = sEnamorusTeachableLearnset, #endif }; diff --git a/src/data/pokemon/teachable_learnsets.h b/src/data/pokemon/teachable_learnsets.h index 30405b044..19b22d9b3 100644 --- a/src/data/pokemon/teachable_learnsets.h +++ b/src/data/pokemon/teachable_learnsets.h @@ -6209,95 +6209,8 @@ static const u16 sMewtwoTeachableLearnset[] = { MOVE_UNAVAILABLE, }; +// Instead of reading this array for Mew, it checks for exceptions in CanLearnTeachableMove instead. static const u16 sMewTeachableLearnset[] = { - MOVE_AERIAL_ACE, - MOVE_ATTRACT, - MOVE_BLIZZARD, - MOVE_BRICK_BREAK, - MOVE_BULK_UP, - MOVE_BULLET_SEED, - MOVE_CALM_MIND, - MOVE_CUT, - MOVE_DIG, - MOVE_DIVE, - MOVE_DOUBLE_TEAM, - MOVE_DRAGON_CLAW, - MOVE_EARTHQUAKE, - MOVE_FACADE, - MOVE_FIRE_BLAST, - MOVE_FLAMETHROWER, - MOVE_FLASH, - MOVE_FLY, - MOVE_FOCUS_PUNCH, - MOVE_FRUSTRATION, - MOVE_GIGA_DRAIN, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_HYPER_BEAM, - MOVE_ICE_BEAM, - MOVE_IRON_TAIL, - MOVE_LIGHT_SCREEN, - MOVE_OVERHEAT, - MOVE_PROTECT, - MOVE_PSYCHIC, - MOVE_RAIN_DANCE, - MOVE_REFLECT, - MOVE_REST, - MOVE_RETURN, - MOVE_ROAR, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, - MOVE_SAFEGUARD, - MOVE_SANDSTORM, - MOVE_SECRET_POWER, - MOVE_SHADOW_BALL, - MOVE_SHOCK_WAVE, - MOVE_SKILL_SWAP, - MOVE_SLUDGE_BOMB, - MOVE_SNATCH, - MOVE_SOLAR_BEAM, - MOVE_STEEL_WING, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, - MOVE_SURF, - MOVE_TAUNT, - MOVE_THIEF, - MOVE_THUNDER, - MOVE_THUNDERBOLT, - MOVE_TORMENT, - MOVE_TOXIC, - MOVE_WATERFALL, - MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, - MOVE_EXPLOSION, - MOVE_FIRE_PUNCH, - MOVE_FURY_CUTTER, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MIMIC, - MOVE_MUD_SLAP, - MOVE_PSYCH_UP, - MOVE_ROCK_SLIDE, - MOVE_ROLLOUT, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SOFT_BOILED, - MOVE_SUBSTITUTE, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -16203,8 +16116,7 @@ static const u16 sDeoxysTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -#if P_NEW_POKEMON == TRUE - +#if P_GEN_4_POKEMON == TRUE static const u16 sTurtwigTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, @@ -20326,7 +20238,9 @@ static const u16 sArceusTeachableLearnset[] = { MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; +#endif +#if P_GEN_5_POKEMON == TRUE static const u16 sVictiniTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_DOUBLE_TEAM, @@ -25417,7 +25331,9 @@ static const u16 sGenesectTeachableLearnset[] = { MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; +#endif +#if P_GEN_6_POKEMON == TRUE static const u16 sChespinTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, @@ -27826,7 +27742,9 @@ static const u16 sVolcanionTeachableLearnset[] = { MOVE_SWAGGER, MOVE_UNAVAILABLE, }; +#endif +#if P_GEN_7_POKEMON == TRUE static const u16 sRowletTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, @@ -30208,7 +30126,9 @@ static const u16 sMelmetalTeachableLearnset[] = { MOVE_HIDDEN_POWER, MOVE_UNAVAILABLE, }; +#endif +#if P_GEN_8_POKEMON == TRUE static const u16 sGrookeyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_FACADE, @@ -32120,6 +32040,7 @@ static const u16 sOverqwilTeachableLearnset[] = { static const u16 sEnamorusTeachableLearnset[] = { MOVE_UNAVAILABLE, }; +#endif static const u16 sRattataAlolanTeachableLearnset[] = { MOVE_BLIZZARD, @@ -32849,6 +32770,7 @@ static const u16 sLinooneGalarianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; +#if P_GEN_5_POKEMON == TRUE static const u16 sDarumakaGalarianTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, @@ -32958,6 +32880,7 @@ static const u16 sStunfiskGalarianTeachableLearnset[] = { MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; +#endif static const u16 sGrowlitheHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, @@ -32987,6 +32910,7 @@ static const u16 sSneaselHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; +#if P_GEN_5_POKEMON == TRUE static const u16 sSamurottHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; @@ -33006,7 +32930,9 @@ static const u16 sZoroarkHisuianTeachableLearnset[] = { static const u16 sBraviaryHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; +#endif +#if P_GEN_6_POKEMON == TRUE static const u16 sSliggooHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; @@ -33018,11 +32944,12 @@ static const u16 sGoodraHisuianTeachableLearnset[] = { static const u16 sAvaluggHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; +#endif +#if P_GEN_7_POKEMON == TRUE static const u16 sDecidueyeHisuianTeachableLearnset[] = { MOVE_UNAVAILABLE, }; - #endif static const u16 sDeoxysAttackTeachableLearnset[] = { @@ -33145,8 +33072,7 @@ static const u16 sDeoxysSpeedTeachableLearnset[] = { MOVE_UNAVAILABLE, }; -#if P_NEW_POKEMON == TRUE - +#if P_GEN_4_POKEMON == TRUE static const u16 sBurmySandyCloakTeachableLearnset[] = { MOVE_HIDDEN_POWER, MOVE_PROTECT, @@ -33280,7 +33206,9 @@ static const u16 sShayminSkyTeachableLearnset[] = { MOVE_TOXIC, MOVE_UNAVAILABLE, }; +#endif +#if P_GEN_6_POKEMON == TRUE static const u16 sFloetteEternalFlowerTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, @@ -33373,7 +33301,9 @@ static const u16 sMeowsticFemaleTeachableLearnset[] = { MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; +#endif +#if P_GEN_7_POKEMON == TRUE static const u16 sLycanrocMidnightTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, @@ -33411,7 +33341,9 @@ static const u16 sLycanrocDuskTeachableLearnset[] = { MOVE_TOXIC, MOVE_UNAVAILABLE, }; +#endif +#if P_GEN_8_POKEMON == TRUE static const u16 sToxtricityLowKeyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_FACADE, @@ -33552,5 +33484,4 @@ static const u16 sCalyrexShadowRiderTeachableLearnset[] = { MOVE_SWIFT, MOVE_UNAVAILABLE, }; - #endif diff --git a/src/data/pokemon_graphics/back_pic_coordinates.h b/src/data/pokemon_graphics/back_pic_coordinates.h index df6c861a5..8dbc2d2a9 100644 --- a/src/data/pokemon_graphics/back_pic_coordinates.h +++ b/src/data/pokemon_graphics/back_pic_coordinates.h @@ -1,3 +1,22 @@ + +#define PIKACHU_BACK_PIC_COORDS \ +{ \ + .size = MON_COORDS_SIZE(64, 56), \ + .y_offset = 4, \ +} + +#define ARCEUS_BACK_PIC_COORDS \ +{ \ + .size = MON_COORDS_SIZE(64, 64), \ + .y_offset = 3, \ +} + +#define DEERLING_BACK_PIC_COORDS \ +{ \ + .size = MON_COORDS_SIZE(48, 56), \ + .y_offset = 9, \ +} + // All Pokémon pics are 64x64, but this data table defines where in this 64x64 frame // the sprite's non-transparent pixels actually are. // .size is the dimensions of this drawn pixel area. @@ -29,7 +48,7 @@ const struct MonCoords gMonBackPicCoords[] = [SPECIES_FEAROW] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, [SPECIES_EKANS] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, [SPECIES_ARBOK] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, - [SPECIES_PIKACHU] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_PIKACHU] = PIKACHU_BACK_PIC_COORDS, [SPECIES_RAICHU] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, [SPECIES_SANDSHREW] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, [SPECIES_SANDSLASH] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 11 }, @@ -391,7 +410,7 @@ const struct MonCoords gMonBackPicCoords[] = [SPECIES_JIRACHI] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, [SPECIES_DEOXYS] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, [SPECIES_CHIMECHO] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 9 }, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE [SPECIES_TURTWIG] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, [SPECIES_GROTLE] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 10 }, [SPECIES_TORTERRA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, @@ -498,7 +517,9 @@ const struct MonCoords gMonBackPicCoords[] = [SPECIES_MANAPHY] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 10 }, [SPECIES_DARKRAI] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_SHAYMIN] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 15 }, - [SPECIES_ARCEUS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_ARCEUS] = ARCEUS_BACK_PIC_COORDS, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_VICTINI] = { .size = MON_COORDS_SIZE(40, 64), .y_offset = 7 }, [SPECIES_SNIVY] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, [SPECIES_SERVINE] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 5 }, @@ -590,7 +611,7 @@ const struct MonCoords gMonBackPicCoords[] = [SPECIES_VANILLITE] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 9 }, [SPECIES_VANILLISH] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 4 }, [SPECIES_VANILLUXE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 6 }, - [SPECIES_DEERLING] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 9 }, + [SPECIES_DEERLING] = DEERLING_BACK_PIC_COORDS, [SPECIES_SAWSBUCK] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 5 }, [SPECIES_EMOLGA] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 16 }, [SPECIES_KARRABLAST] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 14 }, @@ -655,6 +676,8 @@ const struct MonCoords gMonBackPicCoords[] = [SPECIES_KELDEO] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 4 }, [SPECIES_MELOETTA] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, [SPECIES_GENESECT] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_CHESPIN] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 6 }, [SPECIES_QUILLADIN] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, [SPECIES_CHESNAUGHT] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 10 }, @@ -727,6 +750,8 @@ const struct MonCoords gMonBackPicCoords[] = [SPECIES_DIANCIE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 7 }, [SPECIES_HOOPA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 8 }, [SPECIES_VOLCANION] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_ROWLET] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 15 }, [SPECIES_DARTRIX] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, [SPECIES_DECIDUEYE] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 0 }, @@ -815,6 +840,8 @@ const struct MonCoords gMonBackPicCoords[] = [SPECIES_ZERAORA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 11 }, [SPECIES_MELTAN] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, [SPECIES_MELMETAL] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, +#endif +#if P_GEN_8_POKEMON == TRUE [SPECIES_GROOKEY] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 8 }, [SPECIES_THWACKEY] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, [SPECIES_RILLABOOM] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, @@ -911,6 +938,7 @@ const struct MonCoords gMonBackPicCoords[] = [SPECIES_SNEASLER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_OVERQWIL] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, [SPECIES_ENAMORUS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, +#endif [SPECIES_VENUSAUR_MEGA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 8 }, [SPECIES_CHARIZARD_MEGA_X] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, [SPECIES_CHARIZARD_MEGA_Y] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, @@ -951,16 +979,24 @@ const struct MonCoords gMonBackPicCoords[] = [SPECIES_METAGROSS_MEGA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, [SPECIES_LATIAS_MEGA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, [SPECIES_LATIOS_MEGA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, +#if P_GEN_4_POKEMON == TRUE [SPECIES_LOPUNNY_MEGA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, [SPECIES_GARCHOMP_MEGA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, [SPECIES_LUCARIO_MEGA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_ABOMASNOW_MEGA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_GALLADE_MEGA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_AUDINO_MEGA] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_DIANCIE_MEGA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, +#endif + // Special Mega + Primals [SPECIES_RAYQUAZA_MEGA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_KYOGRE_PRIMAL] = { .size = MON_COORDS_SIZE(64, 32), .y_offset = 18 }, [SPECIES_GROUDON_PRIMAL] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, + // Alolan Forms [SPECIES_RATTATA_ALOLAN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, [SPECIES_RATICATE_ALOLAN] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, [SPECIES_RAICHU_ALOLAN] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, @@ -979,6 +1015,7 @@ const struct MonCoords gMonBackPicCoords[] = [SPECIES_MUK_ALOLAN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, [SPECIES_EXEGGUTOR_ALOLAN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, [SPECIES_MAROWAK_ALOLAN] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, + // Galarian Forms [SPECIES_MEOWTH_GALARIAN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 8 }, [SPECIES_PONYTA_GALARIAN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, [SPECIES_RAPIDASH_GALARIAN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, @@ -994,10 +1031,13 @@ const struct MonCoords gMonBackPicCoords[] = [SPECIES_CORSOLA_GALARIAN] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, [SPECIES_ZIGZAGOON_GALARIAN] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 12 }, [SPECIES_LINOONE_GALARIAN] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, +#if P_GEN_5_POKEMON == TRUE [SPECIES_DARUMAKA_GALARIAN] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, [SPECIES_DARMANITAN_GALARIAN] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 2 }, [SPECIES_YAMASK_GALARIAN] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 13 }, [SPECIES_STUNFISK_GALARIAN] = { .size = MON_COORDS_SIZE(64, 24), .y_offset = 23 }, +#endif + // Hisuian Forms [SPECIES_GROWLITHE_HISUIAN] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 8 }, [SPECIES_ARCANINE_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, [SPECIES_VOLTORB_HISUIAN] = { .size = MON_COORDS_SIZE(48, 32), .y_offset = 10 }, @@ -1005,31 +1045,41 @@ const struct MonCoords gMonBackPicCoords[] = [SPECIES_TYPHLOSION_HISUIAN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 3 }, [SPECIES_QWILFISH_HISUIAN] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, [SPECIES_SNEASEL_HISUIAN] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 3 }, +#if P_GEN_5_POKEMON == TRUE [SPECIES_SAMUROTT_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_LILLIGANT_HISUIAN] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, [SPECIES_ZORUA_HISUIAN] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 1 }, [SPECIES_ZOROARK_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_BRAVIARY_HISUIAN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 0 }, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_SLIGGOO_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_GOODRA_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_AVALUGG_HISUIAN] = { .size = MON_COORDS_SIZE(64, 32), .y_offset = 17 }, - [SPECIES_DECIDUEYE_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, - [SPECIES_PIKACHU_COSPLAY] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, - [SPECIES_PIKACHU_ROCK_STAR] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, - [SPECIES_PIKACHU_BELLE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, - [SPECIES_PIKACHU_POP_STAR] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, - [SPECIES_PIKACHU_PH_D] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, - [SPECIES_PIKACHU_LIBRE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, - [SPECIES_PIKACHU_ORIGINAL_CAP] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, - [SPECIES_PIKACHU_HOENN_CAP] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, - [SPECIES_PIKACHU_SINNOH_CAP] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, - [SPECIES_PIKACHU_UNOVA_CAP] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, - [SPECIES_PIKACHU_KALOS_CAP] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, - [SPECIES_PIKACHU_ALOLA_CAP] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, - [SPECIES_PIKACHU_PARTNER_CAP] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, - [SPECIES_PIKACHU_WORLD_CAP] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, - [SPECIES_PICHU_SPIKY_EARED] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 8 }, #endif +#if P_GEN_7_POKEMON == TRUE + [SPECIES_DECIDUEYE_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, +#endif + // Misc Forms + // Cosplay Pikachu + [SPECIES_PIKACHU_COSPLAY] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_ROCK_STAR] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_BELLE] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_POP_STAR] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_PH_D] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_LIBRE] = PIKACHU_BACK_PIC_COORDS, + // Cap Pikachu + [SPECIES_PIKACHU_ORIGINAL_CAP] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_HOENN_CAP] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_SINNOH_CAP] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_UNOVA_CAP] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_KALOS_CAP] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_ALOLA_CAP] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_PARTNER_CAP] = PIKACHU_BACK_PIC_COORDS, + [SPECIES_PIKACHU_WORLD_CAP] = PIKACHU_BACK_PIC_COORDS, + // Pichu + [SPECIES_PICHU_SPIKY_EARED] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 8 }, + // Unown [SPECIES_UNOWN_B] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 9 }, [SPECIES_UNOWN_C] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, [SPECIES_UNOWN_D] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 8 }, @@ -1057,71 +1107,95 @@ const struct MonCoords gMonBackPicCoords[] = [SPECIES_UNOWN_Z] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 10 }, [SPECIES_UNOWN_EMARK] = { .size = MON_COORDS_SIZE(24, 56), .y_offset = 6 }, [SPECIES_UNOWN_QMARK] = { .size = MON_COORDS_SIZE(32, 56), .y_offset = 6 }, + // Castform [SPECIES_CASTFORM_SUNNY] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, [SPECIES_CASTFORM_RAINY] = { .size = MON_COORDS_SIZE(40, 64), .y_offset = 0 }, [SPECIES_CASTFORM_SNOWY] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + // Deoxys [SPECIES_DEOXYS_ATTACK] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, [SPECIES_DEOXYS_DEFENSE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 8 }, [SPECIES_DEOXYS_SPEED] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, -#if P_NEW_POKEMON == TRUE - +#if P_GEN_4_POKEMON == TRUE + // Burmy [SPECIES_BURMY_SANDY_CLOAK] = { .size = MON_COORDS_SIZE(32, 56), .y_offset = 7 }, [SPECIES_BURMY_TRASH_CLOAK] = { .size = MON_COORDS_SIZE(40, 64), .y_offset = 0 }, + // Wormadam [SPECIES_WORMADAM_SANDY_CLOAK] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 2 }, [SPECIES_WORMADAM_TRASH_CLOAK] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + // Cherrim [SPECIES_CHERRIM_SUNSHINE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + // Shellos [SPECIES_SHELLOS_EAST_SEA] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + // Gastrodon [SPECIES_GASTRODON_EAST_SEA] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 3 }, + // Rotom [SPECIES_ROTOM_HEAT] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 12 }, [SPECIES_ROTOM_WASH] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 11 }, [SPECIES_ROTOM_FROST] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, [SPECIES_ROTOM_FAN] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, [SPECIES_ROTOM_MOW] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, + // Origin Forme [SPECIES_DIALGA_ORIGIN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_PALKIA_ORIGIN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, [SPECIES_GIRATINA_ORIGIN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + // Shaymin [SPECIES_SHAYMIN_SKY] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 2 }, - [SPECIES_ARCEUS_FIGHTING] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, - [SPECIES_ARCEUS_FLYING] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, - [SPECIES_ARCEUS_POISON] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, - [SPECIES_ARCEUS_GROUND] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, - [SPECIES_ARCEUS_ROCK] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, - [SPECIES_ARCEUS_BUG] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, - [SPECIES_ARCEUS_GHOST] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, - [SPECIES_ARCEUS_STEEL] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, - [SPECIES_ARCEUS_FIRE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, - [SPECIES_ARCEUS_WATER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, - [SPECIES_ARCEUS_GRASS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, - [SPECIES_ARCEUS_ELECTRIC] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, - [SPECIES_ARCEUS_PSYCHIC] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, - [SPECIES_ARCEUS_ICE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, - [SPECIES_ARCEUS_DRAGON] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, - [SPECIES_ARCEUS_DARK] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, - [SPECIES_ARCEUS_FAIRY] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + // Arceus + [SPECIES_ARCEUS_FIGHTING] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_FLYING] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_POISON] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_GROUND] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_ROCK] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_BUG] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_GHOST] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_STEEL] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_FIRE] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_WATER] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_GRASS] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_ELECTRIC] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_PSYCHIC] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_ICE] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_DRAGON] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_DARK] = ARCEUS_BACK_PIC_COORDS, + [SPECIES_ARCEUS_FAIRY] = ARCEUS_BACK_PIC_COORDS, +#endif +#if P_GEN_5_POKEMON == TRUE + // Basculin [SPECIES_BASCULIN_BLUE_STRIPED] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 16 }, [SPECIES_BASCULIN_WHITE_STRIPED] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 16 }, + // Darmanitan [SPECIES_DARMANITAN_ZEN_MODE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, [SPECIES_DARMANITAN_ZEN_MODE_GALARIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, - [SPECIES_DEERLING_SUMMER] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 9 }, - [SPECIES_DEERLING_AUTUMN] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 9 }, - [SPECIES_DEERLING_WINTER] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 9 }, + // Deerling + [SPECIES_DEERLING_SUMMER] = DEERLING_BACK_PIC_COORDS, + [SPECIES_DEERLING_AUTUMN] = DEERLING_BACK_PIC_COORDS, + [SPECIES_DEERLING_WINTER] = DEERLING_BACK_PIC_COORDS, + // Sawsbuck [SPECIES_SAWSBUCK_SUMMER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 5 }, [SPECIES_SAWSBUCK_AUTUMN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 5 }, [SPECIES_SAWSBUCK_WINTER] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 5 }, + // Therian Forms [SPECIES_TORNADUS_THERIAN] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, [SPECIES_THUNDURUS_THERIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 5 }, [SPECIES_LANDORUS_THERIAN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, - [SPECIES_ENAMORUS_THERIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + // Kyurem [SPECIES_KYUREM_WHITE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_KYUREM_BLACK] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + // Keldeo [SPECIES_KELDEO_RESOLUTE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + // Meloetta [SPECIES_MELOETTA_PIROUETTE] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 4 }, + // Genesect [SPECIES_GENESECT_DOUSE_DRIVE] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, [SPECIES_GENESECT_SHOCK_DRIVE] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, [SPECIES_GENESECT_BURN_DRIVE] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, [SPECIES_GENESECT_CHILL_DRIVE] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, +#endif +#if P_GEN_6_POKEMON == TRUE + // Greninja [SPECIES_GRENINJA_BATTLE_BOND] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 11 }, [SPECIES_GRENINJA_ASH] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 11 }, + // Vivillon [SPECIES_VIVILLON_POLAR] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_VIVILLON_TUNDRA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_VIVILLON_CONTINENTAL] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, @@ -1141,19 +1215,23 @@ const struct MonCoords gMonBackPicCoords[] = [SPECIES_VIVILLON_JUNGLE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_VIVILLON_FANCY] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_VIVILLON_POKE_BALL] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + // Flabébé [SPECIES_FLABEBE_YELLOW_FLOWER] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 12 }, [SPECIES_FLABEBE_ORANGE_FLOWER] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 12 }, [SPECIES_FLABEBE_BLUE_FLOWER] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 12 }, [SPECIES_FLABEBE_WHITE_FLOWER] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 12 }, + // Floette [SPECIES_FLOETTE_YELLOW_FLOWER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, [SPECIES_FLOETTE_ORANGE_FLOWER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, [SPECIES_FLOETTE_BLUE_FLOWER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, [SPECIES_FLOETTE_WHITE_FLOWER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, [SPECIES_FLOETTE_ETERNAL_FLOWER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + // Florges [SPECIES_FLORGES_YELLOW_FLOWER] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, [SPECIES_FLORGES_ORANGE_FLOWER] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, [SPECIES_FLORGES_BLUE_FLOWER] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, [SPECIES_FLORGES_WHITE_FLOWER] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, + // Furfrou [SPECIES_FURFROU_HEART_TRIM] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 1 }, [SPECIES_FURFROU_STAR_TRIM] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, [SPECIES_FURFROU_DIAMOND_TRIM] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 1 }, @@ -1163,27 +1241,41 @@ const struct MonCoords gMonBackPicCoords[] = [SPECIES_FURFROU_LA_REINE_TRIM] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 1 }, [SPECIES_FURFROU_KABUKI_TRIM] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 1 }, [SPECIES_FURFROU_PHARAOH_TRIM] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 1 }, + // Meowstic [SPECIES_MEOWSTIC_FEMALE] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 9 }, + // Aegislash [SPECIES_AEGISLASH_BLADE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 9 }, + // Pumpkaboo [SPECIES_PUMPKABOO_SMALL] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 14 }, [SPECIES_PUMPKABOO_LARGE] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 13 }, [SPECIES_PUMPKABOO_SUPER] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 12 }, + // Gourgeist [SPECIES_GOURGEIST_SMALL] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 4 }, [SPECIES_GOURGEIST_LARGE] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 2 }, [SPECIES_GOURGEIST_SUPER] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 1 }, + // Xerneas [SPECIES_XERNEAS_ACTIVE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + // Zygarde [SPECIES_ZYGARDE_10] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 8 }, [SPECIES_ZYGARDE_10_POWER_CONSTRUCT] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 8 }, [SPECIES_ZYGARDE_50_POWER_CONSTRUCT] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 4 }, [SPECIES_ZYGARDE_COMPLETE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + // Hoopa [SPECIES_HOOPA_UNBOUND] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, +#endif +#if P_GEN_7_POKEMON == TRUE + // Oricorio [SPECIES_ORICORIO_POM_POM] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_ORICORIO_PAU] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_ORICORIO_SENSU] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + // Rockruff [SPECIES_ROCKRUFF_OWN_TEMPO] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + // Lycanroc [SPECIES_LYCANROC_MIDNIGHT] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, [SPECIES_LYCANROC_DUSK] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + // Wishiwashi [SPECIES_WISHIWASHI_SCHOOL] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + // Silvally [SPECIES_SILVALLY_FIGHTING] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, [SPECIES_SILVALLY_FLYING] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, [SPECIES_SILVALLY_POISON] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, @@ -1201,6 +1293,7 @@ const struct MonCoords gMonBackPicCoords[] = [SPECIES_SILVALLY_DRAGON] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, [SPECIES_SILVALLY_DARK] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, [SPECIES_SILVALLY_FAIRY] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + // Minior [SPECIES_MINIOR_METEOR_ORANGE] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 14 }, [SPECIES_MINIOR_METEOR_YELLOW] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 14 }, [SPECIES_MINIOR_METEOR_GREEN] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 14 }, @@ -1214,16 +1307,26 @@ const struct MonCoords gMonBackPicCoords[] = [SPECIES_MINIOR_CORE_BLUE] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 15 }, [SPECIES_MINIOR_CORE_INDIGO] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 15 }, [SPECIES_MINIOR_CORE_VIOLET] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 15 }, + // Mimikyu [SPECIES_MIMIKYU_BUSTED] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 15 }, + // Necrozma [SPECIES_NECROZMA_DUSK_MANE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, [SPECIES_NECROZMA_DAWN_WINGS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, [SPECIES_NECROZMA_ULTRA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + // Magearna [SPECIES_MAGEARNA_ORIGINAL_COLOR] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, +#endif +#if P_GEN_8_POKEMON == TRUE + // Cramorant [SPECIES_CRAMORANT_GULPING] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, [SPECIES_CRAMORANT_GORGING] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, + // Toxtricity [SPECIES_TOXTRICITY_LOW_KEY] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 0 }, + // Sinistea [SPECIES_SINISTEA_ANTIQUE] = { .size = MON_COORDS_SIZE(48, 32), .y_offset = 16 }, + // Polteageist [SPECIES_POLTEAGEIST_ANTIQUE] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, + // Alcremie [SPECIES_ALCREMIE_RUBY_CREAM] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 9 }, [SPECIES_ALCREMIE_MATCHA_CREAM] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 9 }, [SPECIES_ALCREMIE_MINT_CREAM] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 9 }, @@ -1232,16 +1335,27 @@ const struct MonCoords gMonBackPicCoords[] = [SPECIES_ALCREMIE_RUBY_SWIRL] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 9 }, [SPECIES_ALCREMIE_CARAMEL_SWIRL] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 9 }, [SPECIES_ALCREMIE_RAINBOW_SWIRL] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 9 }, + // Eiscue [SPECIES_EISCUE_NOICE_FACE] = { .size = MON_COORDS_SIZE(40, 64), .y_offset = 0 }, + // Indeedee [SPECIES_INDEEDEE_FEMALE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + // Morpeko [SPECIES_MORPEKO_HANGRY] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 8 }, + // Zacian [SPECIES_ZACIAN_CROWNED_SWORD] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, + // Zamazenta [SPECIES_ZAMAZENTA_CROWNED_SHIELD] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + // Eternatus [SPECIES_ETERNATUS_ETERNAMAX] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + // Urshifu [SPECIES_URSHIFU_RAPID_STRIKE_STYLE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + // Zarude [SPECIES_ZARUDE_DADA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, + // Calyrex [SPECIES_CALYREX_ICE_RIDER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 7 }, [SPECIES_CALYREX_SHADOW_RIDER] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, + // Enamorus + [SPECIES_ENAMORUS_THERIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, #endif [SPECIES_EGG] = { .size = MON_COORDS_SIZE(24, 24), .y_offset = 20 }, }; diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h index 30a711fc4..398cf2875 100644 --- a/src/data/pokemon_graphics/back_pic_table.h +++ b/src/data/pokemon_graphics/back_pic_table.h @@ -387,7 +387,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(JIRACHI, gMonBackPic_Jirachi), SPECIES_SPRITE(DEOXYS, gMonBackPic_Deoxys), SPECIES_SPRITE(CHIMECHO, gMonBackPic_Chimecho), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE SPECIES_SPRITE(TURTWIG, gMonBackPic_Turtwig), SPECIES_SPRITE(GROTLE, gMonBackPic_Grotle), SPECIES_SPRITE(TORTERRA, gMonBackPic_Torterra), @@ -495,6 +495,8 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(DARKRAI, gMonBackPic_Darkrai), SPECIES_SPRITE(SHAYMIN, gMonBackPic_Shaymin), SPECIES_SPRITE(ARCEUS, gMonBackPic_Arceus), +#endif +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(VICTINI, gMonBackPic_Victini), SPECIES_SPRITE(SNIVY, gMonBackPic_Snivy), SPECIES_SPRITE(SERVINE, gMonBackPic_Servine), @@ -651,6 +653,8 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(KELDEO, gMonBackPic_Keldeo), SPECIES_SPRITE(MELOETTA, gMonBackPic_Meloetta), SPECIES_SPRITE(GENESECT, gMonBackPic_Genesect), +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(CHESPIN, gMonBackPic_Chespin), SPECIES_SPRITE(QUILLADIN, gMonBackPic_Quilladin), SPECIES_SPRITE(CHESNAUGHT, gMonBackPic_Chesnaught), @@ -723,6 +727,8 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(DIANCIE, gMonBackPic_Diancie), SPECIES_SPRITE(HOOPA, gMonBackPic_Hoopa), SPECIES_SPRITE(VOLCANION, gMonBackPic_Volcanion), +#endif +#if P_GEN_7_POKEMON == TRUE SPECIES_SPRITE(ROWLET, gMonBackPic_Rowlet), SPECIES_SPRITE(DARTRIX, gMonBackPic_Dartrix), SPECIES_SPRITE(DECIDUEYE, gMonBackPic_Decidueye), @@ -811,6 +817,8 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(ZERAORA, gMonBackPic_Zeraora), SPECIES_SPRITE(MELTAN, gMonBackPic_Meltan), SPECIES_SPRITE(MELMETAL, gMonBackPic_Melmetal), +#endif +#if P_GEN_8_POKEMON == TRUE SPECIES_SPRITE(GROOKEY, gMonBackPic_Grookey), SPECIES_SPRITE(THWACKEY, gMonBackPic_Thwackey), SPECIES_SPRITE(RILLABOOM, gMonBackPic_Rillaboom), @@ -907,6 +915,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(SNEASLER, gMonBackPic_CircledQuestionMark), //gMonBackPic_Sneasler), SPECIES_SPRITE(OVERQWIL, gMonBackPic_Overqwil), SPECIES_SPRITE(ENAMORUS, gMonBackPic_CircledQuestionMark), //gMonBackPic_Enamorus), +#endif SPECIES_SPRITE(VENUSAUR_MEGA, gMonBackPic_VenusaurMega), SPECIES_SPRITE(CHARIZARD_MEGA_X, gMonBackPic_CharizardMegaX), @@ -948,13 +957,19 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(METAGROSS_MEGA, gMonBackPic_MetagrossMega), SPECIES_SPRITE(LATIAS_MEGA, gMonBackPic_LatiasMega), SPECIES_SPRITE(LATIOS_MEGA, gMonBackPic_LatiosMega), +#if P_GEN_4_POKEMON == TRUE SPECIES_SPRITE(LOPUNNY_MEGA, gMonBackPic_LopunnyMega), SPECIES_SPRITE(GARCHOMP_MEGA, gMonBackPic_GarchompMega), SPECIES_SPRITE(LUCARIO_MEGA, gMonBackPic_LucarioMega), SPECIES_SPRITE(ABOMASNOW_MEGA, gMonBackPic_AbomasnowMega), SPECIES_SPRITE(GALLADE_MEGA, gMonBackPic_GalladeMega), +#endif +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(AUDINO_MEGA, gMonBackPic_AudinoMega), +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(DIANCIE_MEGA, gMonBackPic_DiancieMega), +#endif SPECIES_SPRITE(RAYQUAZA_MEGA, gMonBackPic_RayquazaMega), SPECIES_SPRITE(KYOGRE_PRIMAL, gMonBackPic_KyogrePrimal), @@ -994,10 +1009,12 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(CORSOLA_GALARIAN, gMonBackPic_CorsolaGalarian), SPECIES_SPRITE(ZIGZAGOON_GALARIAN, gMonBackPic_ZigzagoonGalarian), SPECIES_SPRITE(LINOONE_GALARIAN, gMonBackPic_LinooneGalarian), +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(DARUMAKA_GALARIAN, gMonBackPic_DarumakaGalarian), SPECIES_SPRITE(DARMANITAN_GALARIAN, gMonBackPic_DarmanitanGalarian), SPECIES_SPRITE(YAMASK_GALARIAN, gMonBackPic_YamaskGalarian), SPECIES_SPRITE(STUNFISK_GALARIAN, gMonBackPic_StunfiskGalarian), +#endif SPECIES_SPRITE(GROWLITHE_HISUIAN, gMonBackPic_GrowlitheHisuian), SPECIES_SPRITE(ARCANINE_HISUIAN, gMonBackPic_ArcanineHisuian), @@ -1006,15 +1023,21 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(TYPHLOSION_HISUIAN, gMonBackPic_TyphlosionHisuian), SPECIES_SPRITE(QWILFISH_HISUIAN, gMonBackPic_QwilfishHisuian), SPECIES_SPRITE(SNEASEL_HISUIAN, gMonBackPic_SneaselHisuian), +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(SAMUROTT_HISUIAN, gMonBackPic_CircledQuestionMark), //gMonBackPic_SamurottHisuian), SPECIES_SPRITE(LILLIGANT_HISUIAN, gMonBackPic_LilligantHisuian), SPECIES_SPRITE(ZORUA_HISUIAN, gMonBackPic_ZoruaHisuian), SPECIES_SPRITE(ZOROARK_HISUIAN, gMonBackPic_ZoroarkHisuian), SPECIES_SPRITE(BRAVIARY_HISUIAN, gMonBackPic_BraviaryHisuian), +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(SLIGGOO_HISUIAN, gMonBackPic_SliggooHisuian), SPECIES_SPRITE(GOODRA_HISUIAN, gMonBackPic_GoodraHisuian), SPECIES_SPRITE(AVALUGG_HISUIAN, gMonBackPic_AvaluggHisuian), +#endif +#if P_GEN_8_POKEMON == TRUE SPECIES_SPRITE(DECIDUEYE_HISUIAN, gMonBackPic_CircledQuestionMark), //gMonBackPic_DecidueyeHisuian), +#endif SPECIES_SPRITE(PIKACHU_COSPLAY, gMonBackPic_PikachuCosplay), SPECIES_SPRITE(PIKACHU_ROCK_STAR, gMonBackPic_PikachuRockStar), @@ -1033,7 +1056,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(PIKACHU_WORLD_CAP, gMonBackPic_PikachuWorldCap), SPECIES_SPRITE(PICHU_SPIKY_EARED, gMonBackPic_PichuSpikyEared), -#endif + SPECIES_SPRITE(UNOWN_B, gMonBackPic_UnownB), SPECIES_SPRITE(UNOWN_C, gMonBackPic_UnownC), SPECIES_SPRITE(UNOWN_D, gMonBackPic_UnownD), @@ -1069,7 +1092,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(DEOXYS_ATTACK, gMonBackPic_DeoxysAttack), SPECIES_SPRITE(DEOXYS_DEFENSE, gMonBackPic_DeoxysDefense), SPECIES_SPRITE(DEOXYS_SPEED, gMonBackPic_DeoxysSpeed), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE SPECIES_SPRITE(BURMY_SANDY_CLOAK, gMonBackPic_BurmySandyCloak), SPECIES_SPRITE(BURMY_TRASH_CLOAK, gMonBackPic_BurmyTrashCloak), @@ -1111,7 +1134,9 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(ARCEUS_DRAGON, gMonBackPic_Arceus), SPECIES_SPRITE(ARCEUS_DARK, gMonBackPic_Arceus), SPECIES_SPRITE(ARCEUS_FAIRY, gMonBackPic_Arceus), +#endif +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(BASCULIN_BLUE_STRIPED, gMonBackPic_BasculinBlueStriped), SPECIES_SPRITE(BASCULIN_WHITE_STRIPED, gMonBackPic_BasculinWhiteStriped), @@ -1129,7 +1154,6 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(TORNADUS_THERIAN, gMonBackPic_TornadusTherian), SPECIES_SPRITE(THUNDURUS_THERIAN, gMonBackPic_ThundurusTherian), SPECIES_SPRITE(LANDORUS_THERIAN, gMonBackPic_LandorusTherian), - SPECIES_SPRITE(ENAMORUS_THERIAN, gMonBackPic_CircledQuestionMark), //gMonBackPic_EnamorusTherian), SPECIES_SPRITE(KYUREM_WHITE, gMonBackPic_KyuremWhite), SPECIES_SPRITE(KYUREM_BLACK, gMonBackPic_KyuremBlack), @@ -1142,7 +1166,9 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(GENESECT_SHOCK_DRIVE, gMonBackPic_Genesect), SPECIES_SPRITE(GENESECT_BURN_DRIVE, gMonBackPic_Genesect), SPECIES_SPRITE(GENESECT_CHILL_DRIVE, gMonBackPic_Genesect), +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(GRENINJA_BATTLE_BOND, gMonBackPic_Greninja), SPECIES_SPRITE(GRENINJA_ASH, gMonBackPic_GreninjaAsh), @@ -1212,7 +1238,9 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(ZYGARDE_COMPLETE, gMonBackPic_ZygardeComplete), SPECIES_SPRITE(HOOPA_UNBOUND, gMonBackPic_HoopaUnbound), +#endif +#if P_GEN_7_POKEMON == TRUE SPECIES_SPRITE(ORICORIO_POM_POM, gMonBackPic_OricorioPomPom), SPECIES_SPRITE(ORICORIO_PAU, gMonBackPic_OricorioPau), SPECIES_SPRITE(ORICORIO_SENSU, gMonBackPic_OricorioSensu), @@ -1263,7 +1291,9 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(NECROZMA_ULTRA, gMonBackPic_NecrozmaUltra), SPECIES_SPRITE(MAGEARNA_ORIGINAL_COLOR, gMonBackPic_MagearnaOriginalColor), +#endif +#if P_GEN_8_POKEMON == TRUE SPECIES_SPRITE(CRAMORANT_GULPING, gMonBackPic_CramorantGulping), SPECIES_SPRITE(CRAMORANT_GORGING, gMonBackPic_CramorantGorging), @@ -1300,6 +1330,8 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(CALYREX_ICE_RIDER, gMonBackPic_CalyrexIceRider), SPECIES_SPRITE(CALYREX_SHADOW_RIDER, gMonBackPic_CalyrexShadowRider), + + SPECIES_SPRITE(ENAMORUS_THERIAN, gMonBackPic_CircledQuestionMark), //gMonBackPic_EnamorusTherian), #endif SPECIES_SPRITE(EGG, gMonFrontPic_Egg), }; @@ -1307,7 +1339,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = const struct CompressedSpriteSheet gMonBackPicTableFemale[] = { SPECIES_SPRITE(EEVEE, gMonBackPic_EeveeF), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE SPECIES_SPRITE(STARLY, gMonBackPic_StarlyF), SPECIES_SPRITE(STARAVIA, gMonBackPic_StaraviaF), SPECIES_SPRITE(STARAPTOR, gMonBackPic_Staraptor), @@ -1318,10 +1350,16 @@ const struct CompressedSpriteSheet gMonBackPicTableFemale[] = SPECIES_SPRITE(COMBEE, gMonBackPic_Combee), SPECIES_SPRITE(HIPPOPOTAS, gMonBackPic_HippopotasF), SPECIES_SPRITE(HIPPOWDON, gMonBackPic_HippowdonF), +#endif +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(UNFEZANT, gMonBackPic_UnfezantF), SPECIES_SPRITE(FRILLISH, gMonBackPic_FrillishF), SPECIES_SPRITE(JELLICENT, gMonBackPic_JellicentF), +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(PYROAR, gMonBackPic_PyroarF), +#endif +#if P_GEN_8_POKEMON == TRUE SPECIES_SPRITE(BASCULEGION, gMonBackPic_CircledQuestionMark), //gMonBackPic_BasculegionF), #endif }; diff --git a/src/data/pokemon_graphics/enemy_mon_elevation.h b/src/data/pokemon_graphics/enemy_mon_elevation.h index 8499650e0..64bd433fa 100644 --- a/src/data/pokemon_graphics/enemy_mon_elevation.h +++ b/src/data/pokemon_graphics/enemy_mon_elevation.h @@ -58,7 +58,6 @@ const u8 gEnemyMonElevation[NUM_SPECIES] = [SPECIES_LATIOS] = 6, [SPECIES_JIRACHI] = 14, [SPECIES_CHIMECHO] = 16, -#if P_NEW_POKEMON == TRUE // Gen 4 [SPECIES_MOTHIM] = 10, [SPECIES_COMBEE] = 8, @@ -182,7 +181,6 @@ const u8 gEnemyMonElevation[NUM_SPECIES] = [SPECIES_VOLTORB_HISUIAN] = 1, [SPECIES_ELECTRODE_HISUIAN] = 4, [SPECIES_BRAVIARY_HISUIAN] = 3, -#endif // Other Forms [SPECIES_UNOWN_B] = 8, [SPECIES_UNOWN_C] = 8, @@ -214,7 +212,6 @@ const u8 gEnemyMonElevation[NUM_SPECIES] = [SPECIES_CASTFORM_SUNNY] = 5, [SPECIES_CASTFORM_RAINY] = 5, [SPECIES_CASTFORM_SNOWY] = 5, -#if P_NEW_POKEMON == TRUE [SPECIES_ROTOM_HEAT] = 6, [SPECIES_ROTOM_WASH] = 6, [SPECIES_ROTOM_FROST] = 6, @@ -271,5 +268,4 @@ const u8 gEnemyMonElevation[NUM_SPECIES] = [SPECIES_SINISTEA_ANTIQUE] = 10, [SPECIES_POLTEAGEIST_ANTIQUE] = 12, [SPECIES_ETERNATUS_ETERNAMAX] = 13, -#endif }; diff --git a/src/data/pokemon_graphics/footprint_table.h b/src/data/pokemon_graphics/footprint_table.h index cacf582ca..2b0dd0a4f 100644 --- a/src/data/pokemon_graphics/footprint_table.h +++ b/src/data/pokemon_graphics/footprint_table.h @@ -387,7 +387,7 @@ const u8 *const gMonFootprintTable[] = [SPECIES_JIRACHI] = gMonFootprint_Jirachi, [SPECIES_DEOXYS] = gMonFootprint_Deoxys, [SPECIES_CHIMECHO] = gMonFootprint_Chimecho, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE [SPECIES_TURTWIG] = gMonFootprint_Turtwig, [SPECIES_GROTLE] = gMonFootprint_Grotle, [SPECIES_TORTERRA] = gMonFootprint_Torterra, @@ -495,6 +495,8 @@ const u8 *const gMonFootprintTable[] = [SPECIES_DARKRAI] = gMonFootprint_Darkrai, [SPECIES_SHAYMIN] = gMonFootprint_Shaymin, [SPECIES_ARCEUS] = gMonFootprint_Arceus, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_VICTINI] = gMonFootprint_Victini, [SPECIES_SNIVY] = gMonFootprint_Snivy, [SPECIES_SERVINE] = gMonFootprint_Servine, @@ -651,6 +653,8 @@ const u8 *const gMonFootprintTable[] = [SPECIES_KELDEO] = gMonFootprint_Keldeo, [SPECIES_MELOETTA] = gMonFootprint_Meloetta, [SPECIES_GENESECT] = gMonFootprint_Genesect, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_CHESPIN] = gMonFootprint_Chespin, [SPECIES_QUILLADIN] = gMonFootprint_Quilladin, [SPECIES_CHESNAUGHT] = gMonFootprint_Chesnaught, @@ -723,6 +727,8 @@ const u8 *const gMonFootprintTable[] = [SPECIES_DIANCIE] = gMonFootprint_Diancie, [SPECIES_HOOPA] = gMonFootprint_Hoopa, [SPECIES_VOLCANION] = gMonFootprint_Volcanion, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_ROWLET] = gMonFootprint_Rowlet, [SPECIES_DARTRIX] = gMonFootprint_Dartrix, [SPECIES_DECIDUEYE] = gMonFootprint_Decidueye, @@ -811,6 +817,8 @@ const u8 *const gMonFootprintTable[] = [SPECIES_ZERAORA] = gMonFootprint_Zeraora, [SPECIES_MELTAN] = gMonFootprint_Meltan, [SPECIES_MELMETAL] = gMonFootprint_Melmetal, +#endif +#if P_GEN_8_POKEMON == TRUE [SPECIES_GROOKEY] = gMonFootprint_Grookey, [SPECIES_THWACKEY] = gMonFootprint_Thwackey, [SPECIES_RILLABOOM] = gMonFootprint_Rillaboom, diff --git a/src/data/pokemon_graphics/front_pic_anims.h b/src/data/pokemon_graphics/front_pic_anims.h index cf59f314c..6d2ab461e 100644 --- a/src/data/pokemon_graphics/front_pic_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -4805,7 +4805,7 @@ static const union AnimCmd sAnim_UNOWN_QMARK_1[] = ANIMCMD_END, }; -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE static const union AnimCmd sAnim_TURTWIG_1[] = { ANIMCMD_FRAME(0, 15), @@ -5766,7 +5766,9 @@ static const union AnimCmd sAnim_ARCEUS_1[] = ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif +#if P_GEN_5_POKEMON == TRUE static const union AnimCmd sAnim_VICTINI_1[] = { ANIMCMD_FRAME(0, 30), @@ -7013,7 +7015,9 @@ static const union AnimCmd sAnim_GENESECT_1[] = ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif +#if P_GEN_6_POKEMON == TRUE static const union AnimCmd sAnim_CHESPIN_1[] = { ANIMCMD_FRAME(0, 8), @@ -7449,7 +7453,9 @@ static const union AnimCmd sAnim_VOLCANION_1[] = ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif +#if P_GEN_7_POKEMON == TRUE static const union AnimCmd sAnim_ROWLET_1[] = { ANIMCMD_FRAME(0, 1), @@ -7993,7 +7999,9 @@ static const union AnimCmd sAnim_MELMETAL_1[] = ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif +#if P_GEN_8_POKEMON == TRUE static const union AnimCmd sAnim_GROOKEY_1[] = { ANIMCMD_FRAME(0, 1), @@ -8569,6 +8577,7 @@ static const union AnimCmd sAnim_ENAMORUS_1[] = ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif static const union AnimCmd sAnim_VENUSAUR_MEGA_1[] = { @@ -8828,6 +8837,7 @@ static const union AnimCmd sAnim_RAYQUAZA_MEGA_1[] = ANIMCMD_END, }; +#if P_GEN_4_POKEMON == TRUE static const union AnimCmd sAnim_LOPUNNY_MEGA_1[] = { ANIMCMD_FRAME(0, 1), @@ -8857,18 +8867,23 @@ static const union AnimCmd sAnim_GALLADE_MEGA_1[] = ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif +#if P_GEN_5_POKEMON == TRUE static const union AnimCmd sAnim_AUDINO_MEGA_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif +#if P_GEN_6_POKEMON == TRUE static const union AnimCmd sAnim_DIANCIE_MEGA_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif static const union AnimCmd sAnim_RATTATA_ALOLAN_1[] = { @@ -9068,6 +9083,7 @@ static const union AnimCmd sAnim_LINOONE_GALARIAN_1[] = ANIMCMD_END, }; +#if P_GEN_5_POKEMON == TRUE static const union AnimCmd sAnim_DARUMAKA_GALARIAN_1[] = { ANIMCMD_FRAME(0, 1), @@ -9091,6 +9107,7 @@ static const union AnimCmd sAnim_STUNFISK_GALARIAN_1[] = ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif static const union AnimCmd sAnim_GROWLITHE_HISUIAN_1[] = { @@ -9134,6 +9151,7 @@ static const union AnimCmd sAnim_SNEASEL_HISUIAN_1[] = ANIMCMD_END, }; +#if P_GEN_5_POKEMON == TRUE static const union AnimCmd sAnim_SAMUROTT_HISUIAN_1[] = { ANIMCMD_FRAME(0, 1), @@ -9163,7 +9181,9 @@ static const union AnimCmd sAnim_BRAVIARY_HISUIAN_1[] = ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif +#if P_GEN_6_POKEMON == TRUE static const union AnimCmd sAnim_SLIGGOO_HISUIAN_1[] = { ANIMCMD_FRAME(0, 1), @@ -9181,209 +9201,16 @@ static const union AnimCmd sAnim_AVALUGG_HISUIAN_1[] = ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +#endif +#if P_GEN_7_POKEMON == TRUE static const union AnimCmd sAnim_DECIDUEYE_HISUIAN_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; - -static const union AnimCmd sAnim_SHAYMIN_SKY_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DIALGA_ORIGIN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_PALKIA_ORIGIN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_GIRATINA_ORIGIN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DARMANITAN_ZEN_MODE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DARMANITAN_ZEN_MODE_GALARIAN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_TORNADUS_THERIAN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_THUNDURUS_THERIAN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LANDORUS_THERIAN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ENAMORUS_THERIAN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_KELDEO_RESOLUTE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MELOETTA_PIROUETTE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_AEGISLASH_BLADE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_HOOPA_UNBOUND_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MINIOR_CORE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_WISHIWASHI_SCHOOL_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_KYUREM_BLACK_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_KYUREM_WHITE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MIMIKYU_BUSTED_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LYCANROC_MIDNIGHT_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LYCANROC_DUSK_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ZYGARDE_10_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ZYGARDE_COMPLETE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; #endif -static const union AnimCmd sAnim_DEOXYS_ATTACK_1[] = -{ - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 26), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 16), - ANIMCMD_END, -}; -static const union AnimCmd sAnim_DEOXYS_ATTACK_2[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DEOXYS_DEFENSE_1[] = -{ - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 26), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 16), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DEOXYS_DEFENSE_2[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DEOXYS_SPEED_1[] = -{ - ANIMCMD_FRAME(0, 16), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 26), - ANIMCMD_FRAME(1, 16), - ANIMCMD_FRAME(0, 16), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DEOXYS_SPEED_2[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_END, -}; - -#if P_NEW_POKEMON == TRUE static const union AnimCmd sAnim_PIKACHU_COSPLAY_1[] = { ANIMCMD_FRAME(0, 1), @@ -9473,1336 +9300,1798 @@ static const union AnimCmd sAnim_PICHU_SPIKY_EARED_1[] = ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; +static const union AnimCmd sAnim_DEOXYS_ATTACK_1[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 26), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DEOXYS_ATTACK_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DEOXYS_DEFENSE_1[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 26), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DEOXYS_DEFENSE_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DEOXYS_SPEED_1[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 26), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DEOXYS_SPEED_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +#if P_GEN_4_POKEMON == TRUE +static const union AnimCmd sAnim_SHAYMIN_SKY_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DIALGA_ORIGIN_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_PALKIA_ORIGIN_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_GIRATINA_ORIGIN_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; #endif -static const union AnimCmd *const sAnims_NONE[] ={ +#if P_GEN_5_POKEMON == TRUE +static const union AnimCmd sAnim_DARMANITAN_ZEN_MODE_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DARMANITAN_ZEN_MODE_GALARIAN_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_TORNADUS_THERIAN_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_THUNDURUS_THERIAN_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_LANDORUS_THERIAN_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_KYUREM_BLACK_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_KYUREM_WHITE_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_KELDEO_RESOLUTE_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_MELOETTA_PIROUETTE_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; +#endif + +#if P_GEN_6_POKEMON == TRUE +static const union AnimCmd sAnim_AEGISLASH_BLADE_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_ZYGARDE_10_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_ZYGARDE_COMPLETE_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_HOOPA_UNBOUND_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; +#endif + +#if P_GEN_7_POKEMON == TRUE +static const union AnimCmd sAnim_MINIOR_CORE_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_WISHIWASHI_SCHOOL_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_MIMIKYU_BUSTED_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_LYCANROC_MIDNIGHT_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_LYCANROC_DUSK_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; +#endif + +#if P_GEN_8_POKEMON == TRUE +static const union AnimCmd sAnim_ENAMORUS_THERIAN_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; +#endif + +static const union AnimCmd *const sAnims_NONE[] = +{ sAnim_GeneralFrame0, sAnim_NONE_1, }; -static const union AnimCmd *const sAnims_BULBASAUR[] ={ +static const union AnimCmd *const sAnims_BULBASAUR[] = +{ sAnim_GeneralFrame0, sAnim_BULBASAUR_1, }; -static const union AnimCmd *const sAnims_IVYSAUR[] ={ +static const union AnimCmd *const sAnims_IVYSAUR[] = +{ sAnim_GeneralFrame0, sAnim_IVYSAUR_1, }; -static const union AnimCmd *const sAnims_VENUSAUR[] ={ +static const union AnimCmd *const sAnims_VENUSAUR[] = +{ sAnim_GeneralFrame0, sAnim_VENUSAUR_1, }; -static const union AnimCmd *const sAnims_CHARMANDER[] ={ +static const union AnimCmd *const sAnims_CHARMANDER[] = +{ sAnim_GeneralFrame0, sAnim_CHARMANDER_1, }; -static const union AnimCmd *const sAnims_CHARMELEON[] ={ +static const union AnimCmd *const sAnims_CHARMELEON[] = +{ sAnim_GeneralFrame0, sAnim_CHARMELEON_1, }; -static const union AnimCmd *const sAnims_CHARIZARD[] ={ +static const union AnimCmd *const sAnims_CHARIZARD[] = +{ sAnim_GeneralFrame0, sAnim_CHARIZARD_1, }; -static const union AnimCmd *const sAnims_SQUIRTLE[] ={ +static const union AnimCmd *const sAnims_SQUIRTLE[] = +{ sAnim_GeneralFrame0, sAnim_SQUIRTLE_1, }; -static const union AnimCmd *const sAnims_WARTORTLE[] ={ +static const union AnimCmd *const sAnims_WARTORTLE[] = +{ sAnim_GeneralFrame0, sAnim_WARTORTLE_1, }; -static const union AnimCmd *const sAnims_BLASTOISE[] ={ +static const union AnimCmd *const sAnims_BLASTOISE[] = +{ sAnim_GeneralFrame0, sAnim_BLASTOISE_1, }; -static const union AnimCmd *const sAnims_CATERPIE[] ={ +static const union AnimCmd *const sAnims_CATERPIE[] = +{ sAnim_GeneralFrame0, sAnim_CATERPIE_1, }; -static const union AnimCmd *const sAnims_METAPOD[] ={ +static const union AnimCmd *const sAnims_METAPOD[] = +{ sAnim_GeneralFrame0, sAnim_METAPOD_1, }; -static const union AnimCmd *const sAnims_BUTTERFREE[] ={ +static const union AnimCmd *const sAnims_BUTTERFREE[] = +{ sAnim_GeneralFrame0, sAnim_BUTTERFREE_1, }; -static const union AnimCmd *const sAnims_WEEDLE[] ={ +static const union AnimCmd *const sAnims_WEEDLE[] = +{ sAnim_GeneralFrame0, sAnim_WEEDLE_1, }; -static const union AnimCmd *const sAnims_KAKUNA[] ={ +static const union AnimCmd *const sAnims_KAKUNA[] = +{ sAnim_GeneralFrame0, sAnim_KAKUNA_1, }; -static const union AnimCmd *const sAnims_BEEDRILL[] ={ +static const union AnimCmd *const sAnims_BEEDRILL[] = +{ sAnim_GeneralFrame0, sAnim_BEEDRILL_1, }; -static const union AnimCmd *const sAnims_PIDGEY[] ={ +static const union AnimCmd *const sAnims_PIDGEY[] = +{ sAnim_GeneralFrame0, sAnim_PIDGEY_1, }; -static const union AnimCmd *const sAnims_PIDGEOTTO[] ={ +static const union AnimCmd *const sAnims_PIDGEOTTO[] = +{ sAnim_GeneralFrame0, sAnim_PIDGEOTTO_1, }; -static const union AnimCmd *const sAnims_PIDGEOT[] ={ +static const union AnimCmd *const sAnims_PIDGEOT[] = +{ sAnim_GeneralFrame0, sAnim_PIDGEOT_1, }; -static const union AnimCmd *const sAnims_RATTATA[] ={ +static const union AnimCmd *const sAnims_RATTATA[] = +{ sAnim_GeneralFrame0, sAnim_RATTATA_1, }; -static const union AnimCmd *const sAnims_RATICATE[] ={ +static const union AnimCmd *const sAnims_RATICATE[] = +{ sAnim_GeneralFrame0, sAnim_RATICATE_1, }; -static const union AnimCmd *const sAnims_SPEAROW[] ={ +static const union AnimCmd *const sAnims_SPEAROW[] = +{ sAnim_GeneralFrame0, sAnim_SPEAROW_1, }; -static const union AnimCmd *const sAnims_FEAROW[] ={ +static const union AnimCmd *const sAnims_FEAROW[] = +{ sAnim_GeneralFrame0, sAnim_FEAROW_1, }; -static const union AnimCmd *const sAnims_EKANS[] ={ +static const union AnimCmd *const sAnims_EKANS[] = +{ sAnim_GeneralFrame0, sAnim_EKANS_1, }; -static const union AnimCmd *const sAnims_ARBOK[] ={ +static const union AnimCmd *const sAnims_ARBOK[] = +{ sAnim_GeneralFrame0, sAnim_ARBOK_1, }; -static const union AnimCmd *const sAnims_PIKACHU[] ={ +static const union AnimCmd *const sAnims_PIKACHU[] = +{ sAnim_GeneralFrame0, sAnim_PIKACHU_1, sAnim_PIKACHU_2, }; -static const union AnimCmd *const sAnims_RAICHU[] ={ +static const union AnimCmd *const sAnims_RAICHU[] = +{ sAnim_GeneralFrame0, sAnim_RAICHU_1, sAnim_RAICHU_2, }; -static const union AnimCmd *const sAnims_SANDSHREW[] ={ +static const union AnimCmd *const sAnims_SANDSHREW[] = +{ sAnim_GeneralFrame0, sAnim_SANDSHREW_1, sAnim_SANDSHREW_2, }; -static const union AnimCmd *const sAnims_SANDSLASH[] ={ +static const union AnimCmd *const sAnims_SANDSLASH[] = +{ sAnim_GeneralFrame0, sAnim_SANDSLASH_1, sAnim_SANDSLASH_2, }; -static const union AnimCmd *const sAnims_NIDORAN_F[] ={ +static const union AnimCmd *const sAnims_NIDORAN_F[] = +{ sAnim_GeneralFrame0, sAnim_NIDORAN_F_1, }; -static const union AnimCmd *const sAnims_NIDORINA[] ={ +static const union AnimCmd *const sAnims_NIDORINA[] = +{ sAnim_GeneralFrame0, sAnim_NIDORINA_1, }; -static const union AnimCmd *const sAnims_NIDOQUEEN[] ={ +static const union AnimCmd *const sAnims_NIDOQUEEN[] = +{ sAnim_GeneralFrame0, sAnim_NIDOQUEEN_1, }; -static const union AnimCmd *const sAnims_NIDORAN_M[] ={ +static const union AnimCmd *const sAnims_NIDORAN_M[] = +{ sAnim_GeneralFrame0, sAnim_NIDORAN_M_1, }; -static const union AnimCmd *const sAnims_NIDORINO[] ={ +static const union AnimCmd *const sAnims_NIDORINO[] = +{ sAnim_GeneralFrame0, sAnim_NIDORINO_1, }; -static const union AnimCmd *const sAnims_NIDOKING[] ={ +static const union AnimCmd *const sAnims_NIDOKING[] = +{ sAnim_GeneralFrame0, sAnim_NIDOKING_1, }; -static const union AnimCmd *const sAnims_CLEFAIRY[] ={ +static const union AnimCmd *const sAnims_CLEFAIRY[] = +{ sAnim_GeneralFrame0, sAnim_CLEFAIRY_1, }; -static const union AnimCmd *const sAnims_CLEFABLE[] ={ +static const union AnimCmd *const sAnims_CLEFABLE[] = +{ sAnim_GeneralFrame0, sAnim_CLEFABLE_1, }; -static const union AnimCmd *const sAnims_VULPIX[] ={ +static const union AnimCmd *const sAnims_VULPIX[] = +{ sAnim_GeneralFrame0, sAnim_VULPIX_1, sAnim_VULPIX_2, }; -static const union AnimCmd *const sAnims_NINETALES[] ={ +static const union AnimCmd *const sAnims_NINETALES[] = +{ sAnim_GeneralFrame0, sAnim_NINETALES_1, sAnim_NINETALES_2, }; -static const union AnimCmd *const sAnims_JIGGLYPUFF[] ={ +static const union AnimCmd *const sAnims_JIGGLYPUFF[] = +{ sAnim_GeneralFrame0, sAnim_JIGGLYPUFF_1, sAnim_JIGGLYPUFF_2, }; -static const union AnimCmd *const sAnims_WIGGLYTUFF[] ={ +static const union AnimCmd *const sAnims_WIGGLYTUFF[] = +{ sAnim_GeneralFrame0, sAnim_WIGGLYTUFF_1, sAnim_WIGGLYTUFF_2, }; -static const union AnimCmd *const sAnims_ZUBAT[] ={ +static const union AnimCmd *const sAnims_ZUBAT[] = +{ sAnim_GeneralFrame0, sAnim_ZUBAT_1, }; -static const union AnimCmd *const sAnims_GOLBAT[] ={ +static const union AnimCmd *const sAnims_GOLBAT[] = +{ sAnim_GeneralFrame0, sAnim_GOLBAT_1, }; -static const union AnimCmd *const sAnims_ODDISH[] ={ +static const union AnimCmd *const sAnims_ODDISH[] = +{ sAnim_GeneralFrame0, sAnim_ODDISH_1, }; -static const union AnimCmd *const sAnims_GLOOM[] ={ +static const union AnimCmd *const sAnims_GLOOM[] = +{ sAnim_GeneralFrame0, sAnim_GLOOM_1, }; -static const union AnimCmd *const sAnims_VILEPLUME[] ={ +static const union AnimCmd *const sAnims_VILEPLUME[] = +{ sAnim_GeneralFrame0, sAnim_VILEPLUME_1, }; -static const union AnimCmd *const sAnims_PARAS[] ={ +static const union AnimCmd *const sAnims_PARAS[] = +{ sAnim_GeneralFrame0, sAnim_PARAS_1, }; -static const union AnimCmd *const sAnims_PARASECT[] ={ +static const union AnimCmd *const sAnims_PARASECT[] = +{ sAnim_GeneralFrame0, sAnim_PARASECT_1, }; -static const union AnimCmd *const sAnims_VENONAT[] ={ +static const union AnimCmd *const sAnims_VENONAT[] = +{ sAnim_GeneralFrame0, sAnim_VENONAT_1, }; -static const union AnimCmd *const sAnims_VENOMOTH[] ={ +static const union AnimCmd *const sAnims_VENOMOTH[] = +{ sAnim_GeneralFrame0, sAnim_VENOMOTH_1, }; -static const union AnimCmd *const sAnims_DIGLETT[] ={ +static const union AnimCmd *const sAnims_DIGLETT[] = +{ sAnim_GeneralFrame0, sAnim_DIGLETT_1, }; -static const union AnimCmd *const sAnims_DUGTRIO[] ={ +static const union AnimCmd *const sAnims_DUGTRIO[] = +{ sAnim_GeneralFrame0, sAnim_DUGTRIO_1, }; -static const union AnimCmd *const sAnims_MEOWTH[] ={ +static const union AnimCmd *const sAnims_MEOWTH[] = +{ sAnim_GeneralFrame0, sAnim_MEOWTH_1, }; -static const union AnimCmd *const sAnims_PERSIAN[] ={ +static const union AnimCmd *const sAnims_PERSIAN[] = +{ sAnim_GeneralFrame0, sAnim_PERSIAN_1, }; -static const union AnimCmd *const sAnims_PSYDUCK[] ={ +static const union AnimCmd *const sAnims_PSYDUCK[] = +{ sAnim_GeneralFrame0, sAnim_PSYDUCK_1, sAnim_PSYDUCK_2, }; -static const union AnimCmd *const sAnims_GOLDUCK[] ={ +static const union AnimCmd *const sAnims_GOLDUCK[] = +{ sAnim_GeneralFrame0, sAnim_GOLDUCK_1, sAnim_GOLDUCK_2, }; -static const union AnimCmd *const sAnims_MANKEY[] ={ +static const union AnimCmd *const sAnims_MANKEY[] = +{ sAnim_GeneralFrame0, sAnim_MANKEY_1, }; -static const union AnimCmd *const sAnims_PRIMEAPE[] ={ +static const union AnimCmd *const sAnims_PRIMEAPE[] = +{ sAnim_GeneralFrame0, sAnim_PRIMEAPE_1, }; -static const union AnimCmd *const sAnims_GROWLITHE[] ={ +static const union AnimCmd *const sAnims_GROWLITHE[] = +{ sAnim_GeneralFrame0, sAnim_GROWLITHE_1, }; -static const union AnimCmd *const sAnims_ARCANINE[] ={ +static const union AnimCmd *const sAnims_ARCANINE[] = +{ sAnim_GeneralFrame0, sAnim_ARCANINE_1, }; -static const union AnimCmd *const sAnims_POLIWAG[] ={ +static const union AnimCmd *const sAnims_POLIWAG[] = +{ sAnim_GeneralFrame0, sAnim_POLIWAG_1, }; -static const union AnimCmd *const sAnims_POLIWHIRL[] ={ +static const union AnimCmd *const sAnims_POLIWHIRL[] = +{ sAnim_GeneralFrame0, sAnim_POLIWHIRL_1, }; -static const union AnimCmd *const sAnims_POLIWRATH[] ={ +static const union AnimCmd *const sAnims_POLIWRATH[] = +{ sAnim_GeneralFrame0, sAnim_POLIWRATH_1, }; -static const union AnimCmd *const sAnims_ABRA[] ={ +static const union AnimCmd *const sAnims_ABRA[] = +{ sAnim_GeneralFrame0, sAnim_ABRA_1, }; -static const union AnimCmd *const sAnims_KADABRA[] ={ +static const union AnimCmd *const sAnims_KADABRA[] = +{ sAnim_GeneralFrame0, sAnim_KADABRA_1, }; -static const union AnimCmd *const sAnims_ALAKAZAM[] ={ +static const union AnimCmd *const sAnims_ALAKAZAM[] = +{ sAnim_GeneralFrame0, sAnim_ALAKAZAM_1, }; -static const union AnimCmd *const sAnims_MACHOP[] ={ +static const union AnimCmd *const sAnims_MACHOP[] = +{ sAnim_GeneralFrame0, sAnim_MACHOP_1, }; -static const union AnimCmd *const sAnims_MACHOKE[] ={ +static const union AnimCmd *const sAnims_MACHOKE[] = +{ sAnim_GeneralFrame0, sAnim_MACHOKE_1, }; -static const union AnimCmd *const sAnims_MACHAMP[] ={ +static const union AnimCmd *const sAnims_MACHAMP[] = +{ sAnim_GeneralFrame0, sAnim_MACHAMP_1, }; -static const union AnimCmd *const sAnims_BELLSPROUT[] ={ +static const union AnimCmd *const sAnims_BELLSPROUT[] = +{ sAnim_GeneralFrame0, sAnim_BELLSPROUT_1, }; -static const union AnimCmd *const sAnims_WEEPINBELL[] ={ +static const union AnimCmd *const sAnims_WEEPINBELL[] = +{ sAnim_GeneralFrame0, sAnim_WEEPINBELL_1, }; -static const union AnimCmd *const sAnims_VICTREEBEL[] ={ +static const union AnimCmd *const sAnims_VICTREEBEL[] = +{ sAnim_GeneralFrame0, sAnim_VICTREEBEL_1, }; -static const union AnimCmd *const sAnims_TENTACOOL[] ={ +static const union AnimCmd *const sAnims_TENTACOOL[] = +{ sAnim_GeneralFrame0, sAnim_TENTACOOL_1, }; -static const union AnimCmd *const sAnims_TENTACRUEL[] ={ +static const union AnimCmd *const sAnims_TENTACRUEL[] = +{ sAnim_GeneralFrame0, sAnim_TENTACRUEL_1, }; -static const union AnimCmd *const sAnims_GEODUDE[] ={ +static const union AnimCmd *const sAnims_GEODUDE[] = +{ sAnim_GeneralFrame0, sAnim_GEODUDE_1, }; -static const union AnimCmd *const sAnims_GRAVELER[] ={ +static const union AnimCmd *const sAnims_GRAVELER[] = +{ sAnim_GeneralFrame0, sAnim_GRAVELER_1, }; -static const union AnimCmd *const sAnims_GOLEM[] ={ +static const union AnimCmd *const sAnims_GOLEM[] = +{ sAnim_GeneralFrame0, sAnim_GOLEM_1, }; -static const union AnimCmd *const sAnims_PONYTA[] ={ +static const union AnimCmd *const sAnims_PONYTA[] = +{ sAnim_GeneralFrame0, sAnim_PONYTA_1, }; -static const union AnimCmd *const sAnims_RAPIDASH[] ={ +static const union AnimCmd *const sAnims_RAPIDASH[] = +{ sAnim_GeneralFrame0, sAnim_RAPIDASH_1, }; -static const union AnimCmd *const sAnims_SLOWPOKE[] ={ +static const union AnimCmd *const sAnims_SLOWPOKE[] = +{ sAnim_GeneralFrame0, sAnim_SLOWPOKE_1, }; -static const union AnimCmd *const sAnims_SLOWBRO[] ={ +static const union AnimCmd *const sAnims_SLOWBRO[] = +{ sAnim_GeneralFrame0, sAnim_SLOWBRO_1, }; -static const union AnimCmd *const sAnims_MAGNEMITE[] ={ +static const union AnimCmd *const sAnims_MAGNEMITE[] = +{ sAnim_GeneralFrame0, sAnim_MAGNEMITE_1, }; -static const union AnimCmd *const sAnims_MAGNETON[] ={ +static const union AnimCmd *const sAnims_MAGNETON[] = +{ sAnim_GeneralFrame0, sAnim_MAGNETON_1, }; -static const union AnimCmd *const sAnims_FARFETCHD[] ={ +static const union AnimCmd *const sAnims_FARFETCHD[] = +{ sAnim_GeneralFrame0, sAnim_FARFETCHD_1, }; -static const union AnimCmd *const sAnims_DODUO[] ={ +static const union AnimCmd *const sAnims_DODUO[] = +{ sAnim_GeneralFrame0, sAnim_DODUO_1, }; -static const union AnimCmd *const sAnims_DODRIO[] ={ +static const union AnimCmd *const sAnims_DODRIO[] = +{ sAnim_GeneralFrame0, sAnim_DODRIO_1, }; -static const union AnimCmd *const sAnims_SEEL[] ={ +static const union AnimCmd *const sAnims_SEEL[] = +{ sAnim_GeneralFrame0, sAnim_SEEL_1, }; -static const union AnimCmd *const sAnims_DEWGONG[] ={ +static const union AnimCmd *const sAnims_DEWGONG[] = +{ sAnim_GeneralFrame0, sAnim_DEWGONG_1, }; -static const union AnimCmd *const sAnims_GRIMER[] ={ +static const union AnimCmd *const sAnims_GRIMER[] = +{ sAnim_GeneralFrame0, sAnim_GRIMER_1, sAnim_GRIMER_2, }; -static const union AnimCmd *const sAnims_MUK[] ={ +static const union AnimCmd *const sAnims_MUK[] = +{ sAnim_GeneralFrame0, sAnim_MUK_1, sAnim_MUK_2, }; -static const union AnimCmd *const sAnims_SHELLDER[] ={ +static const union AnimCmd *const sAnims_SHELLDER[] = +{ sAnim_GeneralFrame0, sAnim_SHELLDER_1, }; -static const union AnimCmd *const sAnims_CLOYSTER[] ={ +static const union AnimCmd *const sAnims_CLOYSTER[] = +{ sAnim_GeneralFrame0, sAnim_CLOYSTER_1, }; -static const union AnimCmd *const sAnims_GASTLY[] ={ +static const union AnimCmd *const sAnims_GASTLY[] = +{ sAnim_GeneralFrame0, sAnim_GASTLY_1, }; -static const union AnimCmd *const sAnims_HAUNTER[] ={ +static const union AnimCmd *const sAnims_HAUNTER[] = +{ sAnim_GeneralFrame0, sAnim_HAUNTER_1, }; -static const union AnimCmd *const sAnims_GENGAR[] ={ +static const union AnimCmd *const sAnims_GENGAR[] = +{ sAnim_GeneralFrame0, sAnim_GENGAR_1, }; -static const union AnimCmd *const sAnims_ONIX[] ={ +static const union AnimCmd *const sAnims_ONIX[] = +{ sAnim_GeneralFrame0, sAnim_ONIX_1, }; -static const union AnimCmd *const sAnims_DROWZEE[] ={ +static const union AnimCmd *const sAnims_DROWZEE[] = +{ sAnim_GeneralFrame0, sAnim_DROWZEE_1, }; -static const union AnimCmd *const sAnims_HYPNO[] ={ +static const union AnimCmd *const sAnims_HYPNO[] = +{ sAnim_GeneralFrame0, sAnim_HYPNO_1, }; -static const union AnimCmd *const sAnims_KRABBY[] ={ +static const union AnimCmd *const sAnims_KRABBY[] = +{ sAnim_GeneralFrame0, sAnim_KRABBY_1, }; -static const union AnimCmd *const sAnims_KINGLER[] ={ +static const union AnimCmd *const sAnims_KINGLER[] = +{ sAnim_GeneralFrame0, sAnim_KINGLER_1, }; -static const union AnimCmd *const sAnims_VOLTORB[] ={ +static const union AnimCmd *const sAnims_VOLTORB[] = +{ sAnim_GeneralFrame0, sAnim_VOLTORB_1, }; -static const union AnimCmd *const sAnims_ELECTRODE[] ={ +static const union AnimCmd *const sAnims_ELECTRODE[] = +{ sAnim_GeneralFrame0, sAnim_ELECTRODE_1, }; -static const union AnimCmd *const sAnims_EXEGGCUTE[] ={ +static const union AnimCmd *const sAnims_EXEGGCUTE[] = +{ sAnim_GeneralFrame0, sAnim_EXEGGCUTE_1, }; -static const union AnimCmd *const sAnims_EXEGGUTOR[] ={ +static const union AnimCmd *const sAnims_EXEGGUTOR[] = +{ sAnim_GeneralFrame0, sAnim_EXEGGUTOR_1, }; -static const union AnimCmd *const sAnims_CUBONE[] ={ +static const union AnimCmd *const sAnims_CUBONE[] = +{ sAnim_GeneralFrame0, sAnim_CUBONE_1, }; -static const union AnimCmd *const sAnims_MAROWAK[] ={ +static const union AnimCmd *const sAnims_MAROWAK[] = +{ sAnim_GeneralFrame0, sAnim_MAROWAK_1, }; -static const union AnimCmd *const sAnims_HITMONLEE[] ={ +static const union AnimCmd *const sAnims_HITMONLEE[] = +{ sAnim_GeneralFrame0, sAnim_HITMONLEE_1, }; -static const union AnimCmd *const sAnims_HITMONCHAN[] ={ +static const union AnimCmd *const sAnims_HITMONCHAN[] = +{ sAnim_GeneralFrame0, sAnim_HITMONCHAN_1, }; -static const union AnimCmd *const sAnims_LICKITUNG[] ={ +static const union AnimCmd *const sAnims_LICKITUNG[] = +{ sAnim_GeneralFrame0, sAnim_LICKITUNG_1, }; -static const union AnimCmd *const sAnims_KOFFING[] ={ +static const union AnimCmd *const sAnims_KOFFING[] = +{ sAnim_GeneralFrame0, sAnim_KOFFING_1, sAnim_KOFFING_2, }; -static const union AnimCmd *const sAnims_WEEZING[] ={ +static const union AnimCmd *const sAnims_WEEZING[] = +{ sAnim_GeneralFrame0, sAnim_WEEZING_1, sAnim_WEEZING_2, }; -static const union AnimCmd *const sAnims_RHYHORN[] ={ +static const union AnimCmd *const sAnims_RHYHORN[] = +{ sAnim_GeneralFrame0, sAnim_RHYHORN_1, sAnim_RHYHORN_2, }; -static const union AnimCmd *const sAnims_RHYDON[] ={ +static const union AnimCmd *const sAnims_RHYDON[] = +{ sAnim_GeneralFrame0, sAnim_RHYDON_1, sAnim_RHYDON_2, }; -static const union AnimCmd *const sAnims_CHANSEY[] ={ +static const union AnimCmd *const sAnims_CHANSEY[] = +{ sAnim_GeneralFrame0, sAnim_CHANSEY_1, }; -static const union AnimCmd *const sAnims_TANGELA[] ={ +static const union AnimCmd *const sAnims_TANGELA[] = +{ sAnim_GeneralFrame0, sAnim_TANGELA_1, }; -static const union AnimCmd *const sAnims_KANGASKHAN[] ={ +static const union AnimCmd *const sAnims_KANGASKHAN[] = +{ sAnim_GeneralFrame0, sAnim_KANGASKHAN_1, }; -static const union AnimCmd *const sAnims_HORSEA[] ={ +static const union AnimCmd *const sAnims_HORSEA[] = +{ sAnim_GeneralFrame0, sAnim_HORSEA_1, sAnim_HORSEA_2, }; -static const union AnimCmd *const sAnims_SEADRA[] ={ +static const union AnimCmd *const sAnims_SEADRA[] = +{ sAnim_GeneralFrame0, sAnim_SEADRA_1, sAnim_SEADRA_2, }; -static const union AnimCmd *const sAnims_GOLDEEN[] ={ +static const union AnimCmd *const sAnims_GOLDEEN[] = +{ sAnim_GeneralFrame0, sAnim_GOLDEEN_1, }; -static const union AnimCmd *const sAnims_SEAKING[] ={ +static const union AnimCmd *const sAnims_SEAKING[] = +{ sAnim_GeneralFrame0, sAnim_SEAKING_1, }; -static const union AnimCmd *const sAnims_STARYU[] ={ +static const union AnimCmd *const sAnims_STARYU[] = +{ sAnim_GeneralFrame0, sAnim_STARYU_1, sAnim_STARYU_2, }; -static const union AnimCmd *const sAnims_STARMIE[] ={ +static const union AnimCmd *const sAnims_STARMIE[] = +{ sAnim_GeneralFrame0, sAnim_STARMIE_1, sAnim_STARMIE_2, }; -static const union AnimCmd *const sAnims_MR_MIME[] ={ +static const union AnimCmd *const sAnims_MR_MIME[] = +{ sAnim_GeneralFrame0, sAnim_MR_MIME_1, }; -static const union AnimCmd *const sAnims_SCYTHER[] ={ +static const union AnimCmd *const sAnims_SCYTHER[] = +{ sAnim_GeneralFrame0, sAnim_SCYTHER_1, }; -static const union AnimCmd *const sAnims_JYNX[] ={ +static const union AnimCmd *const sAnims_JYNX[] = +{ sAnim_GeneralFrame0, sAnim_JYNX_1, }; -static const union AnimCmd *const sAnims_ELECTABUZZ[] ={ +static const union AnimCmd *const sAnims_ELECTABUZZ[] = +{ sAnim_GeneralFrame0, sAnim_ELECTABUZZ_1, }; -static const union AnimCmd *const sAnims_MAGMAR[] ={ +static const union AnimCmd *const sAnims_MAGMAR[] = +{ sAnim_GeneralFrame0, sAnim_MAGMAR_1, }; -static const union AnimCmd *const sAnims_PINSIR[] ={ +static const union AnimCmd *const sAnims_PINSIR[] = +{ sAnim_GeneralFrame0, sAnim_PINSIR_1, sAnim_PINSIR_2, }; -static const union AnimCmd *const sAnims_TAUROS[] ={ +static const union AnimCmd *const sAnims_TAUROS[] = +{ sAnim_GeneralFrame0, sAnim_TAUROS_1, }; -static const union AnimCmd *const sAnims_MAGIKARP[] ={ +static const union AnimCmd *const sAnims_MAGIKARP[] = +{ sAnim_GeneralFrame0, sAnim_MAGIKARP_1, }; -static const union AnimCmd *const sAnims_GYARADOS[] ={ +static const union AnimCmd *const sAnims_GYARADOS[] = +{ sAnim_GeneralFrame0, sAnim_GYARADOS_1, }; -static const union AnimCmd *const sAnims_LAPRAS[] ={ +static const union AnimCmd *const sAnims_LAPRAS[] = +{ sAnim_GeneralFrame0, sAnim_LAPRAS_1, }; -static const union AnimCmd *const sAnims_DITTO[] ={ +static const union AnimCmd *const sAnims_DITTO[] = +{ sAnim_GeneralFrame0, sAnim_DITTO_1, }; -static const union AnimCmd *const sAnims_EEVEE[] ={ +static const union AnimCmd *const sAnims_EEVEE[] = +{ sAnim_GeneralFrame0, sAnim_EEVEE_1, }; -static const union AnimCmd *const sAnims_VAPOREON[] ={ +static const union AnimCmd *const sAnims_VAPOREON[] = +{ sAnim_GeneralFrame0, sAnim_VAPOREON_1, }; -static const union AnimCmd *const sAnims_JOLTEON[] ={ +static const union AnimCmd *const sAnims_JOLTEON[] = +{ sAnim_GeneralFrame0, sAnim_JOLTEON_1, }; -static const union AnimCmd *const sAnims_FLAREON[] ={ +static const union AnimCmd *const sAnims_FLAREON[] = +{ sAnim_GeneralFrame0, sAnim_FLAREON_1, }; -static const union AnimCmd *const sAnims_PORYGON[] ={ +static const union AnimCmd *const sAnims_PORYGON[] = +{ sAnim_GeneralFrame0, sAnim_PORYGON_1, }; -static const union AnimCmd *const sAnims_OMANYTE[] ={ +static const union AnimCmd *const sAnims_OMANYTE[] = +{ sAnim_GeneralFrame0, sAnim_OMANYTE_1, }; -static const union AnimCmd *const sAnims_OMASTAR[] ={ +static const union AnimCmd *const sAnims_OMASTAR[] = +{ sAnim_GeneralFrame0, sAnim_OMASTAR_1, }; -static const union AnimCmd *const sAnims_KABUTO[] ={ +static const union AnimCmd *const sAnims_KABUTO[] = +{ sAnim_GeneralFrame0, sAnim_KABUTO_1, }; -static const union AnimCmd *const sAnims_KABUTOPS[] ={ +static const union AnimCmd *const sAnims_KABUTOPS[] = +{ sAnim_GeneralFrame0, sAnim_KABUTOPS_1, }; -static const union AnimCmd *const sAnims_AERODACTYL[] ={ +static const union AnimCmd *const sAnims_AERODACTYL[] = +{ sAnim_GeneralFrame0, sAnim_AERODACTYL_1, }; -static const union AnimCmd *const sAnims_SNORLAX[] ={ +static const union AnimCmd *const sAnims_SNORLAX[] = +{ sAnim_GeneralFrame0, sAnim_SNORLAX_1, }; -static const union AnimCmd *const sAnims_ARTICUNO[] ={ +static const union AnimCmd *const sAnims_ARTICUNO[] = +{ sAnim_GeneralFrame0, sAnim_ARTICUNO_1, }; -static const union AnimCmd *const sAnims_ZAPDOS[] ={ +static const union AnimCmd *const sAnims_ZAPDOS[] = +{ sAnim_GeneralFrame0, sAnim_ZAPDOS_1, }; -static const union AnimCmd *const sAnims_MOLTRES[] ={ +static const union AnimCmd *const sAnims_MOLTRES[] = +{ sAnim_GeneralFrame0, sAnim_MOLTRES_1, }; -static const union AnimCmd *const sAnims_DRATINI[] ={ +static const union AnimCmd *const sAnims_DRATINI[] = +{ sAnim_GeneralFrame0, sAnim_DRATINI_1, }; -static const union AnimCmd *const sAnims_DRAGONAIR[] ={ +static const union AnimCmd *const sAnims_DRAGONAIR[] = +{ sAnim_GeneralFrame0, sAnim_DRAGONAIR_1, }; -static const union AnimCmd *const sAnims_DRAGONITE[] ={ +static const union AnimCmd *const sAnims_DRAGONITE[] = +{ sAnim_GeneralFrame0, sAnim_DRAGONITE_1, }; -static const union AnimCmd *const sAnims_MEWTWO[] ={ +static const union AnimCmd *const sAnims_MEWTWO[] = +{ sAnim_GeneralFrame0, sAnim_MEWTWO_1, }; -static const union AnimCmd *const sAnims_MEW[] ={ +static const union AnimCmd *const sAnims_MEW[] = +{ sAnim_GeneralFrame0, sAnim_MEW_1, }; -static const union AnimCmd *const sAnims_CHIKORITA[] ={ +static const union AnimCmd *const sAnims_CHIKORITA[] = +{ sAnim_GeneralFrame0, sAnim_CHIKORITA_1, }; -static const union AnimCmd *const sAnims_BAYLEEF[] ={ +static const union AnimCmd *const sAnims_BAYLEEF[] = +{ sAnim_GeneralFrame0, sAnim_BAYLEEF_1, }; -static const union AnimCmd *const sAnims_MEGANIUM[] ={ +static const union AnimCmd *const sAnims_MEGANIUM[] = +{ sAnim_GeneralFrame0, sAnim_MEGANIUM_1, }; -static const union AnimCmd *const sAnims_CYNDAQUIL[] ={ +static const union AnimCmd *const sAnims_CYNDAQUIL[] = +{ sAnim_GeneralFrame0, sAnim_CYNDAQUIL_1, }; -static const union AnimCmd *const sAnims_QUILAVA[] ={ +static const union AnimCmd *const sAnims_QUILAVA[] = +{ sAnim_GeneralFrame0, sAnim_QUILAVA_1, }; -static const union AnimCmd *const sAnims_TYPHLOSION[] ={ +static const union AnimCmd *const sAnims_TYPHLOSION[] = +{ sAnim_GeneralFrame0, sAnim_TYPHLOSION_1, }; -static const union AnimCmd *const sAnims_TOTODILE[] ={ +static const union AnimCmd *const sAnims_TOTODILE[] = +{ sAnim_GeneralFrame0, sAnim_TOTODILE_1, }; -static const union AnimCmd *const sAnims_CROCONAW[] ={ +static const union AnimCmd *const sAnims_CROCONAW[] = +{ sAnim_GeneralFrame0, sAnim_CROCONAW_1, }; -static const union AnimCmd *const sAnims_FERALIGATR[] ={ +static const union AnimCmd *const sAnims_FERALIGATR[] = +{ sAnim_GeneralFrame0, sAnim_FERALIGATR_1, }; -static const union AnimCmd *const sAnims_SENTRET[] ={ +static const union AnimCmd *const sAnims_SENTRET[] = +{ sAnim_GeneralFrame0, sAnim_SENTRET_1, }; -static const union AnimCmd *const sAnims_FURRET[] ={ +static const union AnimCmd *const sAnims_FURRET[] = +{ sAnim_GeneralFrame0, sAnim_FURRET_1, }; -static const union AnimCmd *const sAnims_HOOTHOOT[] ={ +static const union AnimCmd *const sAnims_HOOTHOOT[] = +{ sAnim_GeneralFrame0, sAnim_HOOTHOOT_1, }; -static const union AnimCmd *const sAnims_NOCTOWL[] ={ +static const union AnimCmd *const sAnims_NOCTOWL[] = +{ sAnim_GeneralFrame0, sAnim_NOCTOWL_1, }; -static const union AnimCmd *const sAnims_LEDYBA[] ={ +static const union AnimCmd *const sAnims_LEDYBA[] = +{ sAnim_GeneralFrame0, sAnim_LEDYBA_1, }; -static const union AnimCmd *const sAnims_LEDIAN[] ={ +static const union AnimCmd *const sAnims_LEDIAN[] = +{ sAnim_GeneralFrame0, sAnim_LEDIAN_1, }; -static const union AnimCmd *const sAnims_SPINARAK[] ={ +static const union AnimCmd *const sAnims_SPINARAK[] = +{ sAnim_GeneralFrame0, sAnim_SPINARAK_1, }; -static const union AnimCmd *const sAnims_ARIADOS[] ={ +static const union AnimCmd *const sAnims_ARIADOS[] = +{ sAnim_GeneralFrame0, sAnim_ARIADOS_1, }; -static const union AnimCmd *const sAnims_CROBAT[] ={ +static const union AnimCmd *const sAnims_CROBAT[] = +{ sAnim_GeneralFrame0, sAnim_CROBAT_1, }; -static const union AnimCmd *const sAnims_CHINCHOU[] ={ +static const union AnimCmd *const sAnims_CHINCHOU[] = +{ sAnim_GeneralFrame0, sAnim_CHINCHOU_1, sAnim_CHINCHOU_2, }; -static const union AnimCmd *const sAnims_LANTURN[] ={ +static const union AnimCmd *const sAnims_LANTURN[] = +{ sAnim_GeneralFrame0, sAnim_LANTURN_1, sAnim_LANTURN_2, }; -static const union AnimCmd *const sAnims_PICHU[] ={ +static const union AnimCmd *const sAnims_PICHU[] = +{ sAnim_GeneralFrame0, sAnim_PICHU_1, sAnim_PICHU_2, }; -static const union AnimCmd *const sAnims_CLEFFA[] ={ +static const union AnimCmd *const sAnims_CLEFFA[] = +{ sAnim_GeneralFrame0, sAnim_CLEFFA_1, }; -static const union AnimCmd *const sAnims_IGGLYBUFF[] ={ +static const union AnimCmd *const sAnims_IGGLYBUFF[] = +{ sAnim_GeneralFrame0, sAnim_IGGLYBUFF_1, sAnim_IGGLYBUFF_2, }; -static const union AnimCmd *const sAnims_TOGEPI[] ={ +static const union AnimCmd *const sAnims_TOGEPI[] = +{ sAnim_GeneralFrame0, sAnim_TOGEPI_1, }; -static const union AnimCmd *const sAnims_TOGETIC[] ={ +static const union AnimCmd *const sAnims_TOGETIC[] = +{ sAnim_GeneralFrame0, sAnim_TOGETIC_1, }; -static const union AnimCmd *const sAnims_NATU[] ={ +static const union AnimCmd *const sAnims_NATU[] = +{ sAnim_GeneralFrame0, sAnim_NATU_1, sAnim_NATU_2, }; -static const union AnimCmd *const sAnims_XATU[] ={ +static const union AnimCmd *const sAnims_XATU[] = +{ sAnim_GeneralFrame0, sAnim_XATU_1, sAnim_XATU_2, }; -static const union AnimCmd *const sAnims_MAREEP[] ={ +static const union AnimCmd *const sAnims_MAREEP[] = +{ sAnim_GeneralFrame0, sAnim_MAREEP_1, }; -static const union AnimCmd *const sAnims_FLAAFFY[] ={ +static const union AnimCmd *const sAnims_FLAAFFY[] = +{ sAnim_GeneralFrame0, sAnim_FLAAFFY_1, }; -static const union AnimCmd *const sAnims_AMPHAROS[] ={ +static const union AnimCmd *const sAnims_AMPHAROS[] = +{ sAnim_GeneralFrame0, sAnim_AMPHAROS_1, }; -static const union AnimCmd *const sAnims_BELLOSSOM[] ={ +static const union AnimCmd *const sAnims_BELLOSSOM[] = +{ sAnim_GeneralFrame0, sAnim_BELLOSSOM_1, }; -static const union AnimCmd *const sAnims_MARILL[] ={ +static const union AnimCmd *const sAnims_MARILL[] = +{ sAnim_GeneralFrame0, sAnim_MARILL_1, }; -static const union AnimCmd *const sAnims_AZUMARILL[] ={ +static const union AnimCmd *const sAnims_AZUMARILL[] = +{ sAnim_GeneralFrame0, sAnim_AZUMARILL_1, }; -static const union AnimCmd *const sAnims_SUDOWOODO[] ={ +static const union AnimCmd *const sAnims_SUDOWOODO[] = +{ sAnim_GeneralFrame0, sAnim_SUDOWOODO_1, }; -static const union AnimCmd *const sAnims_POLITOED[] ={ +static const union AnimCmd *const sAnims_POLITOED[] = +{ sAnim_GeneralFrame0, sAnim_POLITOED_1, }; -static const union AnimCmd *const sAnims_HOPPIP[] ={ +static const union AnimCmd *const sAnims_HOPPIP[] = +{ sAnim_GeneralFrame0, sAnim_HOPPIP_1, }; -static const union AnimCmd *const sAnims_SKIPLOOM[] ={ +static const union AnimCmd *const sAnims_SKIPLOOM[] = +{ sAnim_GeneralFrame0, sAnim_SKIPLOOM_1, }; -static const union AnimCmd *const sAnims_JUMPLUFF[] ={ +static const union AnimCmd *const sAnims_JUMPLUFF[] = +{ sAnim_GeneralFrame0, sAnim_JUMPLUFF_1, }; -static const union AnimCmd *const sAnims_AIPOM[] ={ +static const union AnimCmd *const sAnims_AIPOM[] = +{ sAnim_GeneralFrame0, sAnim_AIPOM_1, }; -static const union AnimCmd *const sAnims_SUNKERN[] ={ +static const union AnimCmd *const sAnims_SUNKERN[] = +{ sAnim_GeneralFrame0, sAnim_SUNKERN_1, }; -static const union AnimCmd *const sAnims_SUNFLORA[] ={ +static const union AnimCmd *const sAnims_SUNFLORA[] = +{ sAnim_GeneralFrame0, sAnim_SUNFLORA_1, }; -static const union AnimCmd *const sAnims_YANMA[] ={ +static const union AnimCmd *const sAnims_YANMA[] = +{ sAnim_GeneralFrame0, sAnim_YANMA_1, }; -static const union AnimCmd *const sAnims_WOOPER[] ={ +static const union AnimCmd *const sAnims_WOOPER[] = +{ sAnim_GeneralFrame0, sAnim_WOOPER_1, }; -static const union AnimCmd *const sAnims_QUAGSIRE[] ={ +static const union AnimCmd *const sAnims_QUAGSIRE[] = +{ sAnim_GeneralFrame0, sAnim_QUAGSIRE_1, }; -static const union AnimCmd *const sAnims_ESPEON[] ={ +static const union AnimCmd *const sAnims_ESPEON[] = +{ sAnim_GeneralFrame0, sAnim_ESPEON_1, }; -static const union AnimCmd *const sAnims_UMBREON[] ={ +static const union AnimCmd *const sAnims_UMBREON[] = +{ sAnim_GeneralFrame0, sAnim_UMBREON_1, }; -static const union AnimCmd *const sAnims_MURKROW[] ={ +static const union AnimCmd *const sAnims_MURKROW[] = +{ sAnim_GeneralFrame0, sAnim_MURKROW_1, }; -static const union AnimCmd *const sAnims_SLOWKING[] ={ +static const union AnimCmd *const sAnims_SLOWKING[] = +{ sAnim_GeneralFrame0, sAnim_SLOWKING_1, }; -static const union AnimCmd *const sAnims_MISDREAVUS[] ={ +static const union AnimCmd *const sAnims_MISDREAVUS[] = +{ sAnim_GeneralFrame0, sAnim_MISDREAVUS_1, }; -static const union AnimCmd *const sAnims_UNOWN[] ={ +static const union AnimCmd *const sAnims_UNOWN[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_1, }; -static const union AnimCmd *const sAnims_WOBBUFFET[] ={ +static const union AnimCmd *const sAnims_WOBBUFFET[] = +{ sAnim_GeneralFrame0, sAnim_WOBBUFFET_1, sAnim_WOBBUFFET_2, }; -static const union AnimCmd *const sAnims_GIRAFARIG[] ={ +static const union AnimCmd *const sAnims_GIRAFARIG[] = +{ sAnim_GeneralFrame0, sAnim_GIRAFARIG_1, sAnim_GIRAFARIG_2, }; -static const union AnimCmd *const sAnims_PINECO[] ={ +static const union AnimCmd *const sAnims_PINECO[] = +{ sAnim_GeneralFrame0, sAnim_PINECO_1, }; -static const union AnimCmd *const sAnims_FORRETRESS[] ={ +static const union AnimCmd *const sAnims_FORRETRESS[] = +{ sAnim_GeneralFrame0, sAnim_FORRETRESS_1, }; -static const union AnimCmd *const sAnims_DUNSPARCE[] ={ +static const union AnimCmd *const sAnims_DUNSPARCE[] = +{ sAnim_GeneralFrame0, sAnim_DUNSPARCE_1, }; -static const union AnimCmd *const sAnims_GLIGAR[] ={ +static const union AnimCmd *const sAnims_GLIGAR[] = +{ sAnim_GeneralFrame0, sAnim_GLIGAR_1, }; -static const union AnimCmd *const sAnims_STEELIX[] ={ +static const union AnimCmd *const sAnims_STEELIX[] = +{ sAnim_GeneralFrame0, sAnim_STEELIX_1, }; -static const union AnimCmd *const sAnims_SNUBBULL[] ={ +static const union AnimCmd *const sAnims_SNUBBULL[] = +{ sAnim_GeneralFrame0, sAnim_SNUBBULL_1, }; -static const union AnimCmd *const sAnims_GRANBULL[] ={ +static const union AnimCmd *const sAnims_GRANBULL[] = +{ sAnim_GeneralFrame0, sAnim_GRANBULL_1, }; -static const union AnimCmd *const sAnims_QWILFISH[] ={ +static const union AnimCmd *const sAnims_QWILFISH[] = +{ sAnim_GeneralFrame0, sAnim_QWILFISH_1, }; -static const union AnimCmd *const sAnims_SCIZOR[] ={ +static const union AnimCmd *const sAnims_SCIZOR[] = +{ sAnim_GeneralFrame0, sAnim_SCIZOR_1, }; -static const union AnimCmd *const sAnims_SHUCKLE[] ={ +static const union AnimCmd *const sAnims_SHUCKLE[] = +{ sAnim_GeneralFrame0, sAnim_SHUCKLE_1, }; -static const union AnimCmd *const sAnims_HERACROSS[] ={ +static const union AnimCmd *const sAnims_HERACROSS[] = +{ sAnim_GeneralFrame0, sAnim_HERACROSS_1, sAnim_HERACROSS_2, }; -static const union AnimCmd *const sAnims_SNEASEL[] ={ +static const union AnimCmd *const sAnims_SNEASEL[] = +{ sAnim_GeneralFrame0, sAnim_SNEASEL_1, }; -static const union AnimCmd *const sAnims_TEDDIURSA[] ={ +static const union AnimCmd *const sAnims_TEDDIURSA[] = +{ sAnim_GeneralFrame0, sAnim_TEDDIURSA_1, }; -static const union AnimCmd *const sAnims_URSARING[] ={ +static const union AnimCmd *const sAnims_URSARING[] = +{ sAnim_GeneralFrame0, sAnim_URSARING_1, }; -static const union AnimCmd *const sAnims_SLUGMA[] ={ +static const union AnimCmd *const sAnims_SLUGMA[] = +{ sAnim_GeneralFrame0, sAnim_SLUGMA_1, sAnim_SLUGMA_2, }; -static const union AnimCmd *const sAnims_MAGCARGO[] ={ +static const union AnimCmd *const sAnims_MAGCARGO[] = +{ sAnim_GeneralFrame0, sAnim_MAGCARGO_1, sAnim_MAGCARGO_2, }; -static const union AnimCmd *const sAnims_SWINUB[] ={ +static const union AnimCmd *const sAnims_SWINUB[] = +{ sAnim_GeneralFrame0, sAnim_SWINUB_1, }; -static const union AnimCmd *const sAnims_PILOSWINE[] ={ +static const union AnimCmd *const sAnims_PILOSWINE[] = +{ sAnim_GeneralFrame0, sAnim_PILOSWINE_1, }; -static const union AnimCmd *const sAnims_CORSOLA[] ={ +static const union AnimCmd *const sAnims_CORSOLA[] = +{ sAnim_GeneralFrame0, sAnim_CORSOLA_1, sAnim_CORSOLA_2, }; -static const union AnimCmd *const sAnims_REMORAID[] ={ +static const union AnimCmd *const sAnims_REMORAID[] = +{ sAnim_GeneralFrame0, sAnim_REMORAID_1, }; -static const union AnimCmd *const sAnims_OCTILLERY[] ={ +static const union AnimCmd *const sAnims_OCTILLERY[] = +{ sAnim_GeneralFrame0, sAnim_OCTILLERY_1, }; -static const union AnimCmd *const sAnims_DELIBIRD[] ={ +static const union AnimCmd *const sAnims_DELIBIRD[] = +{ sAnim_GeneralFrame0, sAnim_DELIBIRD_1, }; -static const union AnimCmd *const sAnims_MANTINE[] ={ +static const union AnimCmd *const sAnims_MANTINE[] = +{ sAnim_GeneralFrame0, sAnim_MANTINE_1, }; -static const union AnimCmd *const sAnims_SKARMORY[] ={ +static const union AnimCmd *const sAnims_SKARMORY[] = +{ sAnim_GeneralFrame0, sAnim_SKARMORY_1, sAnim_SKARMORY_2, }; -static const union AnimCmd *const sAnims_HOUNDOUR[] ={ +static const union AnimCmd *const sAnims_HOUNDOUR[] = +{ sAnim_GeneralFrame0, sAnim_HOUNDOUR_1, }; -static const union AnimCmd *const sAnims_HOUNDOOM[] ={ +static const union AnimCmd *const sAnims_HOUNDOOM[] = +{ sAnim_GeneralFrame0, sAnim_HOUNDOOM_1, }; -static const union AnimCmd *const sAnims_KINGDRA[] ={ +static const union AnimCmd *const sAnims_KINGDRA[] = +{ sAnim_GeneralFrame0, sAnim_KINGDRA_1, sAnim_KINGDRA_2, }; -static const union AnimCmd *const sAnims_PHANPY[] ={ +static const union AnimCmd *const sAnims_PHANPY[] = +{ sAnim_GeneralFrame0, sAnim_PHANPY_1, sAnim_PHANPY_2, }; -static const union AnimCmd *const sAnims_DONPHAN[] ={ +static const union AnimCmd *const sAnims_DONPHAN[] = +{ sAnim_GeneralFrame0, sAnim_DONPHAN_1, sAnim_DONPHAN_2, }; -static const union AnimCmd *const sAnims_PORYGON2[] ={ +static const union AnimCmd *const sAnims_PORYGON2[] = +{ sAnim_GeneralFrame0, sAnim_PORYGON2_1, }; -static const union AnimCmd *const sAnims_STANTLER[] ={ +static const union AnimCmd *const sAnims_STANTLER[] = +{ sAnim_GeneralFrame0, sAnim_STANTLER_1, }; -static const union AnimCmd *const sAnims_SMEARGLE[] ={ +static const union AnimCmd *const sAnims_SMEARGLE[] = +{ sAnim_GeneralFrame0, sAnim_SMEARGLE_1, }; -static const union AnimCmd *const sAnims_TYROGUE[] ={ +static const union AnimCmd *const sAnims_TYROGUE[] = +{ sAnim_GeneralFrame0, sAnim_TYROGUE_1, }; -static const union AnimCmd *const sAnims_HITMONTOP[] ={ +static const union AnimCmd *const sAnims_HITMONTOP[] = +{ sAnim_GeneralFrame0, sAnim_HITMONTOP_1, }; -static const union AnimCmd *const sAnims_SMOOCHUM[] ={ +static const union AnimCmd *const sAnims_SMOOCHUM[] = +{ sAnim_GeneralFrame0, sAnim_SMOOCHUM_1, }; -static const union AnimCmd *const sAnims_ELEKID[] ={ +static const union AnimCmd *const sAnims_ELEKID[] = +{ sAnim_GeneralFrame0, sAnim_ELEKID_1, }; -static const union AnimCmd *const sAnims_MAGBY[] ={ +static const union AnimCmd *const sAnims_MAGBY[] = +{ sAnim_GeneralFrame0, sAnim_MAGBY_1, }; -static const union AnimCmd *const sAnims_MILTANK[] ={ +static const union AnimCmd *const sAnims_MILTANK[] = +{ sAnim_GeneralFrame0, sAnim_MILTANK_1, }; -static const union AnimCmd *const sAnims_BLISSEY[] ={ +static const union AnimCmd *const sAnims_BLISSEY[] = +{ sAnim_GeneralFrame0, sAnim_BLISSEY_1, }; -static const union AnimCmd *const sAnims_RAIKOU[] ={ +static const union AnimCmd *const sAnims_RAIKOU[] = +{ sAnim_GeneralFrame0, sAnim_RAIKOU_1, }; -static const union AnimCmd *const sAnims_ENTEI[] ={ +static const union AnimCmd *const sAnims_ENTEI[] = +{ sAnim_GeneralFrame0, sAnim_ENTEI_1, }; -static const union AnimCmd *const sAnims_SUICUNE[] ={ +static const union AnimCmd *const sAnims_SUICUNE[] = +{ sAnim_GeneralFrame0, sAnim_SUICUNE_1, }; -static const union AnimCmd *const sAnims_LARVITAR[] ={ +static const union AnimCmd *const sAnims_LARVITAR[] = +{ sAnim_GeneralFrame0, sAnim_LARVITAR_1, }; -static const union AnimCmd *const sAnims_PUPITAR[] ={ +static const union AnimCmd *const sAnims_PUPITAR[] = +{ sAnim_GeneralFrame0, sAnim_PUPITAR_1, }; -static const union AnimCmd *const sAnims_TYRANITAR[] ={ +static const union AnimCmd *const sAnims_TYRANITAR[] = +{ sAnim_GeneralFrame0, sAnim_TYRANITAR_1, }; -static const union AnimCmd *const sAnims_LUGIA[] ={ +static const union AnimCmd *const sAnims_LUGIA[] = +{ sAnim_GeneralFrame0, sAnim_LUGIA_1, }; -static const union AnimCmd *const sAnims_HO_OH[] ={ +static const union AnimCmd *const sAnims_HO_OH[] = +{ sAnim_GeneralFrame0, sAnim_HO_OH_1, }; -static const union AnimCmd *const sAnims_CELEBI[] ={ +static const union AnimCmd *const sAnims_CELEBI[] = +{ sAnim_GeneralFrame0, sAnim_CELEBI_1, }; -static const union AnimCmd *const sAnims_OLD_UNOWN_B[] ={ +static const union AnimCmd *const sAnims_OLD_UNOWN_B[] = +{ sAnim_GeneralFrame0, sAnim_OLD_UNOWN_B_1, }; -static const union AnimCmd *const sAnims_TREECKO[] ={ +static const union AnimCmd *const sAnims_TREECKO[] = +{ sAnim_GeneralFrame0, sAnim_TREECKO_1, }; -static const union AnimCmd *const sAnims_GROVYLE[] ={ +static const union AnimCmd *const sAnims_GROVYLE[] = +{ sAnim_GeneralFrame0, sAnim_GROVYLE_1, }; -static const union AnimCmd *const sAnims_SCEPTILE[] ={ +static const union AnimCmd *const sAnims_SCEPTILE[] = +{ sAnim_GeneralFrame0, sAnim_SCEPTILE_1, }; -static const union AnimCmd *const sAnims_TORCHIC[] ={ +static const union AnimCmd *const sAnims_TORCHIC[] = +{ sAnim_GeneralFrame0, sAnim_TORCHIC_1, }; -static const union AnimCmd *const sAnims_COMBUSKEN[] ={ +static const union AnimCmd *const sAnims_COMBUSKEN[] = +{ sAnim_GeneralFrame0, sAnim_COMBUSKEN_1, }; -static const union AnimCmd *const sAnims_BLAZIKEN[] ={ +static const union AnimCmd *const sAnims_BLAZIKEN[] = +{ sAnim_GeneralFrame0, sAnim_BLAZIKEN_1, sAnim_BLAZIKEN_2, @@ -10810,4154 +11099,5008 @@ static const union AnimCmd *const sAnims_BLAZIKEN[] ={ sAnim_BLAZIKEN_4, }; -static const union AnimCmd *const sAnims_MUDKIP[] ={ +static const union AnimCmd *const sAnims_MUDKIP[] = +{ sAnim_GeneralFrame0, sAnim_MUDKIP_1, }; -static const union AnimCmd *const sAnims_MARSHTOMP[] ={ +static const union AnimCmd *const sAnims_MARSHTOMP[] = +{ sAnim_GeneralFrame0, sAnim_MARSHTOMP_1, }; -static const union AnimCmd *const sAnims_SWAMPERT[] ={ +static const union AnimCmd *const sAnims_SWAMPERT[] = +{ sAnim_GeneralFrame0, sAnim_SWAMPERT_1, }; -static const union AnimCmd *const sAnims_POOCHYENA[] ={ +static const union AnimCmd *const sAnims_POOCHYENA[] = +{ sAnim_GeneralFrame0, sAnim_POOCHYENA_1, }; -static const union AnimCmd *const sAnims_MIGHTYENA[] ={ +static const union AnimCmd *const sAnims_MIGHTYENA[] = +{ sAnim_GeneralFrame0, sAnim_MIGHTYENA_1, }; -static const union AnimCmd *const sAnims_ZIGZAGOON[] ={ +static const union AnimCmd *const sAnims_ZIGZAGOON[] = +{ sAnim_GeneralFrame0, sAnim_ZIGZAGOON_1, }; -static const union AnimCmd *const sAnims_LINOONE[] ={ +static const union AnimCmd *const sAnims_LINOONE[] = +{ sAnim_GeneralFrame0, sAnim_LINOONE_1, }; -static const union AnimCmd *const sAnims_WURMPLE[] ={ +static const union AnimCmd *const sAnims_WURMPLE[] = +{ sAnim_GeneralFrame0, sAnim_WURMPLE_1, }; -static const union AnimCmd *const sAnims_SILCOON[] ={ +static const union AnimCmd *const sAnims_SILCOON[] = +{ sAnim_GeneralFrame0, sAnim_SILCOON_1, sAnim_SILCOON_2, }; -static const union AnimCmd *const sAnims_BEAUTIFLY[] ={ +static const union AnimCmd *const sAnims_BEAUTIFLY[] = +{ sAnim_GeneralFrame0, sAnim_BEAUTIFLY_1, sAnim_BEAUTIFLY_2, }; -static const union AnimCmd *const sAnims_CASCOON[] ={ +static const union AnimCmd *const sAnims_CASCOON[] = +{ sAnim_GeneralFrame0, sAnim_CASCOON_1, sAnim_CASCOON_2, }; -static const union AnimCmd *const sAnims_DUSTOX[] ={ +static const union AnimCmd *const sAnims_DUSTOX[] = +{ sAnim_GeneralFrame0, sAnim_DUSTOX_1, sAnim_DUSTOX_2, }; -static const union AnimCmd *const sAnims_LOTAD[] ={ +static const union AnimCmd *const sAnims_LOTAD[] = +{ sAnim_GeneralFrame0, sAnim_LOTAD_1, }; -static const union AnimCmd *const sAnims_LOMBRE[] ={ +static const union AnimCmd *const sAnims_LOMBRE[] = +{ sAnim_GeneralFrame0, sAnim_LOMBRE_1, }; -static const union AnimCmd *const sAnims_LUDICOLO[] ={ +static const union AnimCmd *const sAnims_LUDICOLO[] = +{ sAnim_GeneralFrame0, sAnim_LUDICOLO_1, }; -static const union AnimCmd *const sAnims_SEEDOT[] ={ +static const union AnimCmd *const sAnims_SEEDOT[] = +{ sAnim_GeneralFrame0, sAnim_SEEDOT_1, }; -static const union AnimCmd *const sAnims_NUZLEAF[] ={ +static const union AnimCmd *const sAnims_NUZLEAF[] = +{ sAnim_GeneralFrame0, sAnim_NUZLEAF_1, }; -static const union AnimCmd *const sAnims_SHIFTRY[] ={ +static const union AnimCmd *const sAnims_SHIFTRY[] = +{ sAnim_GeneralFrame0, sAnim_SHIFTRY_1, }; -static const union AnimCmd *const sAnims_NINCADA[] ={ +static const union AnimCmd *const sAnims_NINCADA[] = +{ sAnim_GeneralFrame0, sAnim_NINCADA_1, }; -static const union AnimCmd *const sAnims_NINJASK[] ={ +static const union AnimCmd *const sAnims_NINJASK[] = +{ sAnim_GeneralFrame0, sAnim_NINJASK_1, }; -static const union AnimCmd *const sAnims_SHEDINJA[] ={ +static const union AnimCmd *const sAnims_SHEDINJA[] = +{ sAnim_GeneralFrame0, sAnim_SHEDINJA_1, }; -static const union AnimCmd *const sAnims_TAILLOW[] ={ +static const union AnimCmd *const sAnims_TAILLOW[] = +{ sAnim_GeneralFrame0, sAnim_TAILLOW_1, }; -static const union AnimCmd *const sAnims_SWELLOW[] ={ +static const union AnimCmd *const sAnims_SWELLOW[] = +{ sAnim_GeneralFrame0, sAnim_SWELLOW_1, }; -static const union AnimCmd *const sAnims_SHROOMISH[] ={ +static const union AnimCmd *const sAnims_SHROOMISH[] = +{ sAnim_GeneralFrame0, sAnim_SHROOMISH_1, }; -static const union AnimCmd *const sAnims_BRELOOM[] ={ +static const union AnimCmd *const sAnims_BRELOOM[] = +{ sAnim_GeneralFrame0, sAnim_BRELOOM_1, }; -static const union AnimCmd *const sAnims_SPINDA[] ={ +static const union AnimCmd *const sAnims_SPINDA[] = +{ sAnim_GeneralFrame0, }; -static const union AnimCmd *const sAnims_WINGULL[] ={ +static const union AnimCmd *const sAnims_WINGULL[] = +{ sAnim_GeneralFrame0, sAnim_WINGULL_1, }; -static const union AnimCmd *const sAnims_PELIPPER[] ={ +static const union AnimCmd *const sAnims_PELIPPER[] = +{ sAnim_GeneralFrame0, sAnim_PELIPPER_1, }; -static const union AnimCmd *const sAnims_SURSKIT[] ={ +static const union AnimCmd *const sAnims_SURSKIT[] = +{ sAnim_GeneralFrame0, sAnim_SURSKIT_1, sAnim_SURSKIT_2, }; -static const union AnimCmd *const sAnims_MASQUERAIN[] ={ +static const union AnimCmd *const sAnims_MASQUERAIN[] = +{ sAnim_GeneralFrame0, sAnim_MASQUERAIN_1, sAnim_MASQUERAIN_2, }; -static const union AnimCmd *const sAnims_WAILMER[] ={ +static const union AnimCmd *const sAnims_WAILMER[] = +{ sAnim_GeneralFrame0, sAnim_WAILMER_1, }; -static const union AnimCmd *const sAnims_WAILORD[] ={ +static const union AnimCmd *const sAnims_WAILORD[] = +{ sAnim_GeneralFrame0, sAnim_WAILORD_1, }; -static const union AnimCmd *const sAnims_SKITTY[] ={ +static const union AnimCmd *const sAnims_SKITTY[] = +{ sAnim_GeneralFrame0, sAnim_SKITTY_1, }; -static const union AnimCmd *const sAnims_DELCATTY[] ={ +static const union AnimCmd *const sAnims_DELCATTY[] = +{ sAnim_GeneralFrame0, sAnim_DELCATTY_1, }; -static const union AnimCmd *const sAnims_KECLEON[] ={ +static const union AnimCmd *const sAnims_KECLEON[] = +{ sAnim_GeneralFrame0, sAnim_KECLEON_1, }; -static const union AnimCmd *const sAnims_BALTOY[] ={ +static const union AnimCmd *const sAnims_BALTOY[] = +{ sAnim_GeneralFrame0, sAnim_BALTOY_1, }; -static const union AnimCmd *const sAnims_CLAYDOL[] ={ +static const union AnimCmd *const sAnims_CLAYDOL[] = +{ sAnim_GeneralFrame0, sAnim_CLAYDOL_1, }; -static const union AnimCmd *const sAnims_NOSEPASS[] ={ +static const union AnimCmd *const sAnims_NOSEPASS[] = +{ sAnim_GeneralFrame0, sAnim_NOSEPASS_1, }; -static const union AnimCmd *const sAnims_TORKOAL[] ={ +static const union AnimCmd *const sAnims_TORKOAL[] = +{ sAnim_GeneralFrame0, sAnim_TORKOAL_1, }; -static const union AnimCmd *const sAnims_SABLEYE[] ={ +static const union AnimCmd *const sAnims_SABLEYE[] = +{ sAnim_GeneralFrame0, sAnim_SABLEYE_1, }; -static const union AnimCmd *const sAnims_BARBOACH[] ={ +static const union AnimCmd *const sAnims_BARBOACH[] = +{ sAnim_GeneralFrame0, sAnim_BARBOACH_1, }; -static const union AnimCmd *const sAnims_WHISCASH[] ={ +static const union AnimCmd *const sAnims_WHISCASH[] = +{ sAnim_GeneralFrame0, sAnim_WHISCASH_1, }; -static const union AnimCmd *const sAnims_LUVDISC[] ={ +static const union AnimCmd *const sAnims_LUVDISC[] = +{ sAnim_GeneralFrame0, sAnim_LUVDISC_1, }; -static const union AnimCmd *const sAnims_CORPHISH[] ={ +static const union AnimCmd *const sAnims_CORPHISH[] = +{ sAnim_GeneralFrame0, sAnim_CORPHISH_1, }; -static const union AnimCmd *const sAnims_CRAWDAUNT[] ={ +static const union AnimCmd *const sAnims_CRAWDAUNT[] = +{ sAnim_GeneralFrame0, sAnim_CRAWDAUNT_1, }; -static const union AnimCmd *const sAnims_FEEBAS[] ={ +static const union AnimCmd *const sAnims_FEEBAS[] = +{ sAnim_GeneralFrame0, sAnim_FEEBAS_1, }; -static const union AnimCmd *const sAnims_MILOTIC[] ={ +static const union AnimCmd *const sAnims_MILOTIC[] = +{ sAnim_GeneralFrame0, sAnim_MILOTIC_1, }; -static const union AnimCmd *const sAnims_CARVANHA[] ={ +static const union AnimCmd *const sAnims_CARVANHA[] = +{ sAnim_GeneralFrame0, sAnim_CARVANHA_1, }; -static const union AnimCmd *const sAnims_SHARPEDO[] ={ +static const union AnimCmd *const sAnims_SHARPEDO[] = +{ sAnim_GeneralFrame0, sAnim_SHARPEDO_1, }; -static const union AnimCmd *const sAnims_TRAPINCH[] ={ +static const union AnimCmd *const sAnims_TRAPINCH[] = +{ sAnim_GeneralFrame0, sAnim_TRAPINCH_1, }; -static const union AnimCmd *const sAnims_VIBRAVA[] ={ +static const union AnimCmd *const sAnims_VIBRAVA[] = +{ sAnim_GeneralFrame0, sAnim_VIBRAVA_1, }; -static const union AnimCmd *const sAnims_FLYGON[] ={ +static const union AnimCmd *const sAnims_FLYGON[] = +{ sAnim_GeneralFrame0, sAnim_FLYGON_1, }; -static const union AnimCmd *const sAnims_MAKUHITA[] ={ +static const union AnimCmd *const sAnims_MAKUHITA[] = +{ sAnim_GeneralFrame0, sAnim_MAKUHITA_1, }; -static const union AnimCmd *const sAnims_HARIYAMA[] ={ +static const union AnimCmd *const sAnims_HARIYAMA[] = +{ sAnim_GeneralFrame0, sAnim_HARIYAMA_1, }; -static const union AnimCmd *const sAnims_ELECTRIKE[] ={ +static const union AnimCmd *const sAnims_ELECTRIKE[] = +{ sAnim_GeneralFrame0, sAnim_ELECTRIKE_1, }; -static const union AnimCmd *const sAnims_MANECTRIC[] ={ +static const union AnimCmd *const sAnims_MANECTRIC[] = +{ sAnim_GeneralFrame0, sAnim_MANECTRIC_1, }; -static const union AnimCmd *const sAnims_NUMEL[] ={ +static const union AnimCmd *const sAnims_NUMEL[] = +{ sAnim_GeneralFrame0, sAnim_NUMEL_1, }; -static const union AnimCmd *const sAnims_CAMERUPT[] ={ +static const union AnimCmd *const sAnims_CAMERUPT[] = +{ sAnim_GeneralFrame0, sAnim_CAMERUPT_1, }; -static const union AnimCmd *const sAnims_SPHEAL[] ={ +static const union AnimCmd *const sAnims_SPHEAL[] = +{ sAnim_GeneralFrame0, sAnim_SPHEAL_1, }; -static const union AnimCmd *const sAnims_SEALEO[] ={ +static const union AnimCmd *const sAnims_SEALEO[] = +{ sAnim_GeneralFrame0, sAnim_SEALEO_1, }; -static const union AnimCmd *const sAnims_WALREIN[] ={ +static const union AnimCmd *const sAnims_WALREIN[] = +{ sAnim_GeneralFrame0, sAnim_WALREIN_1, }; -static const union AnimCmd *const sAnims_CACNEA[] ={ +static const union AnimCmd *const sAnims_CACNEA[] = +{ sAnim_GeneralFrame0, sAnim_CACNEA_1, }; -static const union AnimCmd *const sAnims_CACTURNE[] ={ +static const union AnimCmd *const sAnims_CACTURNE[] = +{ sAnim_GeneralFrame0, sAnim_CACTURNE_1, }; -static const union AnimCmd *const sAnims_SNORUNT[] ={ +static const union AnimCmd *const sAnims_SNORUNT[] = +{ sAnim_GeneralFrame0, sAnim_SNORUNT_1, }; -static const union AnimCmd *const sAnims_GLALIE[] ={ +static const union AnimCmd *const sAnims_GLALIE[] = +{ sAnim_GeneralFrame0, sAnim_GLALIE_1, }; -static const union AnimCmd *const sAnims_LUNATONE[] ={ +static const union AnimCmd *const sAnims_LUNATONE[] = +{ sAnim_GeneralFrame0, sAnim_LUNATONE_1, sAnim_LUNATONE_2, }; -static const union AnimCmd *const sAnims_SOLROCK[] ={ +static const union AnimCmd *const sAnims_SOLROCK[] = +{ sAnim_GeneralFrame0, sAnim_SOLROCK_1, sAnim_SOLROCK_2, }; -static const union AnimCmd *const sAnims_AZURILL[] ={ +static const union AnimCmd *const sAnims_AZURILL[] = +{ sAnim_GeneralFrame0, sAnim_AZURILL_1, }; -static const union AnimCmd *const sAnims_SPOINK[] ={ +static const union AnimCmd *const sAnims_SPOINK[] = +{ sAnim_GeneralFrame0, sAnim_SPOINK_1, }; -static const union AnimCmd *const sAnims_GRUMPIG[] ={ +static const union AnimCmd *const sAnims_GRUMPIG[] = +{ sAnim_GeneralFrame0, sAnim_GRUMPIG_1, }; -static const union AnimCmd *const sAnims_PLUSLE[] ={ +static const union AnimCmd *const sAnims_PLUSLE[] = +{ sAnim_GeneralFrame0, sAnim_PLUSLE_1, }; -static const union AnimCmd *const sAnims_MINUN[] ={ +static const union AnimCmd *const sAnims_MINUN[] = +{ sAnim_GeneralFrame0, sAnim_MINUN_1, }; -static const union AnimCmd *const sAnims_MAWILE[] ={ +static const union AnimCmd *const sAnims_MAWILE[] = +{ sAnim_GeneralFrame0, sAnim_MAWILE_1, }; -static const union AnimCmd *const sAnims_MEDITITE[] ={ +static const union AnimCmd *const sAnims_MEDITITE[] = +{ sAnim_GeneralFrame0, sAnim_MEDITITE_1, }; -static const union AnimCmd *const sAnims_MEDICHAM[] ={ +static const union AnimCmd *const sAnims_MEDICHAM[] = +{ sAnim_GeneralFrame0, sAnim_MEDICHAM_1, }; -static const union AnimCmd *const sAnims_SWABLU[] ={ +static const union AnimCmd *const sAnims_SWABLU[] = +{ sAnim_GeneralFrame0, sAnim_SWABLU_1, sAnim_SWABLU_2, }; -static const union AnimCmd *const sAnims_ALTARIA[] ={ +static const union AnimCmd *const sAnims_ALTARIA[] = +{ sAnim_GeneralFrame0, sAnim_ALTARIA_1, sAnim_ALTARIA_2, }; -static const union AnimCmd *const sAnims_WYNAUT[] ={ +static const union AnimCmd *const sAnims_WYNAUT[] = +{ sAnim_GeneralFrame0, sAnim_WYNAUT_1, }; -static const union AnimCmd *const sAnims_DUSKULL[] ={ +static const union AnimCmd *const sAnims_DUSKULL[] = +{ sAnim_GeneralFrame0, sAnim_DUSKULL_1, }; -static const union AnimCmd *const sAnims_DUSCLOPS[] ={ +static const union AnimCmd *const sAnims_DUSCLOPS[] = +{ sAnim_GeneralFrame0, sAnim_DUSCLOPS_1, }; -static const union AnimCmd *const sAnims_ROSELIA[] ={ +static const union AnimCmd *const sAnims_ROSELIA[] = +{ sAnim_GeneralFrame0, sAnim_ROSELIA_1, }; -static const union AnimCmd *const sAnims_SLAKOTH[] ={ +static const union AnimCmd *const sAnims_SLAKOTH[] = +{ sAnim_GeneralFrame0, sAnim_SLAKOTH_1, }; -static const union AnimCmd *const sAnims_VIGOROTH[] ={ +static const union AnimCmd *const sAnims_VIGOROTH[] = +{ sAnim_GeneralFrame0, sAnim_VIGOROTH_1, }; -static const union AnimCmd *const sAnims_SLAKING[] ={ +static const union AnimCmd *const sAnims_SLAKING[] = +{ sAnim_GeneralFrame0, sAnim_SLAKING_1, }; -static const union AnimCmd *const sAnims_GULPIN[] ={ +static const union AnimCmd *const sAnims_GULPIN[] = +{ sAnim_GeneralFrame0, sAnim_GULPIN_1, }; -static const union AnimCmd *const sAnims_SWALOT[] ={ +static const union AnimCmd *const sAnims_SWALOT[] = +{ sAnim_GeneralFrame0, sAnim_SWALOT_1, }; -static const union AnimCmd *const sAnims_TROPIUS[] ={ +static const union AnimCmd *const sAnims_TROPIUS[] = +{ sAnim_GeneralFrame0, sAnim_TROPIUS_1, }; -static const union AnimCmd *const sAnims_WHISMUR[] ={ +static const union AnimCmd *const sAnims_WHISMUR[] = +{ sAnim_GeneralFrame0, sAnim_WHISMUR_1, }; -static const union AnimCmd *const sAnims_LOUDRED[] ={ +static const union AnimCmd *const sAnims_LOUDRED[] = +{ sAnim_GeneralFrame0, sAnim_LOUDRED_1, }; -static const union AnimCmd *const sAnims_EXPLOUD[] ={ +static const union AnimCmd *const sAnims_EXPLOUD[] = +{ sAnim_GeneralFrame0, sAnim_EXPLOUD_1, }; -static const union AnimCmd *const sAnims_CLAMPERL[] ={ +static const union AnimCmd *const sAnims_CLAMPERL[] = +{ sAnim_GeneralFrame0, sAnim_CLAMPERL_1, }; -static const union AnimCmd *const sAnims_HUNTAIL[] ={ +static const union AnimCmd *const sAnims_HUNTAIL[] = +{ sAnim_GeneralFrame0, sAnim_HUNTAIL_1, }; -static const union AnimCmd *const sAnims_GOREBYSS[] ={ +static const union AnimCmd *const sAnims_GOREBYSS[] = +{ sAnim_GeneralFrame0, sAnim_GOREBYSS_1, }; -static const union AnimCmd *const sAnims_ABSOL[] ={ +static const union AnimCmd *const sAnims_ABSOL[] = +{ sAnim_GeneralFrame0, sAnim_ABSOL_1, }; -static const union AnimCmd *const sAnims_SHUPPET[] ={ +static const union AnimCmd *const sAnims_SHUPPET[] = +{ sAnim_GeneralFrame0, sAnim_SHUPPET_1, }; -static const union AnimCmd *const sAnims_BANETTE[] ={ +static const union AnimCmd *const sAnims_BANETTE[] = +{ sAnim_GeneralFrame0, sAnim_BANETTE_1, }; -static const union AnimCmd *const sAnims_SEVIPER[] ={ +static const union AnimCmd *const sAnims_SEVIPER[] = +{ sAnim_GeneralFrame0, sAnim_SEVIPER_1, }; -static const union AnimCmd *const sAnims_ZANGOOSE[] ={ +static const union AnimCmd *const sAnims_ZANGOOSE[] = +{ sAnim_GeneralFrame0, sAnim_ZANGOOSE_1, }; -static const union AnimCmd *const sAnims_RELICANTH[] ={ +static const union AnimCmd *const sAnims_RELICANTH[] = +{ sAnim_GeneralFrame0, sAnim_RELICANTH_1, }; -static const union AnimCmd *const sAnims_ARON[] ={ +static const union AnimCmd *const sAnims_ARON[] = +{ sAnim_GeneralFrame0, sAnim_ARON_1, }; -static const union AnimCmd *const sAnims_LAIRON[] ={ +static const union AnimCmd *const sAnims_LAIRON[] = +{ sAnim_GeneralFrame0, sAnim_LAIRON_1, }; -static const union AnimCmd *const sAnims_AGGRON[] ={ +static const union AnimCmd *const sAnims_AGGRON[] = +{ sAnim_GeneralFrame0, sAnim_AGGRON_1, }; -static const union AnimCmd *const sAnims_CASTFORM[] ={ +static const union AnimCmd *const sAnims_CASTFORM[] = +{ sAnim_CASTFORM_0, sAnim_CASTFORM_1, sAnim_CASTFORM_2, sAnim_CASTFORM_3, }; -static const union AnimCmd *const sAnims_VOLBEAT[] ={ +static const union AnimCmd *const sAnims_VOLBEAT[] = +{ sAnim_GeneralFrame0, sAnim_VOLBEAT_1, }; -static const union AnimCmd *const sAnims_ILLUMISE[] ={ +static const union AnimCmd *const sAnims_ILLUMISE[] = +{ sAnim_GeneralFrame0, sAnim_ILLUMISE_1, }; -static const union AnimCmd *const sAnims_LILEEP[] ={ +static const union AnimCmd *const sAnims_LILEEP[] = +{ sAnim_GeneralFrame0, sAnim_LILEEP_1, }; -static const union AnimCmd *const sAnims_CRADILY[] ={ +static const union AnimCmd *const sAnims_CRADILY[] = +{ sAnim_GeneralFrame0, sAnim_CRADILY_1, }; -static const union AnimCmd *const sAnims_ANORITH[] ={ +static const union AnimCmd *const sAnims_ANORITH[] = +{ sAnim_GeneralFrame0, sAnim_ANORITH_1, }; -static const union AnimCmd *const sAnims_ARMALDO[] ={ +static const union AnimCmd *const sAnims_ARMALDO[] = +{ sAnim_GeneralFrame0, sAnim_ARMALDO_1, }; -static const union AnimCmd *const sAnims_RALTS[] ={ +static const union AnimCmd *const sAnims_RALTS[] = +{ sAnim_GeneralFrame0, sAnim_RALTS_1, }; -static const union AnimCmd *const sAnims_KIRLIA[] ={ +static const union AnimCmd *const sAnims_KIRLIA[] = +{ sAnim_GeneralFrame0, sAnim_KIRLIA_1, }; -static const union AnimCmd *const sAnims_GARDEVOIR[] ={ +static const union AnimCmd *const sAnims_GARDEVOIR[] = +{ sAnim_GeneralFrame0, sAnim_GARDEVOIR_1, }; -static const union AnimCmd *const sAnims_BAGON[] ={ +static const union AnimCmd *const sAnims_BAGON[] = +{ sAnim_GeneralFrame0, sAnim_BAGON_1, }; -static const union AnimCmd *const sAnims_SHELGON[] ={ +static const union AnimCmd *const sAnims_SHELGON[] = +{ sAnim_GeneralFrame0, sAnim_SHELGON_1, }; -static const union AnimCmd *const sAnims_SALAMENCE[] ={ +static const union AnimCmd *const sAnims_SALAMENCE[] = +{ sAnim_GeneralFrame0, sAnim_SALAMENCE_1, }; -static const union AnimCmd *const sAnims_BELDUM[] ={ +static const union AnimCmd *const sAnims_BELDUM[] = +{ sAnim_GeneralFrame0, sAnim_BELDUM_1, }; -static const union AnimCmd *const sAnims_METANG[] ={ +static const union AnimCmd *const sAnims_METANG[] = +{ sAnim_GeneralFrame0, sAnim_METANG_1, }; -static const union AnimCmd *const sAnims_METAGROSS[] ={ +static const union AnimCmd *const sAnims_METAGROSS[] = +{ sAnim_GeneralFrame0, sAnim_METAGROSS_1, }; -static const union AnimCmd *const sAnims_REGIROCK[] ={ +static const union AnimCmd *const sAnims_REGIROCK[] = +{ sAnim_GeneralFrame0, sAnim_REGIROCK_1, sAnim_REGIROCK_2, }; -static const union AnimCmd *const sAnims_REGICE[] ={ +static const union AnimCmd *const sAnims_REGICE[] = +{ sAnim_GeneralFrame0, sAnim_REGICE_1, }; -static const union AnimCmd *const sAnims_REGISTEEL[] ={ +static const union AnimCmd *const sAnims_REGISTEEL[] = +{ sAnim_GeneralFrame0, sAnim_REGISTEEL_1, sAnim_REGISTEEL_2, }; -static const union AnimCmd *const sAnims_KYOGRE[] ={ +static const union AnimCmd *const sAnims_KYOGRE[] = +{ sAnim_GeneralFrame0, sAnim_KYOGRE_1, sAnim_KYOGRE_2, }; -static const union AnimCmd *const sAnims_GROUDON[] ={ +static const union AnimCmd *const sAnims_GROUDON[] = +{ sAnim_GeneralFrame0, sAnim_GROUDON_1, sAnim_GROUDON_2, }; -static const union AnimCmd *const sAnims_RAYQUAZA[] ={ +static const union AnimCmd *const sAnims_RAYQUAZA[] = +{ sAnim_GeneralFrame0, sAnim_RAYQUAZA_1, sAnim_RAYQUAZA_2, }; -static const union AnimCmd *const sAnims_LATIAS[] ={ +static const union AnimCmd *const sAnims_LATIAS[] = +{ sAnim_GeneralFrame0, sAnim_LATIAS_1, sAnim_LATIAS_2, }; -static const union AnimCmd *const sAnims_LATIOS[] ={ +static const union AnimCmd *const sAnims_LATIOS[] = +{ sAnim_GeneralFrame0, sAnim_LATIOS_1, sAnim_LATIOS_2, }; -static const union AnimCmd *const sAnims_JIRACHI[] ={ +static const union AnimCmd *const sAnims_JIRACHI[] = +{ sAnim_GeneralFrame0, sAnim_JIRACHI_1, sAnim_JIRACHI_2, }; -static const union AnimCmd *const sAnims_DEOXYS[] ={ +static const union AnimCmd *const sAnims_DEOXYS[] = +{ sAnim_GeneralFrame0, sAnim_DEOXYS_1, sAnim_DEOXYS_2, }; -static const union AnimCmd *const sAnims_CHIMECHO[] ={ +static const union AnimCmd *const sAnims_CHIMECHO[] = +{ sAnim_GeneralFrame0, sAnim_CHIMECHO_1, }; -static const union AnimCmd *const sAnims_EGG[] ={ +static const union AnimCmd *const sAnims_EGG[] = +{ sAnim_GeneralFrame0, sAnim_EGG_1, }; -static const union AnimCmd *const sAnims_UNOWN_B[] ={ +static const union AnimCmd *const sAnims_UNOWN_B[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_B_1, }; -static const union AnimCmd *const sAnims_UNOWN_C[] ={ +static const union AnimCmd *const sAnims_UNOWN_C[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_C_1, }; -static const union AnimCmd *const sAnims_UNOWN_D[] ={ +static const union AnimCmd *const sAnims_UNOWN_D[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_D_1, }; -static const union AnimCmd *const sAnims_UNOWN_E[] ={ +static const union AnimCmd *const sAnims_UNOWN_E[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_E_1, }; -static const union AnimCmd *const sAnims_UNOWN_F[] ={ +static const union AnimCmd *const sAnims_UNOWN_F[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_F_1, }; -static const union AnimCmd *const sAnims_UNOWN_G[] ={ +static const union AnimCmd *const sAnims_UNOWN_G[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_G_1, }; -static const union AnimCmd *const sAnims_UNOWN_H[] ={ +static const union AnimCmd *const sAnims_UNOWN_H[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_H_1, }; -static const union AnimCmd *const sAnims_UNOWN_I[] ={ +static const union AnimCmd *const sAnims_UNOWN_I[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_I_1, }; -static const union AnimCmd *const sAnims_UNOWN_J[] ={ +static const union AnimCmd *const sAnims_UNOWN_J[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_J_1, }; -static const union AnimCmd *const sAnims_UNOWN_K[] ={ +static const union AnimCmd *const sAnims_UNOWN_K[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_K_1, }; -static const union AnimCmd *const sAnims_UNOWN_L[] ={ +static const union AnimCmd *const sAnims_UNOWN_L[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_L_1, }; -static const union AnimCmd *const sAnims_UNOWN_M[] ={ +static const union AnimCmd *const sAnims_UNOWN_M[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_M_1, }; -static const union AnimCmd *const sAnims_UNOWN_N[] ={ +static const union AnimCmd *const sAnims_UNOWN_N[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_N_1, }; -static const union AnimCmd *const sAnims_UNOWN_O[] ={ +static const union AnimCmd *const sAnims_UNOWN_O[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_O_1, }; -static const union AnimCmd *const sAnims_UNOWN_P[] ={ +static const union AnimCmd *const sAnims_UNOWN_P[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_P_1, }; -static const union AnimCmd *const sAnims_UNOWN_Q[] ={ +static const union AnimCmd *const sAnims_UNOWN_Q[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_Q_1, }; -static const union AnimCmd *const sAnims_UNOWN_R[] ={ +static const union AnimCmd *const sAnims_UNOWN_R[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_R_1, }; -static const union AnimCmd *const sAnims_UNOWN_S[] ={ +static const union AnimCmd *const sAnims_UNOWN_S[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_S_1, }; -static const union AnimCmd *const sAnims_UNOWN_T[] ={ +static const union AnimCmd *const sAnims_UNOWN_T[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_T_1, }; -static const union AnimCmd *const sAnims_UNOWN_U[] ={ +static const union AnimCmd *const sAnims_UNOWN_U[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_U_1, }; -static const union AnimCmd *const sAnims_UNOWN_V[] ={ +static const union AnimCmd *const sAnims_UNOWN_V[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_V_1, }; -static const union AnimCmd *const sAnims_UNOWN_W[] ={ +static const union AnimCmd *const sAnims_UNOWN_W[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_W_1, }; -static const union AnimCmd *const sAnims_UNOWN_X[] ={ +static const union AnimCmd *const sAnims_UNOWN_X[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_X_1, }; -static const union AnimCmd *const sAnims_UNOWN_Y[] ={ +static const union AnimCmd *const sAnims_UNOWN_Y[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_Y_1, }; -static const union AnimCmd *const sAnims_UNOWN_Z[] ={ +static const union AnimCmd *const sAnims_UNOWN_Z[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_Z_1, }; -static const union AnimCmd *const sAnims_UNOWN_EMARK[] ={ +static const union AnimCmd *const sAnims_UNOWN_EMARK[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_EMARK_1, }; -static const union AnimCmd *const sAnims_UNOWN_QMARK[] ={ +static const union AnimCmd *const sAnims_UNOWN_QMARK[] = +{ sAnim_GeneralFrame0, sAnim_UNOWN_QMARK_1, }; -#if P_NEW_POKEMON == TRUE -static const union AnimCmd *const sAnims_TURTWIG[] ={ +#if P_GEN_4_POKEMON == TRUE +static const union AnimCmd *const sAnims_TURTWIG[] = +{ sAnim_GeneralFrame0, sAnim_TURTWIG_1, }; -static const union AnimCmd *const sAnims_GROTLE[] ={ +static const union AnimCmd *const sAnims_GROTLE[] = +{ sAnim_GeneralFrame0, sAnim_GROTLE_1, }; -static const union AnimCmd *const sAnims_TORTERRA[] ={ +static const union AnimCmd *const sAnims_TORTERRA[] = +{ sAnim_GeneralFrame0, sAnim_TORTERRA_1, }; -static const union AnimCmd *const sAnims_CHIMCHAR[] ={ +static const union AnimCmd *const sAnims_CHIMCHAR[] = +{ sAnim_GeneralFrame0, sAnim_CHIMCHAR_1, }; -static const union AnimCmd *const sAnims_MONFERNO[] ={ +static const union AnimCmd *const sAnims_MONFERNO[] = +{ sAnim_GeneralFrame0, sAnim_MONFERNO_1, }; -static const union AnimCmd *const sAnims_INFERNAPE[] ={ +static const union AnimCmd *const sAnims_INFERNAPE[] = +{ sAnim_GeneralFrame0, sAnim_INFERNAPE_1, }; -static const union AnimCmd *const sAnims_PIPLUP[] ={ +static const union AnimCmd *const sAnims_PIPLUP[] = +{ sAnim_GeneralFrame0, sAnim_PIPLUP_1, }; -static const union AnimCmd *const sAnims_PRINPLUP[] ={ +static const union AnimCmd *const sAnims_PRINPLUP[] = +{ sAnim_GeneralFrame0, sAnim_PRINPLUP_1, }; -static const union AnimCmd *const sAnims_EMPOLEON[] ={ +static const union AnimCmd *const sAnims_EMPOLEON[] = +{ sAnim_GeneralFrame0, sAnim_EMPOLEON_1, }; -static const union AnimCmd *const sAnims_STARLY[] ={ +static const union AnimCmd *const sAnims_STARLY[] = +{ sAnim_GeneralFrame0, sAnim_STARLY_1, }; -static const union AnimCmd *const sAnims_STARAVIA[] ={ +static const union AnimCmd *const sAnims_STARAVIA[] = +{ sAnim_GeneralFrame0, sAnim_STARAVIA_1, }; -static const union AnimCmd *const sAnims_STARAPTOR[] ={ +static const union AnimCmd *const sAnims_STARAPTOR[] = +{ sAnim_GeneralFrame0, sAnim_STARAPTOR_1, }; -static const union AnimCmd *const sAnims_BIDOOF[] ={ +static const union AnimCmd *const sAnims_BIDOOF[] = +{ sAnim_GeneralFrame0, sAnim_BIDOOF_1, }; -static const union AnimCmd *const sAnims_BIBAREL[] ={ +static const union AnimCmd *const sAnims_BIBAREL[] = +{ sAnim_GeneralFrame0, sAnim_BIBAREL_1, }; -static const union AnimCmd *const sAnims_KRICKETOT[] ={ +static const union AnimCmd *const sAnims_KRICKETOT[] = +{ sAnim_GeneralFrame0, sAnim_KRICKETOT_1, }; -static const union AnimCmd *const sAnims_KRICKETUNE[] ={ +static const union AnimCmd *const sAnims_KRICKETUNE[] = +{ sAnim_GeneralFrame0, sAnim_KRICKETUNE_1, }; -static const union AnimCmd *const sAnims_SHINX[] ={ +static const union AnimCmd *const sAnims_SHINX[] = +{ sAnim_GeneralFrame0, sAnim_SHINX_1, }; -static const union AnimCmd *const sAnims_LUXIO[] ={ +static const union AnimCmd *const sAnims_LUXIO[] = +{ sAnim_GeneralFrame0, sAnim_LUXIO_1, }; -static const union AnimCmd *const sAnims_LUXRAY[] ={ +static const union AnimCmd *const sAnims_LUXRAY[] = +{ sAnim_GeneralFrame0, sAnim_LUXRAY_1, }; -static const union AnimCmd *const sAnims_BUDEW[] ={ +static const union AnimCmd *const sAnims_BUDEW[] = +{ sAnim_GeneralFrame0, sAnim_BUDEW_1, }; -static const union AnimCmd *const sAnims_ROSERADE[] ={ +static const union AnimCmd *const sAnims_ROSERADE[] = +{ sAnim_GeneralFrame0, sAnim_ROSERADE_1, }; -static const union AnimCmd *const sAnims_CRANIDOS[] ={ +static const union AnimCmd *const sAnims_CRANIDOS[] = +{ sAnim_GeneralFrame0, sAnim_CRANIDOS_1, }; -static const union AnimCmd *const sAnims_RAMPARDOS[] ={ +static const union AnimCmd *const sAnims_RAMPARDOS[] = +{ sAnim_GeneralFrame0, sAnim_RAMPARDOS_1, }; -static const union AnimCmd *const sAnims_SHIELDON[] ={ +static const union AnimCmd *const sAnims_SHIELDON[] = +{ sAnim_GeneralFrame0, sAnim_SHIELDON_1, }; -static const union AnimCmd *const sAnims_BASTIODON[] ={ +static const union AnimCmd *const sAnims_BASTIODON[] = +{ sAnim_GeneralFrame0, sAnim_BASTIODON_1, }; -static const union AnimCmd *const sAnims_BURMY[] ={ +static const union AnimCmd *const sAnims_BURMY[] = +{ sAnim_GeneralFrame0, sAnim_BURMY_1, }; -static const union AnimCmd *const sAnims_WORMADAM[] ={ +static const union AnimCmd *const sAnims_WORMADAM[] = +{ sAnim_GeneralFrame0, sAnim_WORMADAM_1, }; -static const union AnimCmd *const sAnims_MOTHIM[] ={ +static const union AnimCmd *const sAnims_MOTHIM[] = +{ sAnim_GeneralFrame0, sAnim_MOTHIM_1, }; -static const union AnimCmd *const sAnims_COMBEE[] ={ +static const union AnimCmd *const sAnims_COMBEE[] = +{ sAnim_GeneralFrame0, sAnim_COMBEE_1, }; -static const union AnimCmd *const sAnims_VESPIQUEN[] ={ +static const union AnimCmd *const sAnims_VESPIQUEN[] = +{ sAnim_GeneralFrame0, sAnim_VESPIQUEN_1, }; -static const union AnimCmd *const sAnims_PACHIRISU[] ={ +static const union AnimCmd *const sAnims_PACHIRISU[] = +{ sAnim_GeneralFrame0, sAnim_PACHIRISU_1, }; -static const union AnimCmd *const sAnims_BUIZEL[] ={ +static const union AnimCmd *const sAnims_BUIZEL[] = +{ sAnim_GeneralFrame0, sAnim_BUIZEL_1, }; -static const union AnimCmd *const sAnims_FLOATZEL[] ={ +static const union AnimCmd *const sAnims_FLOATZEL[] = +{ sAnim_GeneralFrame0, sAnim_FLOATZEL_1, }; -static const union AnimCmd *const sAnims_CHERUBI[] ={ +static const union AnimCmd *const sAnims_CHERUBI[] = +{ sAnim_GeneralFrame0, sAnim_CHERUBI_1, }; -static const union AnimCmd *const sAnims_CHERRIM[] ={ +static const union AnimCmd *const sAnims_CHERRIM[] = +{ sAnim_CHERRIM_NORMAL, sAnim_CHERRIM_SUN, }; -static const union AnimCmd *const sAnims_SHELLOS[] ={ +static const union AnimCmd *const sAnims_SHELLOS[] = +{ sAnim_GeneralFrame0, sAnim_SHELLOS_1, }; -static const union AnimCmd *const sAnims_GASTRODON[] ={ +static const union AnimCmd *const sAnims_GASTRODON[] = +{ sAnim_GeneralFrame0, sAnim_GASTRODON_1, }; -static const union AnimCmd *const sAnims_AMBIPOM[] ={ +static const union AnimCmd *const sAnims_AMBIPOM[] = +{ sAnim_GeneralFrame0, sAnim_AMBIPOM_1, }; -static const union AnimCmd *const sAnims_DRIFLOON[] ={ +static const union AnimCmd *const sAnims_DRIFLOON[] = +{ sAnim_GeneralFrame0, sAnim_DRIFLOON_1, }; -static const union AnimCmd *const sAnims_DRIFBLIM[] ={ +static const union AnimCmd *const sAnims_DRIFBLIM[] = +{ sAnim_GeneralFrame0, sAnim_DRIFBLIM_1, }; -static const union AnimCmd *const sAnims_BUNEARY[] ={ +static const union AnimCmd *const sAnims_BUNEARY[] = +{ sAnim_GeneralFrame0, sAnim_BUNEARY_1, }; -static const union AnimCmd *const sAnims_LOPUNNY[] ={ +static const union AnimCmd *const sAnims_LOPUNNY[] = +{ sAnim_GeneralFrame0, sAnim_LOPUNNY_1, }; -static const union AnimCmd *const sAnims_MISMAGIUS[] ={ +static const union AnimCmd *const sAnims_MISMAGIUS[] = +{ sAnim_GeneralFrame0, sAnim_MISMAGIUS_1, }; -static const union AnimCmd *const sAnims_HONCHKROW[] ={ +static const union AnimCmd *const sAnims_HONCHKROW[] = +{ sAnim_GeneralFrame0, sAnim_HONCHKROW_1, }; -static const union AnimCmd *const sAnims_GLAMEOW[] ={ +static const union AnimCmd *const sAnims_GLAMEOW[] = +{ sAnim_GeneralFrame0, sAnim_GLAMEOW_1, }; -static const union AnimCmd *const sAnims_PURUGLY[] ={ +static const union AnimCmd *const sAnims_PURUGLY[] = +{ sAnim_GeneralFrame0, sAnim_PURUGLY_1, }; -static const union AnimCmd *const sAnims_CHINGLING[] ={ +static const union AnimCmd *const sAnims_CHINGLING[] = +{ sAnim_GeneralFrame0, sAnim_CHINGLING_1, }; -static const union AnimCmd *const sAnims_STUNKY[] ={ +static const union AnimCmd *const sAnims_STUNKY[] = +{ sAnim_GeneralFrame0, sAnim_STUNKY_1, }; -static const union AnimCmd *const sAnims_SKUNTANK[] ={ +static const union AnimCmd *const sAnims_SKUNTANK[] = +{ sAnim_GeneralFrame0, sAnim_SKUNTANK_1, }; -static const union AnimCmd *const sAnims_BRONZOR[] ={ +static const union AnimCmd *const sAnims_BRONZOR[] = +{ sAnim_GeneralFrame0, sAnim_BRONZOR_1, }; -static const union AnimCmd *const sAnims_BRONZONG[] ={ +static const union AnimCmd *const sAnims_BRONZONG[] = +{ sAnim_GeneralFrame0, sAnim_BRONZONG_1, }; -static const union AnimCmd *const sAnims_BONSLY[] ={ +static const union AnimCmd *const sAnims_BONSLY[] = +{ sAnim_GeneralFrame0, sAnim_BONSLY_1, }; -static const union AnimCmd *const sAnims_MIME_JR[] ={ +static const union AnimCmd *const sAnims_MIME_JR[] = +{ sAnim_GeneralFrame0, sAnim_MIME_JR_1, }; -static const union AnimCmd *const sAnims_HAPPINY[] ={ +static const union AnimCmd *const sAnims_HAPPINY[] = +{ sAnim_GeneralFrame0, sAnim_HAPPINY_1, }; -static const union AnimCmd *const sAnims_CHATOT[] ={ +static const union AnimCmd *const sAnims_CHATOT[] = +{ sAnim_GeneralFrame0, sAnim_CHATOT_1, }; -static const union AnimCmd *const sAnims_SPIRITOMB[] ={ +static const union AnimCmd *const sAnims_SPIRITOMB[] = +{ sAnim_GeneralFrame0, sAnim_SPIRITOMB_1, }; -static const union AnimCmd *const sAnims_GIBLE[] ={ +static const union AnimCmd *const sAnims_GIBLE[] = +{ sAnim_GeneralFrame0, sAnim_GIBLE_1, }; -static const union AnimCmd *const sAnims_GABITE[] ={ +static const union AnimCmd *const sAnims_GABITE[] = +{ sAnim_GeneralFrame0, sAnim_GABITE_1, }; -static const union AnimCmd *const sAnims_GARCHOMP[] ={ +static const union AnimCmd *const sAnims_GARCHOMP[] = +{ sAnim_GeneralFrame0, sAnim_GARCHOMP_1, }; -static const union AnimCmd *const sAnims_MUNCHLAX[] ={ +static const union AnimCmd *const sAnims_MUNCHLAX[] = +{ sAnim_GeneralFrame0, sAnim_MUNCHLAX_1, }; -static const union AnimCmd *const sAnims_RIOLU[] ={ +static const union AnimCmd *const sAnims_RIOLU[] = +{ sAnim_GeneralFrame0, sAnim_RIOLU_1, }; -static const union AnimCmd *const sAnims_LUCARIO[] ={ +static const union AnimCmd *const sAnims_LUCARIO[] = +{ sAnim_GeneralFrame0, sAnim_LUCARIO_1, }; -static const union AnimCmd *const sAnims_HIPPOPOTAS[] ={ +static const union AnimCmd *const sAnims_HIPPOPOTAS[] = +{ sAnim_GeneralFrame0, sAnim_HIPPOPOTAS_1, }; -static const union AnimCmd *const sAnims_HIPPOWDON[] ={ +static const union AnimCmd *const sAnims_HIPPOWDON[] = +{ sAnim_GeneralFrame0, sAnim_HIPPOWDON_1, }; -static const union AnimCmd *const sAnims_SKORUPI[] ={ +static const union AnimCmd *const sAnims_SKORUPI[] = +{ sAnim_GeneralFrame0, sAnim_SKORUPI_1, }; -static const union AnimCmd *const sAnims_DRAPION[] ={ +static const union AnimCmd *const sAnims_DRAPION[] = +{ sAnim_GeneralFrame0, sAnim_DRAPION_1, }; -static const union AnimCmd *const sAnims_CROAGUNK[] ={ +static const union AnimCmd *const sAnims_CROAGUNK[] = +{ sAnim_GeneralFrame0, sAnim_CROAGUNK_1, }; -static const union AnimCmd *const sAnims_TOXICROAK[] ={ +static const union AnimCmd *const sAnims_TOXICROAK[] = +{ sAnim_GeneralFrame0, sAnim_TOXICROAK_1, }; -static const union AnimCmd *const sAnims_CARNIVINE[] ={ +static const union AnimCmd *const sAnims_CARNIVINE[] = +{ sAnim_GeneralFrame0, sAnim_CARNIVINE_1, }; -static const union AnimCmd *const sAnims_FINNEON[] ={ +static const union AnimCmd *const sAnims_FINNEON[] = +{ sAnim_GeneralFrame0, sAnim_FINNEON_1, }; -static const union AnimCmd *const sAnims_LUMINEON[] ={ +static const union AnimCmd *const sAnims_LUMINEON[] = +{ sAnim_GeneralFrame0, sAnim_LUMINEON_1, }; -static const union AnimCmd *const sAnims_MANTYKE[] ={ +static const union AnimCmd *const sAnims_MANTYKE[] = +{ sAnim_GeneralFrame0, sAnim_MANTYKE_1, }; -static const union AnimCmd *const sAnims_SNOVER[] ={ +static const union AnimCmd *const sAnims_SNOVER[] = +{ sAnim_GeneralFrame0, sAnim_SNOVER_1, }; -static const union AnimCmd *const sAnims_ABOMASNOW[] ={ +static const union AnimCmd *const sAnims_ABOMASNOW[] = +{ sAnim_GeneralFrame0, sAnim_ABOMASNOW_1, }; -static const union AnimCmd *const sAnims_WEAVILE[] ={ +static const union AnimCmd *const sAnims_WEAVILE[] = +{ sAnim_GeneralFrame0, sAnim_WEAVILE_1, }; -static const union AnimCmd *const sAnims_MAGNEZONE[] ={ +static const union AnimCmd *const sAnims_MAGNEZONE[] = +{ sAnim_GeneralFrame0, sAnim_MAGNEZONE_1, }; -static const union AnimCmd *const sAnims_LICKILICKY[] ={ +static const union AnimCmd *const sAnims_LICKILICKY[] = +{ sAnim_GeneralFrame0, sAnim_LICKILICKY_1, }; -static const union AnimCmd *const sAnims_RHYPERIOR[] ={ +static const union AnimCmd *const sAnims_RHYPERIOR[] = +{ sAnim_GeneralFrame0, sAnim_RHYPERIOR_1, }; -static const union AnimCmd *const sAnims_TANGROWTH[] ={ +static const union AnimCmd *const sAnims_TANGROWTH[] = +{ sAnim_GeneralFrame0, sAnim_TANGROWTH_1, }; -static const union AnimCmd *const sAnims_ELECTIVIRE[] ={ +static const union AnimCmd *const sAnims_ELECTIVIRE[] = +{ sAnim_GeneralFrame0, sAnim_ELECTIVIRE_1, }; -static const union AnimCmd *const sAnims_MAGMORTAR[] ={ +static const union AnimCmd *const sAnims_MAGMORTAR[] = +{ sAnim_GeneralFrame0, sAnim_MAGMORTAR_1, }; -static const union AnimCmd *const sAnims_TOGEKISS[] ={ +static const union AnimCmd *const sAnims_TOGEKISS[] = +{ sAnim_GeneralFrame0, sAnim_TOGEKISS_1, }; -static const union AnimCmd *const sAnims_YANMEGA[] ={ +static const union AnimCmd *const sAnims_YANMEGA[] = +{ sAnim_GeneralFrame0, sAnim_YANMEGA_1, }; -static const union AnimCmd *const sAnims_LEAFEON[] ={ +static const union AnimCmd *const sAnims_LEAFEON[] = +{ sAnim_GeneralFrame0, sAnim_LEAFEON_1, }; -static const union AnimCmd *const sAnims_GLACEON[] ={ +static const union AnimCmd *const sAnims_GLACEON[] = +{ sAnim_GeneralFrame0, sAnim_GLACEON_1, }; -static const union AnimCmd *const sAnims_GLISCOR[] ={ +static const union AnimCmd *const sAnims_GLISCOR[] = +{ sAnim_GeneralFrame0, sAnim_GLISCOR_1, }; -static const union AnimCmd *const sAnims_MAMOSWINE[] ={ +static const union AnimCmd *const sAnims_MAMOSWINE[] = +{ sAnim_GeneralFrame0, sAnim_MAMOSWINE_1, }; -static const union AnimCmd *const sAnims_PORYGON_Z[] ={ +static const union AnimCmd *const sAnims_PORYGON_Z[] = +{ sAnim_GeneralFrame0, sAnim_PORYGON_Z_1, }; -static const union AnimCmd *const sAnims_GALLADE[] ={ +static const union AnimCmd *const sAnims_GALLADE[] = +{ sAnim_GeneralFrame0, sAnim_GALLADE_1, }; -static const union AnimCmd *const sAnims_PROBOPASS[] ={ +static const union AnimCmd *const sAnims_PROBOPASS[] = +{ sAnim_GeneralFrame0, sAnim_PROBOPASS_1, }; -static const union AnimCmd *const sAnims_DUSKNOIR[] ={ +static const union AnimCmd *const sAnims_DUSKNOIR[] = +{ sAnim_GeneralFrame0, sAnim_DUSKNOIR_1, }; -static const union AnimCmd *const sAnims_FROSLASS[] ={ +static const union AnimCmd *const sAnims_FROSLASS[] = +{ sAnim_GeneralFrame0, sAnim_FROSLASS_1, }; -static const union AnimCmd *const sAnims_ROTOM[] ={ +static const union AnimCmd *const sAnims_ROTOM[] = +{ sAnim_GeneralFrame0, sAnim_ROTOM_1, }; -static const union AnimCmd *const sAnims_ROTOM_HEAT[] ={ +static const union AnimCmd *const sAnims_ROTOM_HEAT[] = +{ sAnim_GeneralFrame0, sAnim_RotomHeat_1, }; -static const union AnimCmd *const sAnims_ROTOM_FROST[] ={ +static const union AnimCmd *const sAnims_ROTOM_FROST[] = +{ sAnim_GeneralFrame0, sAnim_RotomFrost_1, }; -static const union AnimCmd *const sAnims_ROTOM_FAN[] ={ +static const union AnimCmd *const sAnims_ROTOM_FAN[] = +{ sAnim_GeneralFrame0, sAnim_RotomFan_1, }; -static const union AnimCmd *const sAnims_ROTOM_MOW[] ={ +static const union AnimCmd *const sAnims_ROTOM_MOW[] = +{ sAnim_GeneralFrame0, sAnim_RotomMow_1, }; -static const union AnimCmd *const sAnims_ROTOM_WASH[] ={ +static const union AnimCmd *const sAnims_ROTOM_WASH[] = +{ sAnim_GeneralFrame0, sAnim_RotomWash_1, }; -static const union AnimCmd *const sAnims_UXIE[] ={ +static const union AnimCmd *const sAnims_UXIE[] = +{ sAnim_GeneralFrame0, sAnim_UXIE_1, }; -static const union AnimCmd *const sAnims_MESPRIT[] ={ +static const union AnimCmd *const sAnims_MESPRIT[] = +{ sAnim_GeneralFrame0, sAnim_MESPRIT_1, }; -static const union AnimCmd *const sAnims_AZELF[] ={ +static const union AnimCmd *const sAnims_AZELF[] = +{ sAnim_GeneralFrame0, sAnim_AZELF_1, }; -static const union AnimCmd *const sAnims_DIALGA[] ={ +static const union AnimCmd *const sAnims_DIALGA[] = +{ sAnim_GeneralFrame0, sAnim_DIALGA_1, }; -static const union AnimCmd *const sAnims_PALKIA[] ={ +static const union AnimCmd *const sAnims_PALKIA[] = +{ sAnim_GeneralFrame0, sAnim_PALKIA_1, }; -static const union AnimCmd *const sAnims_HEATRAN[] ={ +static const union AnimCmd *const sAnims_HEATRAN[] = +{ sAnim_GeneralFrame0, sAnim_HEATRAN_1, }; -static const union AnimCmd *const sAnims_REGIGIGAS[] ={ +static const union AnimCmd *const sAnims_REGIGIGAS[] = +{ sAnim_GeneralFrame0, sAnim_REGIGIGAS_1, }; -static const union AnimCmd *const sAnims_GIRATINA[] ={ +static const union AnimCmd *const sAnims_GIRATINA[] = +{ sAnim_GeneralFrame0, sAnim_GIRATINA_1, }; -static const union AnimCmd *const sAnims_CRESSELIA[] ={ +static const union AnimCmd *const sAnims_CRESSELIA[] = +{ sAnim_GeneralFrame0, sAnim_CRESSELIA_1, }; -static const union AnimCmd *const sAnims_PHIONE[] ={ +static const union AnimCmd *const sAnims_PHIONE[] = +{ sAnim_GeneralFrame0, sAnim_PHIONE_1, }; -static const union AnimCmd *const sAnims_MANAPHY[] ={ +static const union AnimCmd *const sAnims_MANAPHY[] = +{ sAnim_GeneralFrame0, sAnim_MANAPHY_1, }; -static const union AnimCmd *const sAnims_DARKRAI[] ={ +static const union AnimCmd *const sAnims_DARKRAI[] = +{ sAnim_GeneralFrame0, sAnim_DARKRAI_1, }; -static const union AnimCmd *const sAnims_SHAYMIN[] ={ +static const union AnimCmd *const sAnims_SHAYMIN[] = +{ sAnim_GeneralFrame0, sAnim_SHAYMIN_1, }; -static const union AnimCmd *const sAnims_ARCEUS[] ={ +static const union AnimCmd *const sAnims_ARCEUS[] = +{ sAnim_GeneralFrame0, sAnim_ARCEUS_1, }; +#endif -static const union AnimCmd *const sAnims_VICTINI[] ={ +#if P_GEN_5_POKEMON == TRUE +static const union AnimCmd *const sAnims_VICTINI[] = +{ sAnim_GeneralFrame0, sAnim_VICTINI_1, }; -static const union AnimCmd *const sAnims_SNIVY[] ={ +static const union AnimCmd *const sAnims_SNIVY[] = +{ sAnim_GeneralFrame0, sAnim_SNIVY_1, }; -static const union AnimCmd *const sAnims_SERVINE[] ={ +static const union AnimCmd *const sAnims_SERVINE[] = +{ sAnim_GeneralFrame0, sAnim_SERVINE_1, }; -static const union AnimCmd *const sAnims_SERPERIOR[] ={ +static const union AnimCmd *const sAnims_SERPERIOR[] = +{ sAnim_GeneralFrame0, sAnim_SERPERIOR_1, }; -static const union AnimCmd *const sAnims_TEPIG[] ={ +static const union AnimCmd *const sAnims_TEPIG[] = +{ sAnim_GeneralFrame0, sAnim_TEPIG_1, }; -static const union AnimCmd *const sAnims_PIGNITE[] ={ +static const union AnimCmd *const sAnims_PIGNITE[] = +{ sAnim_GeneralFrame0, sAnim_PIGNITE_1, }; -static const union AnimCmd *const sAnims_EMBOAR[] ={ +static const union AnimCmd *const sAnims_EMBOAR[] = +{ sAnim_GeneralFrame0, sAnim_EMBOAR_1, }; -static const union AnimCmd *const sAnims_OSHAWOTT[] ={ +static const union AnimCmd *const sAnims_OSHAWOTT[] = +{ sAnim_GeneralFrame0, sAnim_OSHAWOTT_1, }; -static const union AnimCmd *const sAnims_DEWOTT[] ={ +static const union AnimCmd *const sAnims_DEWOTT[] = +{ sAnim_GeneralFrame0, sAnim_DEWOTT_1, }; -static const union AnimCmd *const sAnims_SAMUROTT[] ={ +static const union AnimCmd *const sAnims_SAMUROTT[] = +{ sAnim_GeneralFrame0, sAnim_SAMUROTT_1, }; -static const union AnimCmd *const sAnims_PATRAT[] ={ +static const union AnimCmd *const sAnims_PATRAT[] = +{ sAnim_GeneralFrame0, sAnim_PATRAT_1, }; -static const union AnimCmd *const sAnims_WATCHOG[] ={ +static const union AnimCmd *const sAnims_WATCHOG[] = +{ sAnim_GeneralFrame0, sAnim_WATCHOG_1, }; -static const union AnimCmd *const sAnims_LILLIPUP[] ={ +static const union AnimCmd *const sAnims_LILLIPUP[] = +{ sAnim_GeneralFrame0, sAnim_LILLIPUP_1, }; -static const union AnimCmd *const sAnims_HERDIER[] ={ +static const union AnimCmd *const sAnims_HERDIER[] = +{ sAnim_GeneralFrame0, sAnim_HERDIER_1, }; -static const union AnimCmd *const sAnims_STOUTLAND[] ={ +static const union AnimCmd *const sAnims_STOUTLAND[] = +{ sAnim_GeneralFrame0, sAnim_STOUTLAND_1, }; -static const union AnimCmd *const sAnims_PURRLOIN[] ={ +static const union AnimCmd *const sAnims_PURRLOIN[] = +{ sAnim_GeneralFrame0, sAnim_PURRLOIN_1, }; -static const union AnimCmd *const sAnims_LIEPARD[] ={ +static const union AnimCmd *const sAnims_LIEPARD[] = +{ sAnim_GeneralFrame0, sAnim_LIEPARD_1, }; -static const union AnimCmd *const sAnims_PANSAGE[] ={ +static const union AnimCmd *const sAnims_PANSAGE[] = +{ sAnim_GeneralFrame0, sAnim_PANSAGE_1, }; -static const union AnimCmd *const sAnims_SIMISAGE[] ={ +static const union AnimCmd *const sAnims_SIMISAGE[] = +{ sAnim_GeneralFrame0, sAnim_SIMISAGE_1, }; -static const union AnimCmd *const sAnims_PANSEAR[] ={ +static const union AnimCmd *const sAnims_PANSEAR[] = +{ sAnim_GeneralFrame0, sAnim_PANSEAR_1, }; -static const union AnimCmd *const sAnims_SIMISEAR[] ={ +static const union AnimCmd *const sAnims_SIMISEAR[] = +{ sAnim_GeneralFrame0, sAnim_SIMISEAR_1, }; -static const union AnimCmd *const sAnims_PANPOUR[] ={ +static const union AnimCmd *const sAnims_PANPOUR[] = +{ sAnim_GeneralFrame0, sAnim_PANPOUR_1, }; -static const union AnimCmd *const sAnims_SIMIPOUR[] ={ +static const union AnimCmd *const sAnims_SIMIPOUR[] = +{ sAnim_GeneralFrame0, sAnim_SIMIPOUR_1, }; -static const union AnimCmd *const sAnims_MUNNA[] ={ +static const union AnimCmd *const sAnims_MUNNA[] = +{ sAnim_GeneralFrame0, sAnim_MUNNA_1, }; -static const union AnimCmd *const sAnims_MUSHARNA[] ={ +static const union AnimCmd *const sAnims_MUSHARNA[] = +{ sAnim_GeneralFrame0, sAnim_MUSHARNA_1, }; -static const union AnimCmd *const sAnims_PIDOVE[] ={ +static const union AnimCmd *const sAnims_PIDOVE[] = +{ sAnim_GeneralFrame0, sAnim_PIDOVE_1, }; -static const union AnimCmd *const sAnims_TRANQUILL[] ={ +static const union AnimCmd *const sAnims_TRANQUILL[] = +{ sAnim_GeneralFrame0, sAnim_TRANQUILL_1, }; -static const union AnimCmd *const sAnims_UNFEZANT[] ={ +static const union AnimCmd *const sAnims_UNFEZANT[] = +{ sAnim_GeneralFrame0, sAnim_UNFEZANT_1, }; -static const union AnimCmd *const sAnims_BLITZLE[] ={ +static const union AnimCmd *const sAnims_BLITZLE[] = +{ sAnim_GeneralFrame0, sAnim_BLITZLE_1, }; -static const union AnimCmd *const sAnims_ZEBSTRIKA[] ={ +static const union AnimCmd *const sAnims_ZEBSTRIKA[] = +{ sAnim_GeneralFrame0, sAnim_ZEBSTRIKA_1, }; -static const union AnimCmd *const sAnims_ROGGENROLA[] ={ +static const union AnimCmd *const sAnims_ROGGENROLA[] = +{ sAnim_GeneralFrame0, sAnim_ROGGENROLA_1, }; -static const union AnimCmd *const sAnims_BOLDORE[] ={ +static const union AnimCmd *const sAnims_BOLDORE[] = +{ sAnim_GeneralFrame0, sAnim_BOLDORE_1, }; -static const union AnimCmd *const sAnims_GIGALITH[] ={ +static const union AnimCmd *const sAnims_GIGALITH[] = +{ sAnim_GeneralFrame0, sAnim_GIGALITH_1, }; -static const union AnimCmd *const sAnims_WOOBAT[] ={ +static const union AnimCmd *const sAnims_WOOBAT[] = +{ sAnim_GeneralFrame0, sAnim_WOOBAT_1, }; -static const union AnimCmd *const sAnims_SWOOBAT[] ={ +static const union AnimCmd *const sAnims_SWOOBAT[] = +{ sAnim_GeneralFrame0, sAnim_SWOOBAT_1, }; -static const union AnimCmd *const sAnims_DRILBUR[] ={ +static const union AnimCmd *const sAnims_DRILBUR[] = +{ sAnim_GeneralFrame0, sAnim_DRILBUR_1, }; -static const union AnimCmd *const sAnims_EXCADRILL[] ={ +static const union AnimCmd *const sAnims_EXCADRILL[] = +{ sAnim_GeneralFrame0, sAnim_EXCADRILL_1, }; -static const union AnimCmd *const sAnims_AUDINO[] ={ +static const union AnimCmd *const sAnims_AUDINO[] = +{ sAnim_GeneralFrame0, sAnim_AUDINO_1, }; -static const union AnimCmd *const sAnims_TIMBURR[] ={ +static const union AnimCmd *const sAnims_TIMBURR[] = +{ sAnim_GeneralFrame0, sAnim_TIMBURR_1, }; -static const union AnimCmd *const sAnims_GURDURR[] ={ +static const union AnimCmd *const sAnims_GURDURR[] = +{ sAnim_GeneralFrame0, sAnim_GURDURR_1, }; -static const union AnimCmd *const sAnims_CONKELDURR[] ={ +static const union AnimCmd *const sAnims_CONKELDURR[] = +{ sAnim_GeneralFrame0, sAnim_CONKELDURR_1, }; -static const union AnimCmd *const sAnims_TYMPOLE[] ={ +static const union AnimCmd *const sAnims_TYMPOLE[] = +{ sAnim_GeneralFrame0, sAnim_TYMPOLE_1, }; -static const union AnimCmd *const sAnims_PALPITOAD[] ={ +static const union AnimCmd *const sAnims_PALPITOAD[] = +{ sAnim_GeneralFrame0, sAnim_PALPITOAD_1, }; -static const union AnimCmd *const sAnims_SEISMITOAD[] ={ +static const union AnimCmd *const sAnims_SEISMITOAD[] = +{ sAnim_GeneralFrame0, sAnim_SEISMITOAD_1, }; -static const union AnimCmd *const sAnims_THROH[] ={ +static const union AnimCmd *const sAnims_THROH[] = +{ sAnim_GeneralFrame0, sAnim_THROH_1, }; -static const union AnimCmd *const sAnims_SAWK[] ={ +static const union AnimCmd *const sAnims_SAWK[] = +{ sAnim_GeneralFrame0, sAnim_SAWK_1, }; -static const union AnimCmd *const sAnims_SEWADDLE[] ={ +static const union AnimCmd *const sAnims_SEWADDLE[] = +{ sAnim_GeneralFrame0, sAnim_SEWADDLE_1, }; -static const union AnimCmd *const sAnims_SWADLOON[] ={ +static const union AnimCmd *const sAnims_SWADLOON[] = +{ sAnim_GeneralFrame0, sAnim_SWADLOON_1, }; -static const union AnimCmd *const sAnims_LEAVANNY[] ={ +static const union AnimCmd *const sAnims_LEAVANNY[] = +{ sAnim_GeneralFrame0, sAnim_LEAVANNY_1, }; -static const union AnimCmd *const sAnims_VENIPEDE[] ={ +static const union AnimCmd *const sAnims_VENIPEDE[] = +{ sAnim_GeneralFrame0, sAnim_VENIPEDE_1, }; -static const union AnimCmd *const sAnims_WHIRLIPEDE[] ={ +static const union AnimCmd *const sAnims_WHIRLIPEDE[] = +{ sAnim_GeneralFrame0, sAnim_WHIRLIPEDE_1, }; -static const union AnimCmd *const sAnims_SCOLIPEDE[] ={ +static const union AnimCmd *const sAnims_SCOLIPEDE[] = +{ sAnim_GeneralFrame0, sAnim_SCOLIPEDE_1, }; -static const union AnimCmd *const sAnims_COTTONEE[] ={ +static const union AnimCmd *const sAnims_COTTONEE[] = +{ sAnim_GeneralFrame0, sAnim_COTTONEE_1, }; -static const union AnimCmd *const sAnims_WHIMSICOTT[] ={ +static const union AnimCmd *const sAnims_WHIMSICOTT[] = +{ sAnim_GeneralFrame0, sAnim_WHIMSICOTT_1, }; -static const union AnimCmd *const sAnims_PETILIL[] ={ +static const union AnimCmd *const sAnims_PETILIL[] = +{ sAnim_GeneralFrame0, sAnim_PETILIL_1, }; -static const union AnimCmd *const sAnims_LILLIGANT[] ={ +static const union AnimCmd *const sAnims_LILLIGANT[] = +{ sAnim_GeneralFrame0, sAnim_LILLIGANT_1, }; -static const union AnimCmd *const sAnims_BASCULIN[] ={ +static const union AnimCmd *const sAnims_BASCULIN[] = +{ sAnim_GeneralFrame0, sAnim_BASCULIN_1, }; -static const union AnimCmd *const sAnims_SANDILE[] ={ +static const union AnimCmd *const sAnims_SANDILE[] = +{ sAnim_GeneralFrame0, sAnim_SANDILE_1, }; -static const union AnimCmd *const sAnims_KROKOROK[] ={ +static const union AnimCmd *const sAnims_KROKOROK[] = +{ sAnim_GeneralFrame0, sAnim_KROKOROK_1, }; -static const union AnimCmd *const sAnims_KROOKODILE[] ={ +static const union AnimCmd *const sAnims_KROOKODILE[] = +{ sAnim_GeneralFrame0, sAnim_KROOKODILE_1, }; -static const union AnimCmd *const sAnims_DARUMAKA[] ={ +static const union AnimCmd *const sAnims_DARUMAKA[] = +{ sAnim_GeneralFrame0, sAnim_DARUMAKA_1, }; -static const union AnimCmd *const sAnims_DARMANITAN[] ={ +static const union AnimCmd *const sAnims_DARMANITAN[] = +{ sAnim_GeneralFrame0, sAnim_DARMANITAN_1, }; -static const union AnimCmd *const sAnims_MARACTUS[] ={ +static const union AnimCmd *const sAnims_MARACTUS[] = +{ sAnim_GeneralFrame0, sAnim_MARACTUS_1, }; -static const union AnimCmd *const sAnims_DWEBBLE[] ={ +static const union AnimCmd *const sAnims_DWEBBLE[] = +{ sAnim_GeneralFrame0, sAnim_DWEBBLE_1, }; -static const union AnimCmd *const sAnims_CRUSTLE[] ={ +static const union AnimCmd *const sAnims_CRUSTLE[] = +{ sAnim_GeneralFrame0, sAnim_CRUSTLE_1, }; -static const union AnimCmd *const sAnims_SCRAGGY[] ={ +static const union AnimCmd *const sAnims_SCRAGGY[] = +{ sAnim_GeneralFrame0, sAnim_SCRAGGY_1, }; -static const union AnimCmd *const sAnims_SCRAFTY[] ={ +static const union AnimCmd *const sAnims_SCRAFTY[] = +{ sAnim_GeneralFrame0, sAnim_SCRAFTY_1, }; -static const union AnimCmd *const sAnims_SIGILYPH[] ={ +static const union AnimCmd *const sAnims_SIGILYPH[] = +{ sAnim_GeneralFrame0, sAnim_SIGILYPH_1, }; -static const union AnimCmd *const sAnims_YAMASK[] ={ +static const union AnimCmd *const sAnims_YAMASK[] = +{ sAnim_GeneralFrame0, sAnim_YAMASK_1, }; -static const union AnimCmd *const sAnims_COFAGRIGUS[] ={ +static const union AnimCmd *const sAnims_COFAGRIGUS[] = +{ sAnim_GeneralFrame0, sAnim_COFAGRIGUS_1, }; -static const union AnimCmd *const sAnims_TIRTOUGA[] ={ +static const union AnimCmd *const sAnims_TIRTOUGA[] = +{ sAnim_GeneralFrame0, sAnim_TIRTOUGA_1, }; -static const union AnimCmd *const sAnims_CARRACOSTA[] ={ +static const union AnimCmd *const sAnims_CARRACOSTA[] = +{ sAnim_GeneralFrame0, sAnim_CARRACOSTA_1, }; -static const union AnimCmd *const sAnims_ARCHEN[] ={ +static const union AnimCmd *const sAnims_ARCHEN[] = +{ sAnim_GeneralFrame0, sAnim_ARCHEN_1, }; -static const union AnimCmd *const sAnims_ARCHEOPS[] ={ +static const union AnimCmd *const sAnims_ARCHEOPS[] = +{ sAnim_GeneralFrame0, sAnim_ARCHEOPS_1, }; -static const union AnimCmd *const sAnims_TRUBBISH[] ={ +static const union AnimCmd *const sAnims_TRUBBISH[] = +{ sAnim_GeneralFrame0, sAnim_TRUBBISH_1, }; -static const union AnimCmd *const sAnims_GARBODOR[] ={ +static const union AnimCmd *const sAnims_GARBODOR[] = +{ sAnim_GeneralFrame0, sAnim_GARBODOR_1, }; -static const union AnimCmd *const sAnims_ZORUA[] ={ +static const union AnimCmd *const sAnims_ZORUA[] = +{ sAnim_GeneralFrame0, sAnim_ZORUA_1, }; -static const union AnimCmd *const sAnims_ZOROARK[] ={ +static const union AnimCmd *const sAnims_ZOROARK[] = +{ sAnim_GeneralFrame0, sAnim_ZOROARK_1, }; -static const union AnimCmd *const sAnims_MINCCINO[] ={ +static const union AnimCmd *const sAnims_MINCCINO[] = +{ sAnim_GeneralFrame0, sAnim_MINCCINO_1, }; -static const union AnimCmd *const sAnims_CINCCINO[] ={ +static const union AnimCmd *const sAnims_CINCCINO[] = +{ sAnim_GeneralFrame0, sAnim_CINCCINO_1, }; -static const union AnimCmd *const sAnims_GOTHITA[] ={ +static const union AnimCmd *const sAnims_GOTHITA[] = +{ sAnim_GeneralFrame0, sAnim_GOTHITA_1, }; -static const union AnimCmd *const sAnims_GOTHORITA[] ={ +static const union AnimCmd *const sAnims_GOTHORITA[] = +{ sAnim_GeneralFrame0, sAnim_GOTHORITA_1, }; -static const union AnimCmd *const sAnims_GOTHITELLE[] ={ +static const union AnimCmd *const sAnims_GOTHITELLE[] = +{ sAnim_GeneralFrame0, sAnim_GOTHITELLE_1, }; -static const union AnimCmd *const sAnims_SOLOSIS[] ={ +static const union AnimCmd *const sAnims_SOLOSIS[] = +{ sAnim_GeneralFrame0, sAnim_SOLOSIS_1, }; -static const union AnimCmd *const sAnims_DUOSION[] ={ +static const union AnimCmd *const sAnims_DUOSION[] = +{ sAnim_GeneralFrame0, sAnim_DUOSION_1, }; -static const union AnimCmd *const sAnims_REUNICLUS[] ={ +static const union AnimCmd *const sAnims_REUNICLUS[] = +{ sAnim_GeneralFrame0, sAnim_REUNICLUS_1, }; -static const union AnimCmd *const sAnims_DUCKLETT[] ={ +static const union AnimCmd *const sAnims_DUCKLETT[] = +{ sAnim_GeneralFrame0, sAnim_DUCKLETT_1, }; -static const union AnimCmd *const sAnims_SWANNA[] ={ +static const union AnimCmd *const sAnims_SWANNA[] = +{ sAnim_GeneralFrame0, sAnim_SWANNA_1, }; -static const union AnimCmd *const sAnims_VANILLITE[] ={ +static const union AnimCmd *const sAnims_VANILLITE[] = +{ sAnim_GeneralFrame0, sAnim_VANILLITE_1, }; -static const union AnimCmd *const sAnims_VANILLISH[] ={ +static const union AnimCmd *const sAnims_VANILLISH[] = +{ sAnim_GeneralFrame0, sAnim_VANILLISH_1, }; -static const union AnimCmd *const sAnims_VANILLUXE[] ={ +static const union AnimCmd *const sAnims_VANILLUXE[] = +{ sAnim_GeneralFrame0, sAnim_VANILLUXE_1, }; -static const union AnimCmd *const sAnims_DEERLING[] ={ +static const union AnimCmd *const sAnims_DEERLING[] = +{ sAnim_GeneralFrame0, sAnim_DEERLING_1, }; -static const union AnimCmd *const sAnims_SAWSBUCK[] ={ +static const union AnimCmd *const sAnims_SAWSBUCK[] = +{ sAnim_GeneralFrame0, sAnim_SAWSBUCK_1, }; -static const union AnimCmd *const sAnims_EMOLGA[] ={ +static const union AnimCmd *const sAnims_EMOLGA[] = +{ sAnim_GeneralFrame0, sAnim_EMOLGA_1, }; -static const union AnimCmd *const sAnims_KARRABLAST[] ={ +static const union AnimCmd *const sAnims_KARRABLAST[] = +{ sAnim_GeneralFrame0, sAnim_KARRABLAST_1, }; -static const union AnimCmd *const sAnims_ESCAVALIER[] ={ +static const union AnimCmd *const sAnims_ESCAVALIER[] = +{ sAnim_GeneralFrame0, sAnim_ESCAVALIER_1, }; -static const union AnimCmd *const sAnims_FOONGUS[] ={ +static const union AnimCmd *const sAnims_FOONGUS[] = +{ sAnim_GeneralFrame0, sAnim_FOONGUS_1, }; -static const union AnimCmd *const sAnims_AMOONGUSS[] ={ +static const union AnimCmd *const sAnims_AMOONGUSS[] = +{ sAnim_GeneralFrame0, sAnim_AMOONGUSS_1, }; -static const union AnimCmd *const sAnims_FRILLISH[] ={ +static const union AnimCmd *const sAnims_FRILLISH[] = +{ sAnim_GeneralFrame0, sAnim_FRILLISH_1, }; -static const union AnimCmd *const sAnims_JELLICENT[] ={ +static const union AnimCmd *const sAnims_JELLICENT[] = +{ sAnim_GeneralFrame0, sAnim_JELLICENT_1, }; -static const union AnimCmd *const sAnims_ALOMOMOLA[] ={ +static const union AnimCmd *const sAnims_ALOMOMOLA[] = +{ sAnim_GeneralFrame0, sAnim_ALOMOMOLA_1, }; -static const union AnimCmd *const sAnims_JOLTIK[] ={ +static const union AnimCmd *const sAnims_JOLTIK[] = +{ sAnim_GeneralFrame0, sAnim_JOLTIK_1, }; -static const union AnimCmd *const sAnims_GALVANTULA[] ={ +static const union AnimCmd *const sAnims_GALVANTULA[] = +{ sAnim_GeneralFrame0, sAnim_GALVANTULA_1, }; -static const union AnimCmd *const sAnims_FERROSEED[] ={ +static const union AnimCmd *const sAnims_FERROSEED[] = +{ sAnim_GeneralFrame0, sAnim_FERROSEED_1, }; -static const union AnimCmd *const sAnims_FERROTHORN[] ={ +static const union AnimCmd *const sAnims_FERROTHORN[] = +{ sAnim_GeneralFrame0, sAnim_FERROTHORN_1, }; -static const union AnimCmd *const sAnims_KLINK[] ={ +static const union AnimCmd *const sAnims_KLINK[] = +{ sAnim_GeneralFrame0, sAnim_KLINK_1, }; -static const union AnimCmd *const sAnims_KLANG[] ={ +static const union AnimCmd *const sAnims_KLANG[] = +{ sAnim_GeneralFrame0, sAnim_KLANG_1, }; -static const union AnimCmd *const sAnims_KLINKLANG[] ={ +static const union AnimCmd *const sAnims_KLINKLANG[] = +{ sAnim_GeneralFrame0, sAnim_KLINKLANG_1, }; -static const union AnimCmd *const sAnims_TYNAMO[] ={ +static const union AnimCmd *const sAnims_TYNAMO[] = +{ sAnim_GeneralFrame0, sAnim_TYNAMO_1, }; -static const union AnimCmd *const sAnims_EELEKTRIK[] ={ +static const union AnimCmd *const sAnims_EELEKTRIK[] = +{ sAnim_GeneralFrame0, sAnim_EELEKTRIK_1, }; -static const union AnimCmd *const sAnims_EELEKTROSS[] ={ +static const union AnimCmd *const sAnims_EELEKTROSS[] = +{ sAnim_GeneralFrame0, sAnim_EELEKTROSS_1, }; -static const union AnimCmd *const sAnims_ELGYEM[] ={ +static const union AnimCmd *const sAnims_ELGYEM[] = +{ sAnim_GeneralFrame0, sAnim_ELGYEM_1, }; -static const union AnimCmd *const sAnims_BEHEEYEM[] ={ +static const union AnimCmd *const sAnims_BEHEEYEM[] = +{ sAnim_GeneralFrame0, sAnim_BEHEEYEM_1, }; -static const union AnimCmd *const sAnims_LITWICK[] ={ +static const union AnimCmd *const sAnims_LITWICK[] = +{ sAnim_GeneralFrame0, sAnim_LITWICK_1, }; -static const union AnimCmd *const sAnims_LAMPENT[] ={ +static const union AnimCmd *const sAnims_LAMPENT[] = +{ sAnim_GeneralFrame0, sAnim_LAMPENT_1, }; -static const union AnimCmd *const sAnims_CHANDELURE[] ={ +static const union AnimCmd *const sAnims_CHANDELURE[] = +{ sAnim_GeneralFrame0, sAnim_CHANDELURE_1, }; -static const union AnimCmd *const sAnims_AXEW[] ={ +static const union AnimCmd *const sAnims_AXEW[] = +{ sAnim_GeneralFrame0, sAnim_AXEW_1, }; -static const union AnimCmd *const sAnims_FRAXURE[] ={ +static const union AnimCmd *const sAnims_FRAXURE[] = +{ sAnim_GeneralFrame0, sAnim_FRAXURE_1, }; -static const union AnimCmd *const sAnims_HAXORUS[] ={ +static const union AnimCmd *const sAnims_HAXORUS[] = +{ sAnim_GeneralFrame0, sAnim_HAXORUS_1, }; -static const union AnimCmd *const sAnims_CUBCHOO[] ={ +static const union AnimCmd *const sAnims_CUBCHOO[] = +{ sAnim_GeneralFrame0, sAnim_CUBCHOO_1, }; -static const union AnimCmd *const sAnims_BEARTIC[] ={ +static const union AnimCmd *const sAnims_BEARTIC[] = +{ sAnim_GeneralFrame0, sAnim_BEARTIC_1, }; -static const union AnimCmd *const sAnims_CRYOGONAL[] ={ +static const union AnimCmd *const sAnims_CRYOGONAL[] = +{ sAnim_GeneralFrame0, sAnim_CRYOGONAL_1, }; -static const union AnimCmd *const sAnims_SHELMET[] ={ +static const union AnimCmd *const sAnims_SHELMET[] = +{ sAnim_GeneralFrame0, sAnim_SHELMET_1, }; -static const union AnimCmd *const sAnims_ACCELGOR[] ={ +static const union AnimCmd *const sAnims_ACCELGOR[] = +{ sAnim_GeneralFrame0, sAnim_ACCELGOR_1, }; -static const union AnimCmd *const sAnims_STUNFISK[] ={ +static const union AnimCmd *const sAnims_STUNFISK[] = +{ sAnim_GeneralFrame0, sAnim_STUNFISK_1, }; -static const union AnimCmd *const sAnims_MIENFOO[] ={ +static const union AnimCmd *const sAnims_MIENFOO[] = +{ sAnim_GeneralFrame0, sAnim_MIENFOO_1, }; -static const union AnimCmd *const sAnims_MIENSHAO[] ={ +static const union AnimCmd *const sAnims_MIENSHAO[] = +{ sAnim_GeneralFrame0, sAnim_MIENSHAO_1, }; -static const union AnimCmd *const sAnims_DRUDDIGON[] ={ +static const union AnimCmd *const sAnims_DRUDDIGON[] = +{ sAnim_GeneralFrame0, sAnim_DRUDDIGON_1, }; -static const union AnimCmd *const sAnims_GOLETT[] ={ +static const union AnimCmd *const sAnims_GOLETT[] = +{ sAnim_GeneralFrame0, sAnim_GOLETT_1, }; -static const union AnimCmd *const sAnims_GOLURK[] ={ +static const union AnimCmd *const sAnims_GOLURK[] = +{ sAnim_GeneralFrame0, sAnim_GOLURK_1, }; -static const union AnimCmd *const sAnims_PAWNIARD[] ={ +static const union AnimCmd *const sAnims_PAWNIARD[] = +{ sAnim_GeneralFrame0, sAnim_PAWNIARD_1, }; -static const union AnimCmd *const sAnims_BISHARP[] ={ +static const union AnimCmd *const sAnims_BISHARP[] = +{ sAnim_GeneralFrame0, sAnim_BISHARP_1, }; -static const union AnimCmd *const sAnims_BOUFFALANT[] ={ +static const union AnimCmd *const sAnims_BOUFFALANT[] = +{ sAnim_GeneralFrame0, sAnim_BOUFFALANT_1, }; -static const union AnimCmd *const sAnims_RUFFLET[] ={ +static const union AnimCmd *const sAnims_RUFFLET[] = +{ sAnim_GeneralFrame0, sAnim_RUFFLET_1, }; -static const union AnimCmd *const sAnims_BRAVIARY[] ={ +static const union AnimCmd *const sAnims_BRAVIARY[] = +{ sAnim_GeneralFrame0, sAnim_BRAVIARY_1, }; -static const union AnimCmd *const sAnims_VULLABY[] ={ +static const union AnimCmd *const sAnims_VULLABY[] = +{ sAnim_GeneralFrame0, sAnim_VULLABY_1, }; -static const union AnimCmd *const sAnims_MANDIBUZZ[] ={ +static const union AnimCmd *const sAnims_MANDIBUZZ[] = +{ sAnim_GeneralFrame0, sAnim_MANDIBUZZ_1, }; -static const union AnimCmd *const sAnims_HEATMOR[] ={ +static const union AnimCmd *const sAnims_HEATMOR[] = +{ sAnim_GeneralFrame0, sAnim_HEATMOR_1, }; -static const union AnimCmd *const sAnims_DURANT[] ={ +static const union AnimCmd *const sAnims_DURANT[] = +{ sAnim_GeneralFrame0, sAnim_DURANT_1, }; -static const union AnimCmd *const sAnims_DEINO[] ={ +static const union AnimCmd *const sAnims_DEINO[] = +{ sAnim_GeneralFrame0, sAnim_DEINO_1, }; -static const union AnimCmd *const sAnims_ZWEILOUS[] ={ +static const union AnimCmd *const sAnims_ZWEILOUS[] = +{ sAnim_GeneralFrame0, sAnim_ZWEILOUS_1, }; -static const union AnimCmd *const sAnims_HYDREIGON[] ={ +static const union AnimCmd *const sAnims_HYDREIGON[] = +{ sAnim_GeneralFrame0, sAnim_HYDREIGON_1, }; -static const union AnimCmd *const sAnims_LARVESTA[] ={ +static const union AnimCmd *const sAnims_LARVESTA[] = +{ sAnim_GeneralFrame0, sAnim_LARVESTA_1, }; -static const union AnimCmd *const sAnims_VOLCARONA[] ={ +static const union AnimCmd *const sAnims_VOLCARONA[] = +{ sAnim_GeneralFrame0, sAnim_VOLCARONA_1, }; -static const union AnimCmd *const sAnims_COBALION[] ={ +static const union AnimCmd *const sAnims_COBALION[] = +{ sAnim_GeneralFrame0, sAnim_COBALION_1, }; -static const union AnimCmd *const sAnims_TERRAKION[] ={ +static const union AnimCmd *const sAnims_TERRAKION[] = +{ sAnim_GeneralFrame0, sAnim_TERRAKION_1, }; -static const union AnimCmd *const sAnims_VIRIZION[] ={ +static const union AnimCmd *const sAnims_VIRIZION[] = +{ sAnim_GeneralFrame0, sAnim_VIRIZION_1, }; -static const union AnimCmd *const sAnims_TORNADUS[] ={ +static const union AnimCmd *const sAnims_TORNADUS[] = +{ sAnim_GeneralFrame0, sAnim_TORNADUS_1, }; -static const union AnimCmd *const sAnims_THUNDURUS[] ={ +static const union AnimCmd *const sAnims_THUNDURUS[] = +{ sAnim_GeneralFrame0, sAnim_THUNDURUS_1, }; -static const union AnimCmd *const sAnims_RESHIRAM[] ={ +static const union AnimCmd *const sAnims_RESHIRAM[] = +{ sAnim_GeneralFrame0, sAnim_RESHIRAM_1, }; -static const union AnimCmd *const sAnims_ZEKROM[] ={ +static const union AnimCmd *const sAnims_ZEKROM[] = +{ sAnim_GeneralFrame0, sAnim_ZEKROM_1, }; -static const union AnimCmd *const sAnims_LANDORUS[] ={ +static const union AnimCmd *const sAnims_LANDORUS[] = +{ sAnim_GeneralFrame0, sAnim_LANDORUS_1, }; -static const union AnimCmd *const sAnims_KYUREM[] ={ +static const union AnimCmd *const sAnims_KYUREM[] = +{ sAnim_GeneralFrame0, sAnim_KYUREM_1, }; -static const union AnimCmd *const sAnims_KELDEO[] ={ +static const union AnimCmd *const sAnims_KELDEO[] = +{ sAnim_GeneralFrame0, sAnim_KELDEO_1, }; -static const union AnimCmd *const sAnims_MELOETTA[] ={ +static const union AnimCmd *const sAnims_MELOETTA[] = +{ sAnim_GeneralFrame0, sAnim_MELOETTA_1, }; -static const union AnimCmd *const sAnims_GENESECT[] ={ +static const union AnimCmd *const sAnims_GENESECT[] = +{ sAnim_GeneralFrame0, sAnim_GENESECT_1, }; +#endif -static const union AnimCmd *const sAnims_CHESPIN[] ={ +#if P_GEN_6_POKEMON == TRUE +static const union AnimCmd *const sAnims_CHESPIN[] = +{ sAnim_GeneralFrame0, sAnim_CHESPIN_1, }; -static const union AnimCmd *const sAnims_QUILLADIN[] ={ +static const union AnimCmd *const sAnims_QUILLADIN[] = +{ sAnim_GeneralFrame0, sAnim_QUILLADIN_1, }; -static const union AnimCmd *const sAnims_CHESNAUGHT[] ={ +static const union AnimCmd *const sAnims_CHESNAUGHT[] = +{ sAnim_GeneralFrame0, sAnim_CHESNAUGHT_1, }; -static const union AnimCmd *const sAnims_FENNEKIN[] ={ +static const union AnimCmd *const sAnims_FENNEKIN[] = +{ sAnim_GeneralFrame0, sAnim_FENNEKIN_1, }; -static const union AnimCmd *const sAnims_BRAIXEN[] ={ +static const union AnimCmd *const sAnims_BRAIXEN[] = +{ sAnim_GeneralFrame0, sAnim_BRAIXEN_1, }; -static const union AnimCmd *const sAnims_DELPHOX[] ={ +static const union AnimCmd *const sAnims_DELPHOX[] = +{ sAnim_GeneralFrame0, sAnim_DELPHOX_1, }; -static const union AnimCmd *const sAnims_FROAKIE[] ={ +static const union AnimCmd *const sAnims_FROAKIE[] = +{ sAnim_GeneralFrame0, sAnim_FROAKIE_1, }; -static const union AnimCmd *const sAnims_FROGADIER[] ={ +static const union AnimCmd *const sAnims_FROGADIER[] = +{ sAnim_GeneralFrame0, sAnim_FROGADIER_1, }; -static const union AnimCmd *const sAnims_GRENINJA[] ={ +static const union AnimCmd *const sAnims_GRENINJA[] = +{ sAnim_GeneralFrame0, sAnim_GRENINJA_1, }; -static const union AnimCmd *const sAnims_BUNNELBY[] ={ +static const union AnimCmd *const sAnims_BUNNELBY[] = +{ sAnim_GeneralFrame0, sAnim_BUNNELBY_1, }; -static const union AnimCmd *const sAnims_DIGGERSBY[] ={ +static const union AnimCmd *const sAnims_DIGGERSBY[] = +{ sAnim_GeneralFrame0, sAnim_DIGGERSBY_1, }; -static const union AnimCmd *const sAnims_FLETCHLING[] ={ +static const union AnimCmd *const sAnims_FLETCHLING[] = +{ sAnim_GeneralFrame0, sAnim_FLETCHLING_1, }; -static const union AnimCmd *const sAnims_FLETCHINDER[] ={ +static const union AnimCmd *const sAnims_FLETCHINDER[] = +{ sAnim_GeneralFrame0, sAnim_FLETCHINDER_1, }; -static const union AnimCmd *const sAnims_TALONFLAME[] ={ +static const union AnimCmd *const sAnims_TALONFLAME[] = +{ sAnim_GeneralFrame0, sAnim_TALONFLAME_1, }; -static const union AnimCmd *const sAnims_SCATTERBUG[] ={ +static const union AnimCmd *const sAnims_SCATTERBUG[] = +{ sAnim_GeneralFrame0, sAnim_SCATTERBUG_1, }; -static const union AnimCmd *const sAnims_SPEWPA[] ={ +static const union AnimCmd *const sAnims_SPEWPA[] = +{ sAnim_GeneralFrame0, sAnim_SPEWPA_1, }; -static const union AnimCmd *const sAnims_VIVILLON[] ={ +static const union AnimCmd *const sAnims_VIVILLON[] = +{ sAnim_GeneralFrame0, sAnim_VIVILLON_1, }; -static const union AnimCmd *const sAnims_LITLEO[] ={ +static const union AnimCmd *const sAnims_LITLEO[] = +{ sAnim_GeneralFrame0, sAnim_LITLEO_1, }; -static const union AnimCmd *const sAnims_PYROAR[] ={ +static const union AnimCmd *const sAnims_PYROAR[] = +{ sAnim_GeneralFrame0, sAnim_PYROAR_1, }; -static const union AnimCmd *const sAnims_FLABEBE[] ={ +static const union AnimCmd *const sAnims_FLABEBE[] = +{ sAnim_GeneralFrame0, sAnim_FLABEBE_1, }; -static const union AnimCmd *const sAnims_FLOETTE[] ={ +static const union AnimCmd *const sAnims_FLOETTE[] = +{ sAnim_GeneralFrame0, sAnim_FLOETTE_1, }; -static const union AnimCmd *const sAnims_FLORGES[] ={ +static const union AnimCmd *const sAnims_FLORGES[] = +{ sAnim_GeneralFrame0, sAnim_FLORGES_1, }; -static const union AnimCmd *const sAnims_SKIDDO[] ={ +static const union AnimCmd *const sAnims_SKIDDO[] = +{ sAnim_GeneralFrame0, sAnim_SKIDDO_1, }; -static const union AnimCmd *const sAnims_GOGOAT[] ={ +static const union AnimCmd *const sAnims_GOGOAT[] = +{ sAnim_GeneralFrame0, sAnim_GOGOAT_1, }; -static const union AnimCmd *const sAnims_PANCHAM[] ={ +static const union AnimCmd *const sAnims_PANCHAM[] = +{ sAnim_GeneralFrame0, sAnim_PANCHAM_1, }; -static const union AnimCmd *const sAnims_PANGORO[] ={ +static const union AnimCmd *const sAnims_PANGORO[] = +{ sAnim_GeneralFrame0, sAnim_PANGORO_1, }; -static const union AnimCmd *const sAnims_FURFROU[] ={ +static const union AnimCmd *const sAnims_FURFROU[] = +{ sAnim_GeneralFrame0, sAnim_FURFROU_1, }; -static const union AnimCmd *const sAnims_ESPURR[] ={ +static const union AnimCmd *const sAnims_ESPURR[] = +{ sAnim_GeneralFrame0, sAnim_ESPURR_1, }; -static const union AnimCmd *const sAnims_MEOWSTIC[] ={ +static const union AnimCmd *const sAnims_MEOWSTIC[] = +{ sAnim_GeneralFrame0, sAnim_MEOWSTIC_1, }; -static const union AnimCmd *const sAnims_HONEDGE[] ={ +static const union AnimCmd *const sAnims_HONEDGE[] = +{ sAnim_GeneralFrame0, sAnim_HONEDGE_1, }; -static const union AnimCmd *const sAnims_DOUBLADE[] ={ +static const union AnimCmd *const sAnims_DOUBLADE[] = +{ sAnim_GeneralFrame0, sAnim_DOUBLADE_1, }; -static const union AnimCmd *const sAnims_AEGISLASH[] ={ +static const union AnimCmd *const sAnims_AEGISLASH[] = +{ sAnim_GeneralFrame0, sAnim_AEGISLASH_1, }; -static const union AnimCmd *const sAnims_SPRITZEE[] ={ +static const union AnimCmd *const sAnims_SPRITZEE[] = +{ sAnim_GeneralFrame0, sAnim_SPRITZEE_1, }; -static const union AnimCmd *const sAnims_AROMATISSE[] ={ +static const union AnimCmd *const sAnims_AROMATISSE[] = +{ sAnim_GeneralFrame0, sAnim_AROMATISSE_1, }; -static const union AnimCmd *const sAnims_SWIRLIX[] ={ +static const union AnimCmd *const sAnims_SWIRLIX[] = +{ sAnim_GeneralFrame0, sAnim_SWIRLIX_1, }; -static const union AnimCmd *const sAnims_SLURPUFF[] ={ +static const union AnimCmd *const sAnims_SLURPUFF[] = +{ sAnim_GeneralFrame0, sAnim_SLURPUFF_1, }; -static const union AnimCmd *const sAnims_INKAY[] ={ +static const union AnimCmd *const sAnims_INKAY[] = +{ sAnim_GeneralFrame0, sAnim_INKAY_1, }; -static const union AnimCmd *const sAnims_MALAMAR[] ={ +static const union AnimCmd *const sAnims_MALAMAR[] = +{ sAnim_GeneralFrame0, sAnim_MALAMAR_1, }; -static const union AnimCmd *const sAnims_BINACLE[] ={ +static const union AnimCmd *const sAnims_BINACLE[] = +{ sAnim_GeneralFrame0, sAnim_BINACLE_1, }; -static const union AnimCmd *const sAnims_BARBARACLE[] ={ +static const union AnimCmd *const sAnims_BARBARACLE[] = +{ sAnim_GeneralFrame0, sAnim_BARBARACLE_1, }; -static const union AnimCmd *const sAnims_SKRELP[] ={ +static const union AnimCmd *const sAnims_SKRELP[] = +{ sAnim_GeneralFrame0, sAnim_SKRELP_1, }; -static const union AnimCmd *const sAnims_DRAGALGE[] ={ +static const union AnimCmd *const sAnims_DRAGALGE[] = +{ sAnim_GeneralFrame0, sAnim_DRAGALGE_1, }; -static const union AnimCmd *const sAnims_CLAUNCHER[] ={ +static const union AnimCmd *const sAnims_CLAUNCHER[] = +{ sAnim_GeneralFrame0, sAnim_CLAUNCHER_1, }; -static const union AnimCmd *const sAnims_CLAWITZER[] ={ +static const union AnimCmd *const sAnims_CLAWITZER[] = +{ sAnim_GeneralFrame0, sAnim_CLAWITZER_1, }; -static const union AnimCmd *const sAnims_HELIOPTILE[] ={ +static const union AnimCmd *const sAnims_HELIOPTILE[] = +{ sAnim_GeneralFrame0, sAnim_HELIOPTILE_1, }; -static const union AnimCmd *const sAnims_HELIOLISK[] ={ +static const union AnimCmd *const sAnims_HELIOLISK[] = +{ sAnim_GeneralFrame0, sAnim_HELIOLISK_1, }; -static const union AnimCmd *const sAnims_TYRUNT[] ={ +static const union AnimCmd *const sAnims_TYRUNT[] = +{ sAnim_GeneralFrame0, sAnim_TYRUNT_1, }; -static const union AnimCmd *const sAnims_TYRANTRUM[] ={ +static const union AnimCmd *const sAnims_TYRANTRUM[] = +{ sAnim_GeneralFrame0, sAnim_TYRANTRUM_1, }; -static const union AnimCmd *const sAnims_AMAURA[] ={ +static const union AnimCmd *const sAnims_AMAURA[] = +{ sAnim_GeneralFrame0, sAnim_AMAURA_1, }; -static const union AnimCmd *const sAnims_AURORUS[] ={ +static const union AnimCmd *const sAnims_AURORUS[] = +{ sAnim_GeneralFrame0, sAnim_AURORUS_1, }; -static const union AnimCmd *const sAnims_SYLVEON[] ={ +static const union AnimCmd *const sAnims_SYLVEON[] = +{ sAnim_GeneralFrame0, sAnim_SYLVEON_1, }; -static const union AnimCmd *const sAnims_HAWLUCHA[] ={ +static const union AnimCmd *const sAnims_HAWLUCHA[] = +{ sAnim_GeneralFrame0, sAnim_HAWLUCHA_1, }; -static const union AnimCmd *const sAnims_DEDENNE[] ={ +static const union AnimCmd *const sAnims_DEDENNE[] = +{ sAnim_GeneralFrame0, sAnim_DEDENNE_1, }; -static const union AnimCmd *const sAnims_CARBINK[] ={ +static const union AnimCmd *const sAnims_CARBINK[] = +{ sAnim_GeneralFrame0, sAnim_CARBINK_1, }; -static const union AnimCmd *const sAnims_GOOMY[] ={ +static const union AnimCmd *const sAnims_GOOMY[] = +{ sAnim_GeneralFrame0, sAnim_GOOMY_1, }; -static const union AnimCmd *const sAnims_SLIGGOO[] ={ +static const union AnimCmd *const sAnims_SLIGGOO[] = +{ sAnim_GeneralFrame0, sAnim_SLIGGOO_1, }; -static const union AnimCmd *const sAnims_GOODRA[] ={ +static const union AnimCmd *const sAnims_GOODRA[] = +{ sAnim_GeneralFrame0, sAnim_GOODRA_1, }; -static const union AnimCmd *const sAnims_KLEFKI[] ={ +static const union AnimCmd *const sAnims_KLEFKI[] = +{ sAnim_GeneralFrame0, sAnim_KLEFKI_1, }; -static const union AnimCmd *const sAnims_PHANTUMP[] ={ +static const union AnimCmd *const sAnims_PHANTUMP[] = +{ sAnim_GeneralFrame0, sAnim_PHANTUMP_1, }; -static const union AnimCmd *const sAnims_TREVENANT[] ={ +static const union AnimCmd *const sAnims_TREVENANT[] = +{ sAnim_GeneralFrame0, sAnim_TREVENANT_1, }; -static const union AnimCmd *const sAnims_PUMPKABOO[] ={ +static const union AnimCmd *const sAnims_PUMPKABOO[] = +{ sAnim_GeneralFrame0, sAnim_PUMPKABOO_1, }; -static const union AnimCmd *const sAnims_GOURGEIST[] ={ +static const union AnimCmd *const sAnims_GOURGEIST[] = +{ sAnim_GeneralFrame0, sAnim_GOURGEIST_1, }; -static const union AnimCmd *const sAnims_BERGMITE[] ={ +static const union AnimCmd *const sAnims_BERGMITE[] = +{ sAnim_GeneralFrame0, sAnim_BERGMITE_1, }; -static const union AnimCmd *const sAnims_AVALUGG[] ={ +static const union AnimCmd *const sAnims_AVALUGG[] = +{ sAnim_GeneralFrame0, sAnim_AVALUGG_1, }; -static const union AnimCmd *const sAnims_NOIBAT[] ={ +static const union AnimCmd *const sAnims_NOIBAT[] = +{ sAnim_GeneralFrame0, sAnim_NOIBAT_1, }; -static const union AnimCmd *const sAnims_NOIVERN[] ={ +static const union AnimCmd *const sAnims_NOIVERN[] = +{ sAnim_GeneralFrame0, sAnim_NOIVERN_1, }; -static const union AnimCmd *const sAnims_XERNEAS[] ={ +static const union AnimCmd *const sAnims_XERNEAS[] = +{ sAnim_GeneralFrame0, sAnim_XERNEAS_1, }; -static const union AnimCmd *const sAnims_YVELTAL[] ={ +static const union AnimCmd *const sAnims_YVELTAL[] = +{ sAnim_GeneralFrame0, sAnim_YVELTAL_1, }; -static const union AnimCmd *const sAnims_ZYGARDE[] ={ +static const union AnimCmd *const sAnims_ZYGARDE[] = +{ sAnim_GeneralFrame0, sAnim_ZYGARDE_1, }; -static const union AnimCmd *const sAnims_DIANCIE[] ={ +static const union AnimCmd *const sAnims_DIANCIE[] = +{ sAnim_GeneralFrame0, sAnim_DIANCIE_1, }; -static const union AnimCmd *const sAnims_HOOPA[] ={ +static const union AnimCmd *const sAnims_HOOPA[] = +{ sAnim_GeneralFrame0, sAnim_HOOPA_1, }; -static const union AnimCmd *const sAnims_VOLCANION[] ={ +static const union AnimCmd *const sAnims_VOLCANION[] = +{ sAnim_GeneralFrame0, sAnim_VOLCANION_1, }; +#endif -static const union AnimCmd *const sAnims_ROWLET[] ={ +#if P_GEN_7_POKEMON == TRUE +static const union AnimCmd *const sAnims_ROWLET[] = +{ sAnim_GeneralFrame0, sAnim_ROWLET_1, }; -static const union AnimCmd *const sAnims_DARTRIX[] ={ +static const union AnimCmd *const sAnims_DARTRIX[] = +{ sAnim_GeneralFrame0, sAnim_DARTRIX_1, }; -static const union AnimCmd *const sAnims_DECIDUEYE[] ={ +static const union AnimCmd *const sAnims_DECIDUEYE[] = +{ sAnim_GeneralFrame0, sAnim_DECIDUEYE_1, }; -static const union AnimCmd *const sAnims_LITTEN[] ={ +static const union AnimCmd *const sAnims_LITTEN[] = +{ sAnim_GeneralFrame0, sAnim_LITTEN_1, }; -static const union AnimCmd *const sAnims_TORRACAT[] ={ +static const union AnimCmd *const sAnims_TORRACAT[] = +{ sAnim_GeneralFrame0, sAnim_TORRACAT_1, }; -static const union AnimCmd *const sAnims_INCINEROAR[] ={ +static const union AnimCmd *const sAnims_INCINEROAR[] = +{ sAnim_GeneralFrame0, sAnim_INCINEROAR_1, }; -static const union AnimCmd *const sAnims_POPPLIO[] ={ +static const union AnimCmd *const sAnims_POPPLIO[] = +{ sAnim_GeneralFrame0, sAnim_POPPLIO_1, }; -static const union AnimCmd *const sAnims_BRIONNE[] ={ +static const union AnimCmd *const sAnims_BRIONNE[] = +{ sAnim_GeneralFrame0, sAnim_BRIONNE_1, }; -static const union AnimCmd *const sAnims_PRIMARINA[] ={ +static const union AnimCmd *const sAnims_PRIMARINA[] = +{ sAnim_GeneralFrame0, sAnim_PRIMARINA_1, }; -static const union AnimCmd *const sAnims_PIKIPEK[] ={ +static const union AnimCmd *const sAnims_PIKIPEK[] = +{ sAnim_GeneralFrame0, sAnim_PIKIPEK_1, }; -static const union AnimCmd *const sAnims_TRUMBEAK[] ={ +static const union AnimCmd *const sAnims_TRUMBEAK[] = +{ sAnim_GeneralFrame0, sAnim_TRUMBEAK_1, }; -static const union AnimCmd *const sAnims_TOUCANNON[] ={ +static const union AnimCmd *const sAnims_TOUCANNON[] = +{ sAnim_GeneralFrame0, sAnim_TOUCANNON_1, }; -static const union AnimCmd *const sAnims_YUNGOOS[] ={ +static const union AnimCmd *const sAnims_YUNGOOS[] = +{ sAnim_GeneralFrame0, sAnim_YUNGOOS_1, }; -static const union AnimCmd *const sAnims_GUMSHOOS[] ={ +static const union AnimCmd *const sAnims_GUMSHOOS[] = +{ sAnim_GeneralFrame0, sAnim_GUMSHOOS_1, }; -static const union AnimCmd *const sAnims_GRUBBIN[] ={ +static const union AnimCmd *const sAnims_GRUBBIN[] = +{ sAnim_GeneralFrame0, sAnim_GRUBBIN_1, }; -static const union AnimCmd *const sAnims_CHARJABUG[] ={ +static const union AnimCmd *const sAnims_CHARJABUG[] = +{ sAnim_GeneralFrame0, sAnim_CHARJABUG_1, }; -static const union AnimCmd *const sAnims_VIKAVOLT[] ={ +static const union AnimCmd *const sAnims_VIKAVOLT[] = +{ sAnim_GeneralFrame0, sAnim_VIKAVOLT_1, }; -static const union AnimCmd *const sAnims_CRABRAWLER[] ={ +static const union AnimCmd *const sAnims_CRABRAWLER[] = +{ sAnim_GeneralFrame0, sAnim_CRABRAWLER_1, }; -static const union AnimCmd *const sAnims_CRABOMINABLE[] ={ +static const union AnimCmd *const sAnims_CRABOMINABLE[] = +{ sAnim_GeneralFrame0, sAnim_CRABOMINABLE_1, }; -static const union AnimCmd *const sAnims_ORICORIO[] ={ +static const union AnimCmd *const sAnims_ORICORIO[] = +{ sAnim_GeneralFrame0, sAnim_ORICORIO_1, }; -static const union AnimCmd *const sAnims_CUTIEFLY[] ={ +static const union AnimCmd *const sAnims_CUTIEFLY[] = +{ sAnim_GeneralFrame0, sAnim_CUTIEFLY_1, }; -static const union AnimCmd *const sAnims_RIBOMBEE[] ={ +static const union AnimCmd *const sAnims_RIBOMBEE[] = +{ sAnim_GeneralFrame0, sAnim_RIBOMBEE_1, }; -static const union AnimCmd *const sAnims_ROCKRUFF[] ={ +static const union AnimCmd *const sAnims_ROCKRUFF[] = +{ sAnim_GeneralFrame0, sAnim_ROCKRUFF_1, }; -static const union AnimCmd *const sAnims_LYCANROC[] ={ +static const union AnimCmd *const sAnims_LYCANROC[] = +{ sAnim_GeneralFrame0, sAnim_LYCANROC_1, }; -static const union AnimCmd *const sAnims_WISHIWASHI[] ={ +static const union AnimCmd *const sAnims_WISHIWASHI[] = +{ sAnim_GeneralFrame0, sAnim_WISHIWASHI_1, }; -static const union AnimCmd *const sAnims_MAREANIE[] ={ +static const union AnimCmd *const sAnims_MAREANIE[] = +{ sAnim_GeneralFrame0, sAnim_MAREANIE_1, }; -static const union AnimCmd *const sAnims_TOXAPEX[] ={ +static const union AnimCmd *const sAnims_TOXAPEX[] = +{ sAnim_GeneralFrame0, sAnim_TOXAPEX_1, }; -static const union AnimCmd *const sAnims_MUDBRAY[] ={ +static const union AnimCmd *const sAnims_MUDBRAY[] = +{ sAnim_GeneralFrame0, sAnim_MUDBRAY_1, }; -static const union AnimCmd *const sAnims_MUDSDALE[] ={ +static const union AnimCmd *const sAnims_MUDSDALE[] = +{ sAnim_GeneralFrame0, sAnim_MUDSDALE_1, }; -static const union AnimCmd *const sAnims_DEWPIDER[] ={ +static const union AnimCmd *const sAnims_DEWPIDER[] = +{ sAnim_GeneralFrame0, sAnim_DEWPIDER_1, }; -static const union AnimCmd *const sAnims_ARAQUANID[] ={ +static const union AnimCmd *const sAnims_ARAQUANID[] = +{ sAnim_GeneralFrame0, sAnim_ARAQUANID_1, }; -static const union AnimCmd *const sAnims_FOMANTIS[] ={ +static const union AnimCmd *const sAnims_FOMANTIS[] = +{ sAnim_GeneralFrame0, sAnim_FOMANTIS_1, }; -static const union AnimCmd *const sAnims_LURANTIS[] ={ +static const union AnimCmd *const sAnims_LURANTIS[] = +{ sAnim_GeneralFrame0, sAnim_LURANTIS_1, }; -static const union AnimCmd *const sAnims_MORELULL[] ={ +static const union AnimCmd *const sAnims_MORELULL[] = +{ sAnim_GeneralFrame0, sAnim_MORELULL_1, }; -static const union AnimCmd *const sAnims_SHIINOTIC[] ={ +static const union AnimCmd *const sAnims_SHIINOTIC[] = +{ sAnim_GeneralFrame0, sAnim_SHIINOTIC_1, }; -static const union AnimCmd *const sAnims_SALANDIT[] ={ +static const union AnimCmd *const sAnims_SALANDIT[] = +{ sAnim_GeneralFrame0, sAnim_SALANDIT_1, }; -static const union AnimCmd *const sAnims_SALAZZLE[] ={ +static const union AnimCmd *const sAnims_SALAZZLE[] = +{ sAnim_GeneralFrame0, sAnim_SALAZZLE_1, }; -static const union AnimCmd *const sAnims_STUFFUL[] ={ +static const union AnimCmd *const sAnims_STUFFUL[] = +{ sAnim_GeneralFrame0, sAnim_STUFFUL_1, }; -static const union AnimCmd *const sAnims_BEWEAR[] ={ +static const union AnimCmd *const sAnims_BEWEAR[] = +{ sAnim_GeneralFrame0, sAnim_BEWEAR_1, }; -static const union AnimCmd *const sAnims_BOUNSWEET[] ={ +static const union AnimCmd *const sAnims_BOUNSWEET[] = +{ sAnim_GeneralFrame0, sAnim_BOUNSWEET_1, }; -static const union AnimCmd *const sAnims_STEENEE[] ={ +static const union AnimCmd *const sAnims_STEENEE[] = +{ sAnim_GeneralFrame0, sAnim_STEENEE_1, }; -static const union AnimCmd *const sAnims_TSAREENA[] ={ +static const union AnimCmd *const sAnims_TSAREENA[] = +{ sAnim_GeneralFrame0, sAnim_TSAREENA_1, }; -static const union AnimCmd *const sAnims_COMFEY[] ={ +static const union AnimCmd *const sAnims_COMFEY[] = +{ sAnim_GeneralFrame0, sAnim_COMFEY_1, }; -static const union AnimCmd *const sAnims_ORANGURU[] ={ +static const union AnimCmd *const sAnims_ORANGURU[] = +{ sAnim_GeneralFrame0, sAnim_ORANGURU_1, }; -static const union AnimCmd *const sAnims_PASSIMIAN[] ={ +static const union AnimCmd *const sAnims_PASSIMIAN[] = +{ sAnim_GeneralFrame0, sAnim_PASSIMIAN_1, }; -static const union AnimCmd *const sAnims_WIMPOD[] ={ +static const union AnimCmd *const sAnims_WIMPOD[] = +{ sAnim_GeneralFrame0, sAnim_WIMPOD_1, }; -static const union AnimCmd *const sAnims_GOLISOPOD[] ={ +static const union AnimCmd *const sAnims_GOLISOPOD[] = +{ sAnim_GeneralFrame0, sAnim_GOLISOPOD_1, }; -static const union AnimCmd *const sAnims_SANDYGAST[] ={ +static const union AnimCmd *const sAnims_SANDYGAST[] = +{ sAnim_GeneralFrame0, sAnim_SANDYGAST_1, }; -static const union AnimCmd *const sAnims_PALOSSAND[] ={ +static const union AnimCmd *const sAnims_PALOSSAND[] = +{ sAnim_GeneralFrame0, sAnim_PALOSSAND_1, }; -static const union AnimCmd *const sAnims_PYUKUMUKU[] ={ +static const union AnimCmd *const sAnims_PYUKUMUKU[] = +{ sAnim_GeneralFrame0, sAnim_PYUKUMUKU_1, }; -static const union AnimCmd *const sAnims_TYPE_NULL[] ={ +static const union AnimCmd *const sAnims_TYPE_NULL[] = +{ sAnim_GeneralFrame0, sAnim_TYPE_NULL_1, }; -static const union AnimCmd *const sAnims_SILVALLY[] ={ +static const union AnimCmd *const sAnims_SILVALLY[] = +{ sAnim_GeneralFrame0, sAnim_SILVALLY_1, }; -static const union AnimCmd *const sAnims_MINIOR[] ={ +static const union AnimCmd *const sAnims_MINIOR[] = +{ sAnim_GeneralFrame0, sAnim_MINIOR_1, }; -static const union AnimCmd *const sAnims_KOMALA[] ={ +static const union AnimCmd *const sAnims_KOMALA[] = +{ sAnim_GeneralFrame0, sAnim_KOMALA_1, }; -static const union AnimCmd *const sAnims_TURTONATOR[] ={ +static const union AnimCmd *const sAnims_TURTONATOR[] = +{ sAnim_GeneralFrame0, sAnim_TURTONATOR_1, }; -static const union AnimCmd *const sAnims_TOGEDEMARU[] ={ +static const union AnimCmd *const sAnims_TOGEDEMARU[] = +{ sAnim_GeneralFrame0, sAnim_TOGEDEMARU_1, }; -static const union AnimCmd *const sAnims_MIMIKYU[] ={ +static const union AnimCmd *const sAnims_MIMIKYU[] = +{ sAnim_GeneralFrame0, sAnim_MIMIKYU_1, }; -static const union AnimCmd *const sAnims_BRUXISH[] ={ +static const union AnimCmd *const sAnims_BRUXISH[] = +{ sAnim_GeneralFrame0, sAnim_BRUXISH_1, }; -static const union AnimCmd *const sAnims_DRAMPA[] ={ +static const union AnimCmd *const sAnims_DRAMPA[] = +{ sAnim_GeneralFrame0, sAnim_DRAMPA_1, }; -static const union AnimCmd *const sAnims_DHELMISE[] ={ +static const union AnimCmd *const sAnims_DHELMISE[] = +{ sAnim_GeneralFrame0, sAnim_DHELMISE_1, }; -static const union AnimCmd *const sAnims_JANGMO_O[] ={ +static const union AnimCmd *const sAnims_JANGMO_O[] = +{ sAnim_GeneralFrame0, sAnim_JANGMO_O_1, }; -static const union AnimCmd *const sAnims_HAKAMO_O[] ={ +static const union AnimCmd *const sAnims_HAKAMO_O[] = +{ sAnim_GeneralFrame0, sAnim_HAKAMO_O_1, }; -static const union AnimCmd *const sAnims_KOMMO_O[] ={ +static const union AnimCmd *const sAnims_KOMMO_O[] = +{ sAnim_GeneralFrame0, sAnim_KOMMO_O_1, }; -static const union AnimCmd *const sAnims_TAPU_KOKO[] ={ +static const union AnimCmd *const sAnims_TAPU_KOKO[] = +{ sAnim_GeneralFrame0, sAnim_TAPU_KOKO_1, }; -static const union AnimCmd *const sAnims_TAPU_LELE[] ={ +static const union AnimCmd *const sAnims_TAPU_LELE[] = +{ sAnim_GeneralFrame0, sAnim_TAPU_LELE_1, }; -static const union AnimCmd *const sAnims_TAPU_BULU[] ={ +static const union AnimCmd *const sAnims_TAPU_BULU[] = +{ sAnim_GeneralFrame0, sAnim_TAPU_BULU_1, }; -static const union AnimCmd *const sAnims_TAPU_FINI[] ={ +static const union AnimCmd *const sAnims_TAPU_FINI[] = +{ sAnim_GeneralFrame0, sAnim_TAPU_FINI_1, }; -static const union AnimCmd *const sAnims_COSMOG[] ={ +static const union AnimCmd *const sAnims_COSMOG[] = +{ sAnim_GeneralFrame0, sAnim_COSMOG_1, }; -static const union AnimCmd *const sAnims_COSMOEM[] ={ +static const union AnimCmd *const sAnims_COSMOEM[] = +{ sAnim_GeneralFrame0, sAnim_COSMOEM_1, }; -static const union AnimCmd *const sAnims_SOLGALEO[] ={ +static const union AnimCmd *const sAnims_SOLGALEO[] = +{ sAnim_GeneralFrame0, sAnim_SOLGALEO_1, }; -static const union AnimCmd *const sAnims_LUNALA[] ={ +static const union AnimCmd *const sAnims_LUNALA[] = +{ sAnim_GeneralFrame0, sAnim_LUNALA_1, }; -static const union AnimCmd *const sAnims_NIHILEGO[] ={ +static const union AnimCmd *const sAnims_NIHILEGO[] = +{ sAnim_GeneralFrame0, sAnim_NIHILEGO_1, }; -static const union AnimCmd *const sAnims_BUZZWOLE[] ={ +static const union AnimCmd *const sAnims_BUZZWOLE[] = +{ sAnim_GeneralFrame0, sAnim_BUZZWOLE_1, }; -static const union AnimCmd *const sAnims_PHEROMOSA[] ={ +static const union AnimCmd *const sAnims_PHEROMOSA[] = +{ sAnim_GeneralFrame0, sAnim_PHEROMOSA_1, }; -static const union AnimCmd *const sAnims_XURKITREE[] ={ +static const union AnimCmd *const sAnims_XURKITREE[] = +{ sAnim_GeneralFrame0, sAnim_XURKITREE_1, }; -static const union AnimCmd *const sAnims_CELESTEELA[] ={ +static const union AnimCmd *const sAnims_CELESTEELA[] = +{ sAnim_GeneralFrame0, sAnim_CELESTEELA_1, }; -static const union AnimCmd *const sAnims_KARTANA[] ={ +static const union AnimCmd *const sAnims_KARTANA[] = +{ sAnim_GeneralFrame0, sAnim_KARTANA_1, }; -static const union AnimCmd *const sAnims_GUZZLORD[] ={ +static const union AnimCmd *const sAnims_GUZZLORD[] = +{ sAnim_GeneralFrame0, sAnim_GUZZLORD_1, }; -static const union AnimCmd *const sAnims_NECROZMA[] ={ +static const union AnimCmd *const sAnims_NECROZMA[] = +{ sAnim_GeneralFrame0, sAnim_NECROZMA_1, }; -static const union AnimCmd *const sAnims_MAGEARNA[] ={ +static const union AnimCmd *const sAnims_MAGEARNA[] = +{ sAnim_GeneralFrame0, sAnim_MAGEARNA_1, }; -static const union AnimCmd *const sAnims_MARSHADOW[] ={ +static const union AnimCmd *const sAnims_MARSHADOW[] = +{ sAnim_GeneralFrame0, sAnim_MARSHADOW_1, }; -static const union AnimCmd *const sAnims_POIPOLE[] ={ +static const union AnimCmd *const sAnims_POIPOLE[] = +{ sAnim_GeneralFrame0, sAnim_POIPOLE_1, }; -static const union AnimCmd *const sAnims_NAGANADEL[] ={ +static const union AnimCmd *const sAnims_NAGANADEL[] = +{ sAnim_GeneralFrame0, sAnim_NAGANADEL_1, }; -static const union AnimCmd *const sAnims_STAKATAKA[] ={ +static const union AnimCmd *const sAnims_STAKATAKA[] = +{ sAnim_GeneralFrame0, sAnim_STAKATAKA_1, }; -static const union AnimCmd *const sAnims_BLACEPHALON[] ={ +static const union AnimCmd *const sAnims_BLACEPHALON[] = +{ sAnim_GeneralFrame0, sAnim_BLACEPHALON_1, }; -static const union AnimCmd *const sAnims_ZERAORA[] ={ +static const union AnimCmd *const sAnims_ZERAORA[] = +{ sAnim_GeneralFrame0, sAnim_ZERAORA_1, }; -static const union AnimCmd *const sAnims_MELTAN[] ={ +static const union AnimCmd *const sAnims_MELTAN[] = +{ sAnim_GeneralFrame0, sAnim_MELTAN_1, }; -static const union AnimCmd *const sAnims_MELMETAL[] ={ +static const union AnimCmd *const sAnims_MELMETAL[] = +{ sAnim_GeneralFrame0, sAnim_MELMETAL_1, }; +#endif -static const union AnimCmd *const sAnims_GROOKEY[] ={ +#if P_GEN_8_POKEMON == TRUE +static const union AnimCmd *const sAnims_GROOKEY[] = +{ sAnim_GeneralFrame0, sAnim_GROOKEY_1, }; -static const union AnimCmd *const sAnims_THWACKEY[] ={ +static const union AnimCmd *const sAnims_THWACKEY[] = +{ sAnim_GeneralFrame0, sAnim_THWACKEY_1, }; -static const union AnimCmd *const sAnims_RILLABOOM[] ={ +static const union AnimCmd *const sAnims_RILLABOOM[] = +{ sAnim_GeneralFrame0, sAnim_RILLABOOM_1, }; -static const union AnimCmd *const sAnims_SCORBUNNY[] ={ +static const union AnimCmd *const sAnims_SCORBUNNY[] = +{ sAnim_GeneralFrame0, sAnim_SCORBUNNY_1, }; -static const union AnimCmd *const sAnims_RABOOT[] ={ +static const union AnimCmd *const sAnims_RABOOT[] = +{ sAnim_GeneralFrame0, sAnim_RABOOT_1, }; -static const union AnimCmd *const sAnims_CINDERACE[] ={ +static const union AnimCmd *const sAnims_CINDERACE[] = +{ sAnim_GeneralFrame0, sAnim_CINDERACE_1, }; -static const union AnimCmd *const sAnims_SOBBLE[] ={ +static const union AnimCmd *const sAnims_SOBBLE[] = +{ sAnim_GeneralFrame0, sAnim_SOBBLE_1, }; -static const union AnimCmd *const sAnims_DRIZZILE[] ={ +static const union AnimCmd *const sAnims_DRIZZILE[] = +{ sAnim_GeneralFrame0, sAnim_DRIZZILE_1, }; -static const union AnimCmd *const sAnims_INTELEON[] ={ +static const union AnimCmd *const sAnims_INTELEON[] = +{ sAnim_GeneralFrame0, sAnim_INTELEON_1, }; -static const union AnimCmd *const sAnims_SKWOVET[] ={ +static const union AnimCmd *const sAnims_SKWOVET[] = +{ sAnim_GeneralFrame0, sAnim_SKWOVET_1, }; -static const union AnimCmd *const sAnims_GREEDENT[] ={ +static const union AnimCmd *const sAnims_GREEDENT[] = +{ sAnim_GeneralFrame0, sAnim_GREEDENT_1, }; -static const union AnimCmd *const sAnims_ROOKIDEE[] ={ +static const union AnimCmd *const sAnims_ROOKIDEE[] = +{ sAnim_GeneralFrame0, sAnim_ROOKIDEE_1, }; -static const union AnimCmd *const sAnims_CORVISQUIRE[] ={ +static const union AnimCmd *const sAnims_CORVISQUIRE[] = +{ sAnim_GeneralFrame0, sAnim_CORVISQUIRE_1, }; -static const union AnimCmd *const sAnims_CORVIKNIGHT[] ={ +static const union AnimCmd *const sAnims_CORVIKNIGHT[] = +{ sAnim_GeneralFrame0, sAnim_CORVIKNIGHT_1, }; -static const union AnimCmd *const sAnims_BLIPBUG[] ={ +static const union AnimCmd *const sAnims_BLIPBUG[] = +{ sAnim_GeneralFrame0, sAnim_BLIPBUG_1, }; -static const union AnimCmd *const sAnims_DOTTLER[] ={ +static const union AnimCmd *const sAnims_DOTTLER[] = +{ sAnim_GeneralFrame0, sAnim_DOTTLER_1, }; -static const union AnimCmd *const sAnims_ORBEETLE[] ={ +static const union AnimCmd *const sAnims_ORBEETLE[] = +{ sAnim_GeneralFrame0, sAnim_ORBEETLE_1, }; -static const union AnimCmd *const sAnims_NICKIT[] ={ +static const union AnimCmd *const sAnims_NICKIT[] = +{ sAnim_GeneralFrame0, sAnim_NICKIT_1, }; -static const union AnimCmd *const sAnims_THIEVUL[] ={ +static const union AnimCmd *const sAnims_THIEVUL[] = +{ sAnim_GeneralFrame0, sAnim_THIEVUL_1, }; -static const union AnimCmd *const sAnims_GOSSIFLEUR[] ={ +static const union AnimCmd *const sAnims_GOSSIFLEUR[] = +{ sAnim_GeneralFrame0, sAnim_GOSSIFLEUR_1, }; -static const union AnimCmd *const sAnims_ELDEGOSS[] ={ +static const union AnimCmd *const sAnims_ELDEGOSS[] = +{ sAnim_GeneralFrame0, sAnim_ELDEGOSS_1, }; -static const union AnimCmd *const sAnims_WOOLOO[] ={ +static const union AnimCmd *const sAnims_WOOLOO[] = +{ sAnim_GeneralFrame0, sAnim_WOOLOO_1, }; -static const union AnimCmd *const sAnims_DUBWOOL[] ={ +static const union AnimCmd *const sAnims_DUBWOOL[] = +{ sAnim_GeneralFrame0, sAnim_DUBWOOL_1, }; -static const union AnimCmd *const sAnims_CHEWTLE[] ={ +static const union AnimCmd *const sAnims_CHEWTLE[] = +{ sAnim_GeneralFrame0, sAnim_CHEWTLE_1, }; -static const union AnimCmd *const sAnims_DREDNAW[] ={ +static const union AnimCmd *const sAnims_DREDNAW[] = +{ sAnim_GeneralFrame0, sAnim_DREDNAW_1, }; -static const union AnimCmd *const sAnims_YAMPER[] ={ +static const union AnimCmd *const sAnims_YAMPER[] = +{ sAnim_GeneralFrame0, sAnim_YAMPER_1, }; -static const union AnimCmd *const sAnims_BOLTUND[] ={ +static const union AnimCmd *const sAnims_BOLTUND[] = +{ sAnim_GeneralFrame0, sAnim_BOLTUND_1, }; -static const union AnimCmd *const sAnims_ROLYCOLY[] ={ +static const union AnimCmd *const sAnims_ROLYCOLY[] = +{ sAnim_GeneralFrame0, sAnim_ROLYCOLY_1, }; -static const union AnimCmd *const sAnims_CARKOL[] ={ +static const union AnimCmd *const sAnims_CARKOL[] = +{ sAnim_GeneralFrame0, sAnim_CARKOL_1, }; -static const union AnimCmd *const sAnims_COALOSSAL[] ={ +static const union AnimCmd *const sAnims_COALOSSAL[] = +{ sAnim_GeneralFrame0, sAnim_COALOSSAL_1, }; -static const union AnimCmd *const sAnims_APPLIN[] ={ +static const union AnimCmd *const sAnims_APPLIN[] = +{ sAnim_GeneralFrame0, sAnim_APPLIN_1, }; -static const union AnimCmd *const sAnims_FLAPPLE[] ={ +static const union AnimCmd *const sAnims_FLAPPLE[] = +{ sAnim_GeneralFrame0, sAnim_FLAPPLE_1, }; -static const union AnimCmd *const sAnims_APPLETUN[] ={ +static const union AnimCmd *const sAnims_APPLETUN[] = +{ sAnim_GeneralFrame0, sAnim_APPLETUN_1, }; -static const union AnimCmd *const sAnims_SILICOBRA[] ={ +static const union AnimCmd *const sAnims_SILICOBRA[] = +{ sAnim_GeneralFrame0, sAnim_SILICOBRA_1, }; -static const union AnimCmd *const sAnims_SANDACONDA[] ={ +static const union AnimCmd *const sAnims_SANDACONDA[] = +{ sAnim_GeneralFrame0, sAnim_SANDACONDA_1, }; -static const union AnimCmd *const sAnims_CRAMORANT[] ={ +static const union AnimCmd *const sAnims_CRAMORANT[] = +{ sAnim_GeneralFrame0, sAnim_CRAMORANT_1, }; -static const union AnimCmd *const sAnims_ARROKUDA[] ={ +static const union AnimCmd *const sAnims_ARROKUDA[] = +{ sAnim_GeneralFrame0, sAnim_ARROKUDA_1, }; -static const union AnimCmd *const sAnims_BARRASKEWDA[] ={ +static const union AnimCmd *const sAnims_BARRASKEWDA[] = +{ sAnim_GeneralFrame0, sAnim_BARRASKEWDA_1, }; -static const union AnimCmd *const sAnims_TOXEL[] ={ +static const union AnimCmd *const sAnims_TOXEL[] = +{ sAnim_GeneralFrame0, sAnim_TOXEL_1, }; -static const union AnimCmd *const sAnims_TOXTRICITY[] ={ +static const union AnimCmd *const sAnims_TOXTRICITY[] = +{ sAnim_GeneralFrame0, sAnim_TOXTRICITY_1, }; -static const union AnimCmd *const sAnims_SIZZLIPEDE[] ={ +static const union AnimCmd *const sAnims_SIZZLIPEDE[] = +{ sAnim_GeneralFrame0, sAnim_SIZZLIPEDE_1, }; -static const union AnimCmd *const sAnims_CENTISKORCH[] ={ +static const union AnimCmd *const sAnims_CENTISKORCH[] = +{ sAnim_GeneralFrame0, sAnim_CENTISKORCH_1, }; -static const union AnimCmd *const sAnims_CLOBBOPUS[] ={ +static const union AnimCmd *const sAnims_CLOBBOPUS[] = +{ sAnim_GeneralFrame0, sAnim_CLOBBOPUS_1, }; -static const union AnimCmd *const sAnims_GRAPPLOCT[] ={ +static const union AnimCmd *const sAnims_GRAPPLOCT[] = +{ sAnim_GeneralFrame0, sAnim_GRAPPLOCT_1, }; -static const union AnimCmd *const sAnims_SINISTEA[] ={ +static const union AnimCmd *const sAnims_SINISTEA[] = +{ sAnim_GeneralFrame0, sAnim_SINISTEA_1, }; -static const union AnimCmd *const sAnims_POLTEAGEIST[] ={ +static const union AnimCmd *const sAnims_POLTEAGEIST[] = +{ sAnim_GeneralFrame0, sAnim_POLTEAGEIST_1, }; -static const union AnimCmd *const sAnims_HATENNA[] ={ +static const union AnimCmd *const sAnims_HATENNA[] = +{ sAnim_GeneralFrame0, sAnim_HATENNA_1, }; -static const union AnimCmd *const sAnims_HATTREM[] ={ +static const union AnimCmd *const sAnims_HATTREM[] = +{ sAnim_GeneralFrame0, sAnim_HATTREM_1, }; -static const union AnimCmd *const sAnims_HATTERENE[] ={ +static const union AnimCmd *const sAnims_HATTERENE[] = +{ sAnim_GeneralFrame0, sAnim_HATTERENE_1, }; -static const union AnimCmd *const sAnims_IMPIDIMP[] ={ +static const union AnimCmd *const sAnims_IMPIDIMP[] = +{ sAnim_GeneralFrame0, sAnim_IMPIDIMP_1, }; -static const union AnimCmd *const sAnims_MORGREM[] ={ +static const union AnimCmd *const sAnims_MORGREM[] = +{ sAnim_GeneralFrame0, sAnim_MORGREM_1, }; -static const union AnimCmd *const sAnims_GRIMMSNARL[] ={ +static const union AnimCmd *const sAnims_GRIMMSNARL[] = +{ sAnim_GeneralFrame0, sAnim_GRIMMSNARL_1, }; -static const union AnimCmd *const sAnims_OBSTAGOON[] ={ +static const union AnimCmd *const sAnims_OBSTAGOON[] = +{ sAnim_GeneralFrame0, sAnim_OBSTAGOON_1, }; -static const union AnimCmd *const sAnims_PERRSERKER[] ={ +static const union AnimCmd *const sAnims_PERRSERKER[] = +{ sAnim_GeneralFrame0, sAnim_PERRSERKER_1, }; -static const union AnimCmd *const sAnims_CURSOLA[] ={ +static const union AnimCmd *const sAnims_CURSOLA[] = +{ sAnim_GeneralFrame0, sAnim_CURSOLA_1, }; -static const union AnimCmd *const sAnims_SIRFETCHD[] ={ +static const union AnimCmd *const sAnims_SIRFETCHD[] = +{ sAnim_GeneralFrame0, sAnim_SIRFETCHD_1, }; -static const union AnimCmd *const sAnims_MR_RIME[] ={ +static const union AnimCmd *const sAnims_MR_RIME[] = +{ sAnim_GeneralFrame0, sAnim_MR_RIME_1, }; -static const union AnimCmd *const sAnims_RUNERIGUS[] ={ +static const union AnimCmd *const sAnims_RUNERIGUS[] = +{ sAnim_GeneralFrame0, sAnim_RUNERIGUS_1, }; -static const union AnimCmd *const sAnims_MILCERY[] ={ +static const union AnimCmd *const sAnims_MILCERY[] = +{ sAnim_GeneralFrame0, sAnim_MILCERY_1, }; -static const union AnimCmd *const sAnims_ALCREMIE[] ={ +static const union AnimCmd *const sAnims_ALCREMIE[] = +{ sAnim_GeneralFrame0, sAnim_ALCREMIE_1, }; -static const union AnimCmd *const sAnims_FALINKS[] ={ +static const union AnimCmd *const sAnims_FALINKS[] = +{ sAnim_GeneralFrame0, sAnim_FALINKS_1, }; -static const union AnimCmd *const sAnims_PINCURCHIN[] ={ +static const union AnimCmd *const sAnims_PINCURCHIN[] = +{ sAnim_GeneralFrame0, sAnim_PINCURCHIN_1, }; -static const union AnimCmd *const sAnims_SNOM[] ={ +static const union AnimCmd *const sAnims_SNOM[] = +{ sAnim_GeneralFrame0, sAnim_SNOM_1, }; -static const union AnimCmd *const sAnims_FROSMOTH[] ={ +static const union AnimCmd *const sAnims_FROSMOTH[] = +{ sAnim_GeneralFrame0, sAnim_FROSMOTH_1, }; -static const union AnimCmd *const sAnims_STONJOURNER[] ={ +static const union AnimCmd *const sAnims_STONJOURNER[] = +{ sAnim_GeneralFrame0, sAnim_STONJOURNER_1, }; -static const union AnimCmd *const sAnims_EISCUE[] ={ +static const union AnimCmd *const sAnims_EISCUE[] = +{ sAnim_GeneralFrame0, sAnim_EISCUE_1, }; -static const union AnimCmd *const sAnims_INDEEDEE[] ={ +static const union AnimCmd *const sAnims_INDEEDEE[] = +{ sAnim_GeneralFrame0, sAnim_INDEEDEE_1, }; -static const union AnimCmd *const sAnims_MORPEKO[] ={ +static const union AnimCmd *const sAnims_MORPEKO[] = +{ sAnim_GeneralFrame0, sAnim_MORPEKO_1, }; -static const union AnimCmd *const sAnims_CUFANT[] ={ +static const union AnimCmd *const sAnims_CUFANT[] = +{ sAnim_GeneralFrame0, sAnim_CUFANT_1, }; -static const union AnimCmd *const sAnims_COPPERAJAH[] ={ +static const union AnimCmd *const sAnims_COPPERAJAH[] = +{ sAnim_GeneralFrame0, sAnim_COPPERAJAH_1, }; -static const union AnimCmd *const sAnims_DRACOZOLT[] ={ +static const union AnimCmd *const sAnims_DRACOZOLT[] = +{ sAnim_GeneralFrame0, sAnim_DRACOZOLT_1, }; -static const union AnimCmd *const sAnims_ARCTOZOLT[] ={ +static const union AnimCmd *const sAnims_ARCTOZOLT[] = +{ sAnim_GeneralFrame0, sAnim_ARCTOZOLT_1, }; -static const union AnimCmd *const sAnims_DRACOVISH[] ={ +static const union AnimCmd *const sAnims_DRACOVISH[] = +{ sAnim_GeneralFrame0, sAnim_DRACOVISH_1, }; -static const union AnimCmd *const sAnims_ARCTOVISH[] ={ +static const union AnimCmd *const sAnims_ARCTOVISH[] = +{ sAnim_GeneralFrame0, sAnim_ARCTOVISH_1, }; -static const union AnimCmd *const sAnims_DURALUDON[] ={ +static const union AnimCmd *const sAnims_DURALUDON[] = +{ sAnim_GeneralFrame0, sAnim_DURALUDON_1, }; -static const union AnimCmd *const sAnims_DREEPY[] ={ +static const union AnimCmd *const sAnims_DREEPY[] = +{ sAnim_GeneralFrame0, sAnim_DREEPY_1, }; -static const union AnimCmd *const sAnims_DRAKLOAK[] ={ +static const union AnimCmd *const sAnims_DRAKLOAK[] = +{ sAnim_GeneralFrame0, sAnim_DRAKLOAK_1, }; -static const union AnimCmd *const sAnims_DRAGAPULT[] ={ +static const union AnimCmd *const sAnims_DRAGAPULT[] = +{ sAnim_GeneralFrame0, sAnim_DRAGAPULT_1, }; -static const union AnimCmd *const sAnims_ZACIAN[] ={ +static const union AnimCmd *const sAnims_ZACIAN[] = +{ sAnim_GeneralFrame0, sAnim_ZACIAN_1, }; -static const union AnimCmd *const sAnims_ZAMAZENTA[] ={ +static const union AnimCmd *const sAnims_ZAMAZENTA[] = +{ sAnim_GeneralFrame0, sAnim_ZAMAZENTA_1, }; -static const union AnimCmd *const sAnims_ETERNATUS[] ={ +static const union AnimCmd *const sAnims_ETERNATUS[] = +{ sAnim_GeneralFrame0, sAnim_ETERNATUS_1, }; -static const union AnimCmd *const sAnims_KUBFU[] ={ +static const union AnimCmd *const sAnims_KUBFU[] = +{ sAnim_GeneralFrame0, sAnim_KUBFU_1, }; -static const union AnimCmd *const sAnims_URSHIFU[] ={ +static const union AnimCmd *const sAnims_URSHIFU[] = +{ sAnim_GeneralFrame0, sAnim_URSHIFU_1, }; -static const union AnimCmd *const sAnims_ZARUDE[] ={ +static const union AnimCmd *const sAnims_ZARUDE[] = +{ sAnim_GeneralFrame0, sAnim_ZARUDE_1, }; -static const union AnimCmd *const sAnims_REGIELEKI[] ={ +static const union AnimCmd *const sAnims_REGIELEKI[] = +{ sAnim_GeneralFrame0, sAnim_REGIELEKI_1, }; -static const union AnimCmd *const sAnims_REGIDRAGO[] ={ +static const union AnimCmd *const sAnims_REGIDRAGO[] = +{ sAnim_GeneralFrame0, sAnim_REGIDRAGO_1, }; -static const union AnimCmd *const sAnims_GLASTRIER[] ={ +static const union AnimCmd *const sAnims_GLASTRIER[] = +{ sAnim_GeneralFrame0, sAnim_GLASTRIER_1, }; -static const union AnimCmd *const sAnims_SPECTRIER[] ={ +static const union AnimCmd *const sAnims_SPECTRIER[] = +{ sAnim_GeneralFrame0, sAnim_SPECTRIER_1, }; -static const union AnimCmd *const sAnims_CALYREX[] ={ +static const union AnimCmd *const sAnims_CALYREX[] = +{ sAnim_GeneralFrame0, sAnim_CALYREX_1, }; -static const union AnimCmd *const sAnims_WYRDEER[] ={ +static const union AnimCmd *const sAnims_WYRDEER[] = +{ sAnim_GeneralFrame0, sAnim_WYRDEER_1, }; -static const union AnimCmd *const sAnims_KLEAVOR[] ={ +static const union AnimCmd *const sAnims_KLEAVOR[] = +{ sAnim_GeneralFrame0, sAnim_KLEAVOR_1, }; -static const union AnimCmd *const sAnims_URSALUNA[] ={ +static const union AnimCmd *const sAnims_URSALUNA[] = +{ sAnim_GeneralFrame0, sAnim_URSALUNA_1, }; -static const union AnimCmd *const sAnims_BASCULEGION[] ={ +static const union AnimCmd *const sAnims_BASCULEGION[] = +{ sAnim_GeneralFrame0, sAnim_BASCULEGION_1, }; -static const union AnimCmd *const sAnims_SNEASLER[] ={ +static const union AnimCmd *const sAnims_SNEASLER[] = +{ sAnim_GeneralFrame0, sAnim_SNEASLER_1, }; -static const union AnimCmd *const sAnims_OVERQWIL[] ={ +static const union AnimCmd *const sAnims_OVERQWIL[] = +{ sAnim_GeneralFrame0, sAnim_OVERQWIL_1, }; -static const union AnimCmd *const sAnims_ENAMORUS[] ={ +static const union AnimCmd *const sAnims_ENAMORUS[] = +{ sAnim_GeneralFrame0, sAnim_ENAMORUS_1, }; +#endif -static const union AnimCmd *const sAnims_VENUSAUR_MEGA[] ={ +static const union AnimCmd *const sAnims_VENUSAUR_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_VENUSAUR_MEGA_1, }; -static const union AnimCmd *const sAnims_CHARIZARD_MEGA_X[] ={ +static const union AnimCmd *const sAnims_CHARIZARD_MEGA_X[] = +{ sAnim_GeneralFrame0, sAnim_CHARIZARD_MEGA_X_1, }; -static const union AnimCmd *const sAnims_CHARIZARD_MEGA_Y[] ={ +static const union AnimCmd *const sAnims_CHARIZARD_MEGA_Y[] = +{ sAnim_GeneralFrame0, sAnim_CHARIZARD_MEGA_Y_1, }; -static const union AnimCmd *const sAnims_BLASTOISE_MEGA[] ={ +static const union AnimCmd *const sAnims_BLASTOISE_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_BLASTOISE_MEGA_1, }; -static const union AnimCmd *const sAnims_BEEDRILL_MEGA[] ={ +static const union AnimCmd *const sAnims_BEEDRILL_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_BEEDRILL_MEGA_1, }; -static const union AnimCmd *const sAnims_PIDGEOT_MEGA[] ={ +static const union AnimCmd *const sAnims_PIDGEOT_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_PIDGEOT_MEGA_1, }; -static const union AnimCmd *const sAnims_ALAKAZAM_MEGA[] ={ +static const union AnimCmd *const sAnims_ALAKAZAM_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_ALAKAZAM_MEGA_1, }; -static const union AnimCmd *const sAnims_SLOWBRO_MEGA[] ={ +static const union AnimCmd *const sAnims_SLOWBRO_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_SLOWBRO_MEGA_1, }; -static const union AnimCmd *const sAnims_GENGAR_MEGA[] ={ +static const union AnimCmd *const sAnims_GENGAR_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_GENGAR_MEGA_1, }; -static const union AnimCmd *const sAnims_KANGASKHAN_MEGA[] ={ +static const union AnimCmd *const sAnims_KANGASKHAN_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_KANGASKHAN_MEGA_1, }; -static const union AnimCmd *const sAnims_PINSIR_MEGA[] ={ +static const union AnimCmd *const sAnims_PINSIR_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_PINSIR_MEGA_1, }; -static const union AnimCmd *const sAnims_GYARADOS_MEGA[] ={ +static const union AnimCmd *const sAnims_GYARADOS_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_GYARADOS_MEGA_1, }; -static const union AnimCmd *const sAnims_AERODACTYL_MEGA[] ={ +static const union AnimCmd *const sAnims_AERODACTYL_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_AERODACTYL_MEGA_1, }; -static const union AnimCmd *const sAnims_MEWTWO_MEGA_X[] ={ +static const union AnimCmd *const sAnims_MEWTWO_MEGA_X[] = +{ sAnim_GeneralFrame0, sAnim_MEWTWO_MEGA_X_1, }; -static const union AnimCmd *const sAnims_MEWTWO_MEGA_Y[] ={ +static const union AnimCmd *const sAnims_MEWTWO_MEGA_Y[] = +{ sAnim_GeneralFrame0, sAnim_MEWTWO_MEGA_Y_1, }; -static const union AnimCmd *const sAnims_AMPHAROS_MEGA[] ={ +static const union AnimCmd *const sAnims_AMPHAROS_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_AMPHAROS_MEGA_1, }; -static const union AnimCmd *const sAnims_STEELIX_MEGA[] ={ +static const union AnimCmd *const sAnims_STEELIX_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_STEELIX_MEGA_1, }; -static const union AnimCmd *const sAnims_SCIZOR_MEGA[] ={ +static const union AnimCmd *const sAnims_SCIZOR_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_SCIZOR_MEGA_1, }; -static const union AnimCmd *const sAnims_HERACROSS_MEGA[] ={ +static const union AnimCmd *const sAnims_HERACROSS_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_HERACROSS_MEGA_1, }; -static const union AnimCmd *const sAnims_HOUNDOOM_MEGA[] ={ +static const union AnimCmd *const sAnims_HOUNDOOM_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_HOUNDOOM_MEGA_1, }; -static const union AnimCmd *const sAnims_TYRANITAR_MEGA[] ={ +static const union AnimCmd *const sAnims_TYRANITAR_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_TYRANITAR_MEGA_1, }; -static const union AnimCmd *const sAnims_SCEPTILE_MEGA[] ={ +static const union AnimCmd *const sAnims_SCEPTILE_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_SCEPTILE_MEGA_1, }; -static const union AnimCmd *const sAnims_BLAZIKEN_MEGA[] ={ +static const union AnimCmd *const sAnims_BLAZIKEN_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_BLAZIKEN_MEGA_1, }; -static const union AnimCmd *const sAnims_SWAMPERT_MEGA[] ={ +static const union AnimCmd *const sAnims_SWAMPERT_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_SWAMPERT_MEGA_1, }; -static const union AnimCmd *const sAnims_GARDEVOIR_MEGA[] ={ +static const union AnimCmd *const sAnims_GARDEVOIR_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_GARDEVOIR_MEGA_1, }; -static const union AnimCmd *const sAnims_SABLEYE_MEGA[] ={ +static const union AnimCmd *const sAnims_SABLEYE_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_SABLEYE_MEGA_1, }; -static const union AnimCmd *const sAnims_MAWILE_MEGA[] ={ +static const union AnimCmd *const sAnims_MAWILE_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_MAWILE_MEGA_1, }; -static const union AnimCmd *const sAnims_AGGRON_MEGA[] ={ +static const union AnimCmd *const sAnims_AGGRON_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_AGGRON_MEGA_1, }; -static const union AnimCmd *const sAnims_MEDICHAM_MEGA[] ={ +static const union AnimCmd *const sAnims_MEDICHAM_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_MEDICHAM_MEGA_1, }; -static const union AnimCmd *const sAnims_MANECTRIC_MEGA[] ={ +static const union AnimCmd *const sAnims_MANECTRIC_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_MANECTRIC_MEGA_1, }; -static const union AnimCmd *const sAnims_SHARPEDO_MEGA[] ={ +static const union AnimCmd *const sAnims_SHARPEDO_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_SHARPEDO_MEGA_1, }; -static const union AnimCmd *const sAnims_CAMERUPT_MEGA[] ={ +static const union AnimCmd *const sAnims_CAMERUPT_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_CAMERUPT_MEGA_1, }; -static const union AnimCmd *const sAnims_ALTARIA_MEGA[] ={ +static const union AnimCmd *const sAnims_ALTARIA_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_ALTARIA_MEGA_1, }; -static const union AnimCmd *const sAnims_BANETTE_MEGA[] ={ +static const union AnimCmd *const sAnims_BANETTE_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_BANETTE_MEGA_1, }; -static const union AnimCmd *const sAnims_ABSOL_MEGA[] ={ +static const union AnimCmd *const sAnims_ABSOL_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_ABSOL_MEGA_1, }; -static const union AnimCmd *const sAnims_GLALIE_MEGA[] ={ +static const union AnimCmd *const sAnims_GLALIE_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_GLALIE_MEGA_1, }; -static const union AnimCmd *const sAnims_SALAMENCE_MEGA[] ={ +static const union AnimCmd *const sAnims_SALAMENCE_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_SALAMENCE_MEGA_1, }; -static const union AnimCmd *const sAnims_METAGROSS_MEGA[] ={ +static const union AnimCmd *const sAnims_METAGROSS_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_METAGROSS_MEGA_1, }; -static const union AnimCmd *const sAnims_LATIAS_MEGA[] ={ +static const union AnimCmd *const sAnims_LATIAS_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_LATIAS_MEGA_1, }; -static const union AnimCmd *const sAnims_LATIOS_MEGA[] ={ +static const union AnimCmd *const sAnims_LATIOS_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_LATIOS_MEGA_1, }; -static const union AnimCmd *const sAnims_KYOGRE_PRIMAL[] ={ +static const union AnimCmd *const sAnims_KYOGRE_PRIMAL[] = +{ sAnim_GeneralFrame0, sAnim_KYOGRE_PRIMAL_1, }; -static const union AnimCmd *const sAnims_GROUDON_PRIMAL[] ={ +static const union AnimCmd *const sAnims_GROUDON_PRIMAL[] = +{ sAnim_GeneralFrame0, sAnim_GROUDON_PRIMAL_1, }; -static const union AnimCmd *const sAnims_RAYQUAZA_MEGA[] ={ +static const union AnimCmd *const sAnims_RAYQUAZA_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_RAYQUAZA_MEGA_1, }; -static const union AnimCmd *const sAnims_LOPUNNY_MEGA[] ={ +#if P_GEN_4_POKEMON == TRUE +static const union AnimCmd *const sAnims_LOPUNNY_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_LOPUNNY_MEGA_1, }; -static const union AnimCmd *const sAnims_GARCHOMP_MEGA[] ={ +static const union AnimCmd *const sAnims_GARCHOMP_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_GARCHOMP_MEGA_1, }; -static const union AnimCmd *const sAnims_LUCARIO_MEGA[] ={ +static const union AnimCmd *const sAnims_LUCARIO_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_LUCARIO_MEGA_1, }; -static const union AnimCmd *const sAnims_ABOMASNOW_MEGA[] ={ +static const union AnimCmd *const sAnims_ABOMASNOW_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_ABOMASNOW_MEGA_1, }; -static const union AnimCmd *const sAnims_GALLADE_MEGA[] ={ +static const union AnimCmd *const sAnims_GALLADE_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_GALLADE_MEGA_1, }; +#endif -static const union AnimCmd *const sAnims_AUDINO_MEGA[] ={ +#if P_GEN_5_POKEMON == TRUE +static const union AnimCmd *const sAnims_AUDINO_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_AUDINO_MEGA_1, }; +#endif -static const union AnimCmd *const sAnims_DIANCIE_MEGA[] ={ +#if P_GEN_6_POKEMON == TRUE +static const union AnimCmd *const sAnims_DIANCIE_MEGA[] = +{ sAnim_GeneralFrame0, sAnim_DIANCIE_MEGA_1, }; +#endif -static const union AnimCmd *const sAnims_RATTATA_ALOLAN[] ={ +static const union AnimCmd *const sAnims_RATTATA_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_RATTATA_ALOLAN_1, }; -static const union AnimCmd *const sAnims_RATICATE_ALOLAN[] ={ +static const union AnimCmd *const sAnims_RATICATE_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_RATICATE_ALOLAN_1, }; -static const union AnimCmd *const sAnims_RAICHU_ALOLAN[] ={ +static const union AnimCmd *const sAnims_RAICHU_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_RAICHU_ALOLAN_1, }; -static const union AnimCmd *const sAnims_SANDSHREW_ALOLAN[] ={ +static const union AnimCmd *const sAnims_SANDSHREW_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_SANDSHREW_ALOLAN_1, }; -static const union AnimCmd *const sAnims_SANDSLASH_ALOLAN[] ={ +static const union AnimCmd *const sAnims_SANDSLASH_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_SANDSLASH_ALOLAN_1, }; -static const union AnimCmd *const sAnims_VULPIX_ALOLAN[] ={ +static const union AnimCmd *const sAnims_VULPIX_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_VULPIX_ALOLAN_1, }; -static const union AnimCmd *const sAnims_NINETALES_ALOLAN[] ={ +static const union AnimCmd *const sAnims_NINETALES_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_NINETALES_ALOLAN_1, }; -static const union AnimCmd *const sAnims_DIGLETT_ALOLAN[] ={ +static const union AnimCmd *const sAnims_DIGLETT_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_DIGLETT_ALOLAN_1, }; -static const union AnimCmd *const sAnims_DUGTRIO_ALOLAN[] ={ +static const union AnimCmd *const sAnims_DUGTRIO_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_DUGTRIO_ALOLAN_1, }; -static const union AnimCmd *const sAnims_MEOWTH_ALOLAN[] ={ +static const union AnimCmd *const sAnims_MEOWTH_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_MEOWTH_ALOLAN_1, }; -static const union AnimCmd *const sAnims_PERSIAN_ALOLAN[] ={ +static const union AnimCmd *const sAnims_PERSIAN_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_PERSIAN_ALOLAN_1, }; -static const union AnimCmd *const sAnims_GEODUDE_ALOLAN[] ={ +static const union AnimCmd *const sAnims_GEODUDE_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_GEODUDE_ALOLAN_1, }; -static const union AnimCmd *const sAnims_GRAVELER_ALOLAN[] ={ +static const union AnimCmd *const sAnims_GRAVELER_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_GRAVELER_ALOLAN_1, }; -static const union AnimCmd *const sAnims_GOLEM_ALOLAN[] ={ +static const union AnimCmd *const sAnims_GOLEM_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_GOLEM_ALOLAN_1, }; -static const union AnimCmd *const sAnims_GRIMER_ALOLAN[] ={ +static const union AnimCmd *const sAnims_GRIMER_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_GRIMER_ALOLAN_1, }; -static const union AnimCmd *const sAnims_MUK_ALOLAN[] ={ +static const union AnimCmd *const sAnims_MUK_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_MUK_ALOLAN_1, }; -static const union AnimCmd *const sAnims_EXEGGUTOR_ALOLAN[] ={ +static const union AnimCmd *const sAnims_EXEGGUTOR_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_EXEGGUTOR_ALOLAN_1, }; -static const union AnimCmd *const sAnims_MAROWAK_ALOLAN[] ={ +static const union AnimCmd *const sAnims_MAROWAK_ALOLAN[] = +{ sAnim_GeneralFrame0, sAnim_MAROWAK_ALOLAN_1, }; -static const union AnimCmd *const sAnims_MEOWTH_GALARIAN[] ={ +static const union AnimCmd *const sAnims_MEOWTH_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_MEOWTH_GALARIAN_1, }; -static const union AnimCmd *const sAnims_PONYTA_GALARIAN[] ={ +static const union AnimCmd *const sAnims_PONYTA_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_PONYTA_GALARIAN_1, }; -static const union AnimCmd *const sAnims_RAPIDASH_GALARIAN[] ={ +static const union AnimCmd *const sAnims_RAPIDASH_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_RAPIDASH_GALARIAN_1, }; -static const union AnimCmd *const sAnims_SLOWPOKE_GALARIAN[] ={ +static const union AnimCmd *const sAnims_SLOWPOKE_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_SLOWPOKE_GALARIAN_1, }; -static const union AnimCmd *const sAnims_SLOWBRO_GALARIAN[] ={ +static const union AnimCmd *const sAnims_SLOWBRO_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_SLOWBRO_GALARIAN_1, }; -static const union AnimCmd *const sAnims_FARFETCHD_GALARIAN[] ={ +static const union AnimCmd *const sAnims_FARFETCHD_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_FARFETCHD_GALARIAN_1, }; -static const union AnimCmd *const sAnims_WEEZING_GALARIAN[] ={ +static const union AnimCmd *const sAnims_WEEZING_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_WEEZING_GALARIAN_1, }; -static const union AnimCmd *const sAnims_MR_MIME_GALARIAN[] ={ +static const union AnimCmd *const sAnims_MR_MIME_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_MR_MIME_GALARIAN_1, }; -static const union AnimCmd *const sAnims_ARTICUNO_GALARIAN[] ={ +static const union AnimCmd *const sAnims_ARTICUNO_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_ARTICUNO_GALARIAN_1, }; -static const union AnimCmd *const sAnims_ZAPDOS_GALARIAN[] ={ +static const union AnimCmd *const sAnims_ZAPDOS_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_ZAPDOS_GALARIAN_1, }; -static const union AnimCmd *const sAnims_MOLTRES_GALARIAN[] ={ +static const union AnimCmd *const sAnims_MOLTRES_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_MOLTRES_GALARIAN_1, }; -static const union AnimCmd *const sAnims_SLOWKING_GALARIAN[] ={ +static const union AnimCmd *const sAnims_SLOWKING_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_SLOWKING_GALARIAN_1, }; -static const union AnimCmd *const sAnims_CORSOLA_GALARIAN[] ={ +static const union AnimCmd *const sAnims_CORSOLA_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_CORSOLA_GALARIAN_1, }; -static const union AnimCmd *const sAnims_ZIGZAGOON_GALARIAN[] ={ +static const union AnimCmd *const sAnims_ZIGZAGOON_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_ZIGZAGOON_GALARIAN_1, }; -static const union AnimCmd *const sAnims_LINOONE_GALARIAN[] ={ +static const union AnimCmd *const sAnims_LINOONE_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_LINOONE_GALARIAN_1, }; -static const union AnimCmd *const sAnims_DARUMAKA_GALARIAN[] ={ +#if P_GEN_5_POKEMON == TRUE +static const union AnimCmd *const sAnims_DARUMAKA_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_DARUMAKA_GALARIAN_1, }; -static const union AnimCmd *const sAnims_DARMANITAN_GALARIAN[] ={ +static const union AnimCmd *const sAnims_DARMANITAN_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_DARMANITAN_GALARIAN_1, }; -static const union AnimCmd *const sAnims_YAMASK_GALARIAN[] ={ +static const union AnimCmd *const sAnims_YAMASK_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_YAMASK_GALARIAN_1, }; -static const union AnimCmd *const sAnims_STUNFISK_GALARIAN[] ={ +static const union AnimCmd *const sAnims_STUNFISK_GALARIAN[] = +{ sAnim_GeneralFrame0, sAnim_STUNFISK_GALARIAN_1, }; +#endif -static const union AnimCmd *const sAnims_GROWLITHE_HISUIAN[] ={ +static const union AnimCmd *const sAnims_GROWLITHE_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_GROWLITHE_HISUIAN_1, }; -static const union AnimCmd *const sAnims_ARCANINE_HISUIAN[] ={ +static const union AnimCmd *const sAnims_ARCANINE_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_ARCANINE_HISUIAN_1, }; -static const union AnimCmd *const sAnims_VOLTORB_HISUIAN[] ={ +static const union AnimCmd *const sAnims_VOLTORB_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_VOLTORB_HISUIAN_1, }; -static const union AnimCmd *const sAnims_ELECTRODE_HISUIAN[] ={ +static const union AnimCmd *const sAnims_ELECTRODE_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_ELECTRODE_HISUIAN_1, }; -static const union AnimCmd *const sAnims_TYPHLOSION_HISUIAN[] ={ +static const union AnimCmd *const sAnims_TYPHLOSION_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_TYPHLOSION_HISUIAN_1, }; -static const union AnimCmd *const sAnims_QWILFISH_HISUIAN[] ={ +static const union AnimCmd *const sAnims_QWILFISH_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_QWILFISH_HISUIAN_1, }; -static const union AnimCmd *const sAnims_SNEASEL_HISUIAN[] ={ +static const union AnimCmd *const sAnims_SNEASEL_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_SNEASEL_HISUIAN_1, }; -static const union AnimCmd *const sAnims_SAMUROTT_HISUIAN[] ={ +#if P_GEN_5_POKEMON == TRUE +static const union AnimCmd *const sAnims_SAMUROTT_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_SAMUROTT_HISUIAN_1, }; -static const union AnimCmd *const sAnims_LILLIGANT_HISUIAN[] ={ +static const union AnimCmd *const sAnims_LILLIGANT_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_LILLIGANT_HISUIAN_1, }; -static const union AnimCmd *const sAnims_ZORUA_HISUIAN[] ={ +static const union AnimCmd *const sAnims_ZORUA_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_ZORUA_HISUIAN_1, }; -static const union AnimCmd *const sAnims_ZOROARK_HISUIAN[] ={ +static const union AnimCmd *const sAnims_ZOROARK_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_ZOROARK_HISUIAN_1, }; -static const union AnimCmd *const sAnims_BRAVIARY_HISUIAN[] ={ +static const union AnimCmd *const sAnims_BRAVIARY_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_BRAVIARY_HISUIAN_1, }; +#endif -static const union AnimCmd *const sAnims_SLIGGOO_HISUIAN[] ={ +#if P_GEN_6_POKEMON == TRUE +static const union AnimCmd *const sAnims_SLIGGOO_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_SLIGGOO_HISUIAN_1, }; -static const union AnimCmd *const sAnims_GOODRA_HISUIAN[] ={ +static const union AnimCmd *const sAnims_GOODRA_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_GOODRA_HISUIAN_1, }; -static const union AnimCmd *const sAnims_AVALUGG_HISUIAN[] ={ +static const union AnimCmd *const sAnims_AVALUGG_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_AVALUGG_HISUIAN_1, }; +#endif -static const union AnimCmd *const sAnims_DECIDUEYE_HISUIAN[] ={ +#if P_GEN_7_POKEMON == TRUE +static const union AnimCmd *const sAnims_DECIDUEYE_HISUIAN[] = +{ sAnim_GeneralFrame0, sAnim_DECIDUEYE_HISUIAN_1, }; - -static const union AnimCmd *const sAnims_SHAYMIN_SKY[] ={ - sAnim_GeneralFrame0, - sAnim_SHAYMIN_SKY_1, -}; - -static const union AnimCmd *const sAnims_DIALGA_ORIGIN[] ={ - sAnim_GeneralFrame0, - sAnim_DIALGA_ORIGIN_1, -}; - -static const union AnimCmd *const sAnims_PALKIA_ORIGIN[] ={ - sAnim_GeneralFrame0, - sAnim_PALKIA_ORIGIN_1, -}; - -static const union AnimCmd *const sAnims_GIRATINA_ORIGIN[] ={ - sAnim_GeneralFrame0, - sAnim_GIRATINA_ORIGIN_1, -}; - -static const union AnimCmd *const sAnims_DARMANITAN_ZEN_MODE[] ={ - sAnim_GeneralFrame0, - sAnim_DARMANITAN_ZEN_MODE_1, -}; - -static const union AnimCmd *const sAnims_DARMANITAN_ZEN_MODE_GALARIAN[] ={ - sAnim_GeneralFrame0, - sAnim_DARMANITAN_ZEN_MODE_GALARIAN_1, -}; - -static const union AnimCmd *const sAnims_TORNADUS_THERIAN[] ={ - sAnim_GeneralFrame0, - sAnim_TORNADUS_THERIAN_1, -}; - -static const union AnimCmd *const sAnims_THUNDURUS_THERIAN[] ={ - sAnim_GeneralFrame0, - sAnim_THUNDURUS_THERIAN_1, -}; - -static const union AnimCmd *const sAnims_LANDORUS_THERIAN[] ={ - sAnim_GeneralFrame0, - sAnim_LANDORUS_THERIAN_1, -}; - -static const union AnimCmd *const sAnims_ENAMORUS_THERIAN[] ={ - sAnim_GeneralFrame0, - sAnim_ENAMORUS_THERIAN_1, -}; - -static const union AnimCmd *const sAnims_KELDEO_RESOLUTE[] ={ - sAnim_GeneralFrame0, - sAnim_KELDEO_RESOLUTE_1, -}; - -static const union AnimCmd *const sAnims_MELOETTA_PIROUETTE[] ={ - sAnim_GeneralFrame0, - sAnim_MELOETTA_PIROUETTE_1, -}; - -static const union AnimCmd *const sAnims_AEGISLASH_BLADE[] ={ - sAnim_GeneralFrame0, - sAnim_AEGISLASH_BLADE_1, -}; - -static const union AnimCmd *const sAnims_HOOPA_UNBOUND[] ={ - sAnim_GeneralFrame0, - sAnim_HOOPA_UNBOUND_1, -}; - -static const union AnimCmd *const sAnims_MINIOR_CORE[] ={ - sAnim_GeneralFrame0, - sAnim_MINIOR_CORE_1, -}; - -static const union AnimCmd *const sAnims_WISHIWASHI_SCHOOL[] ={ - sAnim_GeneralFrame0, - sAnim_WISHIWASHI_SCHOOL_1, -}; - -static const union AnimCmd *const sAnims_KYUREM_BLACK[] ={ - sAnim_GeneralFrame0, - sAnim_KYUREM_BLACK_1, -}; - -static const union AnimCmd *const sAnims_KYUREM_WHITE[] ={ - sAnim_GeneralFrame0, - sAnim_KYUREM_WHITE_1, -}; - -static const union AnimCmd *const sAnims_MIMIKYU_BUSTED[] ={ - sAnim_GeneralFrame0, - sAnim_MIMIKYU_BUSTED_1, -}; - -static const union AnimCmd *const sAnims_LYCANROC_MIDNIGHT[] ={ - sAnim_GeneralFrame0, - sAnim_LYCANROC_MIDNIGHT_1, -}; - -static const union AnimCmd *const sAnims_LYCANROC_DUSK[] ={ - sAnim_GeneralFrame0, - sAnim_LYCANROC_DUSK_1, -}; - -static const union AnimCmd *const sAnims_ZYGARDE_10[] ={ - sAnim_GeneralFrame0, - sAnim_ZYGARDE_10_1, -}; - -static const union AnimCmd *const sAnims_ZYGARDE_COMPLETE[] ={ - sAnim_GeneralFrame0, - sAnim_ZYGARDE_COMPLETE_1, -}; #endif -static const union AnimCmd *const sAnims_DEOXYS_ATTACK[] ={ + +static const union AnimCmd *const sAnims_PIKACHU_COSPLAY[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_COSPLAY_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_ROCK_STAR[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_ROCK_STAR_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_BELLE[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_BELLE_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_POP_STAR[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_POP_STAR_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_PH_D[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_PH_D_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_LIBRE[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_LIBRE_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_ORIGINAL_CAP[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_ORIGINAL_CAP_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_HOENN_CAP[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_HOENN_CAP_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_SINNOH_CAP[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_SINNOH_CAP_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_UNOVA_CAP[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_UNOVA_CAP_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_KALOS_CAP[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_KALOS_CAP_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_ALOLA_CAP[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_ALOLA_CAP_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_PARTNER_CAP[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_PARTNER_CAP_1, +}; + +static const union AnimCmd *const sAnims_PIKACHU_WORLD_CAP[] = +{ + sAnim_GeneralFrame0, + sAnim_PIKACHU_WORLD_CAP_1, +}; + +static const union AnimCmd *const sAnims_PICHU_SPIKY_EARED[] = { + sAnim_GeneralFrame0, + sAnim_PICHU_SPIKY_EARED_1, +}; +static const union AnimCmd *const sAnims_DEOXYS_ATTACK[] = +{ sAnim_GeneralFrame0, sAnim_DEOXYS_ATTACK_1, sAnim_DEOXYS_ATTACK_2, }; -static const union AnimCmd *const sAnims_DEOXYS_DEFENSE[] ={ +static const union AnimCmd *const sAnims_DEOXYS_DEFENSE[] = +{ sAnim_GeneralFrame0, sAnim_DEOXYS_DEFENSE_1, sAnim_DEOXYS_DEFENSE_2, }; -static const union AnimCmd *const sAnims_DEOXYS_SPEED[] ={ +static const union AnimCmd *const sAnims_DEOXYS_SPEED[] = +{ sAnim_GeneralFrame0, sAnim_DEOXYS_SPEED_1, sAnim_DEOXYS_SPEED_2, }; -#if P_NEW_POKEMON == TRUE -static const union AnimCmd *const sAnims_PIKACHU_COSPLAY[] ={ +#if P_GEN_4_POKEMON == TRUE +static const union AnimCmd *const sAnims_DIALGA_ORIGIN[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_COSPLAY_1, + sAnim_DIALGA_ORIGIN_1, }; -static const union AnimCmd *const sAnims_PIKACHU_ROCK_STAR[] ={ +static const union AnimCmd *const sAnims_PALKIA_ORIGIN[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_ROCK_STAR_1, + sAnim_PALKIA_ORIGIN_1, }; -static const union AnimCmd *const sAnims_PIKACHU_BELLE[] ={ +static const union AnimCmd *const sAnims_GIRATINA_ORIGIN[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_BELLE_1, + sAnim_GIRATINA_ORIGIN_1, }; -static const union AnimCmd *const sAnims_PIKACHU_POP_STAR[] ={ +static const union AnimCmd *const sAnims_SHAYMIN_SKY[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_POP_STAR_1, + sAnim_SHAYMIN_SKY_1, +}; +#endif + +#if P_GEN_5_POKEMON == TRUE +static const union AnimCmd *const sAnims_DARMANITAN_ZEN_MODE[] = +{ + sAnim_GeneralFrame0, + sAnim_DARMANITAN_ZEN_MODE_1, }; -static const union AnimCmd *const sAnims_PIKACHU_PH_D[] ={ +static const union AnimCmd *const sAnims_DARMANITAN_ZEN_MODE_GALARIAN[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_PH_D_1, + sAnim_DARMANITAN_ZEN_MODE_GALARIAN_1, }; -static const union AnimCmd *const sAnims_PIKACHU_LIBRE[] ={ +static const union AnimCmd *const sAnims_TORNADUS_THERIAN[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_LIBRE_1, + sAnim_TORNADUS_THERIAN_1, }; -static const union AnimCmd *const sAnims_PIKACHU_ORIGINAL_CAP[] ={ +static const union AnimCmd *const sAnims_THUNDURUS_THERIAN[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_ORIGINAL_CAP_1, + sAnim_THUNDURUS_THERIAN_1, }; -static const union AnimCmd *const sAnims_PIKACHU_HOENN_CAP[] ={ +static const union AnimCmd *const sAnims_LANDORUS_THERIAN[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_HOENN_CAP_1, + sAnim_LANDORUS_THERIAN_1, }; -static const union AnimCmd *const sAnims_PIKACHU_SINNOH_CAP[] ={ +static const union AnimCmd *const sAnims_KYUREM_BLACK[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_SINNOH_CAP_1, + sAnim_KYUREM_BLACK_1, }; -static const union AnimCmd *const sAnims_PIKACHU_UNOVA_CAP[] ={ +static const union AnimCmd *const sAnims_KYUREM_WHITE[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_UNOVA_CAP_1, + sAnim_KYUREM_WHITE_1, }; -static const union AnimCmd *const sAnims_PIKACHU_KALOS_CAP[] ={ +static const union AnimCmd *const sAnims_KELDEO_RESOLUTE[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_KALOS_CAP_1, + sAnim_KELDEO_RESOLUTE_1, }; -static const union AnimCmd *const sAnims_PIKACHU_ALOLA_CAP[] ={ +static const union AnimCmd *const sAnims_MELOETTA_PIROUETTE[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_ALOLA_CAP_1, + sAnim_MELOETTA_PIROUETTE_1, +}; +#endif + +#if P_GEN_6_POKEMON == TRUE +static const union AnimCmd *const sAnims_AEGISLASH_BLADE[] = +{ + sAnim_GeneralFrame0, + sAnim_AEGISLASH_BLADE_1, }; -static const union AnimCmd *const sAnims_PIKACHU_PARTNER_CAP[] ={ +static const union AnimCmd *const sAnims_ZYGARDE_10[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_PARTNER_CAP_1, + sAnim_ZYGARDE_10_1, }; -static const union AnimCmd *const sAnims_PIKACHU_WORLD_CAP[] ={ +static const union AnimCmd *const sAnims_ZYGARDE_COMPLETE[] = +{ sAnim_GeneralFrame0, - sAnim_PIKACHU_WORLD_CAP_1, + sAnim_ZYGARDE_COMPLETE_1, }; -static const union AnimCmd *const sAnims_PICHU_SPIKY_EARED[] ={ +static const union AnimCmd *const sAnims_HOOPA_UNBOUND[] = +{ sAnim_GeneralFrame0, - sAnim_PICHU_SPIKY_EARED_1, + sAnim_HOOPA_UNBOUND_1, +}; +#endif + +#if P_GEN_7_POKEMON == TRUE +static const union AnimCmd *const sAnims_MINIOR_CORE[] = +{ + sAnim_GeneralFrame0, + sAnim_MINIOR_CORE_1, +}; + +static const union AnimCmd *const sAnims_WISHIWASHI_SCHOOL[] = +{ + sAnim_GeneralFrame0, + sAnim_WISHIWASHI_SCHOOL_1, +}; + +static const union AnimCmd *const sAnims_MIMIKYU_BUSTED[] = +{ + sAnim_GeneralFrame0, + sAnim_MIMIKYU_BUSTED_1, +}; + +static const union AnimCmd *const sAnims_LYCANROC_MIDNIGHT[] = +{ + sAnim_GeneralFrame0, + sAnim_LYCANROC_MIDNIGHT_1, +}; + +static const union AnimCmd *const sAnims_LYCANROC_DUSK[] = +{ + sAnim_GeneralFrame0, + sAnim_LYCANROC_DUSK_1, +}; +#endif + +#if P_GEN_8_POKEMON == TRUE +static const union AnimCmd *const sAnims_ENAMORUS_THERIAN[] = +{ + sAnim_GeneralFrame0, + sAnim_ENAMORUS_THERIAN_1, }; #endif @@ -15353,7 +16496,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(JIRACHI), ANIM_CMD(DEOXYS), ANIM_CMD(CHIMECHO), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE ANIM_CMD(TURTWIG), ANIM_CMD(GROTLE), ANIM_CMD(TORTERRA), @@ -15461,6 +16604,8 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(DARKRAI), ANIM_CMD(SHAYMIN), ANIM_CMD(ARCEUS), +#endif +#if P_GEN_5_POKEMON == TRUE ANIM_CMD(VICTINI), ANIM_CMD(SNIVY), ANIM_CMD(SERVINE), @@ -15617,6 +16762,8 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(KELDEO), ANIM_CMD(MELOETTA), ANIM_CMD(GENESECT), +#endif +#if P_GEN_6_POKEMON == TRUE ANIM_CMD(CHESPIN), ANIM_CMD(QUILLADIN), ANIM_CMD(CHESNAUGHT), @@ -15689,6 +16836,8 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(DIANCIE), ANIM_CMD(HOOPA), ANIM_CMD(VOLCANION), +#endif +#if P_GEN_7_POKEMON == TRUE ANIM_CMD(ROWLET), ANIM_CMD(DARTRIX), ANIM_CMD(DECIDUEYE), @@ -15777,6 +16926,8 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(ZERAORA), ANIM_CMD(MELTAN), ANIM_CMD(MELMETAL), +#endif +#if P_GEN_8_POKEMON == TRUE ANIM_CMD(GROOKEY), ANIM_CMD(THWACKEY), ANIM_CMD(RILLABOOM), @@ -15873,6 +17024,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(SNEASLER), ANIM_CMD(OVERQWIL), ANIM_CMD(ENAMORUS), +#endif ANIM_CMD(VENUSAUR_MEGA), ANIM_CMD(CHARIZARD_MEGA_X), ANIM_CMD(CHARIZARD_MEGA_Y), @@ -15913,13 +17065,19 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(METAGROSS_MEGA), ANIM_CMD(LATIAS_MEGA), ANIM_CMD(LATIOS_MEGA), +#if P_GEN_4_POKEMON == TRUE ANIM_CMD(LOPUNNY_MEGA), ANIM_CMD(GARCHOMP_MEGA), ANIM_CMD(LUCARIO_MEGA), ANIM_CMD(ABOMASNOW_MEGA), ANIM_CMD(GALLADE_MEGA), +#endif +#if P_GEN_5_POKEMON == TRUE ANIM_CMD(AUDINO_MEGA), +#endif +#if P_GEN_6_POKEMON == TRUE ANIM_CMD(DIANCIE_MEGA), +#endif ANIM_CMD(RAYQUAZA_MEGA), ANIM_CMD(KYOGRE_PRIMAL), ANIM_CMD(GROUDON_PRIMAL), @@ -15956,10 +17114,12 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(CORSOLA_GALARIAN), ANIM_CMD(ZIGZAGOON_GALARIAN), ANIM_CMD(LINOONE_GALARIAN), +#if P_GEN_5_POKEMON == TRUE ANIM_CMD(DARUMAKA_GALARIAN), ANIM_CMD(DARMANITAN_GALARIAN), ANIM_CMD(YAMASK_GALARIAN), ANIM_CMD(STUNFISK_GALARIAN), +#endif ANIM_CMD(GROWLITHE_HISUIAN), ANIM_CMD(ARCANINE_HISUIAN), ANIM_CMD(VOLTORB_HISUIAN), @@ -15967,15 +17127,21 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(TYPHLOSION_HISUIAN), ANIM_CMD(QWILFISH_HISUIAN), ANIM_CMD(SNEASEL_HISUIAN), +#if P_GEN_5_POKEMON == TRUE ANIM_CMD(SAMUROTT_HISUIAN), ANIM_CMD(LILLIGANT_HISUIAN), ANIM_CMD(ZORUA_HISUIAN), ANIM_CMD(ZOROARK_HISUIAN), ANIM_CMD(BRAVIARY_HISUIAN), +#endif +#if P_GEN_6_POKEMON == TRUE ANIM_CMD(SLIGGOO_HISUIAN), ANIM_CMD(GOODRA_HISUIAN), ANIM_CMD(AVALUGG_HISUIAN), +#endif +#if P_GEN_7_POKEMON == TRUE ANIM_CMD(DECIDUEYE_HISUIAN), +#endif ANIM_CMD(PIKACHU_COSPLAY), ANIM_CMD(PIKACHU_ROCK_STAR), ANIM_CMD(PIKACHU_BELLE), @@ -15991,7 +17157,6 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(PIKACHU_PARTNER_CAP), ANIM_CMD(PIKACHU_WORLD_CAP), ANIM_CMD(PICHU_SPIKY_EARED), -#endif ANIM_CMD(UNOWN_B), ANIM_CMD(UNOWN_C), ANIM_CMD(UNOWN_D), @@ -16025,7 +17190,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(DEOXYS_ATTACK), ANIM_CMD(DEOXYS_DEFENSE), ANIM_CMD(DEOXYS_SPEED), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE ANIM_CMD_FULL(BURMY_SANDY_CLOAK, sAnims_BURMY), ANIM_CMD_FULL(BURMY_TRASH_CLOAK, sAnims_BURMY), ANIM_CMD_FULL(WORMADAM_SANDY_CLOAK, sAnims_WORMADAM), @@ -16059,6 +17224,8 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD_FULL(ARCEUS_DRAGON, sAnims_ARCEUS), ANIM_CMD_FULL(ARCEUS_DARK, sAnims_ARCEUS), ANIM_CMD_FULL(ARCEUS_FAIRY, sAnims_ARCEUS), +#endif +#if P_GEN_5_POKEMON == TRUE ANIM_CMD_FULL(BASCULIN_BLUE_STRIPED, sAnims_BASCULIN), ANIM_CMD_FULL(BASCULIN_WHITE_STRIPED, sAnims_BASCULIN), ANIM_CMD(DARMANITAN_ZEN_MODE), @@ -16072,7 +17239,6 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD(TORNADUS_THERIAN), ANIM_CMD(THUNDURUS_THERIAN), ANIM_CMD(LANDORUS_THERIAN), - ANIM_CMD(ENAMORUS_THERIAN), ANIM_CMD(KYUREM_WHITE), ANIM_CMD(KYUREM_BLACK), ANIM_CMD(MELOETTA_PIROUETTE), @@ -16081,6 +17247,8 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD_FULL(GENESECT_SHOCK_DRIVE, sAnims_GENESECT), ANIM_CMD_FULL(GENESECT_BURN_DRIVE, sAnims_GENESECT), ANIM_CMD_FULL(GENESECT_CHILL_DRIVE, sAnims_GENESECT), +#endif +#if P_GEN_6_POKEMON == TRUE ANIM_CMD_FULL(GRENINJA_BATTLE_BOND, sAnims_GRENINJA), ANIM_CMD_FULL(GRENINJA_ASH, sAnims_GRENINJA), ANIM_CMD_FULL(VIVILLON_POLAR, sAnims_VIVILLON), @@ -16138,6 +17306,8 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD_FULL(ZYGARDE_50_POWER_CONSTRUCT, sAnims_ZYGARDE), ANIM_CMD(ZYGARDE_COMPLETE), ANIM_CMD(HOOPA_UNBOUND), +#endif +#if P_GEN_7_POKEMON == TRUE ANIM_CMD_FULL(ORICORIO_POM_POM, sAnims_ORICORIO), ANIM_CMD_FULL(ORICORIO_PAU, sAnims_ORICORIO), ANIM_CMD_FULL(ORICORIO_SENSU, sAnims_ORICORIO), @@ -16180,6 +17350,8 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD_FULL(NECROZMA_DAWN_WINGS, sAnims_NECROZMA), ANIM_CMD_FULL(NECROZMA_ULTRA, sAnims_NECROZMA), ANIM_CMD_FULL(MAGEARNA_ORIGINAL_COLOR, sAnims_MAGEARNA), +#endif +#if P_GEN_8_POKEMON == TRUE ANIM_CMD_FULL(CRAMORANT_GULPING, sAnims_CRAMORANT), ANIM_CMD_FULL(CRAMORANT_GORGING, sAnims_CRAMORANT), ANIM_CMD_FULL(TOXTRICITY_LOW_KEY, sAnims_TOXTRICITY), @@ -16203,6 +17375,7 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = ANIM_CMD_FULL(ZARUDE_DADA, sAnims_ZARUDE), ANIM_CMD_FULL(CALYREX_ICE_RIDER, sAnims_CALYREX), ANIM_CMD_FULL(CALYREX_SHADOW_RIDER, sAnims_CALYREX), + ANIM_CMD(ENAMORUS_THERIAN), #endif ANIM_CMD(EGG), }; diff --git a/src/data/pokemon_graphics/front_pic_coordinates.h b/src/data/pokemon_graphics/front_pic_coordinates.h index 1ec35b4de..a484b8596 100644 --- a/src/data/pokemon_graphics/front_pic_coordinates.h +++ b/src/data/pokemon_graphics/front_pic_coordinates.h @@ -391,6 +391,7 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_JIRACHI] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 13 }, [SPECIES_DEOXYS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_CHIMECHO] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, +#if P_GEN_4_POKEMON == TRUE [SPECIES_TURTWIG] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, [SPECIES_GROTLE] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, [SPECIES_TORTERRA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, @@ -498,6 +499,8 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_DARKRAI] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, [SPECIES_SHAYMIN] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 16 }, [SPECIES_ARCEUS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_VICTINI] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 10 }, [SPECIES_SNIVY] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, [SPECIES_SERVINE] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, @@ -654,6 +657,8 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_KELDEO] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, [SPECIES_MELOETTA] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 9 }, [SPECIES_GENESECT] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_CHESPIN] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 10 }, [SPECIES_QUILLADIN] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, [SPECIES_CHESNAUGHT] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 4 }, @@ -726,6 +731,8 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_DIANCIE] = { .size = MON_COORDS_SIZE(40, 64), .y_offset = 1 }, [SPECIES_HOOPA] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, [SPECIES_VOLCANION] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_ROWLET] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 12 }, [SPECIES_DARTRIX] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 8 }, [SPECIES_DECIDUEYE] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 0 }, @@ -814,6 +821,8 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_ZERAORA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, [SPECIES_MELTAN] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 11 }, [SPECIES_MELMETAL] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, +#endif +#if P_GEN_8_POKEMON == TRUE [SPECIES_GROOKEY] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 12 }, [SPECIES_THWACKEY] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, [SPECIES_RILLABOOM] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, @@ -910,6 +919,8 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_SNEASLER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_OVERQWIL] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_ENAMORUS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, +#endif + // Megas [SPECIES_VENUSAUR_MEGA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, [SPECIES_CHARIZARD_MEGA_X] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_CHARIZARD_MEGA_Y] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, @@ -950,16 +961,24 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_METAGROSS_MEGA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_LATIAS_MEGA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_LATIOS_MEGA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, +#if P_GEN_4_POKEMON == TRUE [SPECIES_LOPUNNY_MEGA] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 1 }, [SPECIES_GARCHOMP_MEGA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_LUCARIO_MEGA] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 2 }, [SPECIES_ABOMASNOW_MEGA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, [SPECIES_GALLADE_MEGA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_AUDINO_MEGA] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 6 }, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_DIANCIE_MEGA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, +#endif + // Special Mega + Primals [SPECIES_RAYQUAZA_MEGA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_KYOGRE_PRIMAL] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_GROUDON_PRIMAL] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + // Alolan Forms [SPECIES_RATTATA_ALOLAN] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, [SPECIES_RATICATE_ALOLAN] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, [SPECIES_RAICHU_ALOLAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, @@ -978,6 +997,7 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_MUK_ALOLAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, [SPECIES_EXEGGUTOR_ALOLAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_MAROWAK_ALOLAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + // Galarian Forms [SPECIES_MEOWTH_GALARIAN] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, [SPECIES_PONYTA_GALARIAN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 8 }, [SPECIES_RAPIDASH_GALARIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, @@ -993,10 +1013,13 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_CORSOLA_GALARIAN] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, [SPECIES_ZIGZAGOON_GALARIAN] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 13 }, [SPECIES_LINOONE_GALARIAN] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, +#if P_GEN_5_POKEMON == TRUE [SPECIES_DARUMAKA_GALARIAN] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, [SPECIES_DARMANITAN_GALARIAN] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, [SPECIES_YAMASK_GALARIAN] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 13 }, [SPECIES_STUNFISK_GALARIAN] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, +#endif + // Hisuian Forms [SPECIES_GROWLITHE_HISUIAN] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 6 }, [SPECIES_ARCANINE_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, [SPECIES_VOLTORB_HISUIAN] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 0 }, @@ -1004,21 +1027,30 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_TYPHLOSION_HISUIAN] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 0 }, [SPECIES_QWILFISH_HISUIAN] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 8 }, [SPECIES_SNEASEL_HISUIAN] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, +#if P_GEN_5_POKEMON == TRUE [SPECIES_SAMUROTT_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_LILLIGANT_HISUIAN] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 1 }, [SPECIES_ZORUA_HISUIAN] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 2 }, [SPECIES_ZOROARK_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, [SPECIES_BRAVIARY_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_SLIGGOO_HISUIAN] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, [SPECIES_GOODRA_HISUIAN] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, [SPECIES_AVALUGG_HISUIAN] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 5 }, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_DECIDUEYE_HISUIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, +#endif + // Misc Forms + // Cosplay Pikachu [SPECIES_PIKACHU_COSPLAY] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, [SPECIES_PIKACHU_ROCK_STAR] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, [SPECIES_PIKACHU_BELLE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, [SPECIES_PIKACHU_POP_STAR] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, [SPECIES_PIKACHU_PH_D] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, [SPECIES_PIKACHU_LIBRE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + // Cap Pikachu [SPECIES_PIKACHU_ORIGINAL_CAP] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, [SPECIES_PIKACHU_HOENN_CAP] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, [SPECIES_PIKACHU_SINNOH_CAP] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, @@ -1027,7 +1059,9 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_PIKACHU_ALOLA_CAP] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, [SPECIES_PIKACHU_PARTNER_CAP] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, [SPECIES_PIKACHU_WORLD_CAP] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, + // Pichu [SPECIES_PICHU_SPIKY_EARED] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 14 }, + // Unown [SPECIES_UNOWN_B] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 16 }, [SPECIES_UNOWN_C] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 16 }, [SPECIES_UNOWN_D] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 16 }, @@ -1055,28 +1089,40 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_UNOWN_Z] = { .size = MON_COORDS_SIZE(24, 32), .y_offset = 16 }, [SPECIES_UNOWN_EMARK] = { .size = MON_COORDS_SIZE(24, 40), .y_offset = 15 }, [SPECIES_UNOWN_QMARK] = { .size = MON_COORDS_SIZE(24, 40), .y_offset = 13 }, + // Castform [SPECIES_CASTFORM_SUNNY] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 9 }, [SPECIES_CASTFORM_RAINY] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 9 }, [SPECIES_CASTFORM_SNOWY] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 8 }, + // Deoxys [SPECIES_DEOXYS_ATTACK] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_DEOXYS_DEFENSE] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, [SPECIES_DEOXYS_SPEED] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 }, +#if P_GEN_4_POKEMON == TRUE + // Burmy [SPECIES_BURMY_SANDY_CLOAK] = { .size = MON_COORDS_SIZE(32, 56), .y_offset = 12 }, [SPECIES_BURMY_TRASH_CLOAK] = { .size = MON_COORDS_SIZE(32, 56), .y_offset = 8 }, + // Wormadam [SPECIES_WORMADAM_SANDY_CLOAK] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 10 }, [SPECIES_WORMADAM_TRASH_CLOAK] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 10 }, + // Cherrim [SPECIES_CHERRIM_SUNSHINE] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + // Shellos [SPECIES_SHELLOS_EAST_SEA] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 14 }, + // Gastrodon [SPECIES_GASTRODON_EAST_SEA] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 8 }, + // Rotom [SPECIES_ROTOM_HEAT] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, [SPECIES_ROTOM_WASH] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, [SPECIES_ROTOM_FROST] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 4 }, [SPECIES_ROTOM_FAN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 8 }, [SPECIES_ROTOM_MOW] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 12 }, + // Origin Forme [SPECIES_DIALGA_ORIGIN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_PALKIA_ORIGIN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_GIRATINA_ORIGIN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + // Shaymin [SPECIES_SHAYMIN_SKY] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + // Arceus [SPECIES_ARCEUS_FIGHTING] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_ARCEUS_FLYING] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_ARCEUS_POISON] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, @@ -1094,30 +1140,44 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_ARCEUS_DRAGON] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_ARCEUS_DARK] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_ARCEUS_FAIRY] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, +#endif +#if P_GEN_5_POKEMON == TRUE + // Basculin [SPECIES_BASCULIN_BLUE_STRIPED] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 16 }, [SPECIES_BASCULIN_WHITE_STRIPED] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 10 }, + // Darmanitan [SPECIES_DARMANITAN_ZEN_MODE] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 14 }, [SPECIES_DARMANITAN_ZEN_MODE_GALARIAN] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 2 }, + // Deerling [SPECIES_DEERLING_SUMMER] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 11 }, [SPECIES_DEERLING_AUTUMN] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 11 }, [SPECIES_DEERLING_WINTER] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 11 }, + // Sawsbuck [SPECIES_SAWSBUCK_SUMMER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_SAWSBUCK_AUTUMN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_SAWSBUCK_WINTER] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + // Therian Forms [SPECIES_TORNADUS_THERIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_THUNDURUS_THERIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, [SPECIES_LANDORUS_THERIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, - [SPECIES_ENAMORUS_THERIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + // Kyurem [SPECIES_KYUREM_WHITE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_KYUREM_BLACK] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + // Keldeo [SPECIES_KELDEO_RESOLUTE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + // Meloetta [SPECIES_MELOETTA_PIROUETTE] = { .size = MON_COORDS_SIZE(40, 64), .y_offset = 2 }, + // Genesect [SPECIES_GENESECT_DOUSE_DRIVE] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, [SPECIES_GENESECT_SHOCK_DRIVE] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, [SPECIES_GENESECT_BURN_DRIVE] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, [SPECIES_GENESECT_CHILL_DRIVE] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, +#endif +#if P_GEN_6_POKEMON == TRUE + // Greninja [SPECIES_GRENINJA_BATTLE_BOND] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, [SPECIES_GRENINJA_ASH] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + // Vivillon [SPECIES_VIVILLON_POLAR] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_VIVILLON_TUNDRA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_VIVILLON_CONTINENTAL] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, @@ -1137,19 +1197,23 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_VIVILLON_JUNGLE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_VIVILLON_FANCY] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_VIVILLON_POKE_BALL] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + // Flabébé [SPECIES_FLABEBE_YELLOW_FLOWER] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, [SPECIES_FLABEBE_ORANGE_FLOWER] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, [SPECIES_FLABEBE_BLUE_FLOWER] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, [SPECIES_FLABEBE_WHITE_FLOWER] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 6 }, + // Floette [SPECIES_FLOETTE_YELLOW_FLOWER] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 3 }, [SPECIES_FLOETTE_ORANGE_FLOWER] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 3 }, [SPECIES_FLOETTE_BLUE_FLOWER] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 3 }, [SPECIES_FLOETTE_WHITE_FLOWER] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 3 }, [SPECIES_FLOETTE_ETERNAL_FLOWER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + // Florges [SPECIES_FLORGES_YELLOW_FLOWER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_FLORGES_ORANGE_FLOWER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_FLORGES_BLUE_FLOWER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_FLORGES_WHITE_FLOWER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + // Furfrou [SPECIES_FURFROU_HEART_TRIM] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 2 }, [SPECIES_FURFROU_STAR_TRIM] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 2 }, [SPECIES_FURFROU_DIAMOND_TRIM] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 2 }, @@ -1159,27 +1223,41 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_FURFROU_LA_REINE_TRIM] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 2 }, [SPECIES_FURFROU_KABUKI_TRIM] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 2 }, [SPECIES_FURFROU_PHARAOH_TRIM] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 2 }, + // Meowstic [SPECIES_MEOWSTIC_FEMALE] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 2 }, + // Aegislash [SPECIES_AEGISLASH_BLADE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + // Pumpkaboo [SPECIES_PUMPKABOO_SMALL] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, [SPECIES_PUMPKABOO_LARGE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 12 }, [SPECIES_PUMPKABOO_SUPER] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + // Gourgeist [SPECIES_GOURGEIST_SMALL] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 5 }, [SPECIES_GOURGEIST_LARGE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, [SPECIES_GOURGEIST_SUPER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + // Xerneas [SPECIES_XERNEAS_ACTIVE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + // Zygarde [SPECIES_ZYGARDE_10] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 2 }, [SPECIES_ZYGARDE_10_POWER_CONSTRUCT] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 2 }, [SPECIES_ZYGARDE_50_POWER_CONSTRUCT] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_ZYGARDE_COMPLETE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + // Hoopa [SPECIES_HOOPA_UNBOUND] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, +#endif +#if P_GEN_7_POKEMON == TRUE + // Oricorio [SPECIES_ORICORIO_POM_POM] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, [SPECIES_ORICORIO_PAU] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 3 }, [SPECIES_ORICORIO_SENSU] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + // Rockruff [SPECIES_ROCKRUFF_OWN_TEMPO] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, + // Lycanroc [SPECIES_LYCANROC_MIDNIGHT] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 1 }, [SPECIES_LYCANROC_DUSK] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + // Wishiwashi [SPECIES_WISHIWASHI_SCHOOL] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 4 }, + // Silvally [SPECIES_SILVALLY_FIGHTING] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_SILVALLY_FLYING] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_SILVALLY_POISON] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, @@ -1197,6 +1275,7 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_SILVALLY_DRAGON] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_SILVALLY_DARK] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_SILVALLY_FAIRY] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + // Minior [SPECIES_MINIOR_METEOR_ORANGE] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, [SPECIES_MINIOR_METEOR_YELLOW] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, [SPECIES_MINIOR_METEOR_GREEN] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, @@ -1210,16 +1289,26 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_MINIOR_CORE_BLUE] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, [SPECIES_MINIOR_CORE_INDIGO] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, [SPECIES_MINIOR_CORE_VIOLET] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, + // Mimikyu [SPECIES_MIMIKYU_BUSTED] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 12 }, + // Necrozma [SPECIES_NECROZMA_DUSK_MANE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_NECROZMA_DAWN_WINGS] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_NECROZMA_ULTRA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + // Magearna [SPECIES_MAGEARNA_ORIGINAL_COLOR] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, +#endif +#if P_GEN_8_POKEMON == TRUE + // Cramorant [SPECIES_CRAMORANT_GULPING] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_CRAMORANT_GORGING] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + // Toxtricity [SPECIES_TOXTRICITY_LOW_KEY] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 2 }, + // Sinistea [SPECIES_SINISTEA_ANTIQUE] = { .size = MON_COORDS_SIZE(40, 32), .y_offset = 17 }, + // Polteageist [SPECIES_POLTEAGEIST_ANTIQUE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + // Alcremie [SPECIES_ALCREMIE_RUBY_CREAM] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 7 }, [SPECIES_ALCREMIE_MATCHA_CREAM] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 7 }, [SPECIES_ALCREMIE_MINT_CREAM] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 7 }, @@ -1228,15 +1317,28 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_ALCREMIE_RUBY_SWIRL] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 7 }, [SPECIES_ALCREMIE_CARAMEL_SWIRL] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 7 }, [SPECIES_ALCREMIE_RAINBOW_SWIRL] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 7 }, + // Eiscue [SPECIES_EISCUE_NOICE_FACE] = { .size = MON_COORDS_SIZE(40, 64), .y_offset = 0 }, + // Indeedee [SPECIES_INDEEDEE_FEMALE] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 9 }, + // Morpeko [SPECIES_MORPEKO_HANGRY] = { .size = MON_COORDS_SIZE(32, 40), .y_offset = 14 }, + // Zacian [SPECIES_ZACIAN_CROWNED_SWORD] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + // Zamazenta [SPECIES_ZAMAZENTA_CROWNED_SHIELD] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + // Eternatus [SPECIES_ETERNATUS_ETERNAMAX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + // Urshifu [SPECIES_URSHIFU_RAPID_STRIKE_STYLE] = { .size = MON_COORDS_SIZE(56, 64), .y_offset = 0 }, + // Zarude [SPECIES_ZARUDE_DADA] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, + // Calyrex [SPECIES_CALYREX_ICE_RIDER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_CALYREX_SHADOW_RIDER] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, + [SPECIES_ENAMORUS_THERIAN] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, +#endif + // Egg [SPECIES_EGG] = { .size = MON_COORDS_SIZE(24, 24), .y_offset = 20 }, + }; diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h index d94162a4b..7629834ad 100644 --- a/src/data/pokemon_graphics/front_pic_table.h +++ b/src/data/pokemon_graphics/front_pic_table.h @@ -387,7 +387,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(JIRACHI, gMonFrontPic_Jirachi), SPECIES_SPRITE(DEOXYS, gMonFrontPic_Deoxys), SPECIES_SPRITE(CHIMECHO, gMonFrontPic_Chimecho), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE SPECIES_SPRITE(TURTWIG, gMonFrontPic_Turtwig), SPECIES_SPRITE(GROTLE, gMonFrontPic_Grotle), SPECIES_SPRITE(TORTERRA, gMonFrontPic_Torterra), @@ -495,6 +495,8 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(DARKRAI, gMonFrontPic_Darkrai), SPECIES_SPRITE(SHAYMIN, gMonFrontPic_Shaymin), SPECIES_SPRITE(ARCEUS, gMonFrontPic_Arceus), +#endif +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(VICTINI, gMonFrontPic_Victini), SPECIES_SPRITE(SNIVY, gMonFrontPic_Snivy), SPECIES_SPRITE(SERVINE, gMonFrontPic_Servine), @@ -651,6 +653,8 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(KELDEO, gMonFrontPic_Keldeo), SPECIES_SPRITE(MELOETTA, gMonFrontPic_Meloetta), SPECIES_SPRITE(GENESECT, gMonFrontPic_Genesect), +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(CHESPIN, gMonFrontPic_Chespin), SPECIES_SPRITE(QUILLADIN, gMonFrontPic_Quilladin), SPECIES_SPRITE(CHESNAUGHT, gMonFrontPic_Chesnaught), @@ -723,6 +727,8 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(DIANCIE, gMonFrontPic_Diancie), SPECIES_SPRITE(HOOPA, gMonFrontPic_Hoopa), SPECIES_SPRITE(VOLCANION, gMonFrontPic_Volcanion), +#endif +#if P_GEN_7_POKEMON == TRUE SPECIES_SPRITE(ROWLET, gMonFrontPic_Rowlet), SPECIES_SPRITE(DARTRIX, gMonFrontPic_Dartrix), SPECIES_SPRITE(DECIDUEYE, gMonFrontPic_Decidueye), @@ -811,6 +817,8 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(ZERAORA, gMonFrontPic_Zeraora), SPECIES_SPRITE(MELTAN, gMonFrontPic_Meltan), SPECIES_SPRITE(MELMETAL, gMonFrontPic_Melmetal), +#endif +#if P_GEN_8_POKEMON == TRUE SPECIES_SPRITE(GROOKEY, gMonFrontPic_Grookey), SPECIES_SPRITE(THWACKEY, gMonFrontPic_Thwackey), SPECIES_SPRITE(RILLABOOM, gMonFrontPic_Rillaboom), @@ -907,7 +915,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(SNEASLER, gMonFrontPic_CircledQuestionMark), //gMonFrontPic_Sneasler), SPECIES_SPRITE(OVERQWIL, gMonFrontPic_Overqwil), SPECIES_SPRITE(ENAMORUS, gMonFrontPic_CircledQuestionMark), //gMonFrontPic_Enamorus), - +#endif SPECIES_SPRITE(VENUSAUR_MEGA, gMonFrontPic_VenusaurMega), SPECIES_SPRITE(CHARIZARD_MEGA_X, gMonFrontPic_CharizardMegaX), SPECIES_SPRITE(CHARIZARD_MEGA_Y, gMonFrontPic_CharizardMegaY), @@ -948,13 +956,19 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(METAGROSS_MEGA, gMonFrontPic_MetagrossMega), SPECIES_SPRITE(LATIAS_MEGA, gMonFrontPic_LatiasMega), SPECIES_SPRITE(LATIOS_MEGA, gMonFrontPic_LatiosMega), +#if P_GEN_4_POKEMON == TRUE SPECIES_SPRITE(LOPUNNY_MEGA, gMonFrontPic_LopunnyMega), SPECIES_SPRITE(GARCHOMP_MEGA, gMonFrontPic_GarchompMega), SPECIES_SPRITE(LUCARIO_MEGA, gMonFrontPic_LucarioMega), SPECIES_SPRITE(ABOMASNOW_MEGA, gMonFrontPic_AbomasnowMega), SPECIES_SPRITE(GALLADE_MEGA, gMonFrontPic_GalladeMega), +#endif +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(AUDINO_MEGA, gMonFrontPic_AudinoMega), +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(DIANCIE_MEGA, gMonFrontPic_DiancieMega), +#endif SPECIES_SPRITE(RAYQUAZA_MEGA, gMonFrontPic_RayquazaMega), SPECIES_SPRITE(KYOGRE_PRIMAL, gMonFrontPic_KyogrePrimal), @@ -994,10 +1008,12 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(CORSOLA_GALARIAN, gMonFrontPic_CorsolaGalarian), SPECIES_SPRITE(ZIGZAGOON_GALARIAN, gMonFrontPic_ZigzagoonGalarian), SPECIES_SPRITE(LINOONE_GALARIAN, gMonFrontPic_LinooneGalarian), +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(DARUMAKA_GALARIAN, gMonFrontPic_DarumakaGalarian), SPECIES_SPRITE(DARMANITAN_GALARIAN, gMonFrontPic_DarmanitanGalarian), SPECIES_SPRITE(YAMASK_GALARIAN, gMonFrontPic_YamaskGalarian), SPECIES_SPRITE(STUNFISK_GALARIAN, gMonFrontPic_StunfiskGalarian), +#endif SPECIES_SPRITE(GROWLITHE_HISUIAN, gMonFrontPic_GrowlitheHisuian), SPECIES_SPRITE(ARCANINE_HISUIAN, gMonFrontPic_ArcanineHisuian), @@ -1006,15 +1022,21 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(TYPHLOSION_HISUIAN, gMonFrontPic_TyphlosionHisuian), SPECIES_SPRITE(QWILFISH_HISUIAN, gMonFrontPic_QwilfishHisuian), SPECIES_SPRITE(SNEASEL_HISUIAN, gMonFrontPic_SneaselHisuian), +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(SAMUROTT_HISUIAN, gMonFrontPic_CircledQuestionMark), //gMonFrontPic_SamurottHisuian), SPECIES_SPRITE(LILLIGANT_HISUIAN, gMonFrontPic_LilligantHisuian), SPECIES_SPRITE(ZORUA_HISUIAN, gMonFrontPic_ZoruaHisuian), SPECIES_SPRITE(ZOROARK_HISUIAN, gMonFrontPic_ZoroarkHisuian), SPECIES_SPRITE(BRAVIARY_HISUIAN, gMonFrontPic_BraviaryHisuian), +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(SLIGGOO_HISUIAN, gMonFrontPic_SliggooHisuian), SPECIES_SPRITE(GOODRA_HISUIAN, gMonFrontPic_GoodraHisuian), SPECIES_SPRITE(AVALUGG_HISUIAN, gMonFrontPic_AvaluggHisuian), +#endif +#if P_GEN_7_POKEMON == TRUE SPECIES_SPRITE(DECIDUEYE_HISUIAN, gMonFrontPic_CircledQuestionMark), //gMonFrontPic_DecidueyeHisuian), +#endif SPECIES_SPRITE(PIKACHU_COSPLAY, gMonFrontPic_PikachuCosplay), SPECIES_SPRITE(PIKACHU_ROCK_STAR, gMonFrontPic_PikachuRockStar), @@ -1033,7 +1055,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(PIKACHU_WORLD_CAP, gMonFrontPic_PikachuWorldCap), SPECIES_SPRITE(PICHU_SPIKY_EARED, gMonFrontPic_PichuSpikyEared), -#endif + SPECIES_SPRITE(UNOWN_B, gMonFrontPic_UnownB), SPECIES_SPRITE(UNOWN_C, gMonFrontPic_UnownC), SPECIES_SPRITE(UNOWN_D, gMonFrontPic_UnownD), @@ -1069,7 +1091,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(DEOXYS_ATTACK, gMonFrontPic_DeoxysAttack), SPECIES_SPRITE(DEOXYS_DEFENSE, gMonFrontPic_DeoxysDefense), SPECIES_SPRITE(DEOXYS_SPEED, gMonFrontPic_DeoxysSpeed), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE SPECIES_SPRITE(BURMY_SANDY_CLOAK, gMonFrontPic_BurmySandyCloak), SPECIES_SPRITE(BURMY_TRASH_CLOAK, gMonFrontPic_BurmyTrashCloak), @@ -1111,7 +1133,9 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(ARCEUS_DRAGON, gMonFrontPic_Arceus), SPECIES_SPRITE(ARCEUS_DARK, gMonFrontPic_Arceus), SPECIES_SPRITE(ARCEUS_FAIRY, gMonFrontPic_Arceus), +#endif +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(BASCULIN_BLUE_STRIPED, gMonFrontPic_BasculinBlueStriped), SPECIES_SPRITE(BASCULIN_WHITE_STRIPED, gMonFrontPic_BasculinWhiteStriped), @@ -1129,7 +1153,6 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(TORNADUS_THERIAN, gMonFrontPic_TornadusTherian), SPECIES_SPRITE(THUNDURUS_THERIAN, gMonFrontPic_ThundurusTherian), SPECIES_SPRITE(LANDORUS_THERIAN, gMonFrontPic_LandorusTherian), - SPECIES_SPRITE(ENAMORUS_THERIAN, gMonFrontPic_CircledQuestionMark), //gMonFrontPic_EnamorusTherian), SPECIES_SPRITE(KYUREM_WHITE, gMonFrontPic_KyuremWhite), SPECIES_SPRITE(KYUREM_BLACK, gMonFrontPic_KyuremBlack), @@ -1142,7 +1165,9 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(GENESECT_SHOCK_DRIVE, gMonFrontPic_Genesect), SPECIES_SPRITE(GENESECT_BURN_DRIVE, gMonFrontPic_Genesect), SPECIES_SPRITE(GENESECT_CHILL_DRIVE, gMonFrontPic_Genesect), +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(GRENINJA_BATTLE_BOND, gMonFrontPic_Greninja), SPECIES_SPRITE(GRENINJA_ASH, gMonFrontPic_GreninjaAsh), @@ -1212,7 +1237,9 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(ZYGARDE_COMPLETE, gMonFrontPic_ZygardeComplete), SPECIES_SPRITE(HOOPA_UNBOUND, gMonFrontPic_HoopaUnbound), +#endif +#if P_GEN_7_POKEMON == TRUE SPECIES_SPRITE(ORICORIO_POM_POM, gMonFrontPic_OricorioPomPom), SPECIES_SPRITE(ORICORIO_PAU, gMonFrontPic_OricorioPau), SPECIES_SPRITE(ORICORIO_SENSU, gMonFrontPic_OricorioSensu), @@ -1263,7 +1290,9 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(NECROZMA_ULTRA, gMonFrontPic_NecrozmaUltra), SPECIES_SPRITE(MAGEARNA_ORIGINAL_COLOR, gMonFrontPic_MagearnaOriginalColor), +#endif +#if P_GEN_8_POKEMON == TRUE SPECIES_SPRITE(CRAMORANT_GULPING, gMonFrontPic_CramorantGulping), SPECIES_SPRITE(CRAMORANT_GORGING, gMonFrontPic_CramorantGorging), @@ -1300,6 +1329,8 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(CALYREX_ICE_RIDER, gMonFrontPic_CalyrexIceRider), SPECIES_SPRITE(CALYREX_SHADOW_RIDER, gMonFrontPic_CalyrexShadowRider), + + SPECIES_SPRITE(ENAMORUS_THERIAN, gMonFrontPic_CircledQuestionMark), //gMonFrontPic_EnamorusTherian), #endif SPECIES_SPRITE(EGG, gMonFrontPic_Egg), }; @@ -1307,7 +1338,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = const struct CompressedSpriteSheet gMonFrontPicTableFemale[] = { SPECIES_SPRITE(EEVEE, gMonFrontPic_EeveeF), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE SPECIES_SPRITE(STARLY, gMonFrontPic_StarlyF), SPECIES_SPRITE(STARAVIA, gMonFrontPic_StaraviaF), SPECIES_SPRITE(STARAPTOR, gMonFrontPic_StaraptorF), @@ -1318,10 +1349,16 @@ const struct CompressedSpriteSheet gMonFrontPicTableFemale[] = SPECIES_SPRITE(COMBEE, gMonFrontPic_CombeeF), SPECIES_SPRITE(HIPPOPOTAS, gMonFrontPic_HippopotasF), SPECIES_SPRITE(HIPPOWDON, gMonFrontPic_Hippowdon), +#endif +#if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(UNFEZANT, gMonFrontPic_UnfezantF), SPECIES_SPRITE(FRILLISH, gMonFrontPic_FrillishF), SPECIES_SPRITE(JELLICENT, gMonFrontPic_JellicentF), +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(PYROAR, gMonFrontPic_PyroarF), +#endif +#if P_GEN_7_POKEMON == TRUE SPECIES_SPRITE(BASCULEGION, gMonFrontPic_CircledQuestionMark), //gMonFrontPic_BasculegionF), #endif }; diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h index 65fbf835b..8ef3b3231 100644 --- a/src/data/pokemon_graphics/palette_table.h +++ b/src/data/pokemon_graphics/palette_table.h @@ -387,7 +387,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(JIRACHI, gMonPalette_Jirachi), SPECIES_PAL(DEOXYS, gMonPalette_Deoxys), SPECIES_PAL(CHIMECHO, gMonPalette_Chimecho), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE SPECIES_PAL(TURTWIG, gMonPalette_Turtwig), SPECIES_PAL(GROTLE, gMonPalette_Grotle), SPECIES_PAL(TORTERRA, gMonPalette_Torterra), @@ -495,6 +495,8 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(DARKRAI, gMonPalette_Darkrai), SPECIES_PAL(SHAYMIN, gMonPalette_Shaymin), SPECIES_PAL(ARCEUS, gMonPalette_Arceus), +#endif +#if P_GEN_5_POKEMON == TRUE SPECIES_PAL(VICTINI, gMonPalette_Victini), SPECIES_PAL(SNIVY, gMonPalette_Snivy), SPECIES_PAL(SERVINE, gMonPalette_Servine), @@ -651,6 +653,8 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(KELDEO, gMonPalette_Keldeo), SPECIES_PAL(MELOETTA, gMonPalette_Meloetta), SPECIES_PAL(GENESECT, gMonPalette_Genesect), +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_PAL(CHESPIN, gMonPalette_Chespin), SPECIES_PAL(QUILLADIN, gMonPalette_Quilladin), SPECIES_PAL(CHESNAUGHT, gMonPalette_Chesnaught), @@ -723,6 +727,8 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(DIANCIE, gMonPalette_Diancie), SPECIES_PAL(HOOPA, gMonPalette_Hoopa), SPECIES_PAL(VOLCANION, gMonPalette_Volcanion), +#endif +#if P_GEN_7_POKEMON == TRUE SPECIES_PAL(ROWLET, gMonPalette_Rowlet), SPECIES_PAL(DARTRIX, gMonPalette_Dartrix), SPECIES_PAL(DECIDUEYE, gMonPalette_Decidueye), @@ -811,6 +817,8 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(ZERAORA, gMonPalette_Zeraora), SPECIES_PAL(MELTAN, gMonPalette_Meltan), SPECIES_PAL(MELMETAL, gMonPalette_Melmetal), +#endif +#if P_GEN_8_POKEMON == TRUE SPECIES_PAL(GROOKEY, gMonPalette_Grookey), SPECIES_PAL(THWACKEY, gMonPalette_Thwackey), SPECIES_PAL(RILLABOOM, gMonPalette_Rillaboom), @@ -907,7 +915,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(SNEASLER, gMonPalette_CircledQuestionMark), // gMonPalette_Sneasler), SPECIES_PAL(OVERQWIL, gMonPalette_Overqwil), SPECIES_PAL(ENAMORUS, gMonPalette_CircledQuestionMark), // gMonPalette_Enamorus), - +#endif SPECIES_PAL(VENUSAUR_MEGA, gMonPalette_VenusaurMega), SPECIES_PAL(CHARIZARD_MEGA_X, gMonPalette_CharizardMegaX), SPECIES_PAL(CHARIZARD_MEGA_Y, gMonPalette_CharizardMegaY), @@ -948,13 +956,19 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(METAGROSS_MEGA, gMonPalette_MetagrossMega), SPECIES_PAL(LATIAS_MEGA, gMonPalette_LatiasMega), SPECIES_PAL(LATIOS_MEGA, gMonPalette_LatiosMega), +#if P_GEN_4_POKEMON == TRUE SPECIES_PAL(LOPUNNY_MEGA, gMonPalette_LopunnyMega), SPECIES_PAL(GARCHOMP_MEGA, gMonPalette_GarchompMega), SPECIES_PAL(LUCARIO_MEGA, gMonPalette_LucarioMega), SPECIES_PAL(ABOMASNOW_MEGA, gMonPalette_AbomasnowMega), SPECIES_PAL(GALLADE_MEGA, gMonPalette_GalladeMega), +#endif +#if P_GEN_5_POKEMON == TRUE SPECIES_PAL(AUDINO_MEGA, gMonPalette_AudinoMega), +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_PAL(DIANCIE_MEGA, gMonPalette_DiancieMega), +#endif SPECIES_PAL(RAYQUAZA_MEGA, gMonPalette_RayquazaMega), SPECIES_PAL(KYOGRE_PRIMAL, gMonPalette_KyogrePrimal), @@ -994,10 +1008,12 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(CORSOLA_GALARIAN, gMonPalette_CorsolaGalarian), SPECIES_PAL(ZIGZAGOON_GALARIAN, gMonPalette_ZigzagoonGalarian), SPECIES_PAL(LINOONE_GALARIAN, gMonPalette_LinooneGalarian), +#if P_GEN_5_POKEMON == TRUE SPECIES_PAL(DARUMAKA_GALARIAN, gMonPalette_DarumakaGalarian), SPECIES_PAL(DARMANITAN_GALARIAN, gMonPalette_DarmanitanGalarian), SPECIES_PAL(YAMASK_GALARIAN, gMonPalette_YamaskGalarian), SPECIES_PAL(STUNFISK_GALARIAN, gMonPalette_StunfiskGalarian), +#endif SPECIES_PAL(GROWLITHE_HISUIAN, gMonPalette_GrowlitheHisuian), SPECIES_PAL(ARCANINE_HISUIAN, gMonPalette_ArcanineHisuian), @@ -1005,16 +1021,22 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(ELECTRODE_HISUIAN, gMonPalette_ElectrodeHisuian), SPECIES_PAL(TYPHLOSION_HISUIAN, gMonPalette_TyphlosionHisuian), SPECIES_PAL(QWILFISH_HISUIAN, gMonPalette_QwilfishHisuian), +#if P_GEN_5_POKEMON == TRUE SPECIES_PAL(SNEASEL_HISUIAN, gMonPalette_SneaselHisuian), SPECIES_PAL(SAMUROTT_HISUIAN, gMonPalette_CircledQuestionMark), //gMonPalette_SamurottHisuian), SPECIES_PAL(LILLIGANT_HISUIAN, gMonPalette_LilligantHisuian), SPECIES_PAL(ZORUA_HISUIAN, gMonPalette_ZoruaHisuian), SPECIES_PAL(ZOROARK_HISUIAN, gMonPalette_ZoroarkHisuian), SPECIES_PAL(BRAVIARY_HISUIAN, gMonPalette_BraviaryHisuian), +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_PAL(SLIGGOO_HISUIAN, gMonPalette_SliggooHisuian), SPECIES_PAL(GOODRA_HISUIAN, gMonPalette_GoodraHisuian), SPECIES_PAL(AVALUGG_HISUIAN, gMonPalette_AvaluggHisuian), +#endif +#if P_GEN_7_POKEMON == TRUE SPECIES_PAL(DECIDUEYE_HISUIAN, gMonPalette_CircledQuestionMark), //gMonPalette_DecidueyeHisuian), +#endif SPECIES_PAL(PIKACHU_COSPLAY, gMonPalette_PikachuCosplay), SPECIES_PAL(PIKACHU_ROCK_STAR, gMonPalette_PikachuRockStar), @@ -1033,7 +1055,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(PIKACHU_WORLD_CAP, gMonPalette_PikachuWorldCap), SPECIES_PAL(PICHU_SPIKY_EARED, gMonPalette_PichuSpikyEared), -#endif + SPECIES_PAL(UNOWN_B, gMonPalette_Unown), SPECIES_PAL(UNOWN_C, gMonPalette_Unown), SPECIES_PAL(UNOWN_D, gMonPalette_Unown), @@ -1069,7 +1091,8 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(DEOXYS_ATTACK, gMonPalette_DeoxysAttack), SPECIES_PAL(DEOXYS_DEFENSE, gMonPalette_DeoxysDefense), SPECIES_PAL(DEOXYS_SPEED, gMonPalette_DeoxysSpeed), -#if P_NEW_POKEMON == TRUE + +#if P_GEN_4_POKEMON == TRUE SPECIES_PAL(BURMY_SANDY_CLOAK, gMonPalette_BurmySandyCloak), SPECIES_PAL(BURMY_TRASH_CLOAK, gMonPalette_BurmyTrashCloak), @@ -1111,7 +1134,9 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(ARCEUS_DRAGON, gMonPalette_ArceusDragon), SPECIES_PAL(ARCEUS_DARK, gMonPalette_ArceusDark), SPECIES_PAL(ARCEUS_FAIRY, gMonPalette_ArceusFairy), +#endif +#if P_GEN_5_POKEMON == TRUE SPECIES_PAL(BASCULIN_BLUE_STRIPED, gMonPalette_BasculinBlueStriped), SPECIES_PAL(BASCULIN_WHITE_STRIPED, gMonPalette_BasculinWhiteStriped), @@ -1129,7 +1154,6 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(TORNADUS_THERIAN, gMonPalette_TornadusTherian), SPECIES_PAL(THUNDURUS_THERIAN, gMonPalette_ThundurusTherian), SPECIES_PAL(LANDORUS_THERIAN, gMonPalette_LandorusTherian), - SPECIES_PAL(ENAMORUS_THERIAN, gMonPalette_CircledQuestionMark), // gMonPalette_EnamorusTherian), SPECIES_PAL(KYUREM_WHITE, gMonPalette_KyuremWhite), SPECIES_PAL(KYUREM_BLACK, gMonPalette_KyuremBlack), @@ -1142,7 +1166,9 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(GENESECT_SHOCK_DRIVE, gMonPalette_GenesectShockDrive), SPECIES_PAL(GENESECT_BURN_DRIVE, gMonPalette_GenesectBurnDrive), SPECIES_PAL(GENESECT_CHILL_DRIVE, gMonPalette_GenesectChillDrive), +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_PAL(GRENINJA_BATTLE_BOND, gMonPalette_Greninja), SPECIES_PAL(GRENINJA_ASH, gMonPalette_GreninjaAsh), @@ -1212,7 +1238,9 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(ZYGARDE_COMPLETE, gMonPalette_ZygardeComplete), SPECIES_PAL(HOOPA_UNBOUND, gMonPalette_HoopaUnbound), +#endif +#if P_GEN_7_POKEMON == TRUE SPECIES_PAL(ORICORIO_POM_POM, gMonPalette_OricorioPomPom), SPECIES_PAL(ORICORIO_PAU, gMonPalette_OricorioPau), SPECIES_PAL(ORICORIO_SENSU, gMonPalette_OricorioSensu), @@ -1263,7 +1291,9 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(NECROZMA_ULTRA, gMonPalette_NecrozmaUltra), SPECIES_PAL(MAGEARNA_ORIGINAL_COLOR, gMonPalette_MagearnaOriginalColor), +#endif +#if P_GEN_8_POKEMON == TRUE SPECIES_PAL(CRAMORANT_GULPING, gMonPalette_CramorantGulping), SPECIES_PAL(CRAMORANT_GORGING, gMonPalette_CramorantGorging), @@ -1300,6 +1330,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(CALYREX_ICE_RIDER, gMonPalette_CalyrexIceRider), SPECIES_PAL(CALYREX_SHADOW_RIDER, gMonPalette_CalyrexShadowRider), + SPECIES_PAL(ENAMORUS_THERIAN, gMonPalette_CircledQuestionMark), // gMonPalette_EnamorusTherian), #endif SPECIES_PAL(EGG, gMonPalette_Egg), }; @@ -1307,7 +1338,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = const struct CompressedSpritePalette gMonPaletteTableFemale[] = { SPECIES_PAL(EEVEE, gMonPalette_Eevee), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE SPECIES_PAL(COMBEE, gMonPalette_Combee), SPECIES_PAL(STARLY, gMonPalette_Starly), SPECIES_PAL(STARAVIA, gMonPalette_Staravia), @@ -1318,10 +1349,16 @@ const struct CompressedSpritePalette gMonPaletteTableFemale[] = SPECIES_PAL(SHINX, gMonPalette_Shinx), SPECIES_PAL(HIPPOPOTAS, gMonPalette_HippopotasF), SPECIES_PAL(HIPPOWDON, gMonPalette_HippowdonF), +#endif +#if P_GEN_5_POKEMON == TRUE SPECIES_PAL(UNFEZANT, gMonPalette_UnfezantF), SPECIES_PAL(FRILLISH, gMonPalette_FrillishF), SPECIES_PAL(JELLICENT, gMonPalette_JellicentF), +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_PAL(PYROAR, gMonPalette_PyroarF), +#endif +#if P_GEN_8_POKEMON == TRUE SPECIES_PAL(BASCULEGION, gMonPalette_CircledQuestionMark), // gMonPalette_BasculegionF), #endif }; diff --git a/src/data/pokemon_graphics/shiny_palette_table.h b/src/data/pokemon_graphics/shiny_palette_table.h index c029e91e1..64a999c49 100644 --- a/src/data/pokemon_graphics/shiny_palette_table.h +++ b/src/data/pokemon_graphics/shiny_palette_table.h @@ -387,7 +387,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(JIRACHI, gMonShinyPalette_Jirachi), SPECIES_SHINY_PAL(DEOXYS, gMonShinyPalette_Deoxys), SPECIES_SHINY_PAL(CHIMECHO, gMonShinyPalette_Chimecho), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE SPECIES_SHINY_PAL(TURTWIG, gMonShinyPalette_Turtwig), SPECIES_SHINY_PAL(GROTLE, gMonShinyPalette_Grotle), SPECIES_SHINY_PAL(TORTERRA, gMonShinyPalette_Torterra), @@ -495,6 +495,8 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(DARKRAI, gMonShinyPalette_Darkrai), SPECIES_SHINY_PAL(SHAYMIN, gMonShinyPalette_Shaymin), SPECIES_SHINY_PAL(ARCEUS, gMonShinyPalette_Arceus), +#endif +#if P_GEN_5_POKEMON == TRUE SPECIES_SHINY_PAL(VICTINI, gMonShinyPalette_Victini), SPECIES_SHINY_PAL(SNIVY, gMonShinyPalette_Snivy), SPECIES_SHINY_PAL(SERVINE, gMonShinyPalette_Servine), @@ -651,6 +653,8 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(KELDEO, gMonShinyPalette_Keldeo), SPECIES_SHINY_PAL(MELOETTA, gMonShinyPalette_Meloetta), SPECIES_SHINY_PAL(GENESECT, gMonShinyPalette_Genesect), +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_SHINY_PAL(CHESPIN, gMonShinyPalette_Chespin), SPECIES_SHINY_PAL(QUILLADIN, gMonShinyPalette_Quilladin), SPECIES_SHINY_PAL(CHESNAUGHT, gMonShinyPalette_Chesnaught), @@ -723,6 +727,8 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(DIANCIE, gMonShinyPalette_Diancie), SPECIES_SHINY_PAL(HOOPA, gMonShinyPalette_Hoopa), SPECIES_SHINY_PAL(VOLCANION, gMonShinyPalette_Volcanion), +#endif +#if P_GEN_7_POKEMON == TRUE SPECIES_SHINY_PAL(ROWLET, gMonShinyPalette_Rowlet), SPECIES_SHINY_PAL(DARTRIX, gMonShinyPalette_Dartrix), SPECIES_SHINY_PAL(DECIDUEYE, gMonShinyPalette_Decidueye), @@ -811,6 +817,8 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(ZERAORA, gMonShinyPalette_Zeraora), SPECIES_SHINY_PAL(MELTAN, gMonShinyPalette_Meltan), SPECIES_SHINY_PAL(MELMETAL, gMonShinyPalette_Melmetal), +#endif +#if P_GEN_8_POKEMON == TRUE SPECIES_SHINY_PAL(GROOKEY, gMonShinyPalette_Grookey), SPECIES_SHINY_PAL(THWACKEY, gMonShinyPalette_Thwackey), SPECIES_SHINY_PAL(RILLABOOM, gMonShinyPalette_Rillaboom), @@ -907,6 +915,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(SNEASLER, gMonShinyPalette_CircledQuestionMark), // gMonShinyPalette_Sneasler), SPECIES_SHINY_PAL(OVERQWIL, gMonShinyPalette_Overqwil), SPECIES_SHINY_PAL(ENAMORUS, gMonShinyPalette_CircledQuestionMark), // gMonShinyPalette_Enamorus), +#endif SPECIES_SHINY_PAL(VENUSAUR_MEGA, gMonShinyPalette_VenusaurMega), SPECIES_SHINY_PAL(CHARIZARD_MEGA_X, gMonShinyPalette_CharizardMegaX), @@ -948,13 +957,19 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(METAGROSS_MEGA, gMonShinyPalette_MetagrossMega), SPECIES_SHINY_PAL(LATIAS_MEGA, gMonShinyPalette_LatiasMega), SPECIES_SHINY_PAL(LATIOS_MEGA, gMonShinyPalette_LatiosMega), +#if P_GEN_4_POKEMON == TRUE SPECIES_SHINY_PAL(LOPUNNY_MEGA, gMonShinyPalette_LopunnyMega), SPECIES_SHINY_PAL(GARCHOMP_MEGA, gMonShinyPalette_GarchompMega), SPECIES_SHINY_PAL(LUCARIO_MEGA, gMonShinyPalette_LucarioMega), SPECIES_SHINY_PAL(ABOMASNOW_MEGA, gMonShinyPalette_AbomasnowMega), SPECIES_SHINY_PAL(GALLADE_MEGA, gMonShinyPalette_GalladeMega), +#endif +#if P_GEN_5_POKEMON == TRUE SPECIES_SHINY_PAL(AUDINO_MEGA, gMonShinyPalette_AudinoMega), +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_SHINY_PAL(DIANCIE_MEGA, gMonShinyPalette_DiancieMega), +#endif SPECIES_SHINY_PAL(RAYQUAZA_MEGA, gMonShinyPalette_RayquazaMega), SPECIES_SHINY_PAL(KYOGRE_PRIMAL, gMonShinyPalette_KyogrePrimal), @@ -994,10 +1009,12 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(CORSOLA_GALARIAN, gMonShinyPalette_CorsolaGalarian), SPECIES_SHINY_PAL(ZIGZAGOON_GALARIAN, gMonShinyPalette_ZigzagoonGalarian), SPECIES_SHINY_PAL(LINOONE_GALARIAN, gMonShinyPalette_LinooneGalarian), +#if P_GEN_5_POKEMON == TRUE SPECIES_SHINY_PAL(DARUMAKA_GALARIAN, gMonShinyPalette_DarumakaGalarian), SPECIES_SHINY_PAL(DARMANITAN_GALARIAN, gMonShinyPalette_DarmanitanGalarian), SPECIES_SHINY_PAL(YAMASK_GALARIAN, gMonShinyPalette_YamaskGalarian), SPECIES_SHINY_PAL(STUNFISK_GALARIAN, gMonShinyPalette_StunfiskGalarian), +#endif SPECIES_SHINY_PAL(GROWLITHE_HISUIAN, gMonShinyPalette_GrowlitheHisuian), SPECIES_SHINY_PAL(ARCANINE_HISUIAN, gMonShinyPalette_ArcanineHisuian), @@ -1006,15 +1023,21 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(TYPHLOSION_HISUIAN, gMonShinyPalette_TyphlosionHisuian), SPECIES_SHINY_PAL(QWILFISH_HISUIAN, gMonShinyPalette_QwilfishHisuian), SPECIES_SHINY_PAL(SNEASEL_HISUIAN, gMonShinyPalette_SneaselHisuian), +#if P_GEN_5_POKEMON == TRUE SPECIES_SHINY_PAL(SAMUROTT_HISUIAN, gMonShinyPalette_CircledQuestionMark), //gMonShinyPalette_SamurottHisuian), SPECIES_SHINY_PAL(LILLIGANT_HISUIAN, gMonShinyPalette_LilligantHisuian), SPECIES_SHINY_PAL(ZORUA_HISUIAN, gMonShinyPalette_ZoruaHisuian), SPECIES_SHINY_PAL(ZOROARK_HISUIAN, gMonShinyPalette_ZoroarkHisuian), SPECIES_SHINY_PAL(BRAVIARY_HISUIAN, gMonShinyPalette_BraviaryHisuian), +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_SHINY_PAL(SLIGGOO_HISUIAN, gMonShinyPalette_SliggooHisuian), SPECIES_SHINY_PAL(GOODRA_HISUIAN, gMonShinyPalette_GoodraHisuian), SPECIES_SHINY_PAL(AVALUGG_HISUIAN, gMonShinyPalette_AvaluggHisuian), +#endif +#if P_GEN_7_POKEMON == TRUE SPECIES_SHINY_PAL(DECIDUEYE_HISUIAN, gMonShinyPalette_CircledQuestionMark), //gMonShinyPalette_DecidueyeHisuian), +#endif SPECIES_SHINY_PAL(PIKACHU_COSPLAY, gMonShinyPalette_PikachuCosplay), SPECIES_SHINY_PAL(PIKACHU_ROCK_STAR, gMonShinyPalette_PikachuRockStar), @@ -1033,7 +1056,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(PIKACHU_WORLD_CAP, gMonShinyPalette_PikachuWorldCap), SPECIES_SHINY_PAL(PICHU_SPIKY_EARED, gMonShinyPalette_PichuSpikyEared), -#endif + SPECIES_SHINY_PAL(UNOWN_B, gMonShinyPalette_Unown), SPECIES_SHINY_PAL(UNOWN_C, gMonShinyPalette_Unown), SPECIES_SHINY_PAL(UNOWN_D, gMonShinyPalette_Unown), @@ -1069,7 +1092,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(DEOXYS_ATTACK, gMonShinyPalette_DeoxysAttack), SPECIES_SHINY_PAL(DEOXYS_DEFENSE, gMonShinyPalette_DeoxysDefense), SPECIES_SHINY_PAL(DEOXYS_SPEED, gMonShinyPalette_DeoxysSpeed), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE SPECIES_SHINY_PAL(BURMY_SANDY_CLOAK, gMonShinyPalette_BurmySandyCloak), SPECIES_SHINY_PAL(BURMY_TRASH_CLOAK, gMonShinyPalette_BurmyTrashCloak), @@ -1111,7 +1134,8 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(ARCEUS_DRAGON, gMonShinyPalette_ArceusDragon), SPECIES_SHINY_PAL(ARCEUS_DARK, gMonShinyPalette_ArceusDark), SPECIES_SHINY_PAL(ARCEUS_FAIRY, gMonShinyPalette_ArceusFairy), - +#endif +#if P_GEN_5_POKEMON == TRUE SPECIES_SHINY_PAL(BASCULIN_BLUE_STRIPED, gMonShinyPalette_BasculinBlueStriped), SPECIES_SHINY_PAL(BASCULIN_WHITE_STRIPED, gMonShinyPalette_BasculinWhiteStriped), @@ -1129,7 +1153,6 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(TORNADUS_THERIAN, gMonShinyPalette_TornadusTherian), SPECIES_SHINY_PAL(THUNDURUS_THERIAN, gMonShinyPalette_ThundurusTherian), SPECIES_SHINY_PAL(LANDORUS_THERIAN, gMonShinyPalette_LandorusTherian), - SPECIES_SHINY_PAL(ENAMORUS_THERIAN, gMonShinyPalette_CircledQuestionMark), //gMonShinyPalette_EnamorusTherian), SPECIES_SHINY_PAL(KYUREM_WHITE, gMonShinyPalette_KyuremWhite), SPECIES_SHINY_PAL(KYUREM_BLACK, gMonShinyPalette_KyuremBlack), @@ -1142,7 +1165,8 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(GENESECT_SHOCK_DRIVE, gMonShinyPalette_GenesectShockDrive), SPECIES_SHINY_PAL(GENESECT_BURN_DRIVE, gMonShinyPalette_GenesectBurnDrive), SPECIES_SHINY_PAL(GENESECT_CHILL_DRIVE, gMonShinyPalette_GenesectChillDrive), - +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_SHINY_PAL(GRENINJA_BATTLE_BOND, gMonShinyPalette_Greninja), SPECIES_SHINY_PAL(GRENINJA_ASH, gMonShinyPalette_GreninjaAsh), @@ -1212,7 +1236,9 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(ZYGARDE_COMPLETE, gMonShinyPalette_ZygardeComplete), SPECIES_SHINY_PAL(HOOPA_UNBOUND, gMonShinyPalette_HoopaUnbound), +#endif +#if P_GEN_7_POKEMON == TRUE SPECIES_SHINY_PAL(ORICORIO_POM_POM, gMonShinyPalette_OricorioPomPom), SPECIES_SHINY_PAL(ORICORIO_PAU, gMonShinyPalette_OricorioPau), SPECIES_SHINY_PAL(ORICORIO_SENSU, gMonShinyPalette_OricorioSensu), @@ -1263,7 +1289,9 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(NECROZMA_ULTRA, gMonShinyPalette_NecrozmaUltra), SPECIES_SHINY_PAL(MAGEARNA_ORIGINAL_COLOR, gMonShinyPalette_MagearnaOriginalColor), +#endif +#if P_GEN_8_POKEMON == TRUE SPECIES_SHINY_PAL(CRAMORANT_GULPING, gMonShinyPalette_CramorantGulping), SPECIES_SHINY_PAL(CRAMORANT_GORGING, gMonShinyPalette_CramorantGorging), @@ -1300,6 +1328,8 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(CALYREX_ICE_RIDER, gMonShinyPalette_CalyrexIceRider), SPECIES_SHINY_PAL(CALYREX_SHADOW_RIDER, gMonShinyPalette_CalyrexShadowRider), + + SPECIES_SHINY_PAL(ENAMORUS_THERIAN, gMonShinyPalette_CircledQuestionMark), //gMonShinyPalette_EnamorusTherian), #endif SPECIES_SHINY_PAL(EGG, gMonPalette_Egg), }; @@ -1307,7 +1337,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = const struct CompressedSpritePalette gMonShinyPaletteTableFemale[] = { SPECIES_SHINY_PAL(EEVEE, gMonShinyPalette_Eevee), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE SPECIES_SHINY_PAL(STARLY, gMonShinyPalette_Starly), SPECIES_SHINY_PAL(STARAVIA, gMonShinyPalette_Staravia), SPECIES_SHINY_PAL(STARAPTOR, gMonShinyPalette_Staraptor), @@ -1318,10 +1348,16 @@ const struct CompressedSpritePalette gMonShinyPaletteTableFemale[] = SPECIES_SHINY_PAL(COMBEE, gMonShinyPalette_Combee), SPECIES_SHINY_PAL(HIPPOPOTAS, gMonShinyPalette_HippopotasF), SPECIES_SHINY_PAL(HIPPOWDON, gMonShinyPalette_HippowdonF), +#endif +#if P_GEN_5_POKEMON == TRUE SPECIES_SHINY_PAL(UNFEZANT, gMonShinyPalette_UnfezantF), SPECIES_SHINY_PAL(FRILLISH, gMonShinyPalette_FrillishF), SPECIES_SHINY_PAL(JELLICENT, gMonShinyPalette_JellicentF), +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_SHINY_PAL(PYROAR, gMonShinyPalette_PyroarF), +#endif +#if P_GEN_8_POKEMON == TRUE SPECIES_SHINY_PAL(BASCULEGION, gMonShinyPalette_CircledQuestionMark), // gMonShinyPalette_BasculegionF), #endif }; diff --git a/src/data/text/species_names.h b/src/data/text/species_names.h index ad0a1ba7c..ec452b31b 100644 --- a/src/data/text/species_names.h +++ b/src/data/text/species_names.h @@ -386,7 +386,7 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_RAYQUAZA] = _("Rayquaza"), [SPECIES_JIRACHI] = _("Jirachi"), [SPECIES_DEOXYS] = _("Deoxys"), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE [SPECIES_TURTWIG] = _("Turtwig"), [SPECIES_GROTLE] = _("Grotle"), [SPECIES_TORTERRA] = _("Torterra"), @@ -494,6 +494,8 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_DARKRAI] = _("Darkrai"), [SPECIES_SHAYMIN] = _("Shaymin"), [SPECIES_ARCEUS] = _("Arceus"), +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_VICTINI] = _("Victini"), [SPECIES_SNIVY] = _("Snivy"), [SPECIES_SERVINE] = _("Servine"), @@ -650,6 +652,8 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_KELDEO] = _("Keldeo"), [SPECIES_MELOETTA] = _("Meloetta"), [SPECIES_GENESECT] = _("Genesect"), +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_CHESPIN] = _("Chespin"), [SPECIES_QUILLADIN] = _("Quilladin"), [SPECIES_CHESNAUGHT] = _("Chesnaught"), @@ -722,6 +726,8 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_DIANCIE] = _("Diancie"), [SPECIES_HOOPA] = _("Hoopa"), [SPECIES_VOLCANION] = _("Volcanion"), +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_ROWLET] = _("Rowlet"), [SPECIES_DARTRIX] = _("Dartrix"), [SPECIES_DECIDUEYE] = _("Decidueye"), @@ -810,6 +816,8 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_ZERAORA] = _("Zeraora"), [SPECIES_MELTAN] = _("Meltan"), [SPECIES_MELMETAL] = _("Melmetal"), +#endif +#if P_GEN_8_POKEMON == TRUE [SPECIES_GROOKEY] = _("Grookey"), [SPECIES_THWACKEY] = _("Thwackey"), [SPECIES_RILLABOOM] = _("Rillaboom"), @@ -906,6 +914,7 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_SNEASLER] = _("Sneasler"), [SPECIES_OVERQWIL] = _("Overqwil"), [SPECIES_ENAMORUS] = _("Enamorus"), +#endif // Megas [SPECIES_VENUSAUR_MEGA] = _("Venusaur"), @@ -948,13 +957,19 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_METAGROSS_MEGA] = _("Metagross"), [SPECIES_LATIAS_MEGA] = _("Latias"), [SPECIES_LATIOS_MEGA] = _("Latios"), +#if P_GEN_4_POKEMON == TRUE [SPECIES_LOPUNNY_MEGA] = _("Lopunny"), [SPECIES_GARCHOMP_MEGA] = _("Garchomp"), [SPECIES_LUCARIO_MEGA] = _("Lucario"), [SPECIES_ABOMASNOW_MEGA] = _("Abomasnow"), [SPECIES_GALLADE_MEGA] = _("Gallade"), +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_AUDINO_MEGA] = _("Audino"), +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_DIANCIE_MEGA] = _("Diancie"), +#endif // Special Mega + Primals [SPECIES_RAYQUAZA_MEGA] = _("Rayquaza"), [SPECIES_KYOGRE_PRIMAL] = _("Kyogre"), @@ -996,10 +1011,12 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_CORSOLA_GALARIAN] = _("Corsola"), [SPECIES_ZIGZAGOON_GALARIAN] = _("Zigzagoon"), [SPECIES_LINOONE_GALARIAN] = _("Linoone"), +#if P_GEN_5_POKEMON == TRUE [SPECIES_DARUMAKA_GALARIAN] = _("Darumaka"), [SPECIES_DARMANITAN_GALARIAN] = _("Darmanitan"), [SPECIES_YAMASK_GALARIAN] = _("Yamask"), [SPECIES_STUNFISK_GALARIAN] = _("Stunfisk"), +#endif //Hisuian Forms [SPECIES_GROWLITHE_HISUIAN] = _("Growlithe"), @@ -1009,15 +1026,21 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_TYPHLOSION_HISUIAN] = _("Typhlosion"), [SPECIES_QWILFISH_HISUIAN] = _("Qwilfish"), [SPECIES_SNEASEL_HISUIAN] = _("Sneasel"), +#if P_GEN_5_POKEMON == TRUE [SPECIES_SAMUROTT_HISUIAN] = _("Samurott"), [SPECIES_LILLIGANT_HISUIAN] = _("Lilligant"), [SPECIES_ZORUA_HISUIAN] = _("Zorua"), [SPECIES_ZOROARK_HISUIAN] = _("Zoroark"), [SPECIES_BRAVIARY_HISUIAN] = _("Braviary"), +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_SLIGGOO_HISUIAN] = _("Sliggoo"), [SPECIES_GOODRA_HISUIAN] = _("Goodra"), [SPECIES_AVALUGG_HISUIAN] = _("Avalugg"), +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_DECIDUEYE_HISUIAN] = _("Decidueye"), +#endif // Cosplay Pikachu [SPECIES_PIKACHU_COSPLAY] = _("Pikachu"), @@ -1037,7 +1060,6 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_PIKACHU_WORLD_CAP] = _("Pikachu"), // Pichu [SPECIES_PICHU_SPIKY_EARED] = _("Pichu"), -#endif // Unown [SPECIES_UNOWN_B] = _("Unown"), [SPECIES_UNOWN_C] = _("Unown"), @@ -1074,7 +1096,7 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_DEOXYS_ATTACK] = _("Deoxys"), [SPECIES_DEOXYS_DEFENSE] = _("Deoxys"), [SPECIES_DEOXYS_SPEED] = _("Deoxys"), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE // Burmy [SPECIES_BURMY_SANDY_CLOAK] = _("Burmy"), [SPECIES_BURMY_TRASH_CLOAK] = _("Burmy"), @@ -1117,6 +1139,8 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_ARCEUS_DRAGON] = _("Arceus"), [SPECIES_ARCEUS_DARK] = _("Arceus"), [SPECIES_ARCEUS_FAIRY] = _("Arceus"), +#endif +#if P_GEN_5_POKEMON == TRUE // Basculin [SPECIES_BASCULIN_BLUE_STRIPED] = _("Basculin"), [SPECIES_BASCULIN_WHITE_STRIPED] = _("Basculin"), @@ -1148,6 +1172,8 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_GENESECT_SHOCK_DRIVE] = _("Genesect"), [SPECIES_GENESECT_BURN_DRIVE] = _("Genesect"), [SPECIES_GENESECT_CHILL_DRIVE] = _("Genesect"), +#endif +#if P_GEN_6_POKEMON == TRUE // Greninja [SPECIES_GRENINJA_BATTLE_BOND] = _("Greninja"), [SPECIES_GRENINJA_ASH] = _("Greninja"), @@ -1218,6 +1244,8 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_ZYGARDE_COMPLETE] = _("Zygarde"), // Hoopa [SPECIES_HOOPA_UNBOUND] = _("Hoopa"), +#endif +#if P_GEN_7_POKEMON == TRUE // Oricorio [SPECIES_ORICORIO_POM_POM] = _("Oricorio"), [SPECIES_ORICORIO_PAU] = _("Oricorio"), @@ -1269,6 +1297,8 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { [SPECIES_NECROZMA_ULTRA] = _("Necrozma"), // Magearna [SPECIES_MAGEARNA_ORIGINAL_COLOR] = _("Magearna"), +#endif +#if P_GEN_8_POKEMON == TRUE // Cramorant [SPECIES_CRAMORANT_GULPING] = _("Cramorant"), [SPECIES_CRAMORANT_GORGING] = _("Cramorant"), diff --git a/src/debug.c b/src/debug.c index 7c99ad2c2..aaf5a8131 100644 --- a/src/debug.c +++ b/src/debug.c @@ -294,100 +294,100 @@ extern u8 PlayersHouse_2F_EventScript_CheckWallClock[]; // Text // Main Menu -static const u8 gDebugText_Utilities[] = _("Utilities"); -static const u8 gDebugText_Scripts[] = _("Scripts"); -static const u8 gDebugText_Flags[] = _("Flags"); -static const u8 gDebugText_Vars[] = _("Variables"); -static const u8 gDebugText_Give[] = _("Give X"); -static const u8 gDebugText_Sound[] = _("Sound"); -static const u8 gDebugText_Cancel[] = _("Cancel"); +static const u8 sDebugText_Utilities[] = _("Utilities"); +static const u8 sDebugText_Scripts[] = _("Scripts"); +static const u8 sDebugText_Flags[] = _("Flags"); +static const u8 sDebugText_Vars[] = _("Variables"); +static const u8 sDebugText_Give[] = _("Give X"); +static const u8 sDebugText_Sound[] = _("Sound"); +static const u8 sDebugText_Cancel[] = _("Cancel"); // Script menu -static const u8 gDebugText_Util_Script_1[] = _("Script 1"); -static const u8 gDebugText_Util_Script_2[] = _("Script 2"); -static const u8 gDebugText_Util_Script_3[] = _("Script 3"); -static const u8 gDebugText_Util_Script_4[] = _("Script 4"); -static const u8 gDebugText_Util_Script_5[] = _("Script 5"); -static const u8 gDebugText_Util_Script_6[] = _("Script 6"); -static const u8 gDebugText_Util_Script_7[] = _("Script 7"); -static const u8 gDebugText_Util_Script_8[] = _("Script 8"); +static const u8 sDebugText_Util_Script_1[] = _("Script 1"); +static const u8 sDebugText_Util_Script_2[] = _("Script 2"); +static const u8 sDebugText_Util_Script_3[] = _("Script 3"); +static const u8 sDebugText_Util_Script_4[] = _("Script 4"); +static const u8 sDebugText_Util_Script_5[] = _("Script 5"); +static const u8 sDebugText_Util_Script_6[] = _("Script 6"); +static const u8 sDebugText_Util_Script_7[] = _("Script 7"); +static const u8 sDebugText_Util_Script_8[] = _("Script 8"); // Util Menu -static const u8 gDebugText_Util_HealParty[] = _("Heal Party"); -static const u8 gDebugText_Util_Fly[] = _("Fly to map"); -static const u8 gDebugText_Util_WarpToMap[] = _("Warp to map warp"); -static const u8 gDebugText_Util_WarpToMap_SelectMapGroup[] = _("Group: {STR_VAR_1} \n \n\n{STR_VAR_3} "); -static const u8 gDebugText_Util_WarpToMap_SelectMap[] = _("Map: {STR_VAR_1} \nMapSec: \n{STR_VAR_2} \n{STR_VAR_3} "); -static const u8 gDebugText_Util_WarpToMap_SelectWarp[] = _("Warp: \n{STR_VAR_1} \n \n{STR_VAR_3} "); -static const u8 gDebugText_Util_WarpToMap_SelMax[] = _("{STR_VAR_1} / {STR_VAR_2}"); -static const u8 gDebugText_Util_RunningShoes[] = _("Toggle Running Shoes"); -static const u8 gDebugText_Util_PoisonMons[] = _("Poison all mons"); -static const u8 gDebugText_Util_SaveBlockSpace[] = _("SaveBlock Space"); -static const u8 gDebugText_Util_Weather[] = _("Set weather"); -static const u8 gDebugText_Util_Weather_ID[] = _("Weather Id: {STR_VAR_3}\n{STR_VAR_1}\n{STR_VAR_2}"); -static const u8 gDebugText_Util_CheckWallClock[] = _("Check Wall Clock"); -static const u8 gDebugText_Util_SetWallClock[] = _("Set Wall Clock"); -static const u8 gDebugText_Util_WatchCredits[] = _("Watch Credits"); -static const u8 gDebugText_Util_Trainer_Name[] = _("Trainer name"); -static const u8 gDebugText_Util_Trainer_Gender[] = _("Toggle T. Gender"); -static const u8 gDebugText_Util_Trainer_Id[] = _("New Trainer Id"); +static const u8 sDebugText_Util_HealParty[] = _("Heal Party"); +static const u8 sDebugText_Util_Fly[] = _("Fly to map"); +static const u8 sDebugText_Util_WarpToMap[] = _("Warp to map warp"); +static const u8 sDebugText_Util_WarpToMap_SelectMapGroup[] = _("Group: {STR_VAR_1} \n \n\n{STR_VAR_3} "); +static const u8 sDebugText_Util_WarpToMap_SelectMap[] = _("Map: {STR_VAR_1} \nMapSec: \n{STR_VAR_2} \n{STR_VAR_3} "); +static const u8 sDebugText_Util_WarpToMap_SelectWarp[] = _("Warp: \n{STR_VAR_1} \n \n{STR_VAR_3} "); +static const u8 sDebugText_Util_WarpToMap_SelMax[] = _("{STR_VAR_1} / {STR_VAR_2}"); +static const u8 sDebugText_Util_RunningShoes[] = _("Toggle Running Shoes"); +static const u8 sDebugText_Util_PoisonMons[] = _("Poison all mons"); +static const u8 sDebugText_Util_SaveBlockSpace[] = _("SaveBlock Space"); +static const u8 sDebugText_Util_Weather[] = _("Set weather"); +static const u8 sDebugText_Util_Weather_ID[] = _("Weather Id: {STR_VAR_3}\n{STR_VAR_1}\n{STR_VAR_2}"); +static const u8 sDebugText_Util_CheckWallClock[] = _("Check Wall Clock"); +static const u8 sDebugText_Util_SetWallClock[] = _("Set Wall Clock"); +static const u8 sDebugText_Util_WatchCredits[] = _("Watch Credits"); +static const u8 sDebugText_Util_Trainer_Name[] = _("Trainer name"); +static const u8 sDebugText_Util_Trainer_Gender[] = _("Toggle T. Gender"); +static const u8 sDebugText_Util_Trainer_Id[] = _("New Trainer Id"); // Flags Menu -static const u8 gDebugText_Flags_Flags[] = _("Set Flag XXXX"); -static const u8 gDebugText_Flags_SetPokedexFlags[] = _("All Pokédex Flags"); -static const u8 gDebugText_Flags_SwitchDex[] = _("Pokédex ON/OFF"); -static const u8 gDebugText_Flags_SwitchNationalDex[] = _("NatDex ON/OFF"); -static const u8 gDebugText_Flags_SwitchPokeNav[] = _("PokéNav ON/OFF"); -static const u8 gDebugText_Flags_ToggleFlyFlags[] = _("Fly Flags ON/OFF"); -static const u8 gDebugText_Flags_ToggleAllBadges[] = _("All badges ON/OFF"); -static const u8 gDebugText_Flags_ToggleFrontierPass[] = _("Frontier Pass ON/OFF"); -static const u8 gDebugText_Flags_SwitchCollision[] = _("Collision ON/OFF"); -static const u8 gDebugText_Flags_SwitchEncounter[] = _("Encounter ON/OFF"); -static const u8 gDebugText_Flags_SwitchTrainerSee[] = _("TrainerSee ON/OFF"); -static const u8 gDebugText_Flags_SwitchBagUse[] = _("BagUse ON/OFF"); -static const u8 gDebugText_Flags_SwitchCatching[] = _("Catching ON/OFF"); -static const u8 gDebugText_Flags_Flag[] = _("Flag: {STR_VAR_1} \n{STR_VAR_2} \n{STR_VAR_3}"); -static const u8 gDebugText_Flags_FlagHex[] = _("{STR_VAR_1} \n0x{STR_VAR_2} "); -static const u8 gDebugText_Flags_FlagSet[] = _("TRUE"); -static const u8 gDebugText_Flags_FlagUnset[] = _("FALSE"); +static const u8 sDebugText_Flags_Flags[] = _("Set Flag XXXX"); +static const u8 sDebugText_Flags_SetPokedexFlags[] = _("All Pokédex Flags"); +static const u8 sDebugText_Flags_SwitchDex[] = _("Pokédex ON/OFF"); +static const u8 sDebugText_Flags_SwitchNationalDex[] = _("NatDex ON/OFF"); +static const u8 sDebugText_Flags_SwitchPokeNav[] = _("PokéNav ON/OFF"); +static const u8 sDebugText_Flags_ToggleFlyFlags[] = _("Fly Flags ON/OFF"); +static const u8 sDebugText_Flags_ToggleAllBadges[] = _("All badges ON/OFF"); +static const u8 sDebugText_Flags_ToggleFrontierPass[] = _("Frontier Pass ON/OFF"); +static const u8 sDebugText_Flags_SwitchCollision[] = _("Collision ON/OFF"); +static const u8 sDebugText_Flags_SwitchEncounter[] = _("Encounter ON/OFF"); +static const u8 sDebugText_Flags_SwitchTrainerSee[] = _("TrainerSee ON/OFF"); +static const u8 sDebugText_Flags_SwitchBagUse[] = _("BagUse ON/OFF"); +static const u8 sDebugText_Flags_SwitchCatching[] = _("Catching ON/OFF"); +static const u8 sDebugText_Flags_Flag[] = _("Flag: {STR_VAR_1} \n{STR_VAR_2} \n{STR_VAR_3}"); +static const u8 sDebugText_Flags_FlagHex[] = _("{STR_VAR_1} \n0x{STR_VAR_2} "); +static const u8 sDebugText_Flags_FlagSet[] = _("TRUE"); +static const u8 sDebugText_Flags_FlagUnset[] = _("FALSE"); // Variables Menu -static const u8 gDebugText_Vars_Vars[] = _("Set Vars XXXX"); -static const u8 gDebugText_Vars_VariableHex[] = _("{STR_VAR_1} \n0x{STR_VAR_2} "); -static const u8 gDebugText_Vars_Variable[] = _("Var: {STR_VAR_1} \nVal: {STR_VAR_3} \n{STR_VAR_2}"); -static const u8 gDebugText_Vars_VariableValueSet[] = _("Var: {STR_VAR_1} \nVal: {STR_VAR_3} \n{STR_VAR_2}"); +static const u8 sDebugText_Vars_Vars[] = _("Set Vars XXXX"); +static const u8 sDebugText_Vars_VariableHex[] = _("{STR_VAR_1} \n0x{STR_VAR_2} "); +static const u8 sDebugText_Vars_Variable[] = _("Var: {STR_VAR_1} \nVal: {STR_VAR_3} \n{STR_VAR_2}"); +static const u8 sDebugText_Vars_VariableValueSet[] = _("Var: {STR_VAR_1} \nVal: {STR_VAR_3} \n{STR_VAR_2}"); // Give Menu -static const u8 gDebugText_Give_GiveItem[] = _("Give item XXXX"); -static const u8 gDebugText_ItemQuantity[] = _("Quantity: \n{STR_VAR_1} \n\n{STR_VAR_2}"); -static const u8 gDebugText_ItemID[] = _("Item Id: {STR_VAR_3}\n{STR_VAR_1} \n\n{STR_VAR_2}"); -static const u8 gDebugText_Give_AllTMs[] = _("Give all TMs"); -static const u8 gDebugText_Give_GivePokemonSimple[] = _("Pkm(lvl)"); -static const u8 gDebugText_Give_GivePokemonComplex[] = _("Pkm(l,s,n,a,IV,mov)"); -static const u8 gDebugText_PokemonID[] = _("Species: {STR_VAR_3}\n{STR_VAR_1} \n\n{STR_VAR_2}"); -static const u8 gDebugText_PokemonLevel[] = _("Level: \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 gDebugText_PokemonShiny[] = _("Shiny: \n {STR_VAR_2} \n \n "); -static const u8 gDebugText_PokemonNature[] = _("NatureId: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 gDebugText_PokemonAbility[] = _("AbilityNum: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 gDebugText_PokemonIVs[] = _("All IVs: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 gDebugText_PokemonIV_0[] = _("IV HP: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 gDebugText_PokemonIV_1[] = _("IV Attack: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 gDebugText_PokemonIV_2[] = _("IV Defense: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 gDebugText_PokemonIV_3[] = _("IV Speed: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 gDebugText_PokemonIV_4[] = _("IV Sp. Attack: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 gDebugText_PokemonIV_5[] = _("IV Sp. Defense: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 gDebugText_PokemonMove_0[] = _("Move 0: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 gDebugText_PokemonMove_1[] = _("Move 1: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 gDebugText_PokemonMove_2[] = _("Move 2: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 gDebugText_PokemonMove_3[] = _("Move 3: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 gDebugText_Give_MaxMoney[] = _("Max Money"); -static const u8 gDebugText_Give_MaxCoins[] = _("Max Coins"); -static const u8 gDebugText_Give_BattlePoints[] = _("Max Battle Points"); -static const u8 gDebugText_Give_DaycareEgg[] = _("Daycare Egg"); -static const u8 gDebugText_Give_FillPc[] = _("Fill Pc"); -static const u8 gDebugText_Give_GiveCHEAT[] = _("CHEAT Start"); -static const u8 gDebugText_AccessPC[] = _("Access PC"); +static const u8 sDebugText_Give_GiveItem[] = _("Give item XXXX"); +static const u8 sDebugText_ItemQuantity[] = _("Quantity: \n{STR_VAR_1} \n\n{STR_VAR_2}"); +static const u8 sDebugText_ItemID[] = _("Item Id: {STR_VAR_3}\n{STR_VAR_1} \n\n{STR_VAR_2}"); +static const u8 sDebugText_Give_AllTMs[] = _("Give all TMs"); +static const u8 sDebugText_Give_GivePokemonSimple[] = _("Pkm(lvl)"); +static const u8 sDebugText_Give_GivePokemonComplex[] = _("Pkm(l,s,n,a,IV,mov)"); +static const u8 sDebugText_PokemonID[] = _("Species: {STR_VAR_3}\n{STR_VAR_1} \n\n{STR_VAR_2}"); +static const u8 sDebugText_PokemonLevel[] = _("Level: \n{STR_VAR_1} \n \n{STR_VAR_2}"); +static const u8 sDebugText_PokemonShiny[] = _("Shiny: \n {STR_VAR_2} \n \n "); +static const u8 sDebugText_PokemonNature[] = _("NatureId: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); +static const u8 sDebugText_PokemonAbility[] = _("AbilityNum: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); +static const u8 sDebugText_PokemonIVs[] = _("All IVs: \n {STR_VAR_3} \n \n{STR_VAR_2} "); +static const u8 sDebugText_PokemonIV_0[] = _("IV HP: \n {STR_VAR_3} \n \n{STR_VAR_2} "); +static const u8 sDebugText_PokemonIV_1[] = _("IV Attack: \n {STR_VAR_3} \n \n{STR_VAR_2} "); +static const u8 sDebugText_PokemonIV_2[] = _("IV Defense: \n {STR_VAR_3} \n \n{STR_VAR_2} "); +static const u8 sDebugText_PokemonIV_3[] = _("IV Speed: \n {STR_VAR_3} \n \n{STR_VAR_2} "); +static const u8 sDebugText_PokemonIV_4[] = _("IV Sp. Attack: \n {STR_VAR_3} \n \n{STR_VAR_2} "); +static const u8 sDebugText_PokemonIV_5[] = _("IV Sp. Defense: \n {STR_VAR_3} \n \n{STR_VAR_2} "); +static const u8 sDebugText_PokemonMove_0[] = _("Move 0: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); +static const u8 sDebugText_PokemonMove_1[] = _("Move 1: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); +static const u8 sDebugText_PokemonMove_2[] = _("Move 2: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); +static const u8 sDebugText_PokemonMove_3[] = _("Move 3: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); +static const u8 sDebugText_Give_MaxMoney[] = _("Max Money"); +static const u8 sDebugText_Give_MaxCoins[] = _("Max Coins"); +static const u8 sDebugText_Give_BattlePoints[] = _("Max Battle Points"); +static const u8 sDebugText_Give_DaycareEgg[] = _("Daycare Egg"); +static const u8 sDebugText_Give_FillPc[] = _("Fill Pc"); +static const u8 sDebugText_Give_GiveCHEAT[] = _("CHEAT Start"); +static const u8 sDebugText_AccessPC[] = _("Access PC"); // Sound Mneu -static const u8 gDebugText_Sound_SE[] = _("Effects"); -static const u8 gDebugText_Sound_SE_ID[] = _("Sound Id: {STR_VAR_3}\n{STR_VAR_1} \n{STR_VAR_2}"); -static const u8 gDebugText_Sound_MUS[] = _("Music"); -static const u8 gDebugText_Sound_MUS_ID[] = _("Music Id: {STR_VAR_3}\n{STR_VAR_1} \n{STR_VAR_2}"); -static const u8 gDebugText_Sound_Empty[] = _(""); +static const u8 sDebugText_Sound_SE[] = _("Effects"); +static const u8 sDebugText_Sound_SE_ID[] = _("Sound Id: {STR_VAR_3}\n{STR_VAR_1} \n{STR_VAR_2}"); +static const u8 sDebugText_Sound_MUS[] = _("Music"); +static const u8 sDebugText_Sound_MUS_ID[] = _("Music Id: {STR_VAR_3}\n{STR_VAR_1} \n{STR_VAR_2}"); +static const u8 sDebugText_Sound_Empty[] = _(""); static const u8 digitInidicator_1[] = _("{LEFT_ARROW}+1{RIGHT_ARROW} "); static const u8 digitInidicator_10[] = _("{LEFT_ARROW}+10{RIGHT_ARROW} "); @@ -426,79 +426,79 @@ static const s32 sPowersOfTen[] = // List Menu Items static const struct ListMenuItem sDebugMenu_Items_Main[] = { - [DEBUG_MENU_ITEM_UTILITIES] = {gDebugText_Utilities, DEBUG_MENU_ITEM_UTILITIES}, - [DEBUG_MENU_ITEM_SCRIPTS] = {gDebugText_Scripts, DEBUG_MENU_ITEM_SCRIPTS}, - [DEBUG_MENU_ITEM_FLAGS] = {gDebugText_Flags, DEBUG_MENU_ITEM_FLAGS}, - [DEBUG_MENU_ITEM_VARS] = {gDebugText_Vars, DEBUG_MENU_ITEM_VARS}, - [DEBUG_MENU_ITEM_GIVE] = {gDebugText_Give, DEBUG_MENU_ITEM_GIVE}, - [DEBUG_MENU_ITEM_SOUND] = {gDebugText_Sound, DEBUG_MENU_ITEM_SOUND}, - [DEBUG_MENU_ITEM_ACCESS_PC] = {gDebugText_AccessPC, DEBUG_MENU_ITEM_ACCESS_PC}, - [DEBUG_MENU_ITEM_CANCEL] = {gDebugText_Cancel, DEBUG_MENU_ITEM_CANCEL} + [DEBUG_MENU_ITEM_UTILITIES] = {sDebugText_Utilities, DEBUG_MENU_ITEM_UTILITIES}, + [DEBUG_MENU_ITEM_SCRIPTS] = {sDebugText_Scripts, DEBUG_MENU_ITEM_SCRIPTS}, + [DEBUG_MENU_ITEM_FLAGS] = {sDebugText_Flags, DEBUG_MENU_ITEM_FLAGS}, + [DEBUG_MENU_ITEM_VARS] = {sDebugText_Vars, DEBUG_MENU_ITEM_VARS}, + [DEBUG_MENU_ITEM_GIVE] = {sDebugText_Give, DEBUG_MENU_ITEM_GIVE}, + [DEBUG_MENU_ITEM_SOUND] = {sDebugText_Sound, DEBUG_MENU_ITEM_SOUND}, + [DEBUG_MENU_ITEM_ACCESS_PC] = {sDebugText_AccessPC, DEBUG_MENU_ITEM_ACCESS_PC}, + [DEBUG_MENU_ITEM_CANCEL] = {sDebugText_Cancel, DEBUG_MENU_ITEM_CANCEL} }; static const struct ListMenuItem sDebugMenu_Items_Utilities[] = { - [DEBUG_UTIL_MENU_ITEM_HEAL_PARTY] = {gDebugText_Util_HealParty, DEBUG_UTIL_MENU_ITEM_HEAL_PARTY}, - [DEBUG_UTIL_MENU_ITEM_FLY] = {gDebugText_Util_Fly, DEBUG_UTIL_MENU_ITEM_FLY}, - [DEBUG_UTIL_MENU_ITEM_WARP] = {gDebugText_Util_WarpToMap, DEBUG_UTIL_MENU_ITEM_WARP}, - [DEBUG_UTIL_MENU_ITEM_RUNNING_SHOES] = {gDebugText_Util_RunningShoes, DEBUG_UTIL_MENU_ITEM_RUNNING_SHOES}, - [DEBUG_UTIL_MENU_ITEM_POISON_MONS] = {gDebugText_Util_PoisonMons, DEBUG_UTIL_MENU_ITEM_POISON_MONS}, - [DEBUG_UTIL_MENU_ITEM_SAVEBLOCK] = {gDebugText_Util_SaveBlockSpace, DEBUG_UTIL_MENU_ITEM_SAVEBLOCK}, - [DEBUG_UTIL_MENU_ITEM_WEATHER] = {gDebugText_Util_Weather, DEBUG_UTIL_MENU_ITEM_WEATHER}, - [DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK] = {gDebugText_Util_CheckWallClock, DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK}, - [DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK] = {gDebugText_Util_SetWallClock, DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK}, - [DEBUG_UTIL_MENU_ITEM_WATCHCREDITS] = {gDebugText_Util_WatchCredits, DEBUG_UTIL_MENU_ITEM_WATCHCREDITS}, - [DEBUG_UTIL_MENU_ITEM_TRAINER_NAME] = {gDebugText_Util_Trainer_Name, DEBUG_UTIL_MENU_ITEM_TRAINER_NAME}, - [DEBUG_UTIL_MENU_ITEM_TRAINER_GENDER] = {gDebugText_Util_Trainer_Gender, DEBUG_UTIL_MENU_ITEM_TRAINER_GENDER}, - [DEBUG_UTIL_MENU_ITEM_TRAINER_ID] = {gDebugText_Util_Trainer_Id, DEBUG_UTIL_MENU_ITEM_TRAINER_ID}, + [DEBUG_UTIL_MENU_ITEM_HEAL_PARTY] = {sDebugText_Util_HealParty, DEBUG_UTIL_MENU_ITEM_HEAL_PARTY}, + [DEBUG_UTIL_MENU_ITEM_FLY] = {sDebugText_Util_Fly, DEBUG_UTIL_MENU_ITEM_FLY}, + [DEBUG_UTIL_MENU_ITEM_WARP] = {sDebugText_Util_WarpToMap, DEBUG_UTIL_MENU_ITEM_WARP}, + [DEBUG_UTIL_MENU_ITEM_RUNNING_SHOES] = {sDebugText_Util_RunningShoes, DEBUG_UTIL_MENU_ITEM_RUNNING_SHOES}, + [DEBUG_UTIL_MENU_ITEM_POISON_MONS] = {sDebugText_Util_PoisonMons, DEBUG_UTIL_MENU_ITEM_POISON_MONS}, + [DEBUG_UTIL_MENU_ITEM_SAVEBLOCK] = {sDebugText_Util_SaveBlockSpace, DEBUG_UTIL_MENU_ITEM_SAVEBLOCK}, + [DEBUG_UTIL_MENU_ITEM_WEATHER] = {sDebugText_Util_Weather, DEBUG_UTIL_MENU_ITEM_WEATHER}, + [DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK] = {sDebugText_Util_CheckWallClock, DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK}, + [DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK] = {sDebugText_Util_SetWallClock, DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK}, + [DEBUG_UTIL_MENU_ITEM_WATCHCREDITS] = {sDebugText_Util_WatchCredits, DEBUG_UTIL_MENU_ITEM_WATCHCREDITS}, + [DEBUG_UTIL_MENU_ITEM_TRAINER_NAME] = {sDebugText_Util_Trainer_Name, DEBUG_UTIL_MENU_ITEM_TRAINER_NAME}, + [DEBUG_UTIL_MENU_ITEM_TRAINER_GENDER] = {sDebugText_Util_Trainer_Gender, DEBUG_UTIL_MENU_ITEM_TRAINER_GENDER}, + [DEBUG_UTIL_MENU_ITEM_TRAINER_ID] = {sDebugText_Util_Trainer_Id, DEBUG_UTIL_MENU_ITEM_TRAINER_ID}, }; static const struct ListMenuItem sDebugMenu_Items_Scripts[] = { - [DEBUG_UTIL_MENU_ITEM_SCRIPT_1] = {gDebugText_Util_Script_1, DEBUG_UTIL_MENU_ITEM_SCRIPT_1}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_2] = {gDebugText_Util_Script_2, DEBUG_UTIL_MENU_ITEM_SCRIPT_2}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_3] = {gDebugText_Util_Script_3, DEBUG_UTIL_MENU_ITEM_SCRIPT_3}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_4] = {gDebugText_Util_Script_4, DEBUG_UTIL_MENU_ITEM_SCRIPT_4}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_5] = {gDebugText_Util_Script_5, DEBUG_UTIL_MENU_ITEM_SCRIPT_5}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_6] = {gDebugText_Util_Script_6, DEBUG_UTIL_MENU_ITEM_SCRIPT_6}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_7] = {gDebugText_Util_Script_7, DEBUG_UTIL_MENU_ITEM_SCRIPT_7}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_8] = {gDebugText_Util_Script_8, DEBUG_UTIL_MENU_ITEM_SCRIPT_8}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_1] = {sDebugText_Util_Script_1, DEBUG_UTIL_MENU_ITEM_SCRIPT_1}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_2] = {sDebugText_Util_Script_2, DEBUG_UTIL_MENU_ITEM_SCRIPT_2}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_3] = {sDebugText_Util_Script_3, DEBUG_UTIL_MENU_ITEM_SCRIPT_3}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_4] = {sDebugText_Util_Script_4, DEBUG_UTIL_MENU_ITEM_SCRIPT_4}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_5] = {sDebugText_Util_Script_5, DEBUG_UTIL_MENU_ITEM_SCRIPT_5}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_6] = {sDebugText_Util_Script_6, DEBUG_UTIL_MENU_ITEM_SCRIPT_6}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_7] = {sDebugText_Util_Script_7, DEBUG_UTIL_MENU_ITEM_SCRIPT_7}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_8] = {sDebugText_Util_Script_8, DEBUG_UTIL_MENU_ITEM_SCRIPT_8}, }; static const struct ListMenuItem sDebugMenu_Items_Flags[] = { - [DEBUG_FLAG_MENU_ITEM_FLAGS] = {gDebugText_Flags_Flags, DEBUG_FLAG_MENU_ITEM_FLAGS}, - [DEBUG_FLAG_MENU_ITEM_POKEDEXFLAGS] = {gDebugText_Flags_SetPokedexFlags, DEBUG_FLAG_MENU_ITEM_POKEDEXFLAGS}, - [DEBUG_FLAG_MENU_ITEM_POKEDEXONOFF] = {gDebugText_Flags_SwitchDex, DEBUG_FLAG_MENU_ITEM_POKEDEXONOFF}, - [DEBUG_FLAG_MENU_ITEM_NATDEXONOFF] = {gDebugText_Flags_SwitchNationalDex, DEBUG_FLAG_MENU_ITEM_NATDEXONOFF}, - [DEBUG_FLAG_MENU_ITEM_POKENAVONOFF] = {gDebugText_Flags_SwitchPokeNav, DEBUG_FLAG_MENU_ITEM_POKENAVONOFF}, - [DEBUG_FLAG_MENU_ITEM_FLYANYWHERE] = {gDebugText_Flags_ToggleFlyFlags, DEBUG_FLAG_MENU_ITEM_FLYANYWHERE}, - [DEBUG_FLAG_MENU_ITEM_GETALLBADGES] = {gDebugText_Flags_ToggleAllBadges, DEBUG_FLAG_MENU_ITEM_GETALLBADGES}, - [DEBUG_FLAG_MENU_ITEM_FRONTIER_PASS] = {gDebugText_Flags_ToggleFrontierPass, DEBUG_FLAG_MENU_ITEM_FRONTIER_PASS}, - [DEBUG_FLAG_MENU_ITEM_COLISSION_ONOFF] = {gDebugText_Flags_SwitchCollision, DEBUG_FLAG_MENU_ITEM_COLISSION_ONOFF}, - [DEBUG_FLAG_MENU_ITEM_ENCOUNTER_ONOFF] = {gDebugText_Flags_SwitchEncounter, DEBUG_FLAG_MENU_ITEM_ENCOUNTER_ONOFF}, - [DEBUG_FLAG_MENU_ITEM_TRAINER_SEE_ONOFF] = {gDebugText_Flags_SwitchTrainerSee, DEBUG_FLAG_MENU_ITEM_TRAINER_SEE_ONOFF}, - [DEBUG_FLAG_MENU_ITEM_BAG_USE_ONOFF] = {gDebugText_Flags_SwitchBagUse, DEBUG_FLAG_MENU_ITEM_BAG_USE_ONOFF}, - [DEBUG_FLAG_MENU_ITEM_CATCHING_ONOFF] = {gDebugText_Flags_SwitchCatching, DEBUG_FLAG_MENU_ITEM_CATCHING_ONOFF}, + [DEBUG_FLAG_MENU_ITEM_FLAGS] = {sDebugText_Flags_Flags, DEBUG_FLAG_MENU_ITEM_FLAGS}, + [DEBUG_FLAG_MENU_ITEM_POKEDEXFLAGS] = {sDebugText_Flags_SetPokedexFlags, DEBUG_FLAG_MENU_ITEM_POKEDEXFLAGS}, + [DEBUG_FLAG_MENU_ITEM_POKEDEXONOFF] = {sDebugText_Flags_SwitchDex, DEBUG_FLAG_MENU_ITEM_POKEDEXONOFF}, + [DEBUG_FLAG_MENU_ITEM_NATDEXONOFF] = {sDebugText_Flags_SwitchNationalDex, DEBUG_FLAG_MENU_ITEM_NATDEXONOFF}, + [DEBUG_FLAG_MENU_ITEM_POKENAVONOFF] = {sDebugText_Flags_SwitchPokeNav, DEBUG_FLAG_MENU_ITEM_POKENAVONOFF}, + [DEBUG_FLAG_MENU_ITEM_FLYANYWHERE] = {sDebugText_Flags_ToggleFlyFlags, DEBUG_FLAG_MENU_ITEM_FLYANYWHERE}, + [DEBUG_FLAG_MENU_ITEM_GETALLBADGES] = {sDebugText_Flags_ToggleAllBadges, DEBUG_FLAG_MENU_ITEM_GETALLBADGES}, + [DEBUG_FLAG_MENU_ITEM_FRONTIER_PASS] = {sDebugText_Flags_ToggleFrontierPass, DEBUG_FLAG_MENU_ITEM_FRONTIER_PASS}, + [DEBUG_FLAG_MENU_ITEM_COLISSION_ONOFF] = {sDebugText_Flags_SwitchCollision, DEBUG_FLAG_MENU_ITEM_COLISSION_ONOFF}, + [DEBUG_FLAG_MENU_ITEM_ENCOUNTER_ONOFF] = {sDebugText_Flags_SwitchEncounter, DEBUG_FLAG_MENU_ITEM_ENCOUNTER_ONOFF}, + [DEBUG_FLAG_MENU_ITEM_TRAINER_SEE_ONOFF] = {sDebugText_Flags_SwitchTrainerSee, DEBUG_FLAG_MENU_ITEM_TRAINER_SEE_ONOFF}, + [DEBUG_FLAG_MENU_ITEM_BAG_USE_ONOFF] = {sDebugText_Flags_SwitchBagUse, DEBUG_FLAG_MENU_ITEM_BAG_USE_ONOFF}, + [DEBUG_FLAG_MENU_ITEM_CATCHING_ONOFF] = {sDebugText_Flags_SwitchCatching, DEBUG_FLAG_MENU_ITEM_CATCHING_ONOFF}, }; static const struct ListMenuItem sDebugMenu_Items_Vars[] = { - [DEBUG_VARS_MENU_ITEM_VARS] = {gDebugText_Vars_Vars, DEBUG_FLAG_MENU_ITEM_FLAGS}, + [DEBUG_VARS_MENU_ITEM_VARS] = {sDebugText_Vars_Vars, DEBUG_FLAG_MENU_ITEM_FLAGS}, }; static const struct ListMenuItem sDebugMenu_Items_Give[] = { - [DEBUG_GIVE_MENU_ITEM_ITEM_X] = {gDebugText_Give_GiveItem, DEBUG_GIVE_MENU_ITEM_ITEM_X}, - [DEBUG_GIVE_MENU_ITEM_ALLTMS] = {gDebugText_Give_AllTMs, DEBUG_GIVE_MENU_ITEM_ALLTMS}, - [DEBUG_GIVE_MENU_ITEM_POKEMON_SIMPLE] = {gDebugText_Give_GivePokemonSimple, DEBUG_GIVE_MENU_ITEM_POKEMON_SIMPLE}, - [DEBUG_GIVE_MENU_ITEM_POKEMON_COMPLEX] = {gDebugText_Give_GivePokemonComplex, DEBUG_GIVE_MENU_ITEM_POKEMON_COMPLEX}, - [DEBUG_GIVE_MENU_ITEM_MAX_MONEY] = {gDebugText_Give_MaxMoney, DEBUG_GIVE_MENU_ITEM_MAX_MONEY}, - [DEBUG_GIVE_MENU_ITEM_MAX_COINS] = {gDebugText_Give_MaxCoins, DEBUG_GIVE_MENU_ITEM_MAX_COINS}, - [DEBUG_GIVE_MENU_ITEM_MAX_BATTLE_POINTS] = {gDebugText_Give_BattlePoints, DEBUG_GIVE_MENU_ITEM_MAX_BATTLE_POINTS}, - [DEBUG_GIVE_MENU_ITEM_DAYCARE_EGG] = {gDebugText_Give_DaycareEgg, DEBUG_GIVE_MENU_ITEM_DAYCARE_EGG}, - [DEBUG_GIVE_MENU_ITEM_FILL_PC] = {gDebugText_Give_FillPc, DEBUG_GIVE_MENU_ITEM_FILL_PC}, - [DEBUG_GIVE_MENU_ITEM_CHEAT] = {gDebugText_Give_GiveCHEAT, DEBUG_GIVE_MENU_ITEM_CHEAT}, + [DEBUG_GIVE_MENU_ITEM_ITEM_X] = {sDebugText_Give_GiveItem, DEBUG_GIVE_MENU_ITEM_ITEM_X}, + [DEBUG_GIVE_MENU_ITEM_ALLTMS] = {sDebugText_Give_AllTMs, DEBUG_GIVE_MENU_ITEM_ALLTMS}, + [DEBUG_GIVE_MENU_ITEM_POKEMON_SIMPLE] = {sDebugText_Give_GivePokemonSimple, DEBUG_GIVE_MENU_ITEM_POKEMON_SIMPLE}, + [DEBUG_GIVE_MENU_ITEM_POKEMON_COMPLEX] = {sDebugText_Give_GivePokemonComplex, DEBUG_GIVE_MENU_ITEM_POKEMON_COMPLEX}, + [DEBUG_GIVE_MENU_ITEM_MAX_MONEY] = {sDebugText_Give_MaxMoney, DEBUG_GIVE_MENU_ITEM_MAX_MONEY}, + [DEBUG_GIVE_MENU_ITEM_MAX_COINS] = {sDebugText_Give_MaxCoins, DEBUG_GIVE_MENU_ITEM_MAX_COINS}, + [DEBUG_GIVE_MENU_ITEM_MAX_BATTLE_POINTS] = {sDebugText_Give_BattlePoints, DEBUG_GIVE_MENU_ITEM_MAX_BATTLE_POINTS}, + [DEBUG_GIVE_MENU_ITEM_DAYCARE_EGG] = {sDebugText_Give_DaycareEgg, DEBUG_GIVE_MENU_ITEM_DAYCARE_EGG}, + [DEBUG_GIVE_MENU_ITEM_FILL_PC] = {sDebugText_Give_FillPc, DEBUG_GIVE_MENU_ITEM_FILL_PC}, + [DEBUG_GIVE_MENU_ITEM_CHEAT] = {sDebugText_Give_GiveCHEAT, DEBUG_GIVE_MENU_ITEM_CHEAT}, }; static const struct ListMenuItem sDebugMenu_Items_Sound[] = { - [DEBUG_SOUND_MENU_ITEM_SE] = {gDebugText_Sound_SE, DEBUG_SOUND_MENU_ITEM_SE}, - [DEBUG_SOUND_MENU_ITEM_MUS] = {gDebugText_Sound_MUS, DEBUG_SOUND_MENU_ITEM_MUS}, + [DEBUG_SOUND_MENU_ITEM_SE] = {sDebugText_Sound_SE, DEBUG_SOUND_MENU_ITEM_SE}, + [DEBUG_SOUND_MENU_ITEM_MUS] = {sDebugText_Sound_MUS, DEBUG_SOUND_MENU_ITEM_MUS}, }; // ******************************* @@ -755,13 +755,13 @@ static void DebugTask_HandleMenuInput_Main(u8 taskId) void (*func)(u8); u32 input = ListMenu_ProcessInput(gTasks[taskId].data[0]); - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); if ((func = sDebugMenu_Actions_Main[input]) != NULL) func(taskId); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Debug_DestroyMenu_Full(taskId); @@ -773,13 +773,13 @@ static void DebugTask_HandleMenuInput_Utilities(u8 taskId) void (*func)(u8); u32 input = ListMenu_ProcessInput(gTasks[taskId].data[0]); - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); if ((func = sDebugMenu_Actions_Utilities[input]) != NULL) func(taskId); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Debug_DestroyMenu(taskId); @@ -791,13 +791,13 @@ static void DebugTask_HandleMenuInput_Scripts(u8 taskId) void (*func)(u8); u32 input = ListMenu_ProcessInput(gTasks[taskId].data[0]); - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); if ((func = sDebugMenu_Actions_Scripts[input]) != NULL) func(taskId); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Debug_DestroyMenu(taskId); @@ -809,13 +809,13 @@ static void DebugTask_HandleMenuInput_Flags(u8 taskId) void (*func)(u8); u32 input = ListMenu_ProcessInput(gTasks[taskId].data[0]); - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); if ((func = sDebugMenu_Actions_Flags[input]) != NULL) func(taskId); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Debug_DestroyMenu(taskId); @@ -827,13 +827,13 @@ static void DebugTask_HandleMenuInput_Vars(u8 taskId) void (*func)(u8); u32 input = ListMenu_ProcessInput(gTasks[taskId].data[0]); - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); if ((func = sDebugMenu_Actions_Vars[input]) != NULL) func(taskId); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Debug_DestroyMenu(taskId); @@ -845,13 +845,13 @@ static void DebugTask_HandleMenuInput_Give(u8 taskId) void (*func)(u8); u32 input = ListMenu_ProcessInput(gTasks[taskId].data[0]); - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); if ((func = sDebugMenu_Actions_Give[input]) != NULL) func(taskId); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Debug_DestroyMenu(taskId); @@ -863,13 +863,13 @@ static void DebugTask_HandleMenuInput_Sound(u8 taskId) void (*func)(u8); u32 input = ListMenu_ProcessInput(gTasks[taskId].data[0]); - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); if ((func = sDebugMenu_Actions_Sound[input]) != NULL) func(taskId); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Debug_DestroyMenu(taskId); @@ -960,9 +960,9 @@ static void DebugAction_Util_Warp_Warp(u8 taskId) ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); ConvertIntToDecimalStringN(gStringVar2, MAP_GROUPS_COUNT-1, STR_CONV_MODE_LEADING_ZEROS, 2); - StringExpandPlaceholders(gStringVar1, gDebugText_Util_WarpToMap_SelMax); + StringExpandPlaceholders(gStringVar1, sDebugText_Util_WarpToMap_SelMax); StringCopy(gStringVar3, gText_DigitIndicator[0]); - StringExpandPlaceholders(gStringVar4, gDebugText_Util_WarpToMap_SelectMapGroup); + StringExpandPlaceholders(gStringVar4, sDebugText_Util_WarpToMap_SelectMapGroup); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Util_Warp_SelectMapGroup; @@ -975,27 +975,27 @@ static void DebugAction_Util_Warp_Warp(u8 taskId) } static void DebugAction_Util_Warp_SelectMapGroup(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > MAP_GROUPS_COUNT - 1) gTasks[taskId].data[3] = MAP_GROUPS_COUNT - 1; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 0) gTasks[taskId].data[3] = 0; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < 2) gTasks[taskId].data[4] += 1; @@ -1003,13 +1003,13 @@ static void DebugAction_Util_Warp_SelectMapGroup(u8 taskId) ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); ConvertIntToDecimalStringN(gStringVar2, MAP_GROUPS_COUNT - 1, STR_CONV_MODE_LEADING_ZEROS, 2); - StringExpandPlaceholders(gStringVar1, gDebugText_Util_WarpToMap_SelMax); + StringExpandPlaceholders(gStringVar1, sDebugText_Util_WarpToMap_SelMax); StringCopy(gStringVar3, gText_DigitIndicator[gTasks[taskId].data[4]]); - StringExpandPlaceholders(gStringVar4, gDebugText_Util_WarpToMap_SelectMapGroup); + StringExpandPlaceholders(gStringVar4, sDebugText_Util_WarpToMap_SelectMapGroup); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { gTasks[taskId].data[5] = gTasks[taskId].data[3]; gTasks[taskId].data[3] = 0; @@ -1017,15 +1017,15 @@ static void DebugAction_Util_Warp_SelectMapGroup(u8 taskId) ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); ConvertIntToDecimalStringN(gStringVar2, MAP_GROUP_COUNT[gTasks[taskId].data[5]] - 1, STR_CONV_MODE_LEADING_ZEROS, 2); - StringExpandPlaceholders(gStringVar1, gDebugText_Util_WarpToMap_SelMax); + StringExpandPlaceholders(gStringVar1, sDebugText_Util_WarpToMap_SelMax); GetMapName(gStringVar2, Overworld_GetMapHeaderByGroupAndId(gTasks[taskId].data[5], gTasks[taskId].data[3])->regionMapSectionId, 0); StringCopy(gStringVar3, gText_DigitIndicator[gTasks[taskId].data[4]]); - StringExpandPlaceholders(gStringVar4, gDebugText_Util_WarpToMap_SelectMap); + StringExpandPlaceholders(gStringVar4, sDebugText_Util_WarpToMap_SelectMap); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Util_Warp_SelectMap; } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); DebugAction_DestroyExtraWindow(taskId); @@ -1035,27 +1035,27 @@ static void DebugAction_Util_Warp_SelectMap(u8 taskId) { u8 max_value = MAP_GROUP_COUNT[gTasks[taskId].data[5]]; //maps in the selected map group - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > max_value - 1) gTasks[taskId].data[3] = max_value - 1; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 0) gTasks[taskId].data[3] = 0; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < 2) gTasks[taskId].data[4] += 1; @@ -1063,14 +1063,14 @@ static void DebugAction_Util_Warp_SelectMap(u8 taskId) ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); ConvertIntToDecimalStringN(gStringVar2, MAP_GROUP_COUNT[gTasks[taskId].data[5]] - 1, STR_CONV_MODE_LEADING_ZEROS, 2); - StringExpandPlaceholders(gStringVar1, gDebugText_Util_WarpToMap_SelMax); + StringExpandPlaceholders(gStringVar1, sDebugText_Util_WarpToMap_SelMax); GetMapName(gStringVar2, Overworld_GetMapHeaderByGroupAndId(gTasks[taskId].data[5], gTasks[taskId].data[3])->regionMapSectionId, 0); StringCopy(gStringVar3, gText_DigitIndicator[gTasks[taskId].data[4]]); - StringExpandPlaceholders(gStringVar4, gDebugText_Util_WarpToMap_SelectMap); + StringExpandPlaceholders(gStringVar4, sDebugText_Util_WarpToMap_SelectMap); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { gTasks[taskId].data[6] = gTasks[taskId].data[3]; gTasks[taskId].data[3] = 0; @@ -1078,11 +1078,11 @@ static void DebugAction_Util_Warp_SelectMap(u8 taskId) StringCopy(gStringVar3, gText_DigitIndicator[gTasks[taskId].data[4]]); ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); - StringExpandPlaceholders(gStringVar4, gDebugText_Util_WarpToMap_SelectWarp); + StringExpandPlaceholders(gStringVar4, sDebugText_Util_WarpToMap_SelectWarp); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Util_Warp_SelectWarp; } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); DebugAction_DestroyExtraWindow(taskId); @@ -1090,16 +1090,16 @@ static void DebugAction_Util_Warp_SelectMap(u8 taskId) } static void DebugAction_Util_Warp_SelectWarp(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > 10) gTasks[taskId].data[3] = 10; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 0) @@ -1108,11 +1108,11 @@ static void DebugAction_Util_Warp_SelectWarp(u8 taskId) StringCopy(gStringVar3, gText_DigitIndicator[gTasks[taskId].data[4]]); ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); - StringExpandPlaceholders(gStringVar4, gDebugText_Util_WarpToMap_SelectWarp); + StringExpandPlaceholders(gStringVar4, sDebugText_Util_WarpToMap_SelectWarp); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { gTasks[taskId].data[7] = gTasks[taskId].data[3]; //WARP @@ -1122,7 +1122,7 @@ static void DebugAction_Util_Warp_SelectWarp(u8 taskId) ResetInitialPlayerAvatarState(); DebugAction_DestroyExtraWindow(taskId); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); DebugAction_DestroyExtraWindow(taskId); @@ -1161,12 +1161,12 @@ static void DebugAction_Util_PoisonMons(u8 taskId) static void DebugAction_Util_CheckSaveBlock(u8 taskId) { - static const u8 gDebugText_SaveBlockSize[] = _("SaveBlock1 is {STR_VAR_1} bytes long.\nMax size is 15872 bytes.\pSaveBlock2 is {STR_VAR_2} bytes long.\nMax size is 3968 bytes.\pPokemonStorage is {STR_VAR_3} bytes long.\nMax size is 35712 bytes."); + static const u8 sDebugText_SaveBlockSize[] = _("SaveBlock1 is {STR_VAR_1} bytes long.\nMax size is 15872 bytes.\pSaveBlock2 is {STR_VAR_2} bytes long.\nMax size is 3968 bytes.\pPokemonStorage is {STR_VAR_3} bytes long.\nMax size is 35712 bytes."); ConvertIntToDecimalStringN(gStringVar1, sizeof(struct SaveBlock1), STR_CONV_MODE_LEFT_ALIGN, 6); ConvertIntToDecimalStringN(gStringVar2, sizeof(struct SaveBlock2), STR_CONV_MODE_LEFT_ALIGN, 6); ConvertIntToDecimalStringN(gStringVar3, sizeof(struct PokemonStorage), STR_CONV_MODE_LEFT_ALIGN, 6); - StringExpandPlaceholders(gStringVar4, gDebugText_SaveBlockSize); + StringExpandPlaceholders(gStringVar4, sDebugText_SaveBlockSize); Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); @@ -1212,7 +1212,7 @@ static void DebugAction_Util_Weather(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[0]); ConvertIntToDecimalStringN(gStringVar3, 1, STR_CONV_MODE_LEADING_ZEROS, 2); StringCopyPadded(gStringVar1, sWeatherNames[0], CHAR_SPACE, 30); - StringExpandPlaceholders(gStringVar4, gDebugText_Util_Weather_ID); + StringExpandPlaceholders(gStringVar4, sDebugText_Util_Weather_ID); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Util_Weather_SelectId; @@ -1222,28 +1222,28 @@ static void DebugAction_Util_Weather(u8 taskId) } static void DebugAction_Util_Weather_SelectId(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > WEATHER_ROUTE123_CYCLE) gTasks[taskId].data[3] = WEATHER_ROUTE123_CYCLE; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < WEATHER_NONE) gTasks[taskId].data[3] = WEATHER_NONE; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < 2) gTasks[taskId].data[4] += 1; @@ -1257,11 +1257,11 @@ static void DebugAction_Util_Weather_SelectId(u8 taskId) else StringCopyPadded(gStringVar1, sText_WeatherNotDefined, CHAR_SPACE, 30); - StringExpandPlaceholders(gStringVar4, gDebugText_Util_Weather_ID); + StringExpandPlaceholders(gStringVar4, sDebugText_Util_Weather_ID); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { if (gTasks[taskId].data[3] <= 14 || gTasks[taskId].data[3] >= 20) { @@ -1269,7 +1269,7 @@ static void DebugAction_Util_Weather_SelectId(u8 taskId) SetWeather(gTasks[taskId].data[5]); } } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); DebugAction_DestroyExtraWindow(taskId); @@ -1386,13 +1386,13 @@ static void DebugAction_Flags_Flags(u8 taskId) //Display initial Flag ConvertIntToDecimalStringN(gStringVar1, 1, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_FLAGS); ConvertIntToHexStringN(gStringVar2, 1, STR_CONV_MODE_LEFT_ALIGN, 3); - StringExpandPlaceholders(gStringVar1, gDebugText_Flags_FlagHex); + StringExpandPlaceholders(gStringVar1, sDebugText_Flags_FlagHex); if (FlagGet(FLAG_TEMP_1) == TRUE) - StringCopyPadded(gStringVar2, gDebugText_Flags_FlagSet, CHAR_SPACE, 15); + StringCopyPadded(gStringVar2, sDebugText_Flags_FlagSet, CHAR_SPACE, 15); else - StringCopyPadded(gStringVar2, gDebugText_Flags_FlagUnset, CHAR_SPACE, 15); + StringCopyPadded(gStringVar2, sDebugText_Flags_FlagUnset, CHAR_SPACE, 15); StringCopy(gStringVar3, gText_DigitIndicator[0]); - StringExpandPlaceholders(gStringVar4, gDebugText_Flags_Flag); + StringExpandPlaceholders(gStringVar4, sDebugText_Flags_Flag); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Flags_FlagsSelect; @@ -1402,16 +1402,16 @@ static void DebugAction_Flags_Flags(u8 taskId) } static void DebugAction_Flags_FlagsSelect(u8 taskId) { - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) FlagToggle(gTasks[taskId].data[3]); - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); DebugAction_DestroyExtraWindow(taskId); return; } - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { PlaySE(SE_SELECT); gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; @@ -1419,7 +1419,7 @@ static void DebugAction_Flags_FlagsSelect(u8 taskId) gTasks[taskId].data[3] = FLAGS_COUNT - 1; } } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { PlaySE(SE_SELECT); gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; @@ -1427,7 +1427,7 @@ static void DebugAction_Flags_FlagsSelect(u8 taskId) gTasks[taskId].data[3] = 1; } } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { PlaySE(SE_SELECT); gTasks[taskId].data[4] -= 1; @@ -1436,7 +1436,7 @@ static void DebugAction_Flags_FlagsSelect(u8 taskId) gTasks[taskId].data[4] = 0; } } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { PlaySE(SE_SELECT); gTasks[taskId].data[4] += 1; @@ -1446,17 +1446,17 @@ static void DebugAction_Flags_FlagsSelect(u8 taskId) } } - if (gMain.newKeys & DPAD_ANY || gMain.newKeys & A_BUTTON) + if (JOY_NEW(DPAD_ANY) || JOY_NEW(A_BUTTON)) { ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_FLAGS); ConvertIntToHexStringN(gStringVar2, gTasks[taskId].data[3], STR_CONV_MODE_LEFT_ALIGN, 3); - StringExpandPlaceholders(gStringVar1, gDebugText_Flags_FlagHex); + StringExpandPlaceholders(gStringVar1, sDebugText_Flags_FlagHex); if (FlagGet(gTasks[taskId].data[3]) == TRUE) - StringCopyPadded(gStringVar2, gDebugText_Flags_FlagSet, CHAR_SPACE, 15); + StringCopyPadded(gStringVar2, sDebugText_Flags_FlagSet, CHAR_SPACE, 15); else - StringCopyPadded(gStringVar2, gDebugText_Flags_FlagUnset, CHAR_SPACE, 15); + StringCopyPadded(gStringVar2, sDebugText_Flags_FlagUnset, CHAR_SPACE, 15); StringCopy(gStringVar3, gText_DigitIndicator[gTasks[taskId].data[4]]); - StringExpandPlaceholders(gStringVar4, gDebugText_Flags_Flag); + StringExpandPlaceholders(gStringVar4, sDebugText_Flags_Flag); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } } @@ -1644,11 +1644,11 @@ static void DebugAction_Vars_Vars(u8 taskId) //Display initial Variable ConvertIntToDecimalStringN(gStringVar1, VARS_START, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); ConvertIntToHexStringN(gStringVar2, VARS_START, STR_CONV_MODE_LEFT_ALIGN, 4); - StringExpandPlaceholders(gStringVar1, gDebugText_Vars_VariableHex); + StringExpandPlaceholders(gStringVar1, sDebugText_Vars_VariableHex); ConvertIntToDecimalStringN(gStringVar3, 0, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); StringCopy(gStringVar2, gText_DigitIndicator[0]); - StringExpandPlaceholders(gStringVar4, gDebugText_Vars_Variable); + StringExpandPlaceholders(gStringVar4, sDebugText_Vars_Variable); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Vars_Select; @@ -1660,38 +1660,38 @@ static void DebugAction_Vars_Vars(u8 taskId) static void DebugAction_Vars_Select(u8 taskId) { - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > VARS_END) gTasks[taskId].data[3] = VARS_END; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < VARS_START) gTasks[taskId].data[3] = VARS_START; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { gTasks[taskId].data[4] -= 1; if (gTasks[taskId].data[4] < 0) gTasks[taskId].data[4] = 0; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { gTasks[taskId].data[4] += 1; if (gTasks[taskId].data[4] > DEBUG_NUMBER_DIGITS_VARIABLES - 1) gTasks[taskId].data[4] = DEBUG_NUMBER_DIGITS_VARIABLES - 1; } - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); ConvertIntToHexStringN(gStringVar2, gTasks[taskId].data[3], STR_CONV_MODE_LEFT_ALIGN, 4); - StringExpandPlaceholders(gStringVar1, gDebugText_Vars_VariableHex); + StringExpandPlaceholders(gStringVar1, sDebugText_Vars_VariableHex); if (VarGetIfExist(gTasks[taskId].data[3]) == 65535) //Current value, if 65535 the value hasnt been set gTasks[taskId].data[5] = 0; else @@ -1700,11 +1700,11 @@ static void DebugAction_Vars_Select(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); //Current digit //Combine str's to full window string - StringExpandPlaceholders(gStringVar4, gDebugText_Vars_Variable); + StringExpandPlaceholders(gStringVar4, sDebugText_Vars_Variable); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { gTasks[taskId].data[4] = 0; @@ -1712,7 +1712,7 @@ static void DebugAction_Vars_Select(u8 taskId) ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); ConvertIntToHexStringN(gStringVar2, gTasks[taskId].data[3], STR_CONV_MODE_LEFT_ALIGN, 4); - StringExpandPlaceholders(gStringVar1, gDebugText_Vars_VariableHex); + StringExpandPlaceholders(gStringVar1, sDebugText_Vars_VariableHex); if (VarGetIfExist(gTasks[taskId].data[3]) == 65535) //Current value if 65535 the value hasnt been set gTasks[taskId].data[5] = 0; else @@ -1720,13 +1720,13 @@ static void DebugAction_Vars_Select(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[5], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); //Current digit - StringExpandPlaceholders(gStringVar4, gDebugText_Vars_VariableValueSet); + StringExpandPlaceholders(gStringVar4, sDebugText_Vars_VariableValueSet); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].data[6] = gTasks[taskId].data[5]; //New value selector gTasks[taskId].func = DebugAction_Vars_SetValue; } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); DebugAction_DestroyExtraWindow(taskId); @@ -1735,7 +1735,7 @@ static void DebugAction_Vars_Select(u8 taskId) } static void DebugAction_Vars_SetValue(u8 taskId) { - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { if (gTasks[taskId].data[6] + sPowersOfTen[gTasks[taskId].data[4]] <= 32000) gTasks[taskId].data[6] += sPowersOfTen[gTasks[taskId].data[4]]; @@ -1745,14 +1745,14 @@ static void DebugAction_Vars_SetValue(u8 taskId) if (gTasks[taskId].data[6] >= 32000) gTasks[taskId].data[6] = 32000 - 1; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[6] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[6] < 0){ gTasks[taskId].data[6] = 0; } } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { gTasks[taskId].data[4] -= 1; if (gTasks[taskId].data[4] < 0) @@ -1760,7 +1760,7 @@ static void DebugAction_Vars_SetValue(u8 taskId) gTasks[taskId].data[4] = 0; } } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { gTasks[taskId].data[4] += 1; if (gTasks[taskId].data[4] > 4) @@ -1769,30 +1769,30 @@ static void DebugAction_Vars_SetValue(u8 taskId) } } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); VarSet(gTasks[taskId].data[3], gTasks[taskId].data[6]); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); DebugAction_DestroyExtraWindow(taskId); return; } - if (gMain.newKeys & DPAD_ANY || gMain.newKeys & A_BUTTON) + if (JOY_NEW(DPAD_ANY) || JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); ConvertIntToHexStringN(gStringVar2, gTasks[taskId].data[3], STR_CONV_MODE_LEFT_ALIGN, 4); - StringExpandPlaceholders(gStringVar1, gDebugText_Vars_VariableHex); + StringExpandPlaceholders(gStringVar1, sDebugText_Vars_VariableHex); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[6], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); //Current digit - StringExpandPlaceholders(gStringVar4, gDebugText_Vars_VariableValueSet); + StringExpandPlaceholders(gStringVar4, sDebugText_Vars_VariableValueSet); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } } @@ -1820,7 +1820,7 @@ static void DebugAction_Give_Item(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, 1, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); CopyItemName(1, gStringVar1); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, gDebugText_ItemID); + StringExpandPlaceholders(gStringVar4, sDebugText_ItemID); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Give_Item_SelectId; @@ -1834,28 +1834,28 @@ static void DebugAction_Give_Item(u8 taskId) } static void DebugAction_Give_Item_SelectId(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] >= ITEMS_COUNT) gTasks[taskId].data[3] = ITEMS_COUNT - 1; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 1) gTasks[taskId].data[3] = 1; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < DEBUG_NUMBER_DIGITS_ITEMS - 1) gTasks[taskId].data[4] += 1; @@ -1865,7 +1865,7 @@ static void DebugAction_Give_Item_SelectId(u8 taskId) CopyItemName(gTasks[taskId].data[3], gStringVar1); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); - StringExpandPlaceholders(gStringVar4, gDebugText_ItemID); + StringExpandPlaceholders(gStringVar4, sDebugText_ItemID); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); FreeSpriteTilesByTag(ITEM_TAG); //Destroy item icon @@ -1878,7 +1878,7 @@ static void DebugAction_Give_Item_SelectId(u8 taskId) gSprites[gTasks[taskId].data[6]].oam.priority = 0; } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { gTasks[taskId].data[5] = gTasks[taskId].data[3]; gTasks[taskId].data[3] = 1; @@ -1887,12 +1887,12 @@ static void DebugAction_Give_Item_SelectId(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEM_QUANTITY); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, gDebugText_ItemQuantity); + StringExpandPlaceholders(gStringVar4, sDebugText_ItemQuantity); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Give_Item_SelectQuantity; } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { FreeSpriteTilesByTag(ITEM_TAG); //Destroy item icon FreeSpritePaletteByTag(ITEM_TAG); //Destroy item icon @@ -1905,28 +1905,28 @@ static void DebugAction_Give_Item_SelectId(u8 taskId) } static void DebugAction_Give_Item_SelectQuantity(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] >= 100) gTasks[taskId].data[3] = 99; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 1) gTasks[taskId].data[3] = 1; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < 2) gTasks[taskId].data[4] += 1; @@ -1935,11 +1935,11 @@ static void DebugAction_Give_Item_SelectQuantity(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEM_QUANTITY); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, gDebugText_ItemQuantity); + StringExpandPlaceholders(gStringVar4, sDebugText_ItemQuantity); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { FreeSpriteTilesByTag(ITEM_TAG); //Destroy item icon FreeSpritePaletteByTag(ITEM_TAG); //Destroy item icon @@ -1950,7 +1950,7 @@ static void DebugAction_Give_Item_SelectQuantity(u8 taskId) AddBagItem(gTasks[taskId].data[5], gTasks[taskId].data[3]); DebugAction_DestroyExtraWindow(taskId); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { FreeSpriteTilesByTag(ITEM_TAG); //Destroy item icon FreeSpritePaletteByTag(ITEM_TAG); //Destroy item icon @@ -2015,7 +2015,7 @@ static void DebugAction_Give_PokemonSimple(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, 1, STR_CONV_MODE_LEADING_ZEROS, 3); StringCopy(gStringVar1, gSpeciesNames[1]); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonID); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonID); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); //Set task data @@ -2053,7 +2053,7 @@ static void DebugAction_Give_PokemonComplex(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, 1, STR_CONV_MODE_LEADING_ZEROS, 4); StringCopy(gStringVar1, gSpeciesNames[1]); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonID); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonID); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Give_Pokemon_SelectId; @@ -2070,28 +2070,28 @@ static void DebugAction_Give_PokemonComplex(u8 taskId) static void DebugAction_Give_Pokemon_SelectId(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] >= NUM_SPECIES) gTasks[taskId].data[3] = NUM_SPECIES - 1; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 1) gTasks[taskId].data[3] = 1; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < DEBUG_NUMBER_DIGITS_ITEMS - 1) gTasks[taskId].data[4] += 1; @@ -2101,7 +2101,7 @@ static void DebugAction_Give_Pokemon_SelectId(u8 taskId) StringCopy(gStringVar1, gSpeciesNames[gTasks[taskId].data[3]]); //CopyItemName(gTasks[taskId].data[3], gStringVar1); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 4); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonID); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonID); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); FreeAndDestroyMonIconSprite(&gSprites[gTasks[taskId].data[6]]); @@ -2111,7 +2111,7 @@ static void DebugAction_Give_Pokemon_SelectId(u8 taskId) gSprites[gTasks[taskId].data[6]].oam.priority = 0; } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { sDebugMonData->mon_speciesId = gTasks[taskId].data[3]; //Species ID gTasks[taskId].data[3] = 1; @@ -2120,12 +2120,12 @@ static void DebugAction_Give_Pokemon_SelectId(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 3); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonLevel); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonLevel); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Give_Pokemon_SelectLevel; } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Free(sDebugMonData); //Frees EWRAM of MonData Struct @@ -2136,28 +2136,28 @@ static void DebugAction_Give_Pokemon_SelectId(u8 taskId) } static void DebugAction_Give_Pokemon_SelectLevel(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > 100) gTasks[taskId].data[3] = 100; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 1) gTasks[taskId].data[3] = 1; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < 2) gTasks[taskId].data[4] += 1; @@ -2166,11 +2166,11 @@ static void DebugAction_Give_Pokemon_SelectLevel(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 3); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonLevel); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonLevel); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { FreeMonIconPalettes(); FreeAndDestroyMonIconSprite(&gSprites[gTasks[taskId].data[6]]); //Destroy pokemon sprite @@ -2189,14 +2189,14 @@ static void DebugAction_Give_Pokemon_SelectLevel(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 0); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); - StringCopyPadded(gStringVar2, gDebugText_Flags_FlagUnset, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonShiny); + StringCopyPadded(gStringVar2, sDebugText_Flags_FlagUnset, CHAR_SPACE, 15); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonShiny); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Give_Pokemon_SelectShiny; } } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Free(sDebugMonData); //Frees EWRAM of MonData Struct @@ -2208,17 +2208,17 @@ static void DebugAction_Give_Pokemon_SelectLevel(u8 taskId) //If complex static void DebugAction_Give_Pokemon_SelectShiny(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > 1) gTasks[taskId].data[3] = 1; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 0) @@ -2226,16 +2226,16 @@ static void DebugAction_Give_Pokemon_SelectShiny(u8 taskId) } if (gTasks[taskId].data[3] == 1) - StringCopyPadded(gStringVar2, gDebugText_Flags_FlagSet, CHAR_SPACE, 15); + StringCopyPadded(gStringVar2, sDebugText_Flags_FlagSet, CHAR_SPACE, 15); else - StringCopyPadded(gStringVar2, gDebugText_Flags_FlagUnset, CHAR_SPACE, 15); + StringCopyPadded(gStringVar2, sDebugText_Flags_FlagUnset, CHAR_SPACE, 15); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 0); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonShiny); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonShiny); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { sDebugMonData->isShiny = gTasks[taskId].data[3]; //isShiny gTasks[taskId].data[3] = 0; @@ -2245,12 +2245,12 @@ static void DebugAction_Give_Pokemon_SelectShiny(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); StringCopy(gStringVar1, gNatureNamePointers[0]); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonNature); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonNature); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Give_Pokemon_SelectNature; } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Free(sDebugMonData); //Frees EWRAM of MonData Struct @@ -2259,17 +2259,17 @@ static void DebugAction_Give_Pokemon_SelectShiny(u8 taskId) } static void DebugAction_Give_Pokemon_SelectNature(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > NUM_NATURES-1) gTasks[taskId].data[3] = NUM_NATURES-1; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 0) @@ -2280,11 +2280,11 @@ static void DebugAction_Give_Pokemon_SelectNature(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); StringCopy(gStringVar1, gNatureNamePointers[gTasks[taskId].data[3]]); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonNature); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonNature); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { u8 abilityId; sDebugMonData->mon_natureId = gTasks[taskId].data[3]; //NatureId @@ -2296,12 +2296,12 @@ static void DebugAction_Give_Pokemon_SelectNature(u8 taskId) StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); abilityId = GetAbilityBySpecies(sDebugMonData->mon_speciesId, 0); StringCopy(gStringVar1, gAbilityNames[abilityId]); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonAbility); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonAbility); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Give_Pokemon_SelectAbility; } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Free(sDebugMonData); //Frees EWRAM of MonData Struct @@ -2314,17 +2314,17 @@ static void DebugAction_Give_Pokemon_SelectAbility(u8 taskId) u8 abilityCount = NUM_ABILITY_SLOTS - 1; //-1 for proper iteration u8 i = 0; - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > abilityCount) gTasks[taskId].data[3] = abilityCount; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 0) @@ -2340,11 +2340,11 @@ static void DebugAction_Give_Pokemon_SelectAbility(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); StringCopy(gStringVar1, gAbilityNames[abilityId]); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonAbility); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonAbility); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { sDebugMonData->mon_abilityNum = gTasks[taskId].data[3] - i; //AbilityNum gTasks[taskId].data[3] = 0; @@ -2353,12 +2353,12 @@ static void DebugAction_Give_Pokemon_SelectAbility(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 2); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_0); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_0); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Give_Pokemon_SelectIVs; } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Free(sDebugMonData); //Frees EWRAM of MonData Struct @@ -2367,28 +2367,28 @@ static void DebugAction_Give_Pokemon_SelectAbility(u8 taskId) } static void DebugAction_Give_Pokemon_SelectIVs(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > 31) gTasks[taskId].data[3] = 31; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 0) gTasks[taskId].data[3] = 0; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < 2) gTasks[taskId].data[4] += 1; @@ -2400,29 +2400,29 @@ static void DebugAction_Give_Pokemon_SelectIVs(u8 taskId) switch (gTasks[taskId].data[7]) { case 0: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_0); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_0); break; case 1: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_1); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_1); break; case 2: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_2); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_2); break; case 3: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_3); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_3); break; case 4: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_4); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_4); break; case 5: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_5); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_5); break; } AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } //If A or B button - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { switch (gTasks[taskId].data[7]) { @@ -2459,22 +2459,22 @@ static void DebugAction_Give_Pokemon_SelectIVs(u8 taskId) switch (gTasks[taskId].data[7]) { case 0: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_0); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_0); break; case 1: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_1); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_1); break; case 2: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_2); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_2); break; case 3: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_3); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_3); break; case 4: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_4); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_4); break; case 5: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonIV_5); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonIV_5); break; } AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); @@ -2491,13 +2491,13 @@ static void DebugAction_Give_Pokemon_SelectIVs(u8 taskId) StringCopy(gStringVar1, gMoveNames[gTasks[taskId].data[3]]); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 3); - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonMove_0); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_0); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].func = DebugAction_Give_Pokemon_Move; } } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Free(sDebugMonData); //Frees EWRAM of MonData Struct @@ -2506,28 +2506,28 @@ static void DebugAction_Give_Pokemon_SelectIVs(u8 taskId) } static void DebugAction_Give_Pokemon_Move(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { PlaySE(SE_SELECT); - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] >= MOVES_COUNT) gTasks[taskId].data[3] = MOVES_COUNT - 1; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 0) gTasks[taskId].data[3] = 0; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < 3) gTasks[taskId].data[4] += 1; @@ -2540,22 +2540,22 @@ static void DebugAction_Give_Pokemon_Move(u8 taskId) switch (gTasks[taskId].data[7]) { case 0: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonMove_0); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_0); break; case 1: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonMove_1); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_1); break; case 2: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonMove_2); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_2); break; case 3: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonMove_3); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_3); break; } AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { //If MOVE_NONE selected, stop asking for additional moves if (gTasks[taskId].data[3] == 0) @@ -2592,16 +2592,16 @@ static void DebugAction_Give_Pokemon_Move(u8 taskId) switch (gTasks[taskId].data[7]) { case 0: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonMove_0); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_0); break; case 1: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonMove_1); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_1); break; case 2: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonMove_2); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_2); break; case 3: - StringExpandPlaceholders(gStringVar4, gDebugText_PokemonMove_3); + StringExpandPlaceholders(gStringVar4, sDebugText_PokemonMove_3); break; } AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); @@ -2617,7 +2617,7 @@ static void DebugAction_Give_Pokemon_Move(u8 taskId) gTasks[taskId].func = DebugAction_Give_Pokemon_ComplexCreateMon; } } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Free(sDebugMonData); //Frees EWRAM of MonData Struct @@ -2805,16 +2805,15 @@ static void Task_WaitFadeAccessPC(u8 taskId) static void DebugAction_AccessPC(u8 taskId) { Debug_DestroyMenu_Full(taskId); - CleanupOverworldWindowsAndTilemaps(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - CreateTask(Task_WaitFadeAccessPC, 0); + LockPlayerFieldControls(); + ScriptContext_SetupScript(EventScript_PC); } // ******************************* // Sound Scripts -static const u8 *const gBGMNames[]; -static const u8 *const gSENames[]; +static const u8 *const sBGMNames[]; +static const u8 *const sSENames[]; static void DebugAction_Sound_SE(u8 taskId) { u8 windowId; @@ -2832,8 +2831,8 @@ static void DebugAction_Sound_SE(u8 taskId) //Display initial ID StringCopy(gStringVar2, gText_DigitIndicator[0]); ConvertIntToDecimalStringN(gStringVar3, 1, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); - StringCopyPadded(gStringVar1, gSENames[0], CHAR_SPACE, 35); - StringExpandPlaceholders(gStringVar4, gDebugText_Sound_SE_ID); + StringCopyPadded(gStringVar1, sSENames[0], CHAR_SPACE, 35); + StringExpandPlaceholders(gStringVar4, sDebugText_Sound_SE_ID); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); StopMapMusic(); //Stop map music to better hear sounds @@ -2846,45 +2845,45 @@ static void DebugAction_Sound_SE(u8 taskId) } static void DebugAction_Sound_SE_SelectId(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > END_SE) gTasks[taskId].data[3] = END_SE; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < 1) gTasks[taskId].data[3] = 1; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < DEBUG_NUMBER_DIGITS_ITEMS - 1) gTasks[taskId].data[4] += 1; } StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); - StringCopyPadded(gStringVar1, gSENames[gTasks[taskId].data[3]-1], CHAR_SPACE, 35); + StringCopyPadded(gStringVar1, sSENames[gTasks[taskId].data[3]-1], CHAR_SPACE, 35); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); - StringExpandPlaceholders(gStringVar4, gDebugText_Sound_SE_ID); + StringExpandPlaceholders(gStringVar4, sDebugText_Sound_SE_ID); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { m4aSongNumStop(gTasks[taskId].data[5]); gTasks[taskId].data[5] = gTasks[taskId].data[3]; m4aSongNumStart(gTasks[taskId].data[3]); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); m4aSongNumStop(gTasks[taskId].data[5]); @@ -2909,8 +2908,8 @@ static void DebugAction_Sound_MUS(u8 taskId) //Display initial ID StringCopy(gStringVar2, gText_DigitIndicator[0]); ConvertIntToDecimalStringN(gStringVar3, START_MUS, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); - StringCopyPadded(gStringVar1, gBGMNames[0], CHAR_SPACE, 35); - StringExpandPlaceholders(gStringVar4, gDebugText_Sound_MUS_ID); + StringCopyPadded(gStringVar1, sBGMNames[0], CHAR_SPACE, 35); + StringExpandPlaceholders(gStringVar4, sDebugText_Sound_MUS_ID); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); StopMapMusic(); //Stop map music to better hear new music @@ -2923,45 +2922,45 @@ static void DebugAction_Sound_MUS(u8 taskId) } static void DebugAction_Sound_MUS_SelectId(u8 taskId) { - if (gMain.newKeys & DPAD_ANY) + if (JOY_NEW(DPAD_ANY)) { - if (gMain.newKeys & DPAD_UP) + if (JOY_NEW(DPAD_UP)) { gTasks[taskId].data[3] += sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] > END_MUS) gTasks[taskId].data[3] = END_MUS; } - if (gMain.newKeys & DPAD_DOWN) + if (JOY_NEW(DPAD_DOWN)) { gTasks[taskId].data[3] -= sPowersOfTen[gTasks[taskId].data[4]]; if (gTasks[taskId].data[3] < START_MUS) gTasks[taskId].data[3] = START_MUS; } - if (gMain.newKeys & DPAD_LEFT) + if (JOY_NEW(DPAD_LEFT)) { if (gTasks[taskId].data[4] > 0) gTasks[taskId].data[4] -= 1; } - if (gMain.newKeys & DPAD_RIGHT) + if (JOY_NEW(DPAD_RIGHT)) { if (gTasks[taskId].data[4] < DEBUG_NUMBER_DIGITS_ITEMS - 1) gTasks[taskId].data[4] += 1; } StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); - StringCopyPadded(gStringVar1, gBGMNames[gTasks[taskId].data[3]-START_MUS], CHAR_SPACE, 35); + StringCopyPadded(gStringVar1, sBGMNames[gTasks[taskId].data[3]-START_MUS], CHAR_SPACE, 35); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_ITEMS); - StringExpandPlaceholders(gStringVar4, gDebugText_Sound_MUS_ID); + StringExpandPlaceholders(gStringVar4, sDebugText_Sound_MUS_ID); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } - if (gMain.newKeys & A_BUTTON) + if (JOY_NEW(A_BUTTON)) { m4aSongNumStop(gTasks[taskId].data[5]); gTasks[taskId].data[5] = gTasks[taskId].data[3]; m4aSongNumStart(gTasks[taskId].data[3]); } - else if (gMain.newKeys & B_BUTTON) + else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); // m4aSongNumStop(gTasks[taskId].data[5]); //Uncomment if music should stop after leaving menu @@ -3508,7 +3507,7 @@ SOUND_LIST_BGM #undef X #define X(songId) sBGMName_##songId, -static const u8 *const gBGMNames[] = +static const u8 *const sBGMNames[] = { SOUND_LIST_BGM }; @@ -3520,7 +3519,7 @@ SOUND_LIST_SE #undef X #define X(songId) sSEName_##songId, -static const u8 *const gSENames[] = +static const u8 *const sSENames[] = { SOUND_LIST_SE }; diff --git a/src/decompress.c b/src/decompress.c index c94f74862..f5d4ff233 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -277,7 +277,7 @@ bool8 LoadCompressedSpriteSheetUsingHeap(const struct CompressedSpriteSheet *src struct SpriteSheet dest; void *buffer; - buffer = AllocZeroed(*((u32 *)(&src->data[0])) >> 8); + buffer = AllocZeroed(src->data[0] >> 8); LZ77UnCompWram(src->data, buffer); dest.data = buffer; @@ -294,7 +294,7 @@ bool8 LoadCompressedSpritePaletteUsingHeap(const struct CompressedSpritePalette struct SpritePalette dest; void *buffer; - buffer = AllocZeroed(*((u32 *)(&src->data[0])) >> 8); + buffer = AllocZeroed(src->data[0] >> 8); LZ77UnCompWram(src->data, buffer); dest.data = buffer; dest.tag = src->tag; diff --git a/src/decoration.c b/src/decoration.c index c5c7c02c3..cd3e185da 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1000,7 +1000,7 @@ static void HandleDecorationItemsMenuInput(u8 taskId) DestroyListMenuTask(tMenuTaskId, &sDecorationsScrollOffset, &sDecorationsCursorPos); RemoveDecorationWindow(WINDOW_DECORATION_CATEGORIES); RemoveDecorationItemsOtherWindows(); - free(sDecorationItemsMenu); + Free(sDecorationItemsMenu); sSecretBasePC_SelectedDecorationActions[tDecorationMenuCommand][0](taskId); break; } @@ -1161,7 +1161,7 @@ static void DecorationItemsMenuAction_Cancel(u8 taskId) RemoveDecorationItemsScrollIndicators(); RemoveDecorationItemsOtherWindows(); DestroyListMenuTask(tMenuTaskId, NULL, NULL); - free(sDecorationItemsMenu); + Free(sDecorationItemsMenu); ReinitDecorationCategoriesWindow(taskId); } @@ -2060,13 +2060,13 @@ static u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 palette.data = GetDecorationIconPicOrPalette(decor, 1); palette.tag = paletteTag; LoadCompressedSpritePalette(&palette); - template = malloc(sizeof(struct SpriteTemplate)); + template = Alloc(sizeof(struct SpriteTemplate)); *template = gItemIconSpriteTemplate; template->tileTag = tilesTag; template->paletteTag = paletteTag; spriteId = CreateSprite(template, 0, 0, 0); FreeItemIconTemporaryBuffers(); - free(template); + Free(template); return spriteId; } @@ -2105,7 +2105,7 @@ static u8 AddDecorationIconObjectFromObjectEvent(u16 tilesTag, u16 paletteTag, u template->tileTag = tilesTag; template->paletteTag = paletteTag; spriteId = CreateSprite(template, 0, 0, 0); - free(template); + Free(template); } else { diff --git a/src/diploma.c b/src/diploma.c index ce31578dc..a30d71554 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -73,7 +73,7 @@ void CB2_ShowDiploma(void) ResetPaletteFade(); FreeAllSpritePalettes(); LoadPalette(sDiplomaPalettes, 0, 64); - sDiplomaTilemapPtr = malloc(0x1000); + sDiplomaTilemapPtr = Alloc(0x1000); InitDiplomaBg(); InitDiplomaWindow(); ResetTempTileDataBuffers(); diff --git a/src/easy_chat.c b/src/easy_chat.c index ebc843b3c..054c65c0f 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -1627,7 +1627,7 @@ static bool8 InitEasyChatScreenStruct(u8 type, u16 *words, u8 displayedPersonTyp u8 templateId; int i; - sEasyChatScreen = malloc(sizeof(*sEasyChatScreen)); + sEasyChatScreen = Alloc(sizeof(*sEasyChatScreen)); if (sEasyChatScreen == NULL) return FALSE; diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 18590a964..dde4f06a5 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1538,13 +1538,13 @@ u8 CreateObjectGraphicsSprite(u16 graphicsId, void (*callback)(struct Sprite *), struct Sprite *sprite; u8 spriteId; - spriteTemplate = malloc(sizeof(struct SpriteTemplate)); + spriteTemplate = Alloc(sizeof(struct SpriteTemplate)); CopyObjectGraphicsInfoToSpriteTemplate(graphicsId, callback, spriteTemplate, &subspriteTables); if (spriteTemplate->paletteTag != TAG_NONE) LoadObjectEventPalette(spriteTemplate->paletteTag); spriteId = CreateSprite(spriteTemplate, x, y, subpriority); - free(spriteTemplate); + Free(spriteTemplate); if (spriteId != MAX_SPRITES && subspriteTables != NULL) { diff --git a/src/field_region_map.c b/src/field_region_map.c index 5e14920fb..43055174f 100644 --- a/src/field_region_map.c +++ b/src/field_region_map.c @@ -92,7 +92,7 @@ static const struct WindowTemplate sFieldRegionMapWindowTemplates[] = void FieldInitRegionMap(MainCallback callback) { SetVBlankCallback(NULL); - sFieldRegionMapHandler = malloc(sizeof(*sFieldRegionMapHandler)); + sFieldRegionMapHandler = Alloc(sizeof(*sFieldRegionMapHandler)); sFieldRegionMapHandler->state = 0; sFieldRegionMapHandler->callback = callback; SetMainCallback2(MCB2_InitRegionMapRegisters); diff --git a/src/field_specials.c b/src/field_specials.c index eb4db96f8..ac9c5d58c 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -953,9 +953,25 @@ void FieldShowRegionMap(void) SetMainCallback2(CB2_FieldShowRegionMap); } +static bool8 IsPlayerInFrontOfPC(void) +{ + u16 x, y; + u16 tileInFront; + + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); + tileInFront = MapGridGetMetatileIdAt(x, y); + + return (tileInFront == METATILE_BrendansMaysHouse_BrendanPC_On + || tileInFront == METATILE_BrendansMaysHouse_BrendanPC_Off + || tileInFront == METATILE_BrendansMaysHouse_MayPC_On + || tileInFront == METATILE_BrendansMaysHouse_MayPC_Off + || tileInFront == METATILE_Building_PC_On + || tileInFront == METATILE_Building_PC_Off); +} + void DoPCTurnOnEffect(void) { - if (FuncIsActiveTask(Task_PCTurnOnEffect) != TRUE) + if (FuncIsActiveTask(Task_PCTurnOnEffect) != TRUE && IsPlayerInFrontOfPC() == TRUE) { u8 taskId = CreateTask(Task_PCTurnOnEffect, 8); gTasks[taskId].data[0] = 0; @@ -1041,6 +1057,9 @@ static void PCTurnOffEffect(void) s8 dy = 0; u16 tileId = 0; u8 playerDirection = GetPlayerFacingDirection(); + + if (IsPlayerInFrontOfPC() == FALSE) + return; switch (playerDirection) { case DIR_NORTH: diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c index 820628ff8..f5769cc23 100644 --- a/src/field_weather_effect.c +++ b/src/field_weather_effect.c @@ -596,8 +596,8 @@ static void UpdateRainSprite(struct Sprite *sprite) sprite->y = sprite->tPosY >> 4; if (sprite->tActive - && (sprite->x >= -8 && sprite->x <= 248) - && sprite->y >= -16 && sprite->y <= 176) + && (sprite->x >= -8 && sprite->x <= DISPLAY_WIDTH + 8) + && sprite->y >= -16 && sprite->y <= DISPLAY_HEIGHT + 16) sprite->invisible = FALSE; else sprite->invisible = TRUE; @@ -1442,9 +1442,9 @@ static void FogHorizontalSpriteCallback(struct Sprite *sprite) { sprite->y2 = (u8)gSpriteCoordOffsetY; sprite->x = gWeatherPtr->fogHScrollPosX + 32 + sprite->tSpriteColumn * 64; - if (sprite->x > 271) + if (sprite->x >= DISPLAY_WIDTH + 32) { - sprite->x = 480 + gWeatherPtr->fogHScrollPosX - (4 - sprite->tSpriteColumn) * 64; + sprite->x = (DISPLAY_WIDTH * 2) + gWeatherPtr->fogHScrollPosX - (4 - sprite->tSpriteColumn) * 64; sprite->x &= 0x1FF; } } @@ -1701,9 +1701,9 @@ static void UpdateAshSprite(struct Sprite *sprite) sprite->y = gSpriteCoordOffsetY + sprite->tOffsetY; sprite->x = gWeatherPtr->ashBaseSpritesX + 32 + sprite->tSpriteColumn * 64; - if (sprite->x > 271) + if (sprite->x >= DISPLAY_WIDTH + 32) { - sprite->x = gWeatherPtr->ashBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64; + sprite->x = gWeatherPtr->ashBaseSpritesX + (DISPLAY_WIDTH * 2) - (4 - sprite->tSpriteColumn) * 64; sprite->x &= 0x1FF; } } @@ -1911,9 +1911,9 @@ static void UpdateFogDiagonalSprite(struct Sprite *sprite) { sprite->y2 = gWeatherPtr->fogDPosY; sprite->x = gWeatherPtr->fogDBaseSpritesX + 32 + sprite->tSpriteColumn * 64; - if (sprite->x > 271) + if (sprite->x >= DISPLAY_WIDTH + 32) { - sprite->x = gWeatherPtr->fogDBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64; + sprite->x = gWeatherPtr->fogDBaseSpritesX + (DISPLAY_WIDTH * 2) - (4 - sprite->tSpriteColumn) * 64; sprite->x &= 0x1FF; } } @@ -2187,9 +2187,9 @@ static void UpdateSandstormSprite(struct Sprite *sprite) { sprite->y2 = gWeatherPtr->sandstormPosY; sprite->x = gWeatherPtr->sandstormBaseSpritesX + 32 + sprite->tSpriteColumn * 64; - if (sprite->x > 271) + if (sprite->x >= DISPLAY_WIDTH + 32) { - sprite->x = gWeatherPtr->sandstormBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64; + sprite->x = gWeatherPtr->sandstormBaseSpritesX + (DISPLAY_WIDTH * 2) - (4 - sprite->tSpriteColumn) * 64; sprite->x &= 0x1FF; } } @@ -2206,7 +2206,7 @@ static void UpdateSandstormSwirlSprite(struct Sprite *sprite) if (--sprite->y < -48) { - sprite->y = 208; + sprite->y = DISPLAY_HEIGHT + 48; sprite->tRadius = 4; } @@ -2567,14 +2567,16 @@ void ResumePausedWeather(void) SetCurrentAndNextWeather(weather); } -static const u8 sWeatherCycleRoute119[] = +#define WEATHER_CYCLE_LENGTH 4 + +static const u8 sWeatherCycleRoute119[WEATHER_CYCLE_LENGTH] = { WEATHER_SUNNY, WEATHER_RAIN, WEATHER_RAIN_THUNDERSTORM, WEATHER_RAIN, }; -static const u8 sWeatherCycleRoute123[] = +static const u8 sWeatherCycleRoute123[WEATHER_CYCLE_LENGTH] = { WEATHER_SUNNY, WEATHER_SUNNY, @@ -2611,7 +2613,7 @@ static u8 TranslateWeatherNum(u8 weather) void UpdateWeatherPerDay(u16 increment) { u16 weatherStage = gSaveBlock1Ptr->weatherCycleStage + increment; - weatherStage %= 4; + weatherStage %= WEATHER_CYCLE_LENGTH; gSaveBlock1Ptr->weatherCycleStage = weatherStage; } diff --git a/src/frontier_util.c b/src/frontier_util.c index b1f12e18f..d89fca436 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -2271,7 +2271,7 @@ static void Fill1PRecords(struct RankingHall1P *dst, s32 hallFacilityId, s32 lvl { s32 i, j; struct RankingHall1P record1P[HALL_RECORDS_COUNT + 1]; - struct PlayerHallRecords *playerHallRecords = calloc(1, sizeof(struct PlayerHallRecords)); + struct PlayerHallRecords *playerHallRecords = AllocZeroed(sizeof(struct PlayerHallRecords)); GetPlayerHallRecords(playerHallRecords); for (i = 0; i < HALL_RECORDS_COUNT; i++) @@ -2298,14 +2298,14 @@ static void Fill1PRecords(struct RankingHall1P *dst, s32 hallFacilityId, s32 lvl record1P[highestId].winStreak = 0; } - free(playerHallRecords); + Free(playerHallRecords); } static void Fill2PRecords(struct RankingHall2P *dst, s32 lvlMode) { s32 i, j; struct RankingHall2P record2P[HALL_RECORDS_COUNT + 1]; - struct PlayerHallRecords *playerHallRecords = calloc(1, sizeof(struct PlayerHallRecords)); + struct PlayerHallRecords *playerHallRecords = AllocZeroed(sizeof(struct PlayerHallRecords)); GetPlayerHallRecords(playerHallRecords); for (i = 0; i < HALL_RECORDS_COUNT; i++) @@ -2332,7 +2332,7 @@ static void Fill2PRecords(struct RankingHall2P *dst, s32 lvlMode) record2P[highestId].winStreak = 0; } - free(playerHallRecords); + Free(playerHallRecords); } static void PrintHallRecords(s32 hallFacilityId, s32 lvlMode) @@ -2421,7 +2421,7 @@ void ClearRankingHallRecords(void) void SaveGameFrontier(void) { s32 i; - struct Pokemon *monsParty = calloc(PARTY_SIZE, sizeof(struct Pokemon)); + struct Pokemon *monsParty = AllocZeroed(sizeof(struct Pokemon) * PARTY_SIZE); for (i = 0; i < PARTY_SIZE; i++) monsParty[i] = gPlayerParty[i]; @@ -2436,7 +2436,7 @@ void SaveGameFrontier(void) for (i = 0; i < PARTY_SIZE; i++) gPlayerParty[i] = monsParty[i]; - free(monsParty); + Free(monsParty); } // Frontier Brain functions. diff --git a/src/intro.c b/src/intro.c index b06789142..bc81bcbb6 100644 --- a/src/intro.c +++ b/src/intro.c @@ -1039,7 +1039,7 @@ static void MainCB2_Intro(void) AnimateSprites(); BuildOamBuffer(); UpdatePaletteFade(); - if (gMain.newKeys && !gPaletteFade.active) + if (gMain.newKeys != 0 && !gPaletteFade.active) SetMainCallback2(MainCB2_EndIntro); else if (gIntroFrameCounter != -1) gIntroFrameCounter++; diff --git a/src/libisagbprn.c b/src/libisagbprn.c index 6fb9d5ec0..fab9b5990 100644 --- a/src/libisagbprn.c +++ b/src/libisagbprn.c @@ -2,6 +2,8 @@ #include #include "gba/gba.h" #include "config.h" +#include "malloc.h" +#include "mini_printf.h" #define AGB_PRINT_FLUSH_ADDR 0x9FE209D #define AGB_PRINT_STRUCT_ADDR 0x9FE20F8 @@ -14,6 +16,11 @@ #define NOCASHGBAPRINTADDR1 0x4FFFA10 // automatically adds a newline after the string has finished #define NOCASHGBAPRINTADDR2 0x4FFFA14 // does not automatically add the newline. by default, NOCASHGBAPRINTADDR2 is used. this is used to keep strings consistent between no$gba and VBA-RR, but a user can choose to forgo this. +// hardware extensions for LOG_HANDLER_MGBA_PRINT +#define REG_DEBUG_ENABLE ((vu16*) (0x4FFF780)) // handshake: (w)[0xC0DE] -> (r)[0x1DEA] +#define REG_DEBUG_FLAGS ((vu16*) (0x4FFF700)) +#define REG_DEBUG_STRING ((char*) (0x4FFF600)) + struct AGBPrintStruct { u16 m_nRequest; @@ -26,6 +33,8 @@ typedef void (*LPFN_PRINT_FLUSH)(void); #ifndef NDEBUG +// AGBPrint print functions +#if (LOG_HANDLER == LOG_HANDLER_AGB_PRINT) void AGBPrintFlush1Block(void); void AGBPrintInit(void) @@ -87,7 +96,13 @@ void AGBPrintf(const char *pBuf, ...) char bufPrint[0x100]; va_list vArgv; va_start(vArgv, pBuf); - vsprintf(bufPrint, pBuf, vArgv); + #if (PRETTY_PRINT_HANDLER == PRETTY_PRINT_MINI_PRINTF) + mini_vsnprintf(bufPrint, 0x100, pBuf, vArgv); + #elif (PRETTY_PRINT_HANDLER == PRETTY_PRINT_LIBC) + vsnprintf(bufPrint, 0x100, pBuf, vArgv); + #else + #error "unspecified pretty printing handler." + #endif va_end(vArgv); AGBPrint(bufPrint); } @@ -155,9 +170,10 @@ void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopP AGBPrintf("WARING FILE=[%s] LINE=[%d] EXP=[%s] \n", pFile, nLine, pExpression); } } +#endif -// no$gba print functions, uncomment to use -/* +// no$gba print functions +#if (LOG_HANDLER == LOG_HANDLER_NOCASH_PRINT) void NoCashGBAPrint(const char *pBuf) { *(volatile u32 *)NOCASHGBAPRINTADDR2 = (u32)pBuf; @@ -168,10 +184,74 @@ void NoCashGBAPrintf(const char *pBuf, ...) char bufPrint[0x100]; va_list vArgv; va_start(vArgv, pBuf); - vsprintf(bufPrint, pBuf, vArgv); + #if (PRETTY_PRINT_HANDLER == PRETTY_PRINT_MINI_PRINTF) + mini_vsnprintf(bufPrint, 0x100, pBuf, vArgv); + #elif (PRETTY_PRINT_HANDLER == PRETTY_PRINT_LIBC) + vsnprintf(bufPrint, 0x100, pBuf, vArgv); + #else + #error "unspecified pretty printing handler." + #endif va_end(vArgv); NoCashGBAPrint(bufPrint); } -*/ +void NoCashGBAAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nStopProgram) +{ + if (nStopProgram) + { + NoCashGBAPrintf("ASSERTION FAILED FILE=[%s] LINE=[%d] EXP=[%s]", pFile, nLine, pExpression); + asm(".hword 0xEFFF"); + } + else + { + NoCashGBAPrintf("WARING FILE=[%s] LINE=[%d] EXP=[%s]", pFile, nLine, pExpression); + } +} +#endif + +// mgba print functions +#if (LOG_HANDLER == LOG_HANDLER_MGBA_PRINT) +#define MGBA_REG_DEBUG_MAX (256) + +bool32 MgbaOpen(void) +{ + *REG_DEBUG_ENABLE = 0xC0DE; + return *REG_DEBUG_ENABLE == 0x1DEA; +} + +void MgbaClose(void) +{ + *REG_DEBUG_ENABLE = 0; +} + +void MgbaPrintf(s32 level, const char* ptr, ...) +{ + va_list args; + + level &= 0x7; + va_start(args, ptr); + #if (PRETTY_PRINT_HANDLER == PRETTY_PRINT_MINI_PRINTF) + mini_vsnprintf(REG_DEBUG_STRING, MGBA_REG_DEBUG_MAX, ptr, args); + #elif (PRETTY_PRINT_HANDLER == PRETTY_PRINT_LIBC) + vsnprintf(REG_DEBUG_STRING, MGBA_REG_DEBUG_MAX, ptr, args); + #else + #error "unspecified pretty printing handler." + #endif + va_end(args); + *REG_DEBUG_FLAGS = level | 0x100; +} + +void MgbaAssert(const char *pFile, s32 nLine, const char *pExpression, bool32 nStopProgram) +{ + if (nStopProgram) + { + MgbaPrintf(MGBA_LOG_ERROR, "ASSERTION FAILED FILE=[%s] LINE=[%d] EXP=[%s]", pFile, nLine, pExpression); + asm(".hword 0xEFFF"); + } + else + { + MgbaPrintf(MGBA_LOG_WARN, "WARING FILE=[%s] LINE=[%d] EXP=[%s]", pFile, nLine, pExpression); + } +} +#endif #endif diff --git a/src/link.c b/src/link.c index 57e33c811..b01be9d89 100644 --- a/src/link.c +++ b/src/link.c @@ -1608,7 +1608,7 @@ void CB2_LinkError(void) SetVBlankCallback(VBlankCB_LinkError); ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, sLinkErrorBgTemplates, ARRAY_COUNT(sLinkErrorBgTemplates)); - sLinkErrorBgTilemapBuffer = tilemapBuffer = malloc(BG_SCREEN_SIZE); + sLinkErrorBgTilemapBuffer = tilemapBuffer = Alloc(BG_SCREEN_SIZE); SetBgTilemapBuffer(1, tilemapBuffer); if (InitWindows(sLinkErrorWindowTemplates)) { diff --git a/src/link_rfu_3.c b/src/link_rfu_3.c index 0825daea2..0d028cd48 100644 --- a/src/link_rfu_3.c +++ b/src/link_rfu_3.c @@ -913,7 +913,7 @@ void SaveLinkTrainerNames(void) s32 j; s32 nextSpace; s32 connectedTrainerRecordIndices[MAX_RFU_PLAYERS]; - struct TrainerNameRecord *newRecords = calloc(ARRAY_COUNT(gSaveBlock1Ptr->trainerNameRecords), sizeof(struct TrainerNameRecord)); + struct TrainerNameRecord *newRecords = AllocZeroed(sizeof(gSaveBlock1Ptr->trainerNameRecords)); // Check if we already have a record saved for connected trainers. for (i = 0; i < GetLinkPlayerCount(); i++) @@ -955,7 +955,7 @@ void SaveLinkTrainerNames(void) // Finalize the new list, and clean up. memcpy(gSaveBlock1Ptr->trainerNameRecords, newRecords, sizeof(gSaveBlock1Ptr->trainerNameRecords)); - free(newRecords); + Free(newRecords); } } diff --git a/src/list_menu.c b/src/list_menu.c index 64692ce1f..112fca753 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -440,13 +440,13 @@ s32 ListMenu_ProcessInput(u8 listTaskId) break; case LIST_MULTIPLE_SCROLL_DPAD: // note: JOY_REPEAT won't match here - leftButton = gMain.newAndRepeatedKeys & DPAD_LEFT; - rightButton = gMain.newAndRepeatedKeys & DPAD_RIGHT; + leftButton = JOY_REPEAT(DPAD_LEFT); + rightButton = JOY_REPEAT(DPAD_RIGHT); break; case LIST_MULTIPLE_SCROLL_L_R: // same as above - leftButton = gMain.newAndRepeatedKeys & L_BUTTON; - rightButton = gMain.newAndRepeatedKeys & R_BUTTON; + leftButton = JOY_REPEAT(L_BUTTON); + rightButton = JOY_REPEAT(R_BUTTON); break; } diff --git a/src/mail.c b/src/mail.c index c697ff4c4..2a88b7ba9 100644 --- a/src/mail.c +++ b/src/mail.c @@ -448,7 +448,7 @@ void ReadMail(struct Mail *mail, void (*exitCallback)(void), bool8 hasText) u16 buffer[2]; u16 species; - sMailRead = calloc(1, sizeof(*sMailRead)); + sMailRead = AllocZeroed(sizeof(*sMailRead)); sMailRead->language = GAME_LANGUAGE; sMailRead->international = TRUE; sMailRead->parserSingle = CopyEasyChatWord; diff --git a/src/main.c b/src/main.c index 5fd236447..99d2610bb 100644 --- a/src/main.c +++ b/src/main.c @@ -119,13 +119,20 @@ void AgbMain() gLinkTransferringData = FALSE; sUnusedVar = 0xFC0; +#ifndef NDEBUG +#if (LOG_HANDLER == LOG_HANDLER_MGBA_PRINT) + (void) MgbaOpen(); +#elif (LOG_HANDLER == LOG_HANDLER_AGB_PRINT) + AGBPrintfInit(); +#endif +#endif for (;;) { ReadKeys(); if (gSoftResetDisabled == FALSE - && (gMain.heldKeysRaw & A_BUTTON) - && (gMain.heldKeysRaw & B_START_SELECT) == B_START_SELECT) + && JOY_HELD_RAW(A_BUTTON) + && JOY_HELD_RAW(B_START_SELECT) == B_START_SELECT) { rfu_REQ_stopMode(); rfu_waitREQComplete(); @@ -278,7 +285,7 @@ static void ReadKeys(void) gMain.heldKeys |= A_BUTTON; } - if (gMain.newKeys & gMain.watchedKeysMask) + if (JOY_NEW(gMain.watchedKeysMask)) gMain.watchedKeysPressed = TRUE; } diff --git a/src/mini_printf.c b/src/mini_printf.c new file mode 100644 index 000000000..8345a3935 --- /dev/null +++ b/src/mini_printf.c @@ -0,0 +1,353 @@ +/* + * The Minimal snprintf() implementation + * + * Copyright (c) 2013,2014 Michal Ludvig + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the auhor nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * mini-printf courtesy of https://github.com/mludvig/mini-printf + * stripped to reduce file size for agb needs + */ + +#include "mini_printf.h" +#include "gba/types.h" +#include "gba/defines.h" +#include "config.h" +#include "characters.h" +#include "string_util.h" + +#ifndef NDEBUG + +struct mini_buff +{ + char *buffer, *pbuffer; + u32 buffer_len; +}; + +static inline char mini_pchar_decode(char encoded) +{ + char ret = '?'; + if (encoded >= CHAR_a && encoded <= CHAR_z) + ret = encoded-(CHAR_a-'a'); // lower-case characters + else if (encoded >= CHAR_A && encoded <= CHAR_Z) + ret = encoded-(CHAR_A-'A'); // upper-case characters + else if (encoded >= CHAR_0 && encoded <= CHAR_9) + ret = encoded-(CHAR_0-'0'); // numbers + else if (encoded == CHAR_SPACE) + ret = ' '; // space + else if (encoded == CHAR_EXCL_MARK) + ret = '!'; // exclamation point + else if (encoded == CHAR_QUESTION_MARK) + ret = '?'; // question mark + else if (encoded == CHAR_PERIOD) + ret = '.'; // period + else if (encoded == CHAR_DBL_QUOTE_LEFT || encoded == CHAR_DBL_QUOTE_RIGHT) + ret = '"'; // double quote + else if (encoded == CHAR_SGL_QUOTE_LEFT || encoded == CHAR_SGL_QUOTE_RIGHT) + ret = '\''; // single quote + else if (encoded == CHAR_CURRENCY) + ret = '$'; // currency mark (pokemonies in game, dollar sign in logs) + else if (encoded == CHAR_COMMA) + ret = ','; // comma + else if (encoded == CHAR_MULT_SIGN) + ret = '#'; // pound, hashtag, octothorpe, whatever + else if (encoded == CHAR_SLASH) + ret = '/'; // slash + else if (encoded == CHAR_LESS_THAN) + ret = '<'; // less than sign + else if (encoded == CHAR_GREATER_THAN) + ret = '>'; // greater than sign + else if (encoded == CHAR_PERCENT) + ret = '%'; // percentage + else if (encoded == CHAR_LEFT_PAREN) + ret = '('; // opening parentheses + else if (encoded == CHAR_RIGHT_PAREN) + ret = ')'; // closing parentheses + return ret; +} + +static s32 _putsAscii(char *s, s32 len, void *buf) +{ + char *p0; + s32 i; + struct mini_buff *b; + + if (!buf) + return len; + + b = buf; + p0 = b->buffer; + + /* Copy to buffer */ + for (i = 0; i < len; i++) { + if(b->pbuffer == b->buffer + b->buffer_len - 1) { + break; + } + *(b->pbuffer ++) = s[i]; + } + *(b->pbuffer) = 0; + return b->pbuffer - p0; +} + +static s32 _putsEncoded(char *s, s32 len, void *buf) +{ + char *p0; + s32 i; + struct mini_buff *b; + + if (!buf) + return len; + + b = buf; + p0 = b->buffer; + + /* Copy to buffer */ + for (i = 0; i < len; i++) { + if(b->pbuffer == b->buffer + b->buffer_len - 1) { + break; + } + *(b->pbuffer ++) = mini_pchar_decode(s[i]); + } + *(b->pbuffer) = 0; + return b->pbuffer - p0; +} + +static s32 mini_strlen(const char *s) +{ + s32 len = 0; + while (s[len] != '\0') len++; + return len; +} + +static s32 mini_itoa(u32 value, u32 radix, s32 uppercase, bool32 unsig, char *buffer) +{ + char *pbuffer = buffer; + s32 negative = 0; + s32 i, len; + + /* No support for unusual radixes. */ + if (radix > 16) + return 0; + + if (value < 0 && !unsig) + { + negative = 1; + value = -value; + } + + /* This builds the string back to front ... */ + do + { + s32 digit = value % radix; + *(pbuffer++) = (digit < 10 ? '0' + digit : (uppercase ? 'A' : 'a') + digit - 10); + value /= radix; + } while (value > 0); + + if (negative) + *(pbuffer++) = '-'; + + *(pbuffer) = '\0'; + + /* ... now we reverse it (could do it recursively but will + * conserve the stack space) */ + len = (pbuffer - buffer); + for (i = 0; i < len / 2; i++) + { + char j = buffer[i]; + buffer[i] = buffer[len-i-1]; + buffer[len-i-1] = j; + } + + return len; +} + +static s32 mini_pad(char* ptr, s32 len, char pad_char, s32 pad_to, char *buffer) +{ + s32 i; + bool32 overflow = FALSE; + char * pbuffer = buffer; + if(pad_to == 0) + pad_to = len; + if (len > pad_to) { + len = pad_to; + overflow = TRUE; + } + for(i = pad_to - len; i > 0; i --) + { + *(pbuffer++) = pad_char; + } + for(i = len; i > 0; i --) + { + *(pbuffer++) = *(ptr++); + } + len = pbuffer - buffer; + if(overflow) + { + for (i = 0; i < 3 && pbuffer > buffer; i ++) + { + *(pbuffer-- - 1) = '*'; + } + } + return len; +} + +s32 mini_vsnprintf(char *buffer, u32 buffer_len, const char *fmt, va_list va) +{ + struct mini_buff b; + s32 n; + b.buffer = buffer; + b.pbuffer = buffer; + b.buffer_len = buffer_len; + if (buffer_len == 0) + buffer = NULL; + n = mini_vpprintf((buffer != NULL) ? &b : NULL, fmt, va); + if (buffer == NULL) + return n; + return b.pbuffer - b.buffer; +} + +s32 mini_vpprintf(void* buf, const char *fmt, va_list va) +{ + char bf[24]; + char bf2[24]; + char ch; + s32 n; + n = 0; + while ((ch=*(fmt++))) + { + s32 len; + if (ch != '%') + { + len = 1; + len = _putsAscii(&ch, len, buf); + } else + { + char pad_char = ' '; + s32 pad_to = 0; + char l = 0; + char *ptr; + + ch=*(fmt++); + + /* Zero padding requested */ + if (ch == '0') + pad_char = '0'; + while (ch >= '0' && ch <= '9') + { + pad_to = pad_to * 10 + (ch - '0'); + ch= *(fmt++); + } + if(pad_to > (s32) sizeof(bf)) + { + pad_to = sizeof(bf); + } + if (ch == 'l') + { + l = 1; + ch=*(fmt++); + } + + switch (ch) + { + case 0: + goto end; + case 'u': + case 'd': + if(l) + { + len = mini_itoa(va_arg(va, u32), 10, 0, (ch=='u'), bf2); + } else + { + if(ch == 'u') + { + len = mini_itoa((u32) va_arg(va, u32), 10, 0, 1, bf2); + } + else + { + len = mini_itoa((s32) va_arg(va, s32), 10, 0, 0, bf2); + } + } + len = mini_pad(bf2, len, pad_char, pad_to, bf); + len = _putsAscii(bf, len, buf); + break; + + case 'x': + case 'X': + if(l) + { + len = mini_itoa(va_arg(va, u32), 16, (ch=='X'), 1, bf2); + } + else + { + len = mini_itoa((u32) va_arg(va, u32), 16, (ch=='X'), 1, bf2); + } + len = mini_pad(bf2, len, pad_char, pad_to, bf); + len = _putsAscii(bf, len, buf); + break; + + case 'c' : + ch = (char)(va_arg(va, s32)); + len = mini_pad(&ch, 1, pad_char, pad_to, bf); + len = _putsAscii(bf, len, buf); + break; + + case 's' : + ptr = va_arg(va, char*); + len = mini_strlen(ptr); + if (pad_to > 0) + { + len = mini_pad(ptr, len, pad_char, pad_to, bf); + len = _putsAscii(bf, len, buf); + } else + { + len = _putsAscii(ptr, len, buf); + } + break; + case 'S' : // preproc encoded string handler + ptr = va_arg(va, char*); + len = StringLength(ptr); + if (pad_to > 0) + { + len = mini_pad(ptr, len, pad_char, pad_to, bf); + len = _putsEncoded(bf, len, buf); + } else + { + len = _putsEncoded(ptr, len, buf); + } + break; + default: + len = 1; + len = _putsAscii(&ch, len, buf); + break; + } + } + n = n + len; + } +end: + return n; +} + +#endif diff --git a/src/naming_screen.c b/src/naming_screen.c index a6e55eed6..f7d2ccc2e 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -1771,7 +1771,7 @@ static void DrawGenderIcon(void) StringCopy(text, gText_FemaleSymbol); isFemale = TRUE; } - AddTextPrinterParameterized3(sNamingScreen->windows[WIN_TEXT_ENTRY], FONT_NORMAL, 0x68, 1, sGenderColors[isFemale], TEXT_SKIP_DRAW, text); + AddTextPrinterParameterized3(sNamingScreen->windows[WIN_TEXT_ENTRY], FONT_NORMAL, (POKEMON_NAME_LENGTH * 4) + 64, 1, sGenderColors[isFemale], TEXT_SKIP_DRAW, text); } } diff --git a/src/party_menu.c b/src/party_menu.c index a93f66ebb..ec4ea79f8 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -241,7 +241,6 @@ static bool8 AllocPartyMenuBgGfx(void); static void InitPartyMenuWindows(u8); static void InitPartyMenuBoxes(u8); static void LoadPartyMenuPokeballGfx(void); -static void LoadPartyMenuAilmentGfx(void); static bool8 CreatePartyMonSpritesLoop(void); static bool8 RenderPartyMenuBoxes(void); static void CreateCancelConfirmPokeballSprites(void); @@ -3587,9 +3586,12 @@ static void CursorCb_Register(u8 taskId) switch (CanRegisterMonForTradingBoard(*(struct RfuGameCompatibilityData *)GetHostRfuGameData(), species2, species, isEventLegal)) { - case CANT_REGISTER_MON: + case CANT_REGISTER_MON_NOW: StringExpandPlaceholders(gStringVar4, gText_PkmnCantBeTradedNow); break; + case CANT_REGISTER_MON: + StringExpandPlaceholders(gStringVar4, gText_PkmnCantBeTraded); + break; case CANT_REGISTER_EGG: StringExpandPlaceholders(gStringVar4, gText_EggCantBeTradedNow); break; @@ -4168,7 +4170,7 @@ static void CreatePartyMonStatusSprite(struct Pokemon *mon, struct PartyMenuBox { if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) { - menuBox->statusSpriteId = CreateSprite(&sSpriteTemplate_StatusIcons, menuBox->spriteCoords[4], menuBox->spriteCoords[5], 0); + menuBox->statusSpriteId = CreateSprite(&gSpriteTemplate_StatusIcons, menuBox->spriteCoords[4], menuBox->spriteCoords[5], 0); SetPartyMonAilmentGfx(mon, menuBox); } } @@ -4177,7 +4179,7 @@ static void CreatePartyMonStatusSpriteParameterized(u16 species, u8 status, stru { if (species != SPECIES_NONE) { - menuBox->statusSpriteId = CreateSprite(&sSpriteTemplate_StatusIcons, menuBox->spriteCoords[4], menuBox->spriteCoords[5], 0); + menuBox->statusSpriteId = CreateSprite(&gSpriteTemplate_StatusIcons, menuBox->spriteCoords[4], menuBox->spriteCoords[5], 0); UpdatePartyMonAilmentGfx(status, menuBox); gSprites[menuBox->statusSpriteId].oam.priority = 0; } @@ -4203,7 +4205,7 @@ static void UpdatePartyMonAilmentGfx(u8 status, struct PartyMenuBox *menuBox) } } -static void LoadPartyMenuAilmentGfx(void) +void LoadPartyMenuAilmentGfx(void) { LoadCompressedSpriteSheet(&sSpriteSheet_StatusIcons); LoadCompressedSpritePalette(&sSpritePalette_StatusIcons); @@ -4892,13 +4894,13 @@ bool8 MonKnowsMove(struct Pokemon *mon, u16 move) return FALSE; } -bool8 BoxMonKnowsMove(struct BoxPokemon *mon, u16 move) +bool8 BoxMonKnowsMove(struct BoxPokemon *boxMon, u16 move) { u8 i; for (i = 0; i < MAX_MON_MOVES; i++) { - if (GetMonData(mon, MON_DATA_MOVE1 + i) == move) + if (GetBoxMonData(boxMon, MON_DATA_MOVE1 + i) == move) return TRUE; } return FALSE; @@ -6158,10 +6160,10 @@ void ChooseMonForWirelessMinigame(void) static u8 GetPartyLayoutFromBattleType(void) { - if (!IsDoubleBattle() || gPlayerPartyCount == 1) // Draw the single layout in a double battle where the player has only one pokemon. - return PARTY_LAYOUT_SINGLE; if (IsMultiBattle() == TRUE) return PARTY_LAYOUT_MULTI; + if (!IsDoubleBattle() || gPlayerPartyCount == 1) // Draw the single layout in a double battle where the player has only one pokemon. + return PARTY_LAYOUT_SINGLE; return PARTY_LAYOUT_DOUBLE; } diff --git a/src/pokedex.c b/src/pokedex.c index 4b6ce78ca..de7f186a5 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -4377,26 +4377,12 @@ bool16 HasAllMons(void) { u16 i; - // -1 excludes Mew - for (i = 0; i < KANTO_DEX_COUNT - 1; i++) + for (i = 1; i < NATIONAL_DEX_COUNT + 1; i++) { - if (!GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT)) + if (!(gBaseStats[i].flags & SPECIES_FLAG_MYTHICAL) && !GetSetPokedexFlag(i, FLAG_GET_CAUGHT)) return FALSE; } - // -3 excludes Lugia, Ho-Oh, and Celebi - for (i = KANTO_DEX_COUNT; i < JOHTO_DEX_COUNT - 3; i++) - { - if (!GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT)) - return FALSE; - } - - // -2 excludes Jirachi and Deoxys - for (i = JOHTO_DEX_COUNT; i < NATIONAL_DEX_COUNT - 2; i++) - { - if (!GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT)) - return FALSE; - } return TRUE; } diff --git a/src/pokemon.c b/src/pokemon.c index a4fcc6b38..d6b6e2aed 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -136,7 +136,7 @@ static const u16 sSpeciesToHoennPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_HOENN(RALTS), SPECIES_TO_HOENN(KIRLIA), SPECIES_TO_HOENN(GARDEVOIR), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE SPECIES_TO_HOENN(GALLADE), #endif SPECIES_TO_HOENN(SURSKIT), @@ -168,7 +168,7 @@ static const u16 sSpeciesToHoennPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_HOENN(GRAVELER), SPECIES_TO_HOENN(GOLEM), SPECIES_TO_HOENN(NOSEPASS), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE SPECIES_TO_HOENN(PROBOPASS), #endif SPECIES_TO_HOENN(SKITTY), @@ -194,7 +194,7 @@ static const u16 sSpeciesToHoennPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_HOENN(MINUN), SPECIES_TO_HOENN(MAGNEMITE), SPECIES_TO_HOENN(MAGNETON), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE SPECIES_TO_HOENN(MAGNEZONE), #endif SPECIES_TO_HOENN(VOLTORB), @@ -207,7 +207,7 @@ static const u16 sSpeciesToHoennPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_HOENN(BELLOSSOM), SPECIES_TO_HOENN(DODUO), SPECIES_TO_HOENN(DODRIO), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE SPECIES_TO_HOENN(BUDEW), SPECIES_TO_HOENN(ROSELIA), SPECIES_TO_HOENN(ROSERADE), @@ -269,7 +269,7 @@ static const u16 sSpeciesToHoennPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_HOENN(BANETTE), SPECIES_TO_HOENN(DUSKULL), SPECIES_TO_HOENN(DUSCLOPS), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE SPECIES_TO_HOENN(DUSKNOIR), SPECIES_TO_HOENN(TROPIUS), SPECIES_TO_HOENN(CHINGLING), @@ -296,12 +296,12 @@ static const u16 sSpeciesToHoennPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_HOENN(HERACROSS), SPECIES_TO_HOENN(RHYHORN), SPECIES_TO_HOENN(RHYDON), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE SPECIES_TO_HOENN(RHYPERIOR), #endif SPECIES_TO_HOENN(SNORUNT), SPECIES_TO_HOENN(GLALIE), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE SPECIES_TO_HOENN(FROSLASS), #endif SPECIES_TO_HOENN(SPHEAL), @@ -725,7 +725,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_NATIONAL(RAYQUAZA), SPECIES_TO_NATIONAL(JIRACHI), SPECIES_TO_NATIONAL(DEOXYS), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE SPECIES_TO_NATIONAL(TURTWIG), SPECIES_TO_NATIONAL(GROTLE), SPECIES_TO_NATIONAL(TORTERRA), @@ -833,6 +833,8 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_NATIONAL(DARKRAI), SPECIES_TO_NATIONAL(SHAYMIN), SPECIES_TO_NATIONAL(ARCEUS), +#endif +#if P_GEN_5_POKEMON == TRUE SPECIES_TO_NATIONAL(VICTINI), SPECIES_TO_NATIONAL(SNIVY), SPECIES_TO_NATIONAL(SERVINE), @@ -989,6 +991,8 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_NATIONAL(KELDEO), SPECIES_TO_NATIONAL(MELOETTA), SPECIES_TO_NATIONAL(GENESECT), +#endif +#if P_GEN_6_POKEMON == TRUE SPECIES_TO_NATIONAL(CHESPIN), SPECIES_TO_NATIONAL(QUILLADIN), SPECIES_TO_NATIONAL(CHESNAUGHT), @@ -1061,6 +1065,8 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_NATIONAL(DIANCIE), SPECIES_TO_NATIONAL(HOOPA), SPECIES_TO_NATIONAL(VOLCANION), +#endif +#if P_GEN_7_POKEMON == TRUE SPECIES_TO_NATIONAL(ROWLET), SPECIES_TO_NATIONAL(DARTRIX), SPECIES_TO_NATIONAL(DECIDUEYE), @@ -1149,6 +1155,8 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_NATIONAL(ZERAORA), SPECIES_TO_NATIONAL(MELTAN), SPECIES_TO_NATIONAL(MELMETAL), +#endif +#if P_GEN_8_POKEMON == TRUE SPECIES_TO_NATIONAL(GROOKEY), SPECIES_TO_NATIONAL(THWACKEY), SPECIES_TO_NATIONAL(RILLABOOM), @@ -1245,6 +1253,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = SPECIES_TO_NATIONAL(SNEASLER), SPECIES_TO_NATIONAL(OVERQWIL), SPECIES_TO_NATIONAL(ENAMORUS), +#endif // Megas [SPECIES_VENUSAUR_MEGA - 1] = NATIONAL_DEX_VENUSAUR, @@ -1287,13 +1296,19 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_METAGROSS_MEGA - 1] = NATIONAL_DEX_METAGROSS, [SPECIES_LATIAS_MEGA - 1] = NATIONAL_DEX_LATIAS, [SPECIES_LATIOS_MEGA - 1] = NATIONAL_DEX_LATIOS, +#if P_GEN_4_POKEMON == TRUE [SPECIES_LOPUNNY_MEGA - 1] = NATIONAL_DEX_LOPUNNY, [SPECIES_GARCHOMP_MEGA - 1] = NATIONAL_DEX_GARCHOMP, [SPECIES_LUCARIO_MEGA - 1] = NATIONAL_DEX_LUCARIO, [SPECIES_ABOMASNOW_MEGA - 1] = NATIONAL_DEX_ABOMASNOW, [SPECIES_GALLADE_MEGA - 1] = NATIONAL_DEX_GALLADE, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_AUDINO_MEGA - 1] = NATIONAL_DEX_AUDINO, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_DIANCIE_MEGA - 1] = NATIONAL_DEX_DIANCIE, +#endif // Special Mega + Primals [SPECIES_RAYQUAZA_MEGA - 1] = NATIONAL_DEX_RAYQUAZA, [SPECIES_KYOGRE_PRIMAL - 1] = NATIONAL_DEX_KYOGRE, @@ -1333,10 +1348,12 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_CORSOLA_GALARIAN - 1] = NATIONAL_DEX_CORSOLA, [SPECIES_ZIGZAGOON_GALARIAN - 1] = NATIONAL_DEX_ZIGZAGOON, [SPECIES_LINOONE_GALARIAN - 1] = NATIONAL_DEX_LINOONE, +#if P_GEN_5_POKEMON == TRUE [SPECIES_DARUMAKA_GALARIAN - 1] = NATIONAL_DEX_DARUMAKA, [SPECIES_DARMANITAN_GALARIAN - 1] = NATIONAL_DEX_DARMANITAN, [SPECIES_YAMASK_GALARIAN - 1] = NATIONAL_DEX_YAMASK, [SPECIES_STUNFISK_GALARIAN - 1] = NATIONAL_DEX_STUNFISK, +#endif //Hisuian Forms [SPECIES_GROWLITHE_HISUIAN - 1] = NATIONAL_DEX_GROWLITHE, [SPECIES_ARCANINE_HISUIAN - 1] = NATIONAL_DEX_ARCANINE, @@ -1345,15 +1362,21 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_TYPHLOSION_HISUIAN - 1] = NATIONAL_DEX_TYPHLOSION, [SPECIES_QWILFISH_HISUIAN - 1] = NATIONAL_DEX_QWILFISH, [SPECIES_SNEASEL_HISUIAN - 1] = NATIONAL_DEX_SNEASEL, +#if P_GEN_5_POKEMON == TRUE [SPECIES_SAMUROTT_HISUIAN - 1] = NATIONAL_DEX_SAMUROTT, [SPECIES_LILLIGANT_HISUIAN - 1] = NATIONAL_DEX_LILLIGANT, [SPECIES_ZORUA_HISUIAN - 1] = NATIONAL_DEX_ZORUA, [SPECIES_ZOROARK_HISUIAN - 1] = NATIONAL_DEX_ZOROARK, [SPECIES_BRAVIARY_HISUIAN - 1] = NATIONAL_DEX_BRAVIARY, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_SLIGGOO_HISUIAN - 1] = NATIONAL_DEX_SLIGGOO, [SPECIES_GOODRA_HISUIAN - 1] = NATIONAL_DEX_GOODRA, [SPECIES_AVALUGG_HISUIAN - 1] = NATIONAL_DEX_AVALUGG, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_DECIDUEYE_HISUIAN - 1] = NATIONAL_DEX_DECIDUEYE, +#endif // Cosplay Pikachu [SPECIES_PIKACHU_COSPLAY - 1] = NATIONAL_DEX_PIKACHU, [SPECIES_PIKACHU_ROCK_STAR - 1] = NATIONAL_DEX_PIKACHU, @@ -1372,7 +1395,6 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_PIKACHU_WORLD_CAP - 1] = NATIONAL_DEX_PIKACHU, // Pichu [SPECIES_PICHU_SPIKY_EARED - 1] = NATIONAL_DEX_PICHU, -#endif // Unown [SPECIES_UNOWN_B - 1] = NATIONAL_DEX_UNOWN, [SPECIES_UNOWN_C - 1] = NATIONAL_DEX_UNOWN, @@ -1409,7 +1431,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_DEOXYS_ATTACK - 1] = NATIONAL_DEX_DEOXYS, [SPECIES_DEOXYS_DEFENSE - 1] = NATIONAL_DEX_DEOXYS, [SPECIES_DEOXYS_SPEED - 1] = NATIONAL_DEX_DEOXYS, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE // Burmy [SPECIES_BURMY_SANDY_CLOAK - 1] = NATIONAL_DEX_BURMY, [SPECIES_BURMY_TRASH_CLOAK - 1] = NATIONAL_DEX_BURMY, @@ -1452,6 +1474,8 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_ARCEUS_DRAGON - 1] = NATIONAL_DEX_ARCEUS, [SPECIES_ARCEUS_DARK - 1] = NATIONAL_DEX_ARCEUS, [SPECIES_ARCEUS_FAIRY - 1] = NATIONAL_DEX_ARCEUS, +#endif +#if P_GEN_5_POKEMON == TRUE // Basculin [SPECIES_BASCULIN_BLUE_STRIPED - 1] = NATIONAL_DEX_BASCULIN, [SPECIES_BASCULIN_WHITE_STRIPED - 1] = NATIONAL_DEX_BASCULIN, @@ -1470,7 +1494,6 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_TORNADUS_THERIAN - 1] = NATIONAL_DEX_TORNADUS, [SPECIES_THUNDURUS_THERIAN - 1] = NATIONAL_DEX_THUNDURUS, [SPECIES_LANDORUS_THERIAN - 1] = NATIONAL_DEX_LANDORUS, - [SPECIES_ENAMORUS_THERIAN - 1] = NATIONAL_DEX_ENAMORUS, // Kyurem [SPECIES_KYUREM_BLACK - 1] = NATIONAL_DEX_KYUREM, [SPECIES_KYUREM_WHITE - 1] = NATIONAL_DEX_KYUREM, @@ -1483,6 +1506,8 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_GENESECT_SHOCK_DRIVE - 1] = NATIONAL_DEX_GENESECT, [SPECIES_GENESECT_BURN_DRIVE - 1] = NATIONAL_DEX_GENESECT, [SPECIES_GENESECT_CHILL_DRIVE - 1] = NATIONAL_DEX_GENESECT, +#endif +#if P_GEN_6_POKEMON == TRUE // Greninja [SPECIES_GRENINJA_BATTLE_BOND - 1] = NATIONAL_DEX_GRENINJA, [SPECIES_GRENINJA_ASH - 1] = NATIONAL_DEX_GRENINJA, @@ -1553,6 +1578,8 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_ZYGARDE_COMPLETE - 1] = NATIONAL_DEX_ZYGARDE, // Hoopa [SPECIES_HOOPA_UNBOUND - 1] = NATIONAL_DEX_HOOPA, +#endif +#if P_GEN_7_POKEMON == TRUE // Oricorio [SPECIES_ORICORIO_POM_POM - 1] = NATIONAL_DEX_ORICORIO, [SPECIES_ORICORIO_PAU - 1] = NATIONAL_DEX_ORICORIO, @@ -1604,6 +1631,8 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_NECROZMA_ULTRA - 1] = NATIONAL_DEX_NECROZMA, // Magearna [SPECIES_MAGEARNA_ORIGINAL_COLOR - 1] = NATIONAL_DEX_MAGEARNA, +#endif +#if P_GEN_8_POKEMON == TRUE // Cramorant [SPECIES_CRAMORANT_GULPING - 1] = NATIONAL_DEX_CRAMORANT, [SPECIES_CRAMORANT_GORGING - 1] = NATIONAL_DEX_CRAMORANT, @@ -1641,6 +1670,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = // Calyrex [SPECIES_CALYREX_ICE_RIDER - 1] = NATIONAL_DEX_CALYREX, [SPECIES_CALYREX_SHADOW_RIDER - 1] = NATIONAL_DEX_CALYREX, + [SPECIES_ENAMORUS_THERIAN - 1] = NATIONAL_DEX_ENAMORUS, #endif }; @@ -1678,7 +1708,7 @@ static const u16 sHoennToNationalOrder[HOENN_DEX_COUNT - 1] = HOENN_TO_NATIONAL(RALTS), HOENN_TO_NATIONAL(KIRLIA), HOENN_TO_NATIONAL(GARDEVOIR), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE HOENN_TO_NATIONAL(GALLADE), #endif HOENN_TO_NATIONAL(SURSKIT), @@ -1710,7 +1740,7 @@ static const u16 sHoennToNationalOrder[HOENN_DEX_COUNT - 1] = HOENN_TO_NATIONAL(GRAVELER), HOENN_TO_NATIONAL(GOLEM), HOENN_TO_NATIONAL(NOSEPASS), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE HOENN_TO_NATIONAL(PROBOPASS), #endif HOENN_TO_NATIONAL(SKITTY), @@ -1736,7 +1766,7 @@ static const u16 sHoennToNationalOrder[HOENN_DEX_COUNT - 1] = HOENN_TO_NATIONAL(MINUN), HOENN_TO_NATIONAL(MAGNEMITE), HOENN_TO_NATIONAL(MAGNETON), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE HOENN_TO_NATIONAL(MAGNEZONE), #endif HOENN_TO_NATIONAL(VOLTORB), @@ -1749,7 +1779,7 @@ static const u16 sHoennToNationalOrder[HOENN_DEX_COUNT - 1] = HOENN_TO_NATIONAL(BELLOSSOM), HOENN_TO_NATIONAL(DODUO), HOENN_TO_NATIONAL(DODRIO), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE HOENN_TO_NATIONAL(BUDEW), HOENN_TO_NATIONAL(ROSELIA), HOENN_TO_NATIONAL(ROSERADE), @@ -1811,7 +1841,7 @@ static const u16 sHoennToNationalOrder[HOENN_DEX_COUNT - 1] = HOENN_TO_NATIONAL(BANETTE), HOENN_TO_NATIONAL(DUSKULL), HOENN_TO_NATIONAL(DUSCLOPS), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE HOENN_TO_NATIONAL(DUSKNOIR), HOENN_TO_NATIONAL(TROPIUS), HOENN_TO_NATIONAL(CHINGLING), @@ -1838,12 +1868,12 @@ static const u16 sHoennToNationalOrder[HOENN_DEX_COUNT - 1] = HOENN_TO_NATIONAL(HERACROSS), HOENN_TO_NATIONAL(RHYHORN), HOENN_TO_NATIONAL(RHYDON), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE HOENN_TO_NATIONAL(RHYPERIOR), #endif HOENN_TO_NATIONAL(SNORUNT), HOENN_TO_NATIONAL(GLALIE), -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE HOENN_TO_NATIONAL(FROSLASS), #endif HOENN_TO_NATIONAL(SPHEAL), @@ -1923,11 +1953,7 @@ const s8 gNatureStatTable[NUM_NATURES][NUM_NATURE_STATS] = #include "data/pokemon/base_stats.h" #include "data/pokemon/level_up_learnsets.h" #include "data/pokemon/teachable_learnsets.h" -#if P_NEW_POKEMON == TRUE #include "data/pokemon/evolution.h" -#else -#include "data/pokemon/evolution_old.h" -#endif #include "data/pokemon/level_up_learnset_pointers.h" #include "data/pokemon/teachable_learnset_pointers.h" #include "data/pokemon/form_species_tables.h" @@ -2329,7 +2355,6 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_JIRACHI - 1] = ANIM_SWING_CONVEX, [SPECIES_DEOXYS - 1] = ANIM_H_PIVOT, -#if P_NEW_POKEMON == TRUE // Gen 4 [SPECIES_TURTWIG - 1] = ANIM_V_SLIDE, [SPECIES_GROTLE - 1] = ANIM_H_SLIDE, @@ -2882,7 +2907,6 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_ARCEUS_DRAGON - 1] = ANIM_CIRCULAR_VIBRATE, [SPECIES_ARCEUS_DARK - 1] = ANIM_CIRCULAR_VIBRATE, [SPECIES_ARCEUS_FAIRY - 1] = ANIM_CIRCULAR_VIBRATE, -#endif }; static const u8 sMonAnimationDelayTable[NUM_SPECIES - 1] = @@ -2942,8 +2966,10 @@ static const u8 sMonAnimationDelayTable[NUM_SPECIES - 1] = [SPECIES_SALAMENCE - 1] = 70, [SPECIES_KYOGRE - 1] = 60, [SPECIES_RAYQUAZA - 1] = 60, -#if P_NEW_POKEMON == TRUE +#if P_GEN_7_POKEMON == TRUE [SPECIES_TAPU_FINI - 1] = 5, +#endif +#if P_GEN_4_POKEMON == TRUE [SPECIES_ROTOM_FAN - 1] = 7, #endif }; @@ -3303,14 +3329,23 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, } else // Player is the OT { + u32 shinyValue; value = gSaveBlock2Ptr->playerTrainerId[0] | (gSaveBlock2Ptr->playerTrainerId[1] << 8) | (gSaveBlock2Ptr->playerTrainerId[2] << 16) | (gSaveBlock2Ptr->playerTrainerId[3] << 24); - if (CheckBagHasItem(ITEM_SHINY_CHARM, 1)) + if (gBaseStats[species].flags & SPECIES_FLAG_SHINY_LOCKED) + { + do + { + // Choose random personalities until one that results in a non-shiny Pokémon + personality = Random32(); + shinyValue = HIHALF(value) ^ LOHALF(value) ^ HIHALF(personality) ^ LOHALF(personality); + } while (shinyValue < SHINY_ODDS); + } + else if (CheckBagHasItem(ITEM_SHINY_CHARM, 1)) { - u32 shinyValue; u32 rolls = 0; do { @@ -3372,8 +3407,18 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, iv = (value & (MAX_IV_MASK << 10)) >> 10; SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv); + if (gBaseStats[species].flags & SPECIES_FLAG_ALL_PERFECT_IVS) + { + iv = MAX_PER_STAT_IVS; + SetBoxMonData(boxMon, MON_DATA_HP_IV, &iv); + SetBoxMonData(boxMon, MON_DATA_ATK_IV, &iv); + SetBoxMonData(boxMon, MON_DATA_DEF_IV, &iv); + SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &iv); + SetBoxMonData(boxMon, MON_DATA_SPATK_IV, &iv); + SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv); + } #if P_LEGENDARY_PERFECT_IVS >= GEN_6 - if (gBaseStats[species].flags & (FLAG_LEGENDARY | FLAG_MYTHICAL | FLAG_ULTRA_BEAST)) + else if (gBaseStats[species].flags & (SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_MYTHICAL | SPECIES_FLAG_ULTRA_BEAST)) { iv = MAX_PER_STAT_IVS; // Initialize a list of IV indices. @@ -3393,29 +3438,28 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, { switch (selectedIvs[i]) { - case STAT_HP: - SetBoxMonData(boxMon, MON_DATA_HP_IV, &iv); - break; - case STAT_ATK: - SetBoxMonData(boxMon, MON_DATA_ATK_IV, &iv); - break; - case STAT_DEF: - SetBoxMonData(boxMon, MON_DATA_DEF_IV, &iv); - break; - case STAT_SPEED: - SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &iv); - break; - case STAT_SPATK: - SetBoxMonData(boxMon, MON_DATA_SPATK_IV, &iv); - break; - case STAT_SPDEF: - SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv); - break; + case STAT_HP: + SetBoxMonData(boxMon, MON_DATA_HP_IV, &iv); + break; + case STAT_ATK: + SetBoxMonData(boxMon, MON_DATA_ATK_IV, &iv); + break; + case STAT_DEF: + SetBoxMonData(boxMon, MON_DATA_DEF_IV, &iv); + break; + case STAT_SPEED: + SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &iv); + break; + case STAT_SPATK: + SetBoxMonData(boxMon, MON_DATA_SPATK_IV, &iv); + break; + case STAT_SPDEF: + SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv); + break; } } } #endif - } if (gBaseStats[species].abilities[1]) @@ -7301,6 +7345,38 @@ u8 CanLearnTeachableMove(u16 species, u16 move) { return FALSE; } + else if (species == SPECIES_MEW) + { + switch (move) + { + case MOVE_BADDY_BAD: + case MOVE_BLAST_BURN: + case MOVE_BOUNCY_BUBBLE: + case MOVE_BUZZY_BUZZ: + case MOVE_DRACO_METEOR: + case MOVE_DRAGON_ASCENT: + case MOVE_FIRE_PLEDGE: + case MOVE_FLOATY_FALL: + case MOVE_FREEZY_FROST: + case MOVE_FRENZY_PLANT: + case MOVE_GLITZY_GLOW: + case MOVE_GRASS_PLEDGE: + case MOVE_HYDRO_CANNON: + case MOVE_RELIC_SONG: + case MOVE_SAPPY_SEED: + case MOVE_SECRET_SWORD: + case MOVE_SIZZLY_SLIDE: + case MOVE_SPARKLY_SWIRL: + case MOVE_SPLISHY_SPLASH: + case MOVE_STEEL_BEAM: + case MOVE_VOLT_TACKLE: + case MOVE_WATER_PLEDGE: + case MOVE_ZIPPY_ZAP: + return FALSE; + default: + return TRUE; + } + } else { u8 i; @@ -8395,7 +8471,7 @@ void TrySpecialOverworldEvo(void) bool32 ShouldShowFemaleDifferences(u16 species, u32 personality) { - return (gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE; + return (gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE; } void TryToSetBattleFormChangeMoves(struct Pokemon *mon) diff --git a/src/pokemon_debug.c b/src/pokemon_debug.c index 4168b7524..8a047e397 100644 --- a/src/pokemon_debug.c +++ b/src/pokemon_debug.c @@ -417,21 +417,21 @@ static void PrintInstructionsOnWindow(struct PokemonDebugMenu *data) FillWindowPixelBuffer(WIN_INSTRUCTIONS, 0x11); if (data->currentSubmenu == 0) { - if (gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) + if (gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsGender, x, 0, 0, NULL); else AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructions, x, 0, 0, NULL); } else if (data->currentSubmenu == 1) { - if (gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) + if (gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuOneGender, x, 0, 0, NULL); else AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuOne, x, 0, 0, NULL); } else if (data->currentSubmenu == 2) { - if (gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) + if (gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuTwoGender, x, 0, 0, NULL); else AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuTwo, x, 0, 0, NULL); @@ -485,7 +485,7 @@ static void PrintDigitChars(struct PokemonDebugMenu *data) text[i++] = CHAR_SPACE; text[i++] = CHAR_HYPHEN; - if (gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) + if (gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) { if (data->isFemale) text[i++] = CHAR_FEMALE; @@ -688,14 +688,14 @@ static const struct CompressedSpritePalette *GetMonSpritePalStructCustom(u16 spe { if (isShiny) { - if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && isFemale) + if ((gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && isFemale) return &gMonShinyPaletteTableFemale[species]; else return &gMonShinyPaletteTable[species]; } else { - if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && isFemale) + if ((gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && isFemale) return &gMonPaletteTableFemale[species]; else return &gMonPaletteTable[species]; @@ -714,14 +714,14 @@ static void BattleLoadOpponentMonSpriteGfxCustom(u16 species, bool8 isFemale, bo if (isShiny) { - if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && isFemale) + if ((gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && isFemale) lzPaletteData = gMonShinyPaletteTableFemale[species].data; else lzPaletteData = gMonShinyPaletteTable[species].data; } else { - if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && isFemale) + if ((gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && isFemale) lzPaletteData = gMonPaletteTableFemale[species].data; else lzPaletteData = gMonPaletteTable[species].data; @@ -1493,7 +1493,7 @@ static void Handle_Input_Debug_Pokemon(u8 taskId) ReloadPokemonSprites(data); ApplyOffsetSpriteValues(data); } - if (JOY_NEW(SELECT_BUTTON) && (gBaseStats[data->currentmonId].flags & FLAG_GENDER_DIFFERENCE)) + if (JOY_NEW(SELECT_BUTTON) && (gBaseStats[data->currentmonId].flags & SPECIES_FLAG_GENDER_DIFFERENCE)) { data->isFemale = !data->isFemale; PrintDigitChars(data); @@ -1686,7 +1686,7 @@ static void ReloadPokemonSprites(struct PokemonDebugMenu *data) FreeMonIconPalettes(); AllocateMonSpritesGfx(); - LoadMonIconPalette(species); + LoadMonIconPalettePersonality(species, (data->isFemale ? FEMALE_PERSONALITY : MALE_PERSONALITY)); //Update instructions PrintInstructionsOnWindow(data); diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index 4bbdf07b0..c9dae5343 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -413,7 +413,7 @@ const u8 *const gMonIconTable[] = [SPECIES_JIRACHI] = gMonIcon_Jirachi, [SPECIES_DEOXYS] = gMonIcon_Deoxys, [SPECIES_CHIMECHO] = gMonIcon_Chimecho, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE [SPECIES_TURTWIG] = gMonIcon_Turtwig, [SPECIES_GROTLE] = gMonIcon_Grotle, [SPECIES_TORTERRA] = gMonIcon_Torterra, @@ -521,6 +521,8 @@ const u8 *const gMonIconTable[] = [SPECIES_DARKRAI] = gMonIcon_Darkrai, [SPECIES_SHAYMIN] = gMonIcon_Shaymin, [SPECIES_ARCEUS] = gMonIcon_Arceus, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_VICTINI] = gMonIcon_Victini, [SPECIES_SNIVY] = gMonIcon_Snivy, [SPECIES_SERVINE] = gMonIcon_Servine, @@ -677,6 +679,8 @@ const u8 *const gMonIconTable[] = [SPECIES_KELDEO] = gMonIcon_Keldeo, [SPECIES_MELOETTA] = gMonIcon_Meloetta, [SPECIES_GENESECT] = gMonIcon_Genesect, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_CHESPIN] = gMonIcon_Chespin, [SPECIES_QUILLADIN] = gMonIcon_Quilladin, [SPECIES_CHESNAUGHT] = gMonIcon_Chesnaught, @@ -749,6 +753,8 @@ const u8 *const gMonIconTable[] = [SPECIES_DIANCIE] = gMonIcon_Diancie, [SPECIES_HOOPA] = gMonIcon_Hoopa, [SPECIES_VOLCANION] = gMonIcon_Volcanion, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_ROWLET] = gMonIcon_Rowlet, [SPECIES_DARTRIX] = gMonIcon_Dartrix, [SPECIES_DECIDUEYE] = gMonIcon_Decidueye, @@ -837,6 +843,8 @@ const u8 *const gMonIconTable[] = [SPECIES_ZERAORA] = gMonIcon_Zeraora, [SPECIES_MELTAN] = gMonIcon_Meltan, [SPECIES_MELMETAL] = gMonIcon_Melmetal, +#endif +#if P_GEN_8_POKEMON == TRUE [SPECIES_GROOKEY] = gMonIcon_Grookey, [SPECIES_THWACKEY] = gMonIcon_Thwackey, [SPECIES_RILLABOOM] = gMonIcon_Rillaboom, @@ -933,6 +941,7 @@ const u8 *const gMonIconTable[] = [SPECIES_SNEASLER] = gMonIcon_Sneasler, [SPECIES_OVERQWIL] = gMonIcon_Overqwil, [SPECIES_ENAMORUS] = gMonIcon_Enamorus, +#endif [SPECIES_VENUSAUR_MEGA] = gMonIcon_VenusaurMega, [SPECIES_CHARIZARD_MEGA_X] = gMonIcon_CharizardMegaX, [SPECIES_CHARIZARD_MEGA_Y] = gMonIcon_CharizardMegaY, @@ -973,13 +982,19 @@ const u8 *const gMonIconTable[] = [SPECIES_METAGROSS_MEGA] = gMonIcon_MetagrossMega, [SPECIES_LATIAS_MEGA] = gMonIcon_LatiasMega, [SPECIES_LATIOS_MEGA] = gMonIcon_LatiosMega, +#if P_GEN_4_POKEMON == TRUE [SPECIES_LOPUNNY_MEGA] = gMonIcon_LopunnyMega, [SPECIES_GARCHOMP_MEGA] = gMonIcon_GarchompMega, [SPECIES_LUCARIO_MEGA] = gMonIcon_LucarioMega, [SPECIES_ABOMASNOW_MEGA] = gMonIcon_AbomasnowMega, [SPECIES_GALLADE_MEGA] = gMonIcon_GalladeMega, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_AUDINO_MEGA] = gMonIcon_AudinoMega, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_DIANCIE_MEGA] = gMonIcon_DiancieMega, +#endif [SPECIES_RAYQUAZA_MEGA] = gMonIcon_RayquazaMega, [SPECIES_KYOGRE_PRIMAL] = gMonIcon_KyogrePrimal, [SPECIES_GROUDON_PRIMAL] = gMonIcon_GroudonPrimal, @@ -1016,10 +1031,12 @@ const u8 *const gMonIconTable[] = [SPECIES_CORSOLA_GALARIAN] = gMonIcon_CorsolaGalarian, [SPECIES_ZIGZAGOON_GALARIAN] = gMonIcon_ZigzagoonGalarian, [SPECIES_LINOONE_GALARIAN] = gMonIcon_LinooneGalarian, +#if P_GEN_5_POKEMON == TRUE [SPECIES_DARUMAKA_GALARIAN] = gMonIcon_DarumakaGalarian, [SPECIES_DARMANITAN_GALARIAN] = gMonIcon_DarmanitanGalarian, [SPECIES_YAMASK_GALARIAN] = gMonIcon_YamaskGalarian, [SPECIES_STUNFISK_GALARIAN] = gMonIcon_StunfiskGalarian, +#endif [SPECIES_GROWLITHE_HISUIAN] = gMonIcon_GrowlitheHisuian, [SPECIES_ARCANINE_HISUIAN] = gMonIcon_ArcanineHisuian, [SPECIES_VOLTORB_HISUIAN] = gMonIcon_VoltorbHisuian, @@ -1027,15 +1044,21 @@ const u8 *const gMonIconTable[] = [SPECIES_TYPHLOSION_HISUIAN] = gMonIcon_TyphlosionHisuian, [SPECIES_QWILFISH_HISUIAN] = gMonIcon_QwilfishHisuian, [SPECIES_SNEASEL_HISUIAN] = gMonIcon_SneaselHisuian, +#if P_GEN_5_POKEMON == TRUE [SPECIES_SAMUROTT_HISUIAN] = gMonIcon_SamurottHisuian, [SPECIES_LILLIGANT_HISUIAN] = gMonIcon_LilligantHisuian, [SPECIES_ZORUA_HISUIAN] = gMonIcon_ZoruaHisuian, [SPECIES_ZOROARK_HISUIAN] = gMonIcon_ZoroarkHisuian, [SPECIES_BRAVIARY_HISUIAN] = gMonIcon_BraviaryHisuian, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_SLIGGOO_HISUIAN] = gMonIcon_SliggooHisuian, [SPECIES_GOODRA_HISUIAN] = gMonIcon_GoodraHisuian, [SPECIES_AVALUGG_HISUIAN] = gMonIcon_AvaluggHisuian, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_DECIDUEYE_HISUIAN] = gMonIcon_DecidueyeHisuian, +#endif [SPECIES_PIKACHU_COSPLAY] = gMonIcon_PikachuCosplay, [SPECIES_PIKACHU_ROCK_STAR] = gMonIcon_PikachuRockStar, [SPECIES_PIKACHU_BELLE] = gMonIcon_PikachuBelle, @@ -1051,7 +1074,6 @@ const u8 *const gMonIconTable[] = [SPECIES_PIKACHU_PARTNER_CAP] = gMonIcon_PikachuPartnerCap, [SPECIES_PIKACHU_WORLD_CAP] = gMonIcon_QuestionMark, [SPECIES_PICHU_SPIKY_EARED] = gMonIcon_PichuSpikyEared, -#endif [SPECIES_UNOWN_B] = gMonIcon_UnownB, [SPECIES_UNOWN_C] = gMonIcon_UnownC, [SPECIES_UNOWN_D] = gMonIcon_UnownD, @@ -1085,7 +1107,7 @@ const u8 *const gMonIconTable[] = [SPECIES_DEOXYS_ATTACK] = gMonIcon_DeoxysAttack, [SPECIES_DEOXYS_DEFENSE] = gMonIcon_DeoxysDefense, [SPECIES_DEOXYS_SPEED] = gMonIcon_DeoxysSpeed, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE [SPECIES_BURMY_SANDY_CLOAK] = gMonIcon_BurmySandyCloak, [SPECIES_BURMY_TRASH_CLOAK] = gMonIcon_BurmyTrashCloak, [SPECIES_WORMADAM_SANDY_CLOAK] = gMonIcon_WormadamSandyCloak, @@ -1119,6 +1141,8 @@ const u8 *const gMonIconTable[] = [SPECIES_ARCEUS_DRAGON] = gMonIcon_Arceus, [SPECIES_ARCEUS_DARK] = gMonIcon_Arceus, [SPECIES_ARCEUS_FAIRY] = gMonIcon_Arceus, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_BASCULIN_BLUE_STRIPED] = gMonIcon_BasculinBlueStriped, [SPECIES_BASCULIN_WHITE_STRIPED] = gMonIcon_BasculinWhiteStriped, [SPECIES_DARMANITAN_ZEN_MODE] = gMonIcon_DarmanitanZenMode, @@ -1132,7 +1156,6 @@ const u8 *const gMonIconTable[] = [SPECIES_TORNADUS_THERIAN] = gMonIcon_TornadusTherian, [SPECIES_THUNDURUS_THERIAN] = gMonIcon_ThundurusTherian, [SPECIES_LANDORUS_THERIAN] = gMonIcon_LandorusTherian, - [SPECIES_ENAMORUS_THERIAN] = gMonIcon_EnamorusTherian, [SPECIES_KYUREM_WHITE] = gMonIcon_KyuremWhite, [SPECIES_KYUREM_BLACK] = gMonIcon_KyuremBlack, [SPECIES_KELDEO_RESOLUTE] = gMonIcon_KeldeoResolute, @@ -1141,6 +1164,8 @@ const u8 *const gMonIconTable[] = [SPECIES_GENESECT_SHOCK_DRIVE] = gMonIcon_Genesect, [SPECIES_GENESECT_BURN_DRIVE] = gMonIcon_Genesect, [SPECIES_GENESECT_CHILL_DRIVE] = gMonIcon_Genesect, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_GRENINJA_BATTLE_BOND] = gMonIcon_Greninja, [SPECIES_GRENINJA_ASH] = gMonIcon_GreninjaAsh, [SPECIES_VIVILLON_POLAR] = gMonIcon_VivillonPolar, @@ -1198,6 +1223,8 @@ const u8 *const gMonIconTable[] = [SPECIES_ZYGARDE_50_POWER_CONSTRUCT] = gMonIcon_Zygarde, [SPECIES_ZYGARDE_COMPLETE] = gMonIcon_ZygardeComplete, [SPECIES_HOOPA_UNBOUND] = gMonIcon_HoopaUnbound, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_ORICORIO_POM_POM] = gMonIcon_OricorioPomPom, [SPECIES_ORICORIO_PAU] = gMonIcon_OricorioPau, [SPECIES_ORICORIO_SENSU] = gMonIcon_OricorioSensu, @@ -1240,6 +1267,8 @@ const u8 *const gMonIconTable[] = [SPECIES_NECROZMA_DAWN_WINGS] = gMonIcon_NecrozmaDawnWings, [SPECIES_NECROZMA_ULTRA] = gMonIcon_NecrozmaUltra, [SPECIES_MAGEARNA_ORIGINAL_COLOR] = gMonIcon_MagearnaOriginalColor, +#endif +#if P_GEN_8_POKEMON == TRUE [SPECIES_CRAMORANT_GULPING] = gMonIcon_CramorantGulping, [SPECIES_CRAMORANT_GORGING] = gMonIcon_CramorantGorging, [SPECIES_TOXTRICITY_LOW_KEY] = gMonIcon_ToxtricityLowKey, @@ -1263,6 +1292,7 @@ const u8 *const gMonIconTable[] = [SPECIES_ZARUDE_DADA] = gMonIcon_ZarudeDada, [SPECIES_CALYREX_ICE_RIDER] = gMonIcon_CalyrexIceRider, [SPECIES_CALYREX_SHADOW_RIDER] = gMonIcon_CalyrexShadowRider, + [SPECIES_ENAMORUS_THERIAN] = gMonIcon_EnamorusTherian, #endif [SPECIES_EGG] = gMonIcon_Egg, }; @@ -1270,7 +1300,7 @@ const u8 *const gMonIconTable[] = const u8 *const gMonIconTableFemale[] = { [SPECIES_EEVEE] = gMonIcon_Eevee, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE [SPECIES_STARLY] = gMonIcon_Starly, [SPECIES_STARAVIA] = gMonIcon_Staravia, [SPECIES_STARAPTOR] = gMonIcon_Staraptor, @@ -1281,10 +1311,16 @@ const u8 *const gMonIconTableFemale[] = [SPECIES_COMBEE] = gMonIcon_Combee, [SPECIES_HIPPOPOTAS] = gMonIcon_Hippopotas, [SPECIES_HIPPOWDON] = gMonIcon_Hippowdon, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_UNFEZANT] = gMonIcon_UnfezantF, [SPECIES_FRILLISH] = gMonIcon_FrillishF, [SPECIES_JELLICENT] = gMonIcon_JellicentF, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_PYROAR] = gMonIcon_PyroarF, +#endif +#if P_GEN_8_POKEMON == TRUE [SPECIES_BASCULEGION] = gMonIcon_BasculegionF, #endif }; @@ -1677,7 +1713,6 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_JIRACHI] = 0, [SPECIES_DEOXYS] = 0, [SPECIES_CHIMECHO] = 0, -#if P_NEW_POKEMON == TRUE [SPECIES_TURTWIG] = 1, [SPECIES_GROTLE] = 1, [SPECIES_TORTERRA] = 1, @@ -2315,7 +2350,6 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_PIKACHU_PARTNER_CAP] = 0, [SPECIES_PIKACHU_WORLD_CAP] = 0, [SPECIES_PICHU_SPIKY_EARED] = 1, -#endif [SPECIES_UNOWN_B ... SPECIES_UNOWN_QMARK] = 0, [SPECIES_CASTFORM_SUNNY] = 0, [SPECIES_CASTFORM_RAINY] = 0, @@ -2323,7 +2357,7 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_DEOXYS_ATTACK] = 0, [SPECIES_DEOXYS_DEFENSE] = 0, [SPECIES_DEOXYS_SPEED] = 0, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE [SPECIES_BURMY_SANDY_CLOAK] = 1, [SPECIES_BURMY_TRASH_CLOAK] = 0, [SPECIES_WORMADAM_SANDY_CLOAK] = 1, @@ -2357,6 +2391,8 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_ARCEUS_DRAGON] = 1, [SPECIES_ARCEUS_DARK] = 1, [SPECIES_ARCEUS_FAIRY] = 1, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_BASCULIN_BLUE_STRIPED] = 0, [SPECIES_BASCULIN_WHITE_STRIPED] = 0, [SPECIES_DARMANITAN_ZEN_MODE] = 0, @@ -2370,7 +2406,6 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_TORNADUS_THERIAN] = 1, [SPECIES_THUNDURUS_THERIAN] = 0, [SPECIES_LANDORUS_THERIAN] = 0, - [SPECIES_ENAMORUS_THERIAN] = 1, [SPECIES_KYUREM_WHITE] = 0, [SPECIES_KYUREM_BLACK] = 0, [SPECIES_KELDEO_RESOLUTE] = 0, @@ -2379,6 +2414,8 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_GENESECT_SHOCK_DRIVE] = 2, [SPECIES_GENESECT_BURN_DRIVE] = 2, [SPECIES_GENESECT_CHILL_DRIVE] = 2, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_GRENINJA_BATTLE_BOND] = 0, [SPECIES_GRENINJA_ASH] = 0, [SPECIES_VIVILLON_POLAR] = 0, @@ -2436,6 +2473,8 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_ZYGARDE_50_POWER_CONSTRUCT] = 1, [SPECIES_ZYGARDE_COMPLETE] = 1, [SPECIES_HOOPA_UNBOUND] = 0, +#endif +#if P_GEN_7_POKEMON == TRUE [SPECIES_ORICORIO_POM_POM] = 1, [SPECIES_ORICORIO_PAU] = 1, [SPECIES_ORICORIO_SENSU] = 0, @@ -2472,6 +2511,8 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_NECROZMA_DAWN_WINGS] = 0, [SPECIES_NECROZMA_ULTRA] = 2, [SPECIES_MAGEARNA_ORIGINAL_COLOR] = 0, +#endif +#if P_GEN_8_POKEMON == TRUE [SPECIES_CRAMORANT_GULPING] = 0, [SPECIES_CRAMORANT_GORGING] = 0, [SPECIES_TOXTRICITY_LOW_KEY] = 2, @@ -2495,6 +2536,7 @@ const u8 gMonIconPaletteIndices[] = [SPECIES_ZARUDE_DADA] = 1, [SPECIES_CALYREX_ICE_RIDER] = 0, [SPECIES_CALYREX_SHADOW_RIDER] = 0, + [SPECIES_ENAMORUS_THERIAN] = 1, #endif [SPECIES_EGG] = 1, }; @@ -2502,7 +2544,7 @@ const u8 gMonIconPaletteIndices[] = const u8 gMonIconPaletteIndicesFemale[] = { [SPECIES_EEVEE] = 2, -#if P_NEW_POKEMON == TRUE +#if P_GEN_4_POKEMON == TRUE [SPECIES_STARLY] = 0, [SPECIES_STARAVIA] = 0, [SPECIES_BIDOOF] = 2, @@ -2512,10 +2554,16 @@ const u8 gMonIconPaletteIndicesFemale[] = [SPECIES_COMBEE] = 0, [SPECIES_HIPPOPOTAS] = 1, [SPECIES_HIPPOWDON] = 1, +#endif +#if P_GEN_5_POKEMON == TRUE [SPECIES_UNFEZANT] = 1, [SPECIES_FRILLISH] = 1, [SPECIES_JELLICENT] = 1, +#endif +#if P_GEN_6_POKEMON == TRUE [SPECIES_PYROAR] = 2, +#endif +#if P_GEN_8_POKEMON == TRUE [SPECIES_BASCULEGION] = 0, #endif }; @@ -2760,6 +2808,17 @@ void LoadMonIconPalette(u16 species) LoadSpritePalette(&gMonIconPaletteTable[palIndex]); } +void LoadMonIconPalettePersonality(u16 species, u32 personality) +{ + u8 palIndex; + if (ShouldShowFemaleDifferences(species, personality)) + palIndex = gMonIconPaletteIndicesFemale[species]; + else + palIndex = gMonIconPaletteIndices[species]; + if (IndexOfSpritePaletteTag(gMonIconPaletteTable[palIndex].tag) == 0xFF) + LoadSpritePalette(&gMonIconPaletteTable[palIndex]); +} + void FreeMonIconPalettes(void) { u8 i; diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 432b8083c..3f58daa86 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -3770,7 +3770,7 @@ static void Task_ChangeScreen(u8 taskId) mode = sStorage->summaryScreenMode; FreePokeStorageData(); if (mode == SUMMARY_MODE_NORMAL && boxMons == &sSavedMovingMon.box) - ShowPokemonSummaryScreenSet40EF(mode, boxMons, monIndex, maxMonIndex, CB2_ReturnToPokeStorage); + ShowPokemonSummaryScreenHandleDeoxys(mode, boxMons, monIndex, maxMonIndex, CB2_ReturnToPokeStorage); else ShowPokemonSummaryScreen(mode, boxMons, monIndex, maxMonIndex, CB2_ReturnToPokeStorage); break; diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index a0193ff6e..93f85de6f 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -185,7 +185,7 @@ static EWRAM_DATA struct PokemonSummaryScreenData u8 filler40CA; u8 windowIds[8]; u8 spriteIds[SPRITE_ARR_ID_COUNT]; - bool8 unk40EF; + bool8 handleDeoxys; s16 switchCounter; // Used for various switch statement cases that decompress/load graphics or pokemon data u8 unk_filler4[6]; u8 splitIconSpriteId; @@ -1211,10 +1211,10 @@ void ShowSelectMovePokemonSummaryScreen(struct Pokemon *mons, u8 monIndex, u8 ma sMonSummaryScreen->newMove = newMove; } -void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)) +void ShowPokemonSummaryScreenHandleDeoxys(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)) { ShowPokemonSummaryScreen(mode, mons, monIndex, maxMonIndex, callback); - sMonSummaryScreen->unk40EF = TRUE; + sMonSummaryScreen->handleDeoxys = TRUE; } static void MainCB2(void) @@ -1497,7 +1497,7 @@ static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *mon) sum->ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES); break; case 2: - if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE) + if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->handleDeoxys == TRUE) { sum->nature = GetNature(mon); sum->currentHP = GetMonData(mon, MON_DATA_HP); diff --git a/src/record_mixing.c b/src/record_mixing.c index c899db25e..5d75f3fc8 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -315,8 +315,8 @@ static void Task_RecordMixing_Main(u8 taskId) switch (tState) { case 0: // init - sSentRecord = malloc(sizeof(*sSentRecord)); - sReceivedRecords = malloc(sizeof(*sReceivedRecords) * MAX_LINK_PLAYERS); + sSentRecord = Alloc(sizeof(*sSentRecord)); + sReceivedRecords = Alloc(sizeof(*sReceivedRecords) * MAX_LINK_PLAYERS); SetLocalLinkPlayerId(gSpecialVar_0x8005); VarSet(VAR_TEMP_0, 1); sReadyToReceive = FALSE; @@ -358,8 +358,8 @@ static void Task_RecordMixing_Main(u8 taskId) case 5: // Wait for the task created by CreateTask_ReestablishCableClubLink if (!gTasks[tLinkTaskId].isActive) { - free(sReceivedRecords); - free(sSentRecord); + Free(sReceivedRecords); + Free(sSentRecord); SetLinkWaitingForScript(); if (gWirelessCommType != 0) CreateTask(Task_ReturnToFieldRecordMixing, 10); @@ -689,7 +689,7 @@ static void ReceiveLilycoveLadyData(LilycoveLady *records, size_t recordSize, u8 if (GetLilycoveLadyId() == 0) { - lilycoveLady = malloc(sizeof(*lilycoveLady)); + lilycoveLady = Alloc(sizeof(*lilycoveLady)); if (lilycoveLady == NULL) return; @@ -705,7 +705,7 @@ static void ReceiveLilycoveLadyData(LilycoveLady *records, size_t recordSize, u8 if (lilycoveLady != NULL) { QuizLadyClearQuestionForRecordMix(lilycoveLady); - free(lilycoveLady); + Free(lilycoveLady); } } diff --git a/src/recorded_battle.c b/src/recorded_battle.c index e8785b5f8..dead1dd7e 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -475,8 +475,8 @@ bool32 MoveRecordedBattleToSaveData(void) break; } - free(battleSave); - free(savSection); + Free(battleSave); + Free(savSection); return ret; } diff --git a/src/region_map.c b/src/region_map.c index a4db1cb04..8157f8a4e 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -1664,7 +1664,7 @@ void CB2_OpenFlyMap(void) SetGpuReg(REG_OFFSET_BG2HOFS, 0); SetGpuReg(REG_OFFSET_BG3HOFS, 0); SetGpuReg(REG_OFFSET_BG3VOFS, 0); - sFlyMap = malloc(sizeof(*sFlyMap)); + sFlyMap = Alloc(sizeof(*sFlyMap)); if (sFlyMap == NULL) { SetMainCallback2(CB2_ReturnToFieldWithOpenMenu); diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index 0d2b35802..16310a7c3 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -73,7 +73,7 @@ static void CB2_ReshowBattleScreenAfterMenu(void) break; case 4: FreeAllSpritePalettes(); - gReservedSpritePaletteCount = 4; + gReservedSpritePaletteCount = MAX_BATTLERS_COUNT; break; case 5: ClearSpritesHealthboxAnimData(); diff --git a/src/secret_base.c b/src/secret_base.c index 74129d3ff..ea1999343 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -921,7 +921,7 @@ static void Task_ShowSecretBaseRegistryMenu(u8 taskId) tSelectedRow = 0; tScrollOffset = 0; ClearDialogWindowAndFrame(0, FALSE); - sRegistryMenu = calloc(1, sizeof(*sRegistryMenu)); + sRegistryMenu = AllocZeroed(sizeof(*sRegistryMenu)); tMainWindowId = AddWindow(&sRegistryWindowTemplates[0]); BuildRegistryMenuItems(taskId); FinalizeRegistryMenu(taskId); @@ -1006,7 +1006,7 @@ static void HandleRegistryMenuInput(u8 taskId) ClearWindowTilemap(tMainWindowId); RemoveWindow(tMainWindowId); ScheduleBgCopyTilemapToVram(0); - free(sRegistryMenu); + Free(sRegistryMenu); GoToSecretBasePCRegisterMenu(taskId); break; default: diff --git a/src/strings.c b/src/strings.c index fce4acdde..4452fd825 100644 --- a/src/strings.c +++ b/src/strings.c @@ -479,6 +479,7 @@ const u8 gText_PauseUntilPress[] = _("{PAUSE_UNTIL_PRESS}"); const u8 gJPText_AreYouSureYouWantToSpinTradeMon[] = _("{STR_VAR_1}を ぐるぐるこうかんに\nだして よろしいですか?"); ALIGNED(4) const u8 gText_OnlyPkmnForBattle[] = _("That's your only\nPOKéMON for battle."); ALIGNED(4) const u8 gText_PkmnCantBeTradedNow[] = _("That POKéMON can't be traded\nnow."); +ALIGNED(4) const u8 gText_PkmnCantBeTraded[] = _("That POKéMON can't be traded."); ALIGNED(4) const u8 gText_EggCantBeTradedNow[] = _("An EGG can't be traded now."); ALIGNED(4) const u8 gText_OtherTrainersPkmnCantBeTraded[] = _("The other TRAINER's POKéMON\ncan't be traded now."); ALIGNED(4) const u8 gText_OtherTrainerCantAcceptPkmn[] = _("The other TRAINER can't accept\nthat POKéMON now."); diff --git a/src/title_screen.c b/src/title_screen.c index 25a1d60d0..689c96863 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -634,7 +634,7 @@ static void MainCB2(void) static void Task_TitleScreenPhase1(u8 taskId) { // Skip to next phase when A, B, Start, or Select is pressed - if ((gMain.newKeys & A_B_START_SELECT) || gTasks[taskId].data[1] != 0) + if (JOY_NEW(A_B_START_SELECT) || gTasks[taskId].data[1] != 0) { gTasks[taskId].tSkipToNext = TRUE; gTasks[taskId].tCounter = 0; @@ -681,7 +681,7 @@ static void Task_TitleScreenPhase2(u8 taskId) u32 yPos; // Skip to next phase when A, B, Start, or Select is pressed - if ((gMain.newKeys & A_B_START_SELECT) || gTasks[taskId].tSkipToNext) + if (JOY_NEW(A_B_START_SELECT) || gTasks[taskId].tSkipToNext) { gTasks[taskId].tSkipToNext = TRUE; gTasks[taskId].tCounter = 0; diff --git a/src/trade.c b/src/trade.c index ba889c7c9..0ad1c66b0 100644 --- a/src/trade.c +++ b/src/trade.c @@ -1504,6 +1504,10 @@ static u8 CheckValidityOfTradeMons(u8 *aliveMons, u8 playerPartyCount, u8 player return PARTNER_MON_INVALID; } + // Can't trade specific species + if (gBaseStats[partnerSpecies].flags & SPECIES_FLAG_CANNOT_BE_TRADED) + return PARTNER_MON_INVALID; + // Partner cant trade Egg or non-Hoenn mon if player doesn't have National Dex if (!IsNationalPokedexEnabled()) { @@ -2360,6 +2364,10 @@ static u32 CanTradeSelectedMon(struct Pokemon *playerParty, int partyCount, int return CANT_TRADE_INVALID_MON; } + // Can't trade specific species + if (gBaseStats[species[monIdx]].flags & SPECIES_FLAG_CANNOT_BE_TRADED) + return CANT_TRADE_INVALID_MON; + // Make Eggs not count for numMonsLeft for (i = 0; i < partyCount; i++) { @@ -2450,7 +2458,11 @@ int GetUnionRoomTradeMessageId(struct RfuGameCompatibilityData player, struct Rf // Cannot trade illegitimate Deoxys/Mew if (IsDeoxysOrMewUntradable(playerSpecies, isEventLegal)) - return UR_TRADE_MSG_MON_CANT_BE_TRADED_2; + return UR_TRADE_MSG_MON_CANT_BE_TRADED; + + // Can't trade specific species + if (gBaseStats[playerSpecies].flags & SPECIES_FLAG_CANNOT_BE_TRADED) + return UR_TRADE_MSG_MON_CANT_BE_TRADED; if (partnerSpecies == SPECIES_EGG) { @@ -2469,7 +2481,7 @@ int GetUnionRoomTradeMessageId(struct RfuGameCompatibilityData player, struct Rf // If the player is trading an Egg then the partner must also be trading an Egg // Odd that this wasn't checked earlier, as by this point we know either the partner doesn't have an Egg or that both do. if (playerSpecies2 == SPECIES_EGG && playerSpecies2 != partnerSpecies) - return UR_TRADE_MSG_MON_CANT_BE_TRADED_1; + return UR_TRADE_MSG_MON_CANT_BE_TRADED_NOW; // If the player doesn't have the National Dex then Eggs and non-Hoenn Pokémon can't be traded if (!playerHasNationalDex) @@ -2478,7 +2490,7 @@ int GetUnionRoomTradeMessageId(struct RfuGameCompatibilityData player, struct Rf return UR_TRADE_MSG_EGG_CANT_BE_TRADED; if (!IsSpeciesInHoennDex(playerSpecies2)) - return UR_TRADE_MSG_MON_CANT_BE_TRADED_2; + return UR_TRADE_MSG_MON_CANT_BE_TRADED_NOW; if (!IsSpeciesInHoennDex(partnerSpecies)) return UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED; @@ -2497,6 +2509,10 @@ int CanRegisterMonForTradingBoard(struct RfuGameCompatibilityData player, u16 sp bool8 hasNationalDex = player.hasNationalDex; if (IsDeoxysOrMewUntradable(species, isEventLegal)) + return CANT_REGISTER_MON_NOW; + + // Can't trade specific species + if (gBaseStats[species].flags & SPECIES_FLAG_CANNOT_BE_TRADED) return CANT_REGISTER_MON; if (hasNationalDex) @@ -2509,7 +2525,7 @@ int CanRegisterMonForTradingBoard(struct RfuGameCompatibilityData player, u16 sp if (IsSpeciesInHoennDex(species2)) return CAN_REGISTER_MON; - return CANT_REGISTER_MON; + return CANT_REGISTER_MON_NOW; } // Spin Trade wasnt fully implemented, but this checks if a mon would be valid to Spin Trade diff --git a/src/tv.c b/src/tv.c index 108770332..da1ff2917 100644 --- a/src/tv.c +++ b/src/tv.c @@ -3428,7 +3428,7 @@ void ReceiveTvShowsData(void *src, u32 size, u8 playersLinkId) TVShow (*rmBuffer2)[MAX_LINK_PLAYERS][TV_SHOWS_COUNT]; TVShow (*rmBuffer)[MAX_LINK_PLAYERS][TV_SHOWS_COUNT]; - rmBuffer2 = malloc(MAX_LINK_PLAYERS * TV_SHOWS_COUNT * sizeof(TVShow)); + rmBuffer2 = Alloc(MAX_LINK_PLAYERS * TV_SHOWS_COUNT * sizeof(TVShow)); if (rmBuffer2 != NULL) { for (i = 0; i < MAX_LINK_PLAYERS; i++) @@ -3466,7 +3466,7 @@ void ReceiveTvShowsData(void *src, u32 size, u8 playersLinkId) CompactTVShowArray(gSaveBlock1Ptr->tvShows); DeactivateShowsWithUnseenSpecies(); DeactivateGameCompleteShowsIfNotUnlocked(); - free(rmBuffer2); + Free(rmBuffer2); } } @@ -3813,7 +3813,7 @@ void ReceivePokeNewsData(void *src, u32 size, u8 playersLinkId) PokeNews (*rmBuffer2)[MAX_LINK_PLAYERS][POKE_NEWS_COUNT]; PokeNews (*rmBuffer)[MAX_LINK_PLAYERS][POKE_NEWS_COUNT]; - rmBuffer2 = malloc(MAX_LINK_PLAYERS * POKE_NEWS_COUNT * sizeof(PokeNews)); + rmBuffer2 = Alloc(MAX_LINK_PLAYERS * POKE_NEWS_COUNT * sizeof(PokeNews)); if (rmBuffer2 != NULL) { for (i = 0; i < MAX_LINK_PLAYERS; i++) @@ -3839,7 +3839,7 @@ void ReceivePokeNewsData(void *src, u32 size, u8 playersLinkId) } ClearInvalidPokeNews(); ClearPokeNewsIfGameNotComplete(); - free(rmBuffer2); + Free(rmBuffer2); } } @@ -3944,7 +3944,7 @@ static void TranslateShowNames(TVShow *show, u32 language) int i; TVShow **shows; - shows = calloc(11, sizeof(TVShow *)); + shows = AllocZeroed(sizeof(TVShow *) * 11); for (i = 0; i < LAST_TVSHOW_IDX; i++) { switch (show[i].common.kind) @@ -4001,7 +4001,7 @@ static void TranslateShowNames(TVShow *show, u32 language) break; } } - free(shows); + Free(shows); } void SanitizeTVShowsForRuby(TVShow *shows) diff --git a/src/union_room.c b/src/union_room.c index 48b9f20f1..467fb3e22 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -3365,12 +3365,12 @@ static void Task_InitUnionRoom(u8 taskId) } break; case 4: - free(data->spawnPlayer); - free(data->playerList); - free(data->incomingParentList); - free(data->incomingChildList); + Free(data->spawnPlayer); + Free(data->playerList); + Free(data->incomingParentList); + Free(data->incomingChildList); DestroyTask(data->searchTaskId); - free(sWirelessLinkMain.uRoom); + Free(sWirelessLinkMain.uRoom); LinkRfu_Shutdown(); DestroyTask(taskId); break; diff --git a/src/union_room_chat.c b/src/union_room_chat.c index 5c26d1ea3..e1ca7c0b0 100755 --- a/src/union_room_chat.c +++ b/src/union_room_chat.c @@ -1044,7 +1044,7 @@ static void Chat_HandleInput(void) { SetChatFunction(CHAT_FUNC_SWITCH); } - else if (gMain.newAndRepeatedKeys & B_BUTTON) + else if (JOY_REPEAT(B_BUTTON)) { if (sChat->bufferCursorPos) {